Hello Gamecrafters!
We’re pleased to share another exciting update introducing our first ever version of player damage! You can now create amazing gameplay involving life or death situations, making your platformers even more dangerous or even just pelting Leo with cubes for the fun of it. We’ve also made some changes to Leo’s movement and animations. Read the full patch notes below.
Character Vulnerability
Character Vulnerability gives crafters the option of adding health and life based gameplay to their games. When you’re in creative mode, Leo will gain a fixed amount of health and a number of lives when you start time.
From that moment on, any time Leo takes damage, currently by falling a great height or getting hit by a fast moving object, the health bar will decrease based on a few variables, which we’ll cover shortly. You’ll get some visual and audio feedback to go with it too. If you completely run out of health, Leo will lose a life, and if you run out of lives, you’ll get a Game Over!
That covers the basics, but we’ll go into a bit more detail on how all this works and how to fine tune this to fit your game shortly.
First, let’s explain what kinds of damage are available with this update and how to use them. The simplest form of damage is ‘fall damage’. If Leo falls long enough he’ll take some damage on landing. The amount of damage depends mainly on the speed at which Leo was falling at the moment of impact, coupled with the surface hit. So falling a short distance and hitting the edge of a cube would hurt much less than falling 100ft and hitting a flat surface.
The second form of damage comes from other objects hitting Leo. This could be a large block, a car, a Pneumatic Piston or even another Leo! If the object is heavy enough and traveling or rotating fast enough then Leo will take some damage from it. Smaller objects that only graze Leo with a corner will do less damage than a large, fast moving one.
When you take damage you’ll see Leo flash red as a little bit of extra feedback. You’ll also notice some directional HUD elements, depending on the direction the damage came from. Getting hit from above will blur the top edge of the screen and taking fall damage will typically blur the bottom. Smaller damage will trigger a less noticeable blur.
N.B: The damage model is not linear as we felt this didn’t make much sense and didn’t feel right during development. You’ll find that falling 12 blocks instead of 10 won’t give you 2% more damage.For now, Leo won’t take damage while seated, or if he’s being slowly squished. We’ll be working on adding those, along with introducing lots of other ways to inflict damage in future.
In the unfortunate event of Leo’s demise, you’ll be greeted with a screen that gives you the option of Respawning or Quitting. Clicking ‘Respawn’ will place Leo back at the spawn, but the game will not be reset. In future you’ll be able to easily set up checkpoints to keep track of the players progress and put them further through the level when they run out of health. Quit will take you back to the main menu (with a confirmation popup, just in case).
Losing your final life will instead show a Game Over screen with the option to Replay or Quit, much like the Game Over HUD. The only difference here is that this default Game Over screen cannot be changed, but you can still use your own custom Game Over HUD block. We’ll explain how a bit later.
Spawn Point Changes & Stats
Onto the stats and variables side of this next. If you don’t want damage and lives to feature in your game then you can simply turn them off. Each Spawn Point now has a couple more stats to tweak, mainly the number of lives and whether or not the player can take damage, but we’ll cover them all below.
TeamID remains the same, this simply assigns a team to the player that spawns inside. Teams can be used with Team filters or the ‘Team’ channel on certain parts, like HUD blocks to trigger specific behaviour for players of one team.
If you disable player damage, you won’t see a health bar during simulation and Leo will not take damage from any source, exactly the same as things were before. If you do have damage enabled, you can set how many lives Leo starts with (between 1 and 100 for now). The final stat allows you to toggle whether a standard ‘game over’ screen appears when the player runs out of lives. If this is enabled, losing your last life will cause a default Game Over screen to appear with fixed text. If you want your own custom game over screen then you can use a Game Over HUD block instead. If you use both together, the custom HUD will take priority.
N.B: Lives and current health cannot be increased yet, but we’ll be working on pickups in future to allow this kind of functionality.Lastly, there are two new output ports, ‘dead’ and ‘life lost’. When the player loses their final life, the ‘dead’ output will become +1. This could be used to trigger your own custom Game Over HUD, stop timers and other various actions. If the player has multiple lives, the ‘life lost’ port will send a short pulse of +1 each time they reach 0 health, which can be useful for tracking the number of attempts taken in a Game Stats HUD block, or even triggering some different pathways for consecutive runs.
Spawn Points & Game Testing
Finally we’ll cover how you, the crafter, can more easily test out your games from the player’s perspective. Previously, you would always be treated as “Player 1” on “Team A” while running through your game in creative mode. With this update we’re making some big changes to that!
Now, you’ll be assigned a player ID based on which Spawn Points are present. As we mentioned at the beginning, with no Spawn Point in the scene you’ll see damage is enabled and you have a default number of lives. If you were building a game that didn’t need damage, well, you’d be a bit stuck without these changes. As long as there is a Spawn Point present you’ll be treated as if you had spawned from it. This means that having a Spawn Point for P1, assigned to Team B, with damage disabled would make you Player 1, on Team B with damage disabled.
This works by grabbing the lowest numbered Spawn Point when the simulation starts. So if you had 4 spawn points numbered from P2 to P5, you’d become Player 2, which is fantastic for testing multiplayer games by yourself. You’ll also be able to trigger outputs from the ports of that Spawn Point too, so you can fully test your game from start to grizzly finish. Removing all Spawn Points will give you the default behaviour again and we’ll be looking into ways of making it easier to switch between multiple spawn points in future.
Character Controller changes
As part of the preparations for introducing weapons and other usable items we’re working on switching Leo over to a new character controller. We don’t need to get into the details but the short version is that these changes put us in a better position to start adding various weapons without needing to spend hours rigging up a unique set of animations in future.
In this update, this only really affects the way Leo moves. Up until now Leo has always been locked to the direction of the cursor. This means that you’d strafe if you walk to the side and would walk backwards as well. That’s all still possible when you’re in what we’re now calling ‘combat mode’. In this mode Leo will face forwards to match the cursor, which is important when interacting with things, placing blocks and eventually aiming weapons. The only notable change in this mode is that Leo can now run in all directions rather than just forwards.
Now, while you’re not actively interacting or building, Leo will switch into ‘adventure mode’. In this mode Leo will rotate to face the direction he’s walking in, even backwards, towards the camera. This gives you more fluid movement while playing games as you’ll constantly walk or run at the same speed.
We’ve got some new animations for walking, running, crouching and flying to go with these changes too, which you can see in the above example.
Price Change
As we mentioned last week, Gamecraft will be increasing in price shortly after this update, from $4.99 to $9.99 (that's £7.19 and 8.19 EUR). Don’t worry, if you already own Gamecraft or have picked it up for free in the past then you’ll never have to pay.
Bug Fixes & Other Changes
We’ve lowered the default percentage of the world that gets synced across the network, from 20% to 5%. A few of you have already been doing this and have reported noticeable improvements with no new issues introduced because of it, so we’ve adopted that change globally. This should make multiplayer a lot more responsive and enjoyable without needing to fiddle with settings yourself while we continue to work on other optimisations and fixes. We’ve also done a few small optimisations again this time so let us know if things feel better.
- Fixed a couple of crashes that could happen when loading into certain games/prefabs - Please let us know if this has fixed any particular cases for you, or if you’re still getting consistent crashes
- Fixed a bug where Leo could stand up inside other blocks after crouching
- Fixed some issues with the changes we made to Leo’s collider in the previous update that caused the character to ‘bump’ on the seams between cubes more often
- Fixed a bug where Timers would visually stop counting 1ms early on certain end times
Preview Branch Changes
We’ve been tinkering with a few changes to joint weights and servo power, based on some of your feedback. We’ve quite happy with how these changes feel but we’ve noticed a few cases that drastically alter existing games and builds. For this reason, we’ve decided to put the changes into the preview branch (which is available now) for you to get your hands on and try them out, then let us know what your thoughts are. If the feedback is generally positive we can put these changes live.
We’ve made some changes to the mass of all joints. To bring them more in line with the rest of the cubes, they’re now around 80% lighter. We’ve checked a lot of existing games and prefabs and for the most part we haven’t noticed anything break or stop behaving as intended. A few larger builds (like Blackbird’s AT-AT’s) will definitely behave differently with this change but we believe any issues can be resolved with a little tweaking (in this example, lowering the force of Movers should bring it back in line).
Servos and Pistons that have been scaled should now be around 50% more powerful. We’ve increased their maximum force overall and made some tweaks to the power curve as the scale increases. This change hasn’t affected the majority of existing games that we’ve checked but there’s a chance some games may behave slightly differently after this change. You should find strings of joints (like a giant robot finger) should be a bit more responsive now.
The code for this preview is “JointsFeedback”, which you can access by following the steps below. You’ll be able to access our usual save files this time to make it easier to test out these changes.[*]To access the Preview Build, follow these steps:
[*]Open the Library tab on Steam
[*]Right-Click on Gamecraft
[*]Click on “Properties”
[*]Click on the “Betas” tab
[*]Enter the code “JointsFeedback” and click on the “Check Code” button
[*]Click on the dropdown and select the “Preview” branch
[*]Give this a minute to download
[*]Make sure the game appears as “Gamecraft [preview]” in the Library
[*]Click Play and get started
As always we’re really looking forward to seeing what new types of game start popping up and seeing all the creative ways you put these new features to use.
The Gamecraft Team