Bad news, I'm afraid. All Australian Official Servers are down at the moment.
The hosting company running the server that the AU officials were hosted on has gone under. Unfortunately, we found out because of the server going down instead of ahead of time - so instead of migrating cleanly ahead of the server closing, we're currently looking for a suitable replacement in a hurry.
Apologies for the disruption to these very popular servers; we'll keep you in the loop as things develop.
Ballpark estimate on everything being operational again is currently "within three days".
Thanks for your patience, Max
EDIT by Furai: Servers are already up! Expect hotfix soon. :)
Hey folks, Happy Halloween! Quite a big build this time around, all things considered.
The most important part for most people, concrete changes to the game itself are up first.
Pickup priorities have been tweaked as a result of some community concern about them and initiative from a github contributor (tru0067). Dead bodies are more heavily de-prioritised, anything exploding is heavily prioritised, saws are prioritised over seeds and logs for managing wood farms, and material/ammo stacks are prioritised by size. I believe Asu has some more refinement planned for this but it's a good start on what seems to be a sore point for some people.
Probably the smallest but most visual is the builder and vehicle shops have been adjusted for nicer button placement and alignment. See below!
The filled bucket idea has been reworked into a separate "filled bucket" shop option which costs coins, while the basic bucket is now empty again. There's also some anti-spam server-lag mitigation to curb some bad behaviour observed.
The chat swear filter is now customisable by config file; support for this (so we can update it but you can maintain your own set of unsavoury terms) will be expanded in the future. Asu is working on the option to apply the swear filter to the display of names as well.
An issue with tents being placed one tile too high in the new map Passfest has been fixed.
It's nice to see the public github repo up and running "properly". This last few weeks in particular have been very active on Github! Each week has started with a long session of reviewing and merging pull requests; contributions from the community.
This month, 91 commits were pushed across 21 merged pull requests, plus internal development. This includes contributions from Asu, Fuzzle, Diprog, tru0067, Panky123, BarsukEughen, Cameron1010, Mazey, and myself - thanks to everyone! Diprog actually overtook me in terms of raw commits to the base repo, with all the translation work from him and the RU translation team!
Translation support has been expanded at a steady pace.
Diprog, BarsukEughen, Basea, Voxez, and Grey Guard have been working on a full Russian translation. The menus translation is still underway, but many in-game things are translated, all tutorials are translated, and we're working on getting some missing engine support for more. This has really helped spur the translation support along as it's helpful to have external people testing (and breaking) existing support. Thanks a lot for your work, folks!
Hopefully this provides a more comfortable environment for our Russian players. The RU translation team welcome any corrections or suggestions, and we'd love to know if this has helped you! The required support for full menu translations will be added ASAP. If you are interested in helping localise KAG to your language, please get in touch through the Official Forums, Discord or Github.
Testing has been turned basically into an "opt-in" system. Anyone can apply and is very likely to be accepted for access to pre-release builds. We do ask if you're keen to test that you spend time to get familiar with the requirements and if possible, join the discord before jumping in. You'll need a forum account too, more info here! This may be especially helpful for modders, prospective contributors, and translators - but everyone is welcome.
The #development channel has been a hub of real-time discussion for contributors, #modding has housed a lot of collaboration and is a good place to talk with modders about their productions, #testing has become a good go-to for jump-in testing sessions for the new testers, and #off_topic is still the usual glut of memes and irreverence. Thanks to the team over there for all their work keeping it up to date, up to standard, and cheerful as ever.
If you haven't already, come and say hi! I'm there during work hours on Mondays and Tuesdays (Australian Eastern Time), and intermittently through the rest of the week.
Modders, many scripts have been touched by the translation pass, and some things have changed which may cause mod breakage - particularly item costs and descriptions as there are extensive changes and moved files. If you need help updating your mods for compatibility, please jump on discord and start the conversation. We can help with either upgrading your existing code, or helping you find old versions of your dependencies on github to get your mod back up and running.
We try to minimise these kinds of potentially-breaking changes, but sometimes it's worth ripping off bandaids.
We're working towards some system for compatibility care packages with each build - possibly in the form of a zip of the old versions of changed files and notes on what has changed, why it changed, and how to work around that if it breaks your mod. We haven't quite got the infrastructure together for that yet though. I'm considering an interim solution of a compatibility notes file in the base of the repository with mandatory "reporting" of any of these breaking changes at the time they are committed to the repository.
Where to next?
I'll continue reviewing work from Github and have half-finished a direct rendering interface for modders. I'll also finish off the required changes for full menu translation.
Asu will continue on translations, general fixes, linux fixes and performance.
Fuzzle will continue on bug fixes and still has many larger enigmatic works planned.
The RU translation team will continue refining their translation.
Galen, Mazey and the rest of our discord moderation team will keep the discord running smoothly.
Github Contributors will continue being awesome!
That's all for this month.
[modified] improved mechanisms performance
[modified] pickup priority tweaks, material stack pick-up priority (thanks tru0067)
[added] separate filled bucket to builder shop (costs 10 coin as well as the 10 wood)
[modified] builder and vehicle shop buttons re-arranged for neatness and no gaps
[modified] chat filter uses a config file (thanks asu)
[modified] platform HP decreased
[modified] rewritten and edited almost all strings in Russian locale (gamemode, tut) (thanks Diprog, Basea, Voxez, Grey Guard)
[added] translation support to most script-side logic (thanks diprog)
[added] translation in client_addToChat & some net events (thanks asu)
[added] proper utf string conversion for cbutton and cgridmenu caption + automatic translation for rendering
[added] rules global message is automatically translated for rendering
[fixed] Passfest map tent placement (thanks punk123)
[fixed] issue #37 on github, only add no build zone to solid tiles below the hall (prevents doorways from being 1 tile offset plus issues with invulnerable doors/traps/etc)
[fixed] KickAFK issue with chat (thanks fuzzle)
[fixed] tutorial and other challenges lighting
[fixed] tutorial mapcycle issue
[fixed] save the princess mode double first map
[fixed] bucket splash spam = laggy server (spammed buckets reduce their own splash counts on each hit) (thanks to discord folks for the report)
[fixed] linux DLC heads and main menu background (thanks asu)
[fixed] client_AddToChat unicode support (thanks asu)
[modified] entity lifetimes code cleaned up (thanks verra)
[modified] descriptions.as - descriptions are separate variables rather than an array (thanks diprog), inside their own namespace
[added] costs.as - one-stop-shop for all costs with loading from-config and default values (thanks diprog)
[added] AddSectorOnTiles.as - rudimentary code for adding sectors over solid tiles, with boilerplate to help with adding sectors over other types of tile
[modified] overriding CGridButton size passed to AddButton no longer has minimum of icon size (ie can force bigger icon into smaller button) - default-sized buttons are still icon-sized)
[added] interface listing can dump constructor names (thanks asu)
See github for more particulars!
This is a follow-up build to 2367, and brings in the map changes that were decided on by the community over the last month.
There's a healthy mixture of conventional, competitive, and creative mapmaking that all fall within the bounds of the official map content; I'm happy to see a nice, diverse set of maps hit the public stage. Give them a play and be sure to show support for the maps you think are special!
The specific mapcycle changes can be seen in the changelog, but a few things are worth pointing out:
The cycle changes are for CTF only.
Many maps were removed to make room for new maps and to help keep the cycle fresh.
The cycle is still 44 maps long, so there's still probably some fat to cut if we want a lean cycle with seasonal updates.
No maps have been deleted or removed from the files, so if you have a favourite to play with friends you can still run it on your own server without hassle.
You can read more about each map decision here, and the map team are always happy to take feedback (in that thread or here) - be sure to let them know if they've axed one of your faves, or (more importantly) if you love one of the new maps!
There are also a few minor changes, fixes and contributions from github and internally. Most notably:
Tips are fixed
There's a work in progress Russian translation
Buckets start off filled with 3 charges of water right out of the shop.
That leaves retouched emotes, more performance work and further improved translation support for the next build. Looking forward to it.
Have Fun! Max
Changelog for Build 2374
[modified] CTF mapcycle changes: (big thanks to the maps team!)
[added] Asu_DeadPlateau, Mcrifel_Fish, SJD360_Stampede, 8x_Pass_Fest, Skinney_Glitch, SJD360_Paradox, PUNK123_BlockCity
[removed] Cerbero's Rift, ffsff_ClassicWar2, ffsff_SecludedForest, ffsff_UnderhangPit2, Lavaguy678_Meadow, Mazey_Rioter, Potatobird_SharkRomance, Punk123_MemoryLane, Punk123_Hillo, Punk123_AntKing, Punk123_AlienFrogAssault, SJD360_Overdose2, an_obamanation_AlientAntAssault, Punk123_toothgrinderx2, 8x_Fest_Pass, 8x_BBiscuit, Trekobius_DragonsLair, Joiken_CTF2
[modified][experimental] buckets start filled so they can be used for fire fighting
[modified] KickAFK moves kick-immune players to spectator if they are detected afk (thanks mazey)
[added] WIP Russian translation (thanks diprog!)
Fixes and Tweaks:
[added] script interface dumps individual objects into Objects/ (thanks asu)
[fixed] incredibly long standing minimap bug
(rendered overlapping the top edge of the border, offset when fully viewed)
(this affected modders more than vanilla - thanks GoldenGuy for the tip off)
[modified] TheDirtySwine head changed to Cruxiat head at mutal request.
[modified] locale selection centred and extended to allow for longer locale labels if needed
[fixed] some "broken" heads in settings menu
[fixed] tips not showing properly (thanks asu)
This build is the first "big" build with a lot of changes from contributors, both via github and internally.
In particular, Asu and Fuzzle have been given access to our internal repositories. Asu has taken on a variety of performance improvements, modding quality-of-life changes, and translation work. Fuzzle has focussed on fixes and gameplay quality of life, and is preparing a lot of changes that aren't quite ready for release yet, including new gamemodes and a lot of overhauled "behind the scenes" stuff.
This build should improve performance, particularly serverside. Enormous collapses should no longer "kill" servers (thanks makmoud98 for help testing this), water and fire shouldn't cause issues with certain graphics setups, the minimap should be a lot faster in general.
This build features improved (but experimental!) translation support, with more to come. We've had expressions of interest from serveral members of the community - if you'd like to help get KAG translated to your locale, Asu is probably the one to get in touch with. There's an open github issue but the forums are also a good place to discuss this. We'd love to get official translation support for lots of languages in to help KAG reach and welcome all sorts of international audiences.
There are also a lot of bugs fixed and improvements for modders, check the changelog for details on those!
Next month will be more fixes, more performance work, an improvement pass on the in-game (and discord) emoticons, yet more modder-requested functionality, and ongoing translation efforts.
[removed] immobilise button from vehicles with drivers (thanks fuzzle)
[added] mirror_map and water_baseline config options to kaggen
[added] greece head to heads2.png
[modified] heads selection has 8 columns now to fit more heads in
[added] extra head slot to FOTW for greece head
[modified] mazey head (dutch pride, no antenna)
[fixed] angelscript on linux performance (thanks asu, furai)
[fixed] very slow rebuild when video is enabled (thanks asu)
[fixed] slow file hashing in launcher (thanks asu)
[fixed] collapse performance bug (thanks asu, fuzzle)
[added] minimap updating is batched
[modified] flood layers (water, fire) only update minimap if a cell actually changed
[added] language switch menu (see misc options) (thanks asu)
[added] french json locale (thanks asu)
[added] extra translation support (thanks asu)
[removed] legacy irrlicht translations
[added] README (thanks fuzzle)
[added] legal clarifications on distribution rights
[added] kickafk and mechanisms support to challenge gamemode
[added] GUI DrawShadowedText functions for AS
[added] DrawTextPlain methods - the old DrawText keeps the legacy behaviour to avoid compatibility issues.
[added] config color for console + new default colors (thanks asu)
[modified] Improved /performance command (thanks asu)
[modified] TextureFromFile fails rather than returning a default texture if the file doesn't exist
[added] hasMatch() to CFileMatcher for testing if there's actually a match for the searched file or not
[added] show script console command exceptions (thanks asu)
[modified] new mod downloader appearance (thanks asu)
[added] Vec2f_lengthdir(f32 length, f32 dir) alternative vec2f constructor for people from gamemaker
[added] Vec2f toString and string concatenation (though no working += yet)
[modified] "onHit" safety pass which may help server/client stability.
[modified] moved knight sword cling to its own script so knightlogic can be removed when dead (onHit safety)
[fixed] initialize materials correctly (thanks fuzzle)
[fixed] each team's flag being 1 block different on maps that don't have flag positions defined (i.e. generator maps) (thanks cameron)
[fixed] "respawn in approximately never" happening when build time is set to 0. (thanks cameron)
[fixed] buildOnGround tagged builder blocks (buildings) getting picked up incorrectly
[fixed] first map in cycle skipped in non-shuffle mode
[fixed] mapcycle "first map" behaviour to work across different script-loaded mapcycles
[fixed] crash in toUpper (thanks asu)
[modified] cleaned up a few places where shadowing is unhelpful in-engine (dark text)
[modified] explain the mod verification failure to be less confusing (thanks asu)
[modified] 'cannot create blob on client' message is now more detailed (thanks asu)
[fixed] crash when passing a map name that doesn't exist to /loadmap (thanks asu)
[fixed] issue with minimap updating when water/fire set somewhere impossible
[fixed] dumb outlining on minimap
The last month (plus change) has been about sorting everything out community-side. We've got new admins, the discord server has continued to flourish, the community repositories are hooked up to the internal ones properly, and we've got two new "direct" contributors. There's been a lot of fiddling in control panels, preparing paperwork, and peering at command-lines. Sorry for a text-only post, it's hard to take a compelling screenshot of this kind of thing :)
New Admins: Definitely the most visible development for players; 10 new admins will be patrolling the official servers in addition to the existing crew. You can also call them to the game on discord with "@Ingame Server Admin" in the general or help channels. Huge thanks to Galen for spearheading this and to the OKSA crew in each region who chimed in on the applications. Welcome to the new admins! ːkag_flexː
Discord Server: For those that haven't joined yet, the official discord server has flourished nicely. There's currently over 120 users online, almost 600 users total. It's been a hub of discussion, organisation, and tasty memes since it opened, and shows no sign of slowing down, so if you haven't joined yet, get on it! Thanks to the administration team and three cheers to @Furai getting over his irc-itis and joining ːkag_winkː
Repositories Aligned: This lets us directly use the github kag-base repository alongside our internal repos, which is much better than manually reconciling the changes like I had to before this change was made. In particular, I should be able to merge public pull requests much more regularly, which will reduce friction on community developers contributing fixes and features. If you're interested, check out the #development channel on discord. ːkag_yesː
Direct Contributors: We've brought AsuMagic and Fuzzle on board to contribute to our internal repos directly, including the engine. This will let us service modder's requests and concerns more quickly and should help with finding bugs too as there'll be more eyes on the code. There will likely be a bit of a warming-up period as they learn to navigate the rough edges of our dated codebase, but we're looking forward to working with them.
The community has also been busy organising their own stuff:
KAG World Cup: The 2017 KWC has started being organised and currently has 70 members. You can check out the social forum here if you want to get involved or find out more.
Gather: The Australian community is hosting regular 5v5 gather games via their separate discord server. I took part this Monday - it was a nice collaborative atmosphere with some good coordination and would be a good alternative to pub games if you're feeling frustrated there or want to up your game. Anyone is welcome, but there's currently only one server which is located in Australia. There's talk of bringing it to the official discord server and other regions too, if that's something people are interested in. The system is currently developed by cameron (cameron1010 on the kag forums) so he's the one to bug about that.
Next month should involve another build with more community maps, a whole host of fixes and improvements game-side, and doubtless more community shenanigans.
The WHD sale was a big success raising $1183 AUD for UNICEF. The donation was put towards their general pool funding programs for health, nutrition, clean water and sanitation, education, HIV/AIDS prevention and child protection across the world.
Thanks for all your support over the sale weekend - and a warm welcome to new players!
World Humanitarian Day (WHD) is held every year on 19 August to pay tribute to aid workers who risk their lives in humanitarian service. It is also a day to remember those people who have lost their lives in the service of a humanitarian cause.
Ultimately, World Humanitarian Day helps to raise public awareness about humanitarian assistance activities and the importance of working together to solve the world’s problems.
To do our bit for raising awareness, King Arthur's Gold will be 50% off on steam for the entire weekend, and half of each sale will be donated to UNICEF at the end of the event. Pick up a copy for yourself of a friend and help save lives at the same time!
We who are lucky enough to spend our time playing video games instead of suffering violence, famine, and preventable disease, can lend our support to those that need it.
Please consider signing the #NotATarget petition, letting your friends and family know about WHD, and supporting a humanitarian organisation of your choosing this August 19th.
A small build this time around, just pulling in the latest batch of community maps and a single fix!
Some maps are a little more quirky, like 4zk's Rorschach - but there are plenty of more standard maps as well.
There are new maps in the "big 3" modes.
Replaced Punk123_toothgrinderx with Punk123_toothgrinderx2
Replaced SJD360_Overdose with SJD360_Overdose2
Please leave your feedback in the appropriate place so that map authors and moderators can get a handle on community sentiment and so we can remove any problem maps.
We're looking to take a more "seasonal" approach to maps if we keep getting this high level of interest in mapping. The CTF mapcycle in particular is very large now (relative to game length) and we think that perhaps mixing up the cycle more regularly and maintaining a smaller pool of active maps could be most enjoyable going foward. We're open to opinions on this idea of course!
Thanks to all the map moderators and to all who submitted maps! Congratulations as well to those who got maps in game.
Have fun! Max
[merged] PRs #14 and #15 from github; accepted community maps + mapcycle updates
[modified] fixed underground grass in 8x_grounds and ffsff_underhangpit2 maps
[fixed] CTF crashing after a bad map is loaded (still causes other huge problems of course)
This build is more of a "back on track" build rather than anything particularly groundbreaking, but there's a few gems in there and it's important that we keep the backlog small and manageable.
One change should help ease water-related frustrations a little...
Here's a run-down of the major changes:
More flags in the National Flags Head Pack! As requested on the forums, the flags of Iraq, Syria (+Independence), Libya, Mali, Tunisia, Austria, Estonia, Lithuania, Georgia, The Faroe Islands, Greenland, Cuba, Puerto Rico, and the Dominican Republic have been added. Greece is coming next build. For those that missed it, you can pick up the pack on steam for the sweet sweet price of two bucks!
Community buttons! The community buttons at the bottom of the main menu have been retouched. The new official (fan-run) Discord server is linked, IRC is labelled as such, and the official forums get a link too. Come say hi if you haven't already! The buttons could use some dressing up but they're more relevant and nicely arranged than they used to be at least.
Sponge Buffs Water haters rejoice! As discussed on the forums, sponges last for 2 hits and reduce the stun time to 1/6 of a second.
AFK kick works on wall-clock time instead of in-game time. This should prevent afks from evading the kick in TDM.
Github Pull Requests Merged Thanks to Fuzzle for this month's community pull requests, and to makmoud98, AsuMagic and HkgStudio for their interest in contributing over on github!
The last few months there's been a few community-side shakeups as well:
Maps There's been a few more map moderators assigned who have been reviewing maps like crazy. Check out the map submission forum for more info, a sneak peek at the accepted maps, and to have your say!
Discord server rivalry Gamers seem to have embraced discord for their general-purpose comms, and the KAG community has been no exception. Multiple clan and unofficial discord servers had popped up. There's now an official (still fan-run!) discord in an attempt to unify this a little, with links to the more specialised servers there (clan discords in particular).
Next build will be about getting the recently accepted community maps in-game, and a bit of repo cosolidation - so that the pull request process is simpler for us and we can take more of them without hassle.
Have Fun! Max
Full Changelog for those interested:
[modified] new sprites for some missing countries - iraq, syria (+independence), libya, mali, tunisia, austria, estonia, lithuania, georgia, faroe islands, greenland, cuba, puerto rico, dominican republic
[added] new/nicer community buttons at bottom of main menu (discord link included)
[updated] engine with new apiclient stuff
[fixed] afk kick working in game-time vs clock-time (means that someone afk across multiple short games will still be kicked - think TDM)
[modified] sponge reduces stun to 1/6 of a second and takes 2 hits with water to destroy
[added] cant build on currently collapsing tile spaces (prevents wasting materials, as those tiles cannot be modified until the collapse is finished)
[updated] merged PRs from github: 'fzzle/quarters-include-fix', 'fzzle/duplication-fix', 'fzzle/boatshop-menu-fix'
[fixed] incomplete implementation of archer quiver going invisible when sleeping in quarters
[fixed] splash doing a double-hit for force splashes (was interfering with sponges surviving a hit)
[added] c_write_console_to_disk and c_write_chat_to_disk for disabling logging
[modified] logging doesn't flush to disk (prevents slow blocking i/o for every line)
[fixed] a few missing heads in vanilla
[fixed] tcpr security issue
[fixed] slow star rendering on linux (thanks Norill!)
[added] CMap::isTileCollapsing in various flavours
[fixed] GotoURL could "jam" on hitting esc in main menu