Notes on Game Feeling

It’s important that game characters and controls feel good.  They should be inherently fun, even without clever levels, impressive graphics, or complex enemies.

Controls that Feel Right

For example, with my Solar Merchant game, It’s important that I get the feeling right for the ship controls.  Right now, it’s pretty good, but I’m sure it can be made better.  I think I’ll experiment with physics based controls instead the simple “bullet” controls I’m currently using.

Make elements bigger

Make things bigger.  Right now, in my solar merchant (name pending) game, the bullets and ships are actually really small.  The small ships are not only hard to hit, but they feel slightly wimpy as a result.  I should make everything bigger and bolder.

Camera Controls

One of the reasons I originally made the ships small in the first place, was because I didn’t want ships sneaking up on you.  I wanted a wide field of vision.  However, I think this doesn’t work all that well.  It needs smarter camera controls.

At one point I tried putting the camera in front of the ship which didn’t feel right.  (Maybe that could still work, but I’m not sure).  Perhaps I could make the camera move between you and any enemy ships that come up.  Making a helpful camera should be a priority.

Slow Down on Hit

When you hit an enemy, maybe I can slow down time, to emphasis the hit.  That would great good “game feel”.

The UI Plan

I think I’ve cracked a good user experience controlling the ship with a mouse.

  1. Put the camera halfway between the ship and the cursor (using lerp)
  2. Use physics for the ship movement (but not rotation)
  3. Only activate engines when right mouse button is clicked.
  4. Allow planets to have gravity that pulls the ship when it comes within a certain distance.  You can even use this to slingshot your ship for extra momentum.
  5. Give the ship linear damping of 0.5 so it does go too crazy fast.

Download my proof-of-concept Construct 3 Game file.

No Comments

Write a Reply or Comment

Your email address will not be published. Required fields are marked *