Last weekend I attended a class on “game feel” taught by Steve Swink of Blurst fame, now of Enemy Airship. The whole class was about how tweaking small details of a game’s design can contribute to the player feeling more connected to the game world. Basically, input response time, responsive special effects, good sound design, intuitive controls, and cohesive rules all contribute to the player suspending disbelief and becoming immersed.
Steve actually canceled a few projects because the “feel” was off. It’s my hope to learn from his experiences to improve Against the Wall. Here is my takeaway from the class as it relates to Against the Wall:
- As a general rule, all input-response time should be kept below 240 milliseconds, otherwise people will experience a disconnect in the actions they are performing. Anything below 100 ms is an optimal speed to shoot for. According to the human processor model, humans can’t really process their senses faster than this, on average.
- On slower machines or when the framerate dips, there is more lag between the input and response. Sometimes, jumping can take a full second from when the player hits the spacebar. This was because the movement script was being updated at fixed intervals of time while the input of pressing a button was measured once-per-frame. As a result when the frame rate went down, the gap between the fixed interval and a frame update would increase dramatically. I corrected this and measured the input-response gap. It’s now around 50 times faster on my computer! (Note to Unity developers: Avoid using FixedUpdate() for anything besides physics calculations. I was using this for the character because I wanted a time-dependent update, but that could be easily be implemented by checking to see if the game is paused each frame in the Update() method.)
- When players run, jump, or land, they should kick up dust at their feet. There should also be more visible dust generated whenever a brick extends or retracts fully.
- The wand and its animation do not reflect the pulling and pushing of bricks. I’ll have to redesign the wand or tweak these animations in order to make shooting feel more connected to the effects that it has in the game world.
- Players can feel disheartened falling short distances. This can lead to people save-crawling through the game or quitting when obstacles seem insurmountable. My solution to this would be to improve the feeling of jumping, slow the player down at the apex of the jump, giving them more air control, increasing the jump height by a tiny amount, and saving the player if they just barely miss the edge of a brick that they are jumping towards. Hopefully these changes will mitigate some frustration.
- I need to create some more ambient, softer sound effects. The current footstep and wind sound are too harsh for my liking. Also, too much time passes between each footstep.
I’ll be getting a copy of Steve’s book to see what else I can do to improve the feel of the game.
Progress Report
The block system is now arranged into “chunks” much like the wall is (or Minecraft, for that matter). Always a thrill when I spend days on end grinding out a new feature and having it actually work as intended! And yes, I’ve been taking my vitamin D pills. I’ve started a new LOD system, I’m in the process of redoing some of the sounds so that they are softer and more ambient, redesigned the wand (again), and rewrote the scripts that control props and triggers so that they are more flexible in terms of where and how they can be used. I will be adding Screen Space Ambiend Occlusion to the game to make some of the surfaces feel less flat. The SSAO script that comes with Unity isn’t perfect, so I’ll be rewriting parts of it.
I bought a license for Unity 4. Hopefully I will be able to exploit some of the new features of Unity to make the game look and feel better. Also, the game will now be coming out for Linux operating systems as a result of this upgrade, and the game will support DirectX 11 shaders.
Finally, I am interested in seeing what Allegorithmic does later this month. In their newsletter, they promised a “game-changing” announcement on the 12th. Seeing as how they’ve extended their low pre-order pricing for Substance Designer 3 until the 17th, I’ll be holding off on buying a license until I see what they’re up to (I opted not to buy it earlier in the Summer, as money is rather tight at the moment).
Regarding the site: last Sunday the site went down an account of the forum being exploited to send out spam to random people. This was more than a little frustrating, fixing this broke a few features of the site. The forums still look a bit messy as a result. I’ll be doing a redesign here, hopefully it won’t take up too much of my time.
i think that increasing the air control isn’t such a good idea . Why? Because when you jump forward and then release the button, you fall straight down instead of continue to move forward. i’m often finding myself underjumping blocks because of it.so my suggestion: increase air control a little bit, but when you release a direction button in the air, you still move in this direction unless you clicked another button
That’s a fair point. Players are currently required to constantly apply a direction while jumping, which could be an issue. Only problem with limited air control would be that if players make a poor jump, they would be unable to correct themselves. This will require some beta testing to see whether people prefer
I personally found this article extremely interesting and will definitely look up that book. I really liked the part about ‘input response’. I know exactly what you mean; I hate game designs and menu screens when you have to wait around for things to happen. I’m currently designing a game myself for iPhone and my friend recommended I check out your site. I must say I’m pleased.Also have to mention about your video on the homepage – I’ve watched a number of video’s of indie games over the past few days and yours was the only one I watched the entire duration. It really held my interest. Apt that your most recent post is about “game feel” because it was the feel of that video, the music, the graphics, all of the elements working together, that made me feel immersed, that made me want to keep watching – even before I had any idea what the game was about.Very interested to keep watching and see more of your work. Feel free to drop by my site if you want http://gladeentertainment.com/developer-diary.htmlThanks for sharing an awesome game and such a useful article. Your thoughts are appreciated!~Silver