M1W8 – Rapid Ideation 2 (Pt. 3)

Development – The Good

The majority of development went very smoothly indeed. Most of the basic gameplay elements dropped in very quickly and easily.

I had a few little sticking point with the player collision detection to the maze early on, but this was sorted pretty quickly.

Pill and power pill display also dropped in very quickly, and all the code related to collecting them and how they affected the player.

What is quite pleasing as well, is the amount of working code produced in the timescale I gave myself. The project is all hand-written script, with no drag and drop elements.

Development – The Bad(ish)

The element that took the longest to get working was the ghost movement. I was planning on coding them as they would appear in the arcade game, but decided against this.

I would still have all 4 modes; scatter, chase, frightened and dead, but I would have my own take on these.

At the heart of all this I realised I would need a node-based travel system, and to do this I’d have to traverse the map and make a list of cells where a perpendicular change of direction was possible.

Once this was done I could implement the modes as follows:

  • Scatter – The ghost would go into this mode for a random time. They would pick a node to head to, and then traverse by picking the next nearest node to the destination that wasn’t the last node they visited and didn’t involve a 180 degree change of direction. If they reached their ultimate target they would choose a new target.
  • Chase – Here the ghost would pick the player position as it’s target, but still choose a node based on the rules for scatter, meaning the same code could be used.
  • Frightened – Due to time restraints this is pretty much the same as scatter.
  • Dead – Simple one. The home area was chosen as the target, and if it got there it would switch to scatter mode.

There are a number of bugs in the system where for some reason ghosts just stop, but when they change mode they start moving again.

Development – The Ugly

There were a number of features I just did not get round to implementing, which I am not overly happy about, but I just ran out of time, due to the ghosts taking longer than expected.

  • Level warp. The warp from left to right or vice versa was not implemented. All that happens is the player goes off screen and then eventually the game crashes.
  • Text direction. The texts that appear when eating a pill are a little intrusive, and I need to move the start position so they are not.
  • Ghost scoring. On the arcade version the game pauses and displays a score when a ghost is killed. This mechanism is not in place.

Final Project Board

There were quite a few modifications made to the board during development, mainly just to add things I’d not thought of or tweak other items. The final board is below.

Gameplay Example Video

For a description on what the idea of this rapid ideation session was please see here where it is explained.

You might have to go full-screen to see any of the detail, but the premise is as follows.

The normal “happy” pills give you a positive message, but this has no effect on the player. The “sad” pills give you a negative message and reduce the players speed. Each reduction is 5% of the original speed, so 20 “sad” pills would mean you stopped moving.

The ghosts travel the same speed as the player, and you can see in the video a couple of times where the player got caught because they couldn’t move as fast.

What I was hoping to illustrate was that the negative mental affect bullying and hateful speech can have can also manifest itself physically.

That and the fact that no matter how much positivity there is around, the negative is what we concentrate on.

Version Control Repository

The public GitHub repository for the project can be found using this link but would need GameMaker Studio 2 in order to build it.

Leave a Reply

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