Game Feel Simulator

  • Team Size: 1

  • Engine: Godot 4

  • Production Time: 4 Months

  • Roles: Technical Game Designer, Engineer, UX Designer

  • Link to playable game: Game Feel Simulator

Core Considerations:

  • Create a robust and accurate 2D platformer with a plethora of exposed variables.

  • Create a tool that is informative and honest to 2D platformer development.

  • Implement all aspects in a timely and effective manner.

Designing the Process

At the start of the project, I only knew the barebones idea of the plane: we were going to make a 2D platformer tool that showcases how game feel is created and we would use Steve Swink's book Game Feel: A Designer's Guide to Virtual Sensation as a guiding light. After an initial meeting with Zagal, I put together a timeline and a design document. The timeline included what work would be done when, and which chapters would be read. The design document detailed exactly what the game would consist of, although much of this was changed during development.

Now that we had a proper plan and documentation, the tool was ready to begin development.

The Platforming Variables

The most intuitive place to start development was on the gameplay portion. I put together a simple 2D character movement script and added every required variable piece by piece. I was diligent to keep my code clean and with plenty of documentation so that if anything ever needed to be revisited I would be able to do so easily. Unlike a typical platformer, every variable may be changed during gameplay so I had to ensure that changes to variables would affect the character immediately and not require a restart.

After the initial creation of the character movement, I had an extensive meeting with Zagal discussing what I've made and how to represent it in UI. We decided on adding a few impactful variables for the character and including a distinction between player variables and environment variables. I then made the UI that allowed the user to change the character movement variables. I had to consider how each variable would be bound - its minimum and maximum value - and how it would increment.

Current Plans

As of now, a few key plans have changed. Rather than having a recording and playback system we will instead have a way of slowing down the gameplay in order to better view the variable timeline. We will also have a new system where the user can export and import variable presets with the intention of this enabling class assignments.