It’s Good To Have Feel Good Game Feel

There’s a whole host of game development talks on Youtube and I want to discuss a few that have helped me make Readapt a better game. If you are unaware of such videos I would recommend the Game Developers Conference channel- which developers of all kinds discuss game design theory, post mortems and even marketing.  Game Maker’s Toolkit is another great channel that explores game mechanics and design in thoughtful and concise videos.

The videos I wanted to highlight cover “game feel” or “game juice” which define the mechanics or design choices that simply make a game feel good to play. Below is a talk by Jan Willem Nijman of Vlambeer called “The Art of Screen Shake”.

In the video the talk is presented alongside a game in which Jan Willem progressively adds features and mechanics that improve how the game feels. One of these additions was of course screen shake and another was hit delay. Prior to watching this video my game didn’t have screen shake, yet alone any of the other features. I think at that point I was more concerned about the bigger picture and neglected the smaller details that improve how a game feels to play. Screen shake punctuates and exaggerates impacts – camera shake in film does this too – just look at any Michael Bay movie. It turns out that screen shake is fairly easy to implement and cheap in terms of performance. As a direct result of this video I added screen shake to weapon fire, player hits and player deaths.

Hit delay also has a similar function to screen shake, both are forms of visual feedback. Hit delay pauses gameplay for a fraction of a second and it’s often used in conjunction with impacts or collisions. It’s often used in fighting games to highlight when a hit connects – giving extra time for players to comprehend the hit and adjust accordingly. This delay can be as small and almost subliminal at 40 milliseconds to as high as a few seconds depending on the frequency and type of game. A low hit delay would be suitable a game with constant action and collisions. In a game determined by a single impact or action like Divekick a longer delay when a hit connects is more appropriate. I found hit delay harder to get working consistently (messing with time scale in Unity 3D can be problematic) but eventually I got it right and it paid off.

Gameplay of an old build without screen shake, hit delay or any other “game feel” features. Weapons feel weak and collisions feel distant – almost sterile.
What Readapt looks and feels like now. Screen shake and hit delay make the projectile impacts and player deaths feel immediate and intense.

 

The second video I wanted to discuss is “Juice It Or Lose It” by Martin Jonasson and Petri Purho of Grapefrukt. Their talk is similar in format – they enable features in a game over time and discuss them. I found the tweening section interesting and that’s what I want to dive into.

Tweening is term used in animation and defines the creating of frames in between two images such as key frames. Easing equations that describe tweening have defined by Robert Penner and as he aptly states on his website they are “functions that add flavour to motion”. In the video this is utilised to drop objects into the game with style and alter objects when they get hit. It’s a neat effect and I immediately wanted to try it out in Readapt. Tweening allowed me to modify scale, rotation and position giving the impression that objects drop into view and fall from view when the round ends.

Tweening objects and players in an older build of Readapt.

 

The last video I would like to mention is “Oh My! That Sound Made The Game Feel Better!” by Joonas Turner.

Audio ducking – reducing other sounds for emphasis and making short and immediate sounds are great takeaways from this talk. Joonas provides some great examples and demonstrates how sound can contribute to how a game feels. After this talk I introduced audio ducking with the music which lowers in volume when sound effects are played. I also when through all the sounds for Readapt trying to make them shorter and harder hitting.

These are only a few topics covered in these videos and I highly recommend viewing them in their entirety. Game design can be hard but listening to more experienced developers is really insightful and I have learned a lot.

A game is a sum of a lot of small details: a punchy sound effect, a movement an object, a flashing sprite or a tiny pause in time. The absence of “game feel” results in a bland, unexciting gameplay – you might not know why, but it just feels wrong.  All these small details matter and you might not even notice when it’s there – but it will undoubtedly feel good.

 

Advertisements

Early Demo Trailer

Ok I admit I’ve neglected the blog for a while but I’ve been hard at work on Readapt. I’ve just finished putting together a trailer for an early demo. I have always intended to make a demo to go alongside the full release and this also gives me the chance to get more feedback. The demo features a limited selection of modifiers that are currently in the game and I am thinking of cycling some of the content in future updates.

