1. King Arthur's Gold
  2. News

King Arthur's Gold News

Bounties for January!

Hi Folks!



The Contributor Bounties for October have been voted on - thanks for your engagement with #democracy, folks! Over 500 votes this round, excellent! This time around we have siege changes, interface shortcuts, and a few balance/functionality tweaks.

This Month's Bounties:
  • $50 Bounty - Make Ballista Bolts and Catapult Rocks Go Through Platforms
    More info here

  • $30 Bounty - Quick-Buy with Number Keys at Shops
    More info here

  • $30 Bounty - Tweaks to Kegs
    PR Already Waiting - More info here

  • $20 Bounty - "Repair" stone onto damaged wood blocks
    PR Already Waiting - More info here


Half the bounties are already possibly filled because of activity over the holidays, which is pretty amazing! Thanks to all our lovely github contributors!

Here's the vote history for the sticklers:
Set 1 Set 2

Quick overview of how bounties work for the uninformed:
  • Pitches happen on github as described here.

  • Preliminary votes with +1 reacts and discussion of any issues on github.

  • Then a further voting round on discord in the #democracy channel, to get a wider population sample for popular pitches.

  • A cash bounty is placed on the feature and paid out to the first suitable contribution from the community.


There are still a few outstanding from previous months as well, and a lot of non-bounty issues active, so if you're interested in contributing, head on over to github and jump into the #development channel on discord.

Enjoy!

Build 2804 - New Maps, Tweaks, and Holiday Cheer!

This build brings a wintery look and feel to a lot of the in-game assets. It's a bit strange from down here in Australia, but honestly a pleasant enough reprieve from the heat. Don't worry, it's not permanent - we'll roll back the asset changes some time after the new year. Special Thanks to Mazey, Franek, Vamist, GoldenGuy, Ferre, and the folks who helped test it out over on discord, for their part in this cheerful event.



There'll be some extra special effects - falling snow, and periodic deliveries of presents - over the week of xmas. The exact timing will vary with the region, but it'll be hard to miss when it happens.

There's also 4 new TDM maps courtesy of the map mods and everyone who voted in #democracy. Keep an eye out for FG_SpaceInvader, Super_Gaming_Geek_Trilevel, Biurza_Cock_Fight, and Vans_Ziraeth! One of them was more contentious so if it proves problematic, we'll take it out.



A few fixes and quality of life changes have made their way over from the collaborative github as well, in the few weeks since last build. The big one is that water bombs/arrows do half the stun on hitting shielded knights, which got put through #democracy and came out positive. Check the changelog for more, and be sure to join the official discord if you'd like to take part in these polls!

Also - please welcome Epsilon as our newest internal contributor! Eps has really proven himself over the last few weeks making countless changes to many areas of the game over on github. We're looking forward to working more closely with him.

Happy Holidays everyone - See you in the new year!
Love From THD


Full Changelog:

[added] holiday cheer! (huge thanks Mazey, Franek, Vamist, GoldenGuy, Ferre)
[added] New TDM Maps December 18 as Voted (thanks ni, #democracy)
[added] daynight cycle to ctf for xmas (no "dark" part of the cycle, just variety)
[added] Halve the stun from water if it was shielded (thanks eluded)
[modified] updated accolades - addd darkdrake head
[fixed] holiday property for reference in other scripts, and holiday scripts not necessarily getting removed
[moved] birthday.as to proper folder
[fixed] tth bakery producing steaks (good catch enderzilla)
[removed] archer crouch restriction when charging arrows after community feedback
[added] Factory Named Properly (thanks blubahub)
[removed] builder quickswap as a result of vote (thanks eps)
[fixed] wraith king and female ninja head attack frames (thanks SGG)
[fixed] 2nd grass tile actually displays in tilemap
[added] client_SendChat function that will send a chat line as if it came from the local player
[modified] scriptrender UV maps wrap (instead of clamp)

Build 2796 - Heaps of Quality of Life Tweaks, 3D Mods, Community Accolades and more!

Hey Folks!

This is quite a big build to get out before Christmas, but there's a lot to enjoy over the holidays!

There's heaps of quality of life changes - check out the full changelog for all of them, but some highlights include:

  • Class-Change and Flip buttons on enemy siege engines
  • Flags that fall into the void are instantly returned
  • Trampolines can bounce more items/players simultaneously
  • Grain plants can be "cut" by archers by hitting the tile at the base of the plant with an arrow
  • Players can only report a player once per round (avoids spam/abuse)
  • Fireplace Improvements for TDM (voted by community in #democracy channel)
  • Arrows become fire arrows when passing through fire.
  • Extra commands for sandbox/testing: !allmats, !woodstone, !stonewood
  • New brighter and more descriptive hover messages for killstreaks and resources - let us know if the colours need tuning!


Big thanks to all the github contributors that made this such a busy month, for everyone who voted in #democracy, and everyone involved in discussions over on Discord - your involvement is what makes this game so great!



3D rendering capabilities have been added for custom scripts. This can be used for in-world animated 3d objects, but also for fully 3d modded servers. Community member GoldenGuy has started working on a Doom/Wolfenstein inspired FPS mod using the changes - youtube preview here. We look forward to seeing what else the community does with these new capabilities.



Several tournaments worth of accolades have been added, and some extra community and moderation accolades have been assigned. Congratulations to everyone, and thanks to the community for getting behind this system!

We'll be trying to get another update out before we enter a mead-infused hibernation over the new year period, but hopefully this sates your hunger til then!

Let me know if I've missed anyone's changes in the changelog, it was a big one - and as always, Have Fun!
Max

Full Changelog:

Misc:

[added] New hover messages
[modified] trampoline logic: configurable cooldown limit + less drastic safety protocol + simplified cooldown timer check (thanks makmoud98)
[modified] holiday script; improved efficiency by only syncing when necessary (thanks makmoud98)
[fixed] removed chance for string hash collisions to cause problems with command ids
[modified] string hash function for something a little less likely to involve collisions
[added] kag_clap emote sprite (not implemented ingame)
[added] "g_locale_warnings" variable to log missing translations (thanks asu)
[added] Grain plants can be 'cut' by arrows when shot at the block below (thanks epsilon)
[fixed] emote menu disappears when you die (thanks epsilon)
[modified] Arrows pass through migrants (thanks epsilon)
[added] raycast check for vehicle seats (thanks epsilon)
[added] Normal arrows are ignited when passing through flames (thanks epsilon)
[fixed] unique player can only report another unique player once per round (thanks vik)
[added] Instantly return flags that fall into the void (thanks epsilon)
[fixed] bug where dead player isn't detached from quarters when sleeping (thanks epsilon)
[added] fireplace improvements for tdm - lights arrows, cooks fish, can be extinguished (thanks epsilon)
[added] archers don't auto-switch to special arrows (prevents accidentally wasting them) (thanks epsilon)
[added] !allmats, !stonewood, !woodstone commands (thanks blubahub)
[added] better crouch code (thanks epsilon)
[added] sponge handling tweaks
[added] placeholder support tier info + new extra.dat file for storing it
[added] better saw collision filter (thanks epsilon)
[fixed] emitsound for spectators (thanks monkey_feats for the report)
[added] flip and change class buttons on enemy siege engines (thanks epsilon)
[added] extra criteria for gold auto-pickup (less inventory clutter unless you are already collecting gold) (thanks epsilon)

Localisation:

[removed] guidelines from steam_content_ru file
[renamed] store_content_en.txt -> steam_content_en.txt
[added] Missing flags from the fotw steampage list (both eng/ru) (thanks biurza)

Accolades:

[added] moderation accolade support
[added] shield accolade badge
[modified] accolades_data.cfg with OKSA/Forum/Discord staff + more tournaments (thanks bunnie, paralogia)

Modding:

[fixed] bad condition in script Render::SetTransform error check
[added] new render transform functions
[added] copy operator for Random objects (thanks ShadowBlitz16 for the report)
[added] script-visible string::getHash() function
[added] join processing hooks
if present, should return -1 for "don't care", 1 for "force-join", 0 for "force-kick"
first meaningful result is used (ie, script order matters)
`int onProcessPreJoin(CRules@ this, const string &in username)`
called after token auth and banflags, before anything else is checked (even slots)
`int onProcessFullJoin(CRules@ this, const string &in username)`
called if the server's slots are full, allows bypassing the slot restriction
`int onProcessJoin(CRules@ this, const string &in username)`
called if all other checks passed, can be used to deny entry at that stage
(including to override onProcessPreJoin result)
note: the CPlayer is NOT created at this stage - you only have the username to work from
the user's token _is_ authorised, so "they are who they say they are"
[added] Matrix script namespace for generating/manipulating matrix contents into float arrays
void Matrix::Multiply(const array &in a, const array &in b, array &inout into)
void Matrix::MultiplyImmediate(const array &inout a, const array &in b)
void Matrix::SetScale(const array &inout a, float x, float y, float z)
void Matrix::SetTranslation(const array &inout a, float x, float y, float z)
void Matrix::SetRotationRadians(const array &inout a, float x, float y, float z)
void Matrix::SetRotationDegrees(const array &inout a, float x, float y, float z)
void Matrix::MakeIdentity(const array &inout a)
void Matrix::MakeOrtho(const array &inout a, f32 w, f32 h, f32 d)
void Matrix::MakePerspective(const array &inout a, f32 fov_rad, f32 aspect, f32 znear, f32 zfar)
[added] Render::ClearZ
[added] extra comments for scriptrenderexample
[added] 3d example to ScriptRenderExample
[modified] vertex normals exposed to script (Vertex nx, ny, nz properties)

Build 2760 - Balance Tweaks, Recognition, Maps and Modding

Hey Folks!

This build brings a wide host of changes! Many of them are the result of community development or community voting. If you'd like to be involved with either, please join the official discord server, and check the #democracy and #development channels!

The knight cursor now indicates your slash charge status, same as the archer cursor. This is a community voted and community developed feature paid for by our bounty program.

There was some discussion about exactly when the sprite should go away. It was decided that for now, the modified sprite should stay until you return to a "normal" state; as this gives more information to the player than the cursor returning to normal as soon as the attack starts. This is still up for discussion, and the alternative has been implemented in a ready-to-switch way.

Thanks to Andresian for implementing this change! You can see a preview from him on youtube here.

The in-game accolades system has been further extended!
There are now badges for tournaments, badges for community, github, and mapmaking contribution, and indication badges for how long a player has been playing, as well as a cake for their "KAG Birthday" each year.



As part of the accolades system, there are also 3 month (per-win) custom heads available to "significant" tournament winners. We hope that this drives some tournament participation. The community is more or less in charge of what "significant" means - if you want to be part of that discussion, jump on the discord and hit up the other community organisers.

Other important changes this build, in no particular order:
  • Extra 1 tile "no build" area at the top of the map as a result of a community vote. This means that saw jumping will be a serious problem again, and will probably have to have some alternative countermeasures proposed.
  • Four CTF maps have been removed, and some new ones will be added soon (they're currently being voted on).
  • Dinghy costs 150 wood, no coins (thanks Shy).
  • More useful timekeeping and rendering functions for modders
  • More guidance on github for making issues and pull requests
  • More russian translations and community visible templates for steam translators.


Special thanks to everyone from the community involved with proposing, discussing, deciding, developing, and testing the features in this build!

Have Fun!
Max

Full Changelog:


Misc
[added] knight cursor charge sprite (thanks Andresian!)
[modified] extra no build 1 tile lower as result of #democracy vote
[modified] dinghy cost (thanks Shy)
[added] registration time to player delta, so it's accessible on both server and client (thanks Furai/MM for bouncing ideas)
[added] Galen head ([removed] leftover debug print in votecore (thanks Potatobird for the report)
[added] chickens can be stored in inventory (thanks Blubahub)

Accolades
[added] accolade-alike badge rendering in scoreboard, based on registration time
[added] new accolades (thanks bunnie)
added blue_tiger head, updated homek head
[added] notes for adding accolades to cfg file
[fixed] a few inconsistencies in the accolade data file
[added] new accolades badges
[renamed] Medals_.png -> Badges.png

Maps
[modified] gamblersden map; smaller gambling area, less arrow-spam friendly
[removed] 4 ctf maps (thanks potatobird)
- monsterictf1
- monsterictf2
- punk123_cryingdemon
- ej_bluesunset

Modding
[modified] contributing help docs, a little extra info/formatting
[added] issues and pull request templates (thanks vik)
[added] code of conduct (thanks vik)
[added] scriptrender transform functions and backface cull functions
[updated] scriptrenderexample with screenspace example and docs for transform functions
[fixed] missing AK_EAT bind
[modified] time functions take/give signed int now (avoids overflow surprises)
[added] input-time versions of time_month/year/monthdate/yeardate

Translations
[added] steam store content file for translators (thanks Diprog for nagging)
[updated] russian translation (thanks Diprog)
Update steam_content_ru.txt
Russian: translated Steam content.
Russian: emotes, edits, removed duplicates.