Blog

[KAG] BUILD 1337 – Back on Track

This build marks a return to progress on KAG – it’s been a few months between releases, and I’ll give a refresher on why that’s been the case later, but first, a warning: KAG has had a LOT of changes in the past hundred days and a lot of engine-side stuff has happened, probably more than we can test completely. Please bear with us and calmly report any bugs in the thread and we will fix them as soon as we can.

Without further ado, let’s jump right into what’s changed this time around, as there’s a lot of it! Buckle up!

image
Prepare to see a little more of this going on!

  • Crash Fixes
    A long-term crash in the camera system (causing a common crash on rejoining servers) was found and fixed. This should dramatically improve the game’s long-term replayability. Be sure to let us know if any other crashes on rejoin persist! A few other miscellaneous crashes including a hard-to-trace one in one of the network synchronisation routines were also fixed.
  • Archer Changes
    • Inventory Management
      Archers no longer automatically pick up a full inventory of arrows, so you’ll have some space left over for special ammo.
    • Less Slippery
      Archers are slowed more when charging arrows, making it a little easier to catch that backpeddalling nuisance archer, and a little easier to aim while running.
  • Knight Changes
    • Increased Shield Angles
      Shield angles have been slightly increased to help deal with fighting through lag.
    • Increased Glide Time
      Shield glide time has been increased to about two seconds, allowing longer jumps and bigger falls without injury.
  • Builder Changes
    • Decreased Spike Damage
      Spikes must be dropped from a higher place to deal insta-kills, damage ramps up with distance.
    • Added nicer building sounds
      Lots of blocks now have individual building sounds.
    • Fixed “buggy” ladder rotation blocking stuff
      Ladder rotations have long caused incorrect blocking of tiles, that’s fixed.
  • Health Changes
    Swapping class can no longer be used for “free heals” as health is kept in proportion each swap. Archers are still cheaper to heal to full health but the added inconvenience should prevent most of the abuse.
  • Inventory Fixes
    A hard-to-track bug causing all your arrow stacks to go missing right when you needed them has been fixed. Items are also automatically taken from the smallest stack in your inventory, rather than the first one found, meaning picking up small stacks off the ground clogs your inventory for less time.
  • Inventory Interface Improvement
    Archers and Knights start with their cursor over their inventory after pressing F – builders start with it over their tiles. The rationale here is that knights and archers can easily swap weapons by tapping F and want precision access to any auxilliary items in their inventory, while builders are more likely to want to swap tile types quickly.
  • Balancing Changes
    Auto-Balancing should be less “mean” to any one person, and is based on the median score rather than the mean.
  • Maploader Changes
    A small set of changes but important for some specific mods and maps, community member jackitch has updated the png map loader to include specific colours for the two types of trees, various mossy tiles, and fixed a bug where the purple team spawn was the same colour as the necromancer.
  • Votekick changes
    We’re actually on the fence about these changes, but the community have been pushing for something, and norill contributed changes. Votes can no longer be inconclusive, the vote gui has changed, enemy team cant vote unless it’s a hacker, and map votes use a global cooldown to prevent spam. Voting is now done via the O and P keys, and the box is much smaller. Leave your thoughts in the thread.

A lot of engine changes from work on Trench Run also makes it back into KAG with this release for modders to play with and for future use in KAG. However – this does mean that there’s a body of changes so wide that we’re unlikely to have tested everything! Let us know quickly about any drastic bugs and we’ll get onto them asap! Here’s a small run-down of the most exciting changes:

  • Post-Processing Shaders!
    Shaders can be used for postprocessing both before and after gui rendering, with multiple shaders able to be set up and layered on each other. Shader options are significantly extended, including per-shader variables (and textures!) to be set from script.
  • Gamepad Control Extension
    Gamepads and the foundations needed for local multiplayer have been added – modders should not consider this part of things stable, but it does open up possibilities for local multiplayer (perhaps co-op? sandbox?) and gamepad play (for those allergic to mice).
  • GUI code exposed
    This paves the way for new menus for KAG, and nicer, less rigid in-game menus in mods.

There are a lot of miscellaneous fixes as well, check the full changelog for the details there.

Custom Heads

The following generous donors have received custom heads in-game:

  • Guro
  • Gurin
  • Duke_Jordan

Still to come:

  • Sasquash

Congratulations to the generous!

Delays

The delay between builds has been due to wide-sweeping changes in our code-building and repository system. These changes allows us to work on multiple games utilising the same engine (in this case, KAG and Trench Run) while neatly feeding relevant changes from one into the other. While we’ll be “off work” over Christmas and new year, this will allow us to get back to timely development on KAG throughout the coming season!

Have Fun!

Max/Geti

Changelog:
[added] storage now stores items instead of making you drop them
[added] CerberosRift CTF map
[removed] JTG Mines map
[fixed] stuck arrow and bush blocking building construction
[fixed] some animal brain bugs
[fixed] shark always goes right on land
[added] shark is player-compatible
[added] shark loses target more easily (to avoid it getting "stuck" on fish and ignoring players too long)
[added] eatothers re-hits things its stuck colliding with (so sharks gib bodies and move on)
[script][added] bindings for various time functions - local and UTC seconds + day/month stuff in UTC.
[script][modified][modding][warning!] onRestart not called for CRules on first round - call it in onInit if required!
[modified] voting changes - thanks Norill
	- failed votekick doesn't kick initiator
	- vote passes if yes > no
	- removed inconclusiveness
	- made rendering less obtrusive
	- made LESS noob friendly by removing buttons - uses keys instead
	- enemy team can't vote in case of griefer/AFK/TKer
	- added mark_any_team, mark_player and map_vote support
	- map votes use global cooldown instead of per player
[fixed] ballista bolt does weird things after going to space and back
[modified] pickup is a little better, still rough but changes with direction in a predictable way.
[fixed] rotated ladders blocking things badly
[added] a bunch of nice per-block sounds for builder construction
[fixed] balance teams not working due to onRestart change (not called in onInit)
[added] new scripts menu UI
[fixed] blobs not falling after trap block triggers
[fixed] background tiles being created in some spurious cases by TileBackground.as.
[fixed] ladder sprite not being set to background
[added] runlocalhost.bat (and .sh) for modders that runs a local server and joins it
[fixed] knocked not expiring in vehicle
[added] knocked interface is more consistent + allows getting knocked value without modifying it, allows checking isKnocked safely, has better function names, etc.
[modding] check if you have used Knocked anywhere (actor/class code), things have changed!
[modified] base PNG loader - thanks Jackitch!
 - added specific tree type pixels for forced type trees
 - added mossy tiles
 - fixed purple spawn is same as necromancer (lol)
[modified] inventory menu offsets improved - builder is over tiles (starts over "ladder" with CTF blocks), archer and knight over inventory for easy item use
[fixed] "cheating" healing by swapping to archer with >2 hearts and swapping back - now keeps a proportion of HP
[added] archer doesn't auto-pick up more than 60 normal arrows.
[fixed] some archer stuff not getting updated appropriately
[added] misc other changes from Norill
    - fixed balancing same guy over and over
    - fixed can't autopick team in tdm
    - removed shittons of boilerplate
    - added adjustable autobalance threshold
    - changed "doesnt suck" condition from >average score to median (its really "top half" now)
    - decreased "OGM TEAMS IMBA" spam further
    - fixed zombie-shark
[modified] spike drops have damage falloff
[modified] archer slower when shooting arrows (70% of normal speed, was 85%)
[modified] knight shield angles increased
[modified] knight shield glide time increased to almost 2 seconds
[added] bool engine_floodlayer_updates to CRules for controlling if blobs do their flood layer updates at all (check in fire/water, skim on water, shoot particles on water, etc)
[fixed] missing tiles at some map edges
[fixed] the glitchy "Recompiling script..." screen
[script][fixed] CMap::getMapName returning nil
[fixed] starter buttons
[fixed] renaming of KAG exeacutable on OSes other than windows.
[fixed] typo in hooks
[fixed] chat key interferring with script menus
[script] added LateLoadRules to load rules on next tick (avoid crashes in some cases)
[script] added hook void onRulesRestart( CMap@ this, CRules@ rules )
[added] u8 mat_water_layer_alpha to gamemode.cfg/CRules for controlling alpha rendering of water front layer
[fixed] crashes in dedicated server on join
[modified] default cl_name removed (fixes all new players being called "Peasant")
[modified] default maximum ping reduced to 350ms
[script] binded joystick keys
[script][added] CShape::RemoveShape( int index )
[script][added] bool CRules::chat exposed (disable chat window)
[fixed] wrong starting directory when using KAG:// links
[fixed] creating double accounts on borrowed game
[modified] duke jordan head disabled until payment
[modified] reflecting build changes in TW script, changelogs
[added] duke jordan head to engine
[fixed] doubled news
[fixed] twitter links not opening on some rare occasions
[modified] camera target cleared on deleting net objects
[fixed] "rejoin" crash
[fixed] installers for KAG
[fixed] a couple of things that meant the last tile of the map was hidden/inaccessible
[modified] nicer flash screen
[script] added: int getScreenFlashAlpha()
[script] added: SetScreenFlash( SColor color, f32 fadeAmount )
[fixed] precache loading Mods and old files
[script] moved SetScoreboardVars from CBlob to CPlayer
[fixed] getLocalPlayer returning null when not first player playing
[added] getLastKeyPressTime to CControls
[script] added global function getDistanceToLine
[script] exposed onmap in shape vars
[script][fixed] commands received in script in first tick after being removed
[fixed] onBlobDie and onDie being called twice on SetDead
[doc] [added] partial documentation for CSprite
[doc] documented the rest of CPlayer
[doc] added documentation for scoreboard functions on CPlayer
[doc] added documentation for CPlayer player info and started on scoreboard
[script] added CBlob::getMyPlayerIndex
[fixed] bans being limited to 5555 minutes
[added] local multiplayer possible with gamepads oh yeah B^)
[fixed] weird bug with inventory items vanishing from hands
[script][added] u16 CBlob::getMaxQuanity(), analogue for getQuantity().
[fixed] typo for security file
[fixed] HUD shaders wiping previous HUD shaders
[added][script] SetShaderFloat and SetShaderInt
[added] engine supports HUD+game post-processing
[modified] high level map rendering
[fixed] typo in high level node code causing impossible searches
[modified] a few optimisations and simplifications in high level map code
[script] added debug()
[added] CMap::getTileFlags(u32 offset)
[added] sending extra texture to shader
[script] added CControls::getActionKeyKeyName and CControls::getActionKeyKey
[fixed] font loading (won't work in mod folders)
[fixed] chat console dissapearing without cursor on
[script] chat = false in gamemode.cfg disables chat console
[script] controls return last key pressed to script (lastKeyPressed)
[fixed] seclevs going crazy when auth_login is null
[script] binded APIPlayer and APIServer
[added] void OnRequestList(CRules@ this) hook
[script] exposed QuitGame()
[added] Guro, Gurin, Duke_Jordan heads - congratulations!
[script] added hooks: void OnOpenMenu(CRules@ this) void OnCloseMenu(CRules@ this)
[fixed] blob->Sync crash in bool
[script] added maxChatBubbleLines and isChatBubbleVisible() to blob
[script] added SetChatBubbleFont and chatBubbleOffset for blo

Attention modders – breaking script changes:

If your mod breaks with this version it is most likely one of these changes:
* onRestart isn’t called automatically now after onInit (solution: call onRestart manually in onInit)
* key_zoomin and key_zoomout are no longer part of blob controls (solution: you can still access these buttons from controls like this http://prntscr.com/5k4yaw)
* weird sounds? – disable effects in script: s_effects = false

Work with us on Storm2D!

image

GAME VIDEO
https://www.youtube.com/watch?v=2_LQk9y6Ew4

INTRODUCTION
Storm2D is a fast-paced, action-packed, 2D, sidescrolling, multiplayer shooter inspired by games such as Liero, Worms and Soldat.

Right now Storm2D is in the alpha stage and most of the assets are placeholders (A large portion of these coming from Soldat). We are looking for a dedicated artist to help us transform this game from a Soldat clone into something great. A lot of work has already been put into this game which means most of your assets will be able to be added to the game with little delay.

WHY JOIN?
Storm2D is one of the games currently being developed by Transhuman Design. This is a chance to join an international, independent company and work with like-minded individuals to create games that aren’t just made for profit, but to inspire and bring back the good times when games were actually fun. At Transhuman Design everyone is valued, respected and given the chance to achieve their dreams. You will be paid to work on the game, and also receive a percentage of the profit from each copy sold once it’s released.

TASK
Our first priority is to get the game ready for release as soon as possible. This means replacing most of the core assets (ingame graphics and menus). Once this is done we can focus on extending the game and making it more unique. Apart from creating assets you will also participate in game design and help with any other miscellaneous tasks.

REQUIREMENTS

You should be passionate about 2d side-scrolling shooting games. 
You need to be able to create a vision of where the game needs to be in order for you to enjoy it.

You need to be able to work fast but at a decent quality. 
There are a lot of assets to be made.

You must be available to work full or near-full time weeks. 
There’s too much to be done to just work casually, part time or as a hobby.

You must be a person who can work well from home. 
This means that you must be able to motivate yourself to work on the game when you are expected to do so. If you need others to motivate you, you’re not the right person for this job. You need to be willing to put in 100% in order for this game to be a success. Cruising along doing the minimum isn’t going to work.

You will be expected to showcase your work.
This involves creating weekly reports of your progress and providing screenshots of what you’re working on when asked.

You will need to actively participate in the community
(e.g. reply to art-related questions on the forums)

-You need to be able to search and think of things that need improvement.
This means you have to play the game on a regular basis to check your created assets actually work and find things that needs fixing. Don’t wait for us to tell you what you need to do or just follow a list of instructions. You need to be able to prioritise what is important and do that first, rather than wasting time on small things that will barely help the game progress.

-We need to collaborate, which means chatting every day.
You’ll have to be online and available because we need to work together to get things into the game.

FUTURE
Storm2D has a lot of potential to be extended in the future. But this will only be possible if the game becomes popular.

Once the core of the game is complete we can start working on some of the originally planned features such as:

  • Vehicles
  • More game modes
  • Full modding support
  • Campaign mode
  • Character classes
  • Missions
  • Minigames

HOW TO APPLY?
Please email roland.bewick@gmail.com a link to your portfolio as well as a quick introduction of yourself and why you think you would match this position.

[KAG] Update Delays

Hey Guys and Girls,

Bad news on the impending update – we’re having lots of issues with testing, particularly with servers. Issues include crashing and the game getting patched into an unplayable state, which is something we’re trying very hard to avoid!


Many hours were spent angry at the computer.

Amidst the repository migration and build order changes we’re not sure where the issues are coming from, and will keep you posted as things become clear – we’d very much like to avoid having to get people to re-download or manually clean their game folders, and also want to minimise server disruption as much as possible – particularly with all the ongoing competitive events at the moment!

In light of these issues we’ll be holding the update until we feel these issues have been resolved, and will be spending the next week or so at least getting to the bottom of these issues.

The good news to be found here is that we’re actually up to the point where we want to test the stuff for release, rather than working more on stuff in the background – so an update isn’t too far away. Bear with us in the meantime!

Have Fun,

Max/Geti

[KAG] Single Player Mechanism Preview, Build Server News

KAG Community member Skinney has been hired for a trial term at THD working on some exciting single-player content!

This gif shows his progress on activated/programmed entities, which may find their way into multiplayer builder-wars modes eventually, but in the short term will be in the game as single player level traps, toys in sandbox, and possibly added to TDM levels for some variety. We’re very excited for the work he’s been doing which largely lines up with our thoughts on how mechanisms in KAG might work – now they’re a reality!

Build Server News!

The build server is being worked on and back online and spitting out builds, however some of the KAG stuff isn’t working after all the engine migration and development for TR – we’re working on fixing it, but it’s great just to see movement in that area. We have TR building (which means private testing can start) but KAG requires a bit of extra love as it’s hooked up to a system already used by people – we have to make sure we don’t break people’s games in the mean time!

In short, we should be able to test the intermediate changes that have been made to KAG soon, and put out a public build after that. We’ll keep you posted!

Have fun!

Max/Geti

[KAG] Last Classic update – build 591

Hello,

I know some of you’ve been waiting for this update. I did my best to fix issues that I was comfortable working with, and so I have done some changes to Classic:

  • Unlocked all premium features (gold only servers should still require premium on join)
  • Fixed banning issues – banning by name, bans longer than 5555 minutes, changed the formatting of the blacklist.cfg file a little bit
  • Fixed disappearing scoreboard when a player joins but doesn’t choose a team
  • Fixed scrolling of the scoreboard (made it scroll faster as well)
  • Added simple server-side check for people using editor (should prevent editor hacking)
  • Added heart emote and bound it to 8 keyboard key

Furthermore, I’ve worked on installers. If you have noticed an empty update for Classic/KAG it was because of the changes done to the installers.

Forum discussion: CLICK!

Cheers,
Furai/Lucas

[Trench Run] Trench Run at Poznan Game Arena 2014

image

So, have you heard about Trench Run? We presented an early alpha build at ZTG Gamedev Convention/Poznań Game Arena and got a great response! It was awesome to see so many people laughing and having fun with the local 4-player mode put together especially for the event!

image

If you stumbled upon our booth you could even run into MM live-coding the game 😉

image

…or notice our true indie desk made of a cardboard box in the corner (and play Butcher there).

image

Now we’re back in the trenches, knee-deep in mud and working hard on the game. In the meantime, here are some gifs you might like!

Let us know what you think about this graphics style in the Facebook comments! Do you prefer pure pixel-art or the version with the shader?

Shader:

image

image

Pixel art version:

Trench Run work in progress

Thanks!

trainchaser

[KAG] Competitive Scene Revival

There have been 3 major “revival” movements within the competitive scene of KAG recently – check them out if you’re interested in getting involved in a clan, or just a higher level of play overall, and if you’re interested in helping with organisation get in touch with the appropriate bodies via PM on the forums, or IRC.

image

– KAG Gather

KAG Gather currently doesn’t have a thread as it’s still in “beta”, that said we’ve had a good flow of 4v4s and 5v5s in the AU scene. Get in contact with Cameron1010 or Gurin for more info and support.

Gather is an informal competitive format where people gather in a channel, register interest to play a game, and once enough are present, a match is organised, teams are set up, and a simple “Best of 3” ensues. It is a great way to transition from public to more competitive play with less pressure and a more friendly, informal environment, and also good for staying “sharp” if your clan is less active. Anyone is free to join.

Major League KAG

Thread here : https://forum.kag2d.com/threads/the-major-league-kag-is-alive-mlk.21871/

MLK is a movement inspired by the Soldat CTF League – any old players familiar with that will be right at home. SpideY is in charge of organisation.

Any clans may play and report on matches to earn points during the “free play” period of 3 months. Each match must be run with the official rules, and be approved by one member of each clan on the match report thread. The top 4 clans after the free play period will proceed to the finals, one is crowned king champion clan of the world with extra muscles, and from there the cycle repeats (assuming there’s enough interest!)

KAG World Cup

Thread here : https://forum.kag2d.com/threads/kag-world-cup.21884/

KWC is a prospective formal tournament to be held on a date to be decided. The rules are also currently still settling, so be sure to weigh in if you have any concerns and want to be involved. Snake19 is in charge of organisation. Kouji helped a lot with preliminary work, so let’s not see it wasted.

Teams are organised by country – check out the relevant groups to get in touch with your country’s leader, or apply to become your country’s leader if there is not one. Some smaller regions are coalesced to larger ones to facilitate the player bases appropriately – for example, last time around Oceania was grouped as one region (and they won!).

Have fun, and get involved! We would love to see the competitive scene expanding!

Max/Geti

[Butcher] A little update

I couldn’t resist, I had to improve the look and feel of flames and explosions in the game, despite the fact it’s still a prototype version. But it’s more polished now, at least.

Changes:

  • better flames
  • better smoke
  • reworked grenade/rocket/flame explosions
  • you can now hit ESC in menu to go back/resume gameplay
  • selecting next/previous weapon depends on weapon’s order in HUD instead of its rank
  • fixed misplaced lights in HUD
  • UPDATE: a little optimized flames

You can play/download the game in Butcher’s section.

S-M-K

[KAG] Classic Ban Support Withdrawn, Community Activity, Potential Update

Hey guys, some (rare) KAG classic news:

  • Ban support is being withdrawn. No more bans will be enacted due to classic reports. This enables us to spend less time constantly banning free accounts in an alpha game and more time on making new games, improving the games we continue to support, and so on.
    Classic server admins: this will make moderation more important for you guys. Start using those deny_join seclevs or the “oldfag” mod from the forums.
  • Lucas (Furai) has expressed interest in spending time to “open up” classic – making all features in the alpha client available for free. Get in contact with him on the forums if there’s anything else you want in a “final” patch, there’s not likely to be any later patches and MM and I are not going to be involved in work on classic.
  • Master’s Juxta++ Server Mod continues to be developed for those looking for (limited) modding/scripting possibilities for classic servers. I believe this also opens up some anti-hack possibilities, interested server owners should check out the thread here.
  • Guro has expressed interest in hosting classic-style CTF servers in KAG – if you’re interested in this, show your support here. If you have modding/programming experience he’s looking for collaborators as well – this is a good chance to get your modding work included as part of an appropriately funded project, which means more people playing something you worked on.
    For all the classic players, strongly consider getting involved and showing your interest – as bans are being pulled and community moderation in classic is known to be substandard at best, this may be your best long-term shot at hacker-free, updated KAG classic.

Bit of a mixed bag, but it’s nice to see the community side of stuff taking a more positive, integrated slant.

More news on KAG proper coming soon, we’re still working on the Build Server Migration and engine infrastructure for Trench Run – lucky for you guys this translates to more engine infrastructure in KAG as well.

Have Fun!

Max (Geti) and Michal (MM)

[THD] You’ve abandoned [game], [expletive]!

A quick introduction
Hi guys, I’m Maciej and I’m responsible for letting you know what’s going on at Transhuman Design (via Twitter, Facebook, the website etc.) and designing Transmigration: Into Darkness Peering.

For quite some time we’ve been receiving some… subtle voices of discontent from the community, regarding Michal’s/THD’s involvement with different projects:

kag_soldat1.png

kag_soldat2.png

Many of you assume that King Arthur’s Gold and other games (look up) suffer because Michal and Geti are supposedly spread thin, working on a million things at once these days. I’ve decided to clear some things up in this short post.

Transhuman Design in 2014
Thanks to the awesome community that enjoys our games, THD has grown considerably in the last decade. We’re now divided into project teams that work on different games simultaneously.

MM acts as the all-seeing eye overlooking all the projects. He also helps with the existing titles and experiments with new ideas for more awesome games (Trench Run for example).

Trench Run work in progress

King Arthur’s Gold
Meanwhile, Geti and Furai cooperate on King Arthur’s Gold, constantly improving it and making it more fun. Just look at the number of updates (and dev love) this game receives.

KAG gif

Soldat and Storm2D
While MM no longer develops Soldat in person, other people have stepped in to fill his shoes and the project is now led by Shoozza. There’s also Storm2D (led by Roland), which could be described as its spiritual successor. It basically aims to be Soldat on steroids, with destructible terrain and a lot of other cool features.

Of course Soldat wasn’t made in a day, and it will take some time before Storm2D reaches that state of coolness. But hey, it’s just how game development works.

storm2d.png

Summing up
What I love about this studio is that everyone here has unique ideas and isn’t afraid to try out new things. That is why we’re currently working on projects ranging from the build’n’kill multiplayer mayhem you probably know and play (KAG), to a unique, story-driven adventure game that oozes atmosphere (Transmigration). More info about these individual projects can be found on our website (check out the menu on the left).

transmigration.jpg

Also, each of these teams does their own thing without hindering the work of others.

So… I hope I’ve cleared up a couple of things a bit. I didn’t want to make this post too long, so detailed team descriptions and project updates will come later. Check out our website, like us on Facebook and follow us on Twitter if you’d like to stay in touch!

See you around,
trainchaser

Social Media

Stay up-to-date with our latest news - make sure to follow us on Social Media!