The trailer I put together shows off the game in motion at 60 frames per second. It’s actually the first video I have edited together too. The other videos I have uploaded are pretty simple in comparison as they consist of raw captured footage with some voice over. Like any first effort it took a little longer than I expected – I also spent a week redoing a lot of game audio. I’m fairly pleased about the result and I felt like I learned a few things about how to put together a trailer. I recorded the footage with OBS and I looked for an open source or free video editor that would be more useful than Windows Movie Maker. I stumbled across an open source program called Shotcut which seemed like what I was after.  I’ve always like open source software, it’s free and can often outdo paid programs – I’ve also had good experiences with VLC and Open Office.

At first it seemed like a good experience, Shotcut is a little lightweight in terms of features when compared to professional paid programs but it was easy to pick up and start editing. But then Shotcut would start crashing. All the time. As far as I could tell Shotcut struggled with displaying short cuts to text or struggled with the framerate. Performance also started to chug so I thought something was wrong with my PC. I’m running an i5 CPU and CPU usage was extremely high, so I thought I didn’t have the horsepower to edit video at this quality. After some research though I came across complaints from other users about stability, so I decided to salvage the work I had done and try a different program. This involved exporting clips in small chunks so I could use them later, a task which Shotcut could handle without too much drama.

Next I tried a video editing program called Davinci Resolve, which is a paid video editing program but also happens to offer a “lite” version which has less features. Luckily none of the extra features were required for what I had in mind. I can’t recommend Resolve enough, it’s stable, more featured than Shotcut and had a more streamlined workflow. Resolve also ran great on my machine and seemed to leverage my hardware more efficiently than Shotcut. In hindsight this shouldn’t be a surprise since Resolve is a professional level program and Shotcut is largely being worked on by one person. Now that I had a program that would not randomly crash all the time I could stay focused on editing and spend less time cursing at my monitor.

It’s been nice writing again on the old blog, I want to do another post about a few game development videos I found interesting and helpful. I mentioned them in passing on the Should I Play This Game podcast and I have some thoughts and lesson I want to share.  That’s it for now, check out the trailer and the demo and I’ll be back in a week.

Readapt Gameplay Video of Build 8

Here is a gameplay video of build 8 that I made earlier this week. I talk over and explain how the game works and some of the changes. A gameplay video was pretty overdue as the last one is two builds old and a lot has changed since then. As always I love to get some feedback,  you can download this build and see the full list of changes here.

 

Build 8 of Readapt is here! Changelog + GIFS included.

Download it here. Despite wanting to put updates out on a more regular basis I seem to be doing the opposite. But at least Readapt looks and feels more different with each iteration.

b85
Shifting player size modifier and env health state visuals.

 

Here’s what new this time.

Gameplay

  •  Scaled size, movement speed, projectile speed and duration scaled down as 4 player matches could get too crowded.
  • Starting positions have been adjusted due to arena size, players will spawn in front of their bases for the defend the base objective.
  • No teleport abilities will randomise when players are path restricted in movement.
  • Defend objective does not randomise with path restricted in movement.
  • Player pointer location scales dynamically with player scale.
  • Gravity well effect only randomises when env objects are normal in dimensions.
  • Set and recall teleport ability has been added.
  • Added explosive modifier for environmental objects.
  • Added shifting shot weapon which changes in size over time.
  • Repel projectile terminates when hitting env objects.
  • Different shapes for the bomber weapon to randomise between have been added.
  • Rectangular environmental object modifier removed.
  • Shifting player size modifier added that alters player dimensions over time.
  • Environmental modifiers now alters how they are arranged.
  • Show modifiers option is toggled off by default.
  • Boost bad modifier for environmental objects has been removed.
  • Survive objective has double the chance of occurring compared to other objectives.
b811
Explosive environmental object modifier in action.

Visuals

  • Player and score overlay sprites updated.
  • Colours changed for different surface properties.
  • Slow time effect reduced when round ends to ensure smoother camera shake.
  • Projectile trails colour matches player color.
  • Capture point visuals have been restored.
  • Gravity well effect on environmental objects is now visualised with a circle showing it’s area of effect.
  • Hit particles added. Death particles have been reworked.
  • Black hole visuals have been replaced with particles.
  • Aspect ratio is now forced to 16:9.
  • Environmental object health states and outlines have been added.
  • Objective UI text simplified to single words.
  • Cleaner buttons and labels have been added to menus.
  • Scaled projectile trail width with projectile scale.
  • Death shake amount reduced.
b88
New particle effects!

Sound

  • Boomerang sounds tweaked, shortened and should no longer clip.
  • Hit sound should no longer clip.
  • New ghost activate and deactivate ability sounds.
  • New wave sounds.
  • Speed power up sounds shortened.
  • New curve shot sound.
  • New ghost ability sounds
  • New base damage sound.
b89
New bomber weapon shapes that include squares, semi-circles and triangles.

Balance

  • Internal cooldown for sprint reduced.
  • Ghost ability drains slower.
  • Cross shot projectile moves quicker.
  • Time field ability accelerating effect has been increased.
  • Power up spawn position is now randomised around the centre.
  • The larger a black hole the smaller it’s duration.
  •  Walls close in a little slower when round time expires. Staggered movement for walls has been standardised.
  • Movement momentum speed increased.
  • Wave weapon speed increased and projectile path is more curvy.
  • Player fast movement speed modifier nerfed slightly.
  • Defend objective objectives health has been reduced from 3 to 2.
b87
Restored capture visuals and new gravity well visuals.

Bug Fixes

  • Remote shotgun and bomber weapon can no longer be activated when game is paused.
  • Reflect ability cannot be deactivated when game is paused.
  • Self destructs statistics should be accurate now. Self destructs for player 3 and 4 will also display correctly at the end game summary screen.
  • Player positions will correctly reset in 4 player games.
  • Player positions should reset properly when path restricted.
  • AI wins for custom score limits have been fixed.
  • Angular drag increased to prevent constantly spinning AI.
  • Initial stage of remote shotgun now correctly destroys when colliding with players or neutral surfaces.
  • Taking damage correctly gives one second of invulnerability.
  • Disabling the test phase no longer plays all countdown sounds at the same time when the game begins.
  • Cross shot projectile now removes correctly when hitting neutral surfaces and cancels out when hitting other projectiles.
  • Music now randomises properly after resetting game more than once.
  • Boomerang projectile can no longer be returned when game is paused.
  • Activated bomber projectile collider is now the correct size.
  • Black hole effect now works correctly when combined and it’s position is consistent with the pre existing black hole’s location.
  • Explosions for bomber projectile and environmental objects no longer move.
  • AI hit detection should occur normally after a round with the ghost ability.
  • Environmental objects correctly take damage from non projectile sources.
  • Initial stage of the reverse shotgun will correctly reflect off objects.
  • Fixed a bug where AI would not shoot bases when no player targets are left.
  • Environmental objects can no longer duplicate when paused.
  • UI sounds now work correctly in the pause menu.
  • Constant collisions of players into environmental objects no longer incorrectly does damage.
  • Health power up no longer increases player health beyond the maximum limit and player sprite correct displays the effect.
  • Power up that shrinks player size now works as intended.
  • Bomber weapon now damages player bases correctly.
  • AI hit detection should occur normally after a round with the ghost ability.
  • AI now utilises the tele projectile and dash ability correctly.
  • Dash ability cycles properly after the first use and shows correct cooldown.
  • Dash ability correctly works in conjunction with speed power up.
  • Time fields now effect AI movement correctly.
  • Wave projectiles now turn according to time scale.
  • Neutral block ability now correctly has 3 health.
  • Abilities are no longer incorrectly disabled when a player is the only one left.
b83
Player specific colour trails help show who is shooting and is useful when vision is limited.

Thanks for checking out this update of Readapt, send any feedback at me here or on Twitter. I’ll be updating the IndieDB page tomorrow and expect a new gameplay video too.

Build 7 is done, here are the changes and some GIFs!

This is another big update to Readapt which you can download here, the updates keep getting bigger so here is a bigger wall of text than last time but I’ll drop some GIFS here too.

Gameplay

  • Added a test phase at the start of each round where players can freely experiment with weapons, abilities and movement. Players are invulnerable and everything will reset after this phase ends. The length of this phase can be customised to 0, 5 and 10 seconds under the main menu options.
  • One round mode has been removed. Instead players can change the starting number of stocks or maximum score in the player select menu. This is also represented visually on player sprites.
  • Spiral Shot has been replaced with the Curve Shot, which slowly curves away and alternates direction every shot.
  • Some weapons now have their own internal modifiers that effect how they function, such as the reverse remote shotgun which can now randomise to be forward facing.
  • Replaced the normal blaster weapon with a weapon which shoots 4 projectiles that randomises between shooting in a cross or X shaped pattern.
  • Constant movement player modifier added.
  • Added slight knock back on damage away from the damaging object.
  • Screen shake, pointer recoil and player kick back effect has been added when firing weapons, each weapon has it’s own value.
  • Super kick back modifier added which triples the normal effect.
  • Momentum based player movement modifier added.
  • Environmental objects will move more predictably and will now only be squares and rectangles.
  • Sprint ability added a variation on the dash ability and is a sustained rather than a burst increase to movement speed.
  • Swapper ability added  that swaps player position with what it hits, a variation of the teleport ability.
  • Player modifier added that shifts player size in real time between large and small.
  • Added boost pad modifier for environmental objects, should pull objects to centre and redirect according to the direction of the arrow on the boost pad.
  • Blackholes can combine during both stages, resulting in bigger black holes with an updated duration.
  • Self destructs are now distinguished from normal kills and are shown on the results screen.
  • Added a Base Defense objective, bases can take 3 hits and will become smaller, destruction of a base will result in a player’s death.
  • Super power ups added as a sudden death mechanic, will periodically spawn in the centre when round timer ends and include increased projectile size, super speed, health up, reduced ability cooldowns and reduced size.
  • Two stage homing weapon added first stage is non lethal and fires in a straight line, when activated will briefly target the nearest object and become lethal.
  • Added a limited view modifier which darkens the screen except for around players and key objectives.
  • Replaced the time manipulation ability with a new two stage Time Field ability. The first stage deploys a circle area guide on the player’s position and upon further input turns into a localised field that distorts time. This ability can randomise into a field that slows or speeds up objects.

    feedback2
    Projectile trails are back and now players have trails which gives a better sense of motion and speed. The increased visual feedback when players shoot, get hit or die gives these events more impact.

Visuals

  • Player health states have been changed to be more visible.
  • Death particle effect has been added.
  • Projectile hit animation had been added.
  • The screen shakes and a slight time delay (20-30ms) has been added when players are damaged.
  • Player sprites will flash when invulnerable (during the test phase and for a second after being hit).
  • New player sprites and bigger player pointers.
  • Reintroduced trails for players and projectiles which interact correctly when positions shift quickly.
  • Round time is visualised with the background filling in.
  • Cooldown pointer and capture point progress visuals have been changed.
  • Vectrosity guide lines replaced with sprites for bomber weapon and blackhole ability which should eliminate the possibility of lines that do not clear properly.

    swapCross
    I had issues with transparent sprites and had to change how capture progress is shown. The X shot weapon and swapper ability is also on display here.

Sound

  • Shield activate sound has been shortened.
  • Charge sound and release now has more bass to give it more oomph.
  • Sounds for shotgun and triple wave now have their own sounds instead of being the single version sound played 3 times simultaneously.
  • Added sounds for new weapons and abilities.
  • Successful capture sound has been added.
  • Player death sound changed.
momentum
The new player momemtum base movement which is subtle visually (but can defintely be felt when playing) and can be observed by watching the blue player’s trail.

AI

  • Round will no longer end when player dies for the capture the point objective, instead the AI will attempt to capture the point to end the round normally.
  • AI can now target each other and will prioritise targets according to distance.
  • AI will no longer  use abilities or weapons when there is nothing to target.
  • AI uses the boomerang weapon properly now.
AI
AI can now shoot each other! I actually die first here against 3 AI.

Balance

  • The long and thin environmental objects are slightly wider.
  • Block ability object is now bigger and square instead of rectangular.
  • The modifier that causes environmental objects to create smaller objects are now less small.
  • Single wave shot duration increased.
  • Modifier restrictions added, boost pads will not move and be normal in size.
  • Inactive bomber projectiles and black holes can be destroyed.
  • Environmental objects can only spawn a total of two additional objects on destruction.
  • Time limit for rounds scale according to number of players and AI.
  • Environment object movement will randomise alongside with other environmental behaviours. This means that objects cannot move and have other behaviours beyond their surface properties.
  • Environment object placement is specific to number of players.
  • Upon activation the boomerang projectile will rotate towards the user instead of apply a 180 degree turn to it’s current direction.
  • Sudden death for the defend base objective will always be a super power up and not walls closing in.
  • Orbiter ability removed, not as useful or fun as other abilities and does not interact well with warping boundaries.
  • Multiple black holes and homing projectiles can be created by the same player.

User Interface

  • Selected menu button is now white.
  • Increased deadzone for controller input in menus.
  • Input for P1 allows for both controller and mouse/keyboard by default, this can be toggled to controller only in the main menu options.
  • Added various tool tips explaining controls and various options .
shiftingSize
Blackholes can now combine and be destroyed when inactive.

Bug Fixes

  • The bomber weapon will now remove itself properly when hitting boundaries that do not warp.
  • Extended the period that the bomber weapon explosion persists, which should fix player collision issues.
  • Orbiter and Blackhole sound effects have been rebalanced and shortened. The black hole initial sound should no longer repeatedly play when the round is ending.
  • Shooting the shotgun with the shield ability active should no longer conflict when players have altered sizes.
  • The reset option in the pause game menu will now correctly show notifications if enabled.
  • Projectile interactions with blue and white shields have been fixed.
  • The correct sound now plays for block and shield ability when players activate them.
  • Notifications for the last round will no longer show briefly before the start of the next round’s notifications when show modifiers is enabled.
  • Charging during the test phase and firing at the start of the round is no longer possible.
  • Walls stop closing in when round has been completed.
  •  The end round time slow effect should now always occur.
  • Restarting a game should no longer pause time during the test phase.
  • Weapons that require additional input now properly reset when projectiles expire.
  • AI ability sounds for held abilities should now work.
  • UI text should no longer show when the game is paused.
  • When a game ends notifications should no longer be shown over the summary stat screen.
  • Multiplying modifier for environmental objects no longer multiplies all at once and should now continue to multiply properly if under the maximum limit.
  • Weapon fire is no longer possible when game is paused.
  • Player abilities that use holding down the ability button should no longer deactivate before the ability button is released.
  • Shield size now scales proportionally to player size.
  • Environmental objects positions and rotations should propeperly reset after the test phase ends.
  • Capture progress will stay complete when someone has won the round and no visible progress should be seen at the start of the round.
  • First to kill objective now assigns score properly, self destructs wills no longer end the round prematurely and will now end if only one player remains without a kill occurring.
  • AI correctly triggers the internal cooldown for abilities that can be constantly maintained.
  • Shield ability will no longer disappear when ability button is released when the game is paused.
  • Cooldowns for blackholes combining now work as intended and prevents infinitely big black holes that last forever.
timeField
Introducing the new time field ability, you can also see how the round timer is shown by the background filling in.

Phew that’s it for now I’ll probably post up a gameplay video later on in the week.

Gameplay video of Readapt Build 6

Here is the video I promised earlier, it’s a quick talk and play of the latest build which you can download and play for yourself by clicking the link on the right. I have put up a lot of text lately and I thought a gameplay video would make up for that. I’m a big fan of GIFs too so I will post some up here, the rounds are short and translate well to short gameplay clips.  I took too long getting this build out so future builds should be out on a shorter timeframe. It’s been fun getting it out and I look forward to hearing what people think.

Changelog for Readapt Build 6

This post will list all the changes contained in build 6 which you can get right here.

UI and Menu Improvements

  • Arrow keys can also be used in conjunction with W, A, S, D keys in menus.
  • Added a start game button in the player select menu to replace an additional input button to start a game.
  • Colour of the UI has been adjusted for player select screen and gameplay for better visibility.
  • Player select screen layout rearranged and menu size increased to be more visible and easier to use.
  • Added an option to return to player select screen when paused or at the end of the game.
  • If the show modifiers option is toggled on they will be shown during the countdown.
  • Now tracks number of rounds and displays them at the end game summary screen.
  • Numbers for start of round countdown removed, but sound remains.
  • Music and sound effect volume can be customised in the option section of the main menu.
  • All player settings are saved and will be recalled when returning back to the main menu  or when the game is launched again.

Gameplay Changes

  • Different game modes can be selected at the player select screen including Score (default),
  • Stock (players start with five lives and lose one per death) and a single round mode.
  • Speed setting added to player select screen with 3 settings (Slow, Normal and Fast).
  • Players will reset to original positions when round starts to allow time to experiment with movement.
  • Added modifier to change shape of environmental objects.
  • At the end of rounds the walls can close in fast and pause at periodic intervals.
  • Added modifier to rotate environmental objects.
  • Different number of AI can be selected and is compatible with all modes.
  • Repel ability now inverts direction when they collide and can now modify to light blue.

Visual Changes

  • More visual indications of who is capturing, color of player forms a square ring around the point.
  • Place holder black hole animation added.
  • Altered score overlay for players to make health values clearer when at maximum stocks.
  • Readjusted colours used for randomised backgrounds to make them easier to view.
  • Projectile trail removed, as it would often clutter up the screen.
  • Player sprites at the player select screen should reflect the value of the health setting.
  • Player sprites should appear or disappear according to number of players or AI selected in the player select screen.

Balance Changes

  • More delay added to delayed player pointer.
  • Reverse shotgun projectile size increased.
  • Increased cooldown for the charge weapon when not charging.
  • The repel ability now to originates from pointer rather than from the player.
  • Projectiles destroy themselves on contact with white objects.
  • Added a slight rate of fire cooldown to the rapid trigger weapon.
  • Boomerang weapon grows in size immediately on return.
  • Ghost ability internal cooldown increased to discourage activating and deactivating rapidly.

Bug Fixes

  • Updated to Unity 5.
  • Optimised music quality to reduce file size.
  • Menu music now plays when quitting from gameplay.
  • Music only re-randomises when restarting once during gameplay.
  • Music no longer overlaps when re-randomising.
  • Music continues to play properly when the game is paused.
  • Hit boxes of players are more accurate and properly represent their sprites.
  • Line paths are no longer partially hidden by the capzone.
  • Clicking on various UI elements will no longer highlight them  incorrectly.
  • Lines used for black hole, bomber or player paths will now properly remove after each round.
  • Fixed an issue where AI obstacle avoidance would remain active when players were playing.
  • Countdown beeps at start of rounds are now more accurate.
  • Music intro and looping during gameplay now syncs properly and the timing is independent of time scale.
  • Game pauses correctly if paused immediately after the countdown at the start of the round.
  • All abilities the require held input is now correctly used by AI with respect to cooldowns and their pointers will now show when they are using abilities and when cooldowns are active.
  • A game can no longer start if no AI or players are ready.
  • When a round is ending players can no longer die.
  • Stocks will now properly reset when choosing to restart the game at the end for stock mode.
  • Default player preferences now default to correct values when game is first launched.
  • Reflector ability correctly shows yellow instead of grey filling player points when in use.
  • Fixed a bug where player one did not win when multiple AI were defeated in stock mode.
  • Added AI behaviour to allow use of two stage abilities.
  • Cleaned up obsolete references and code.

Phew that’s everything! As promised there will be a gameplay video this week showing how all these changes manifest in the game. Thanks for checking out the changes and as always let me know what you think.