Tuesday, 3 June 2014

Week 2 - French Ship Post-Mortem

So it's week two (forgot to post this last week, oops).

This week I made a terrible clone of Canabalt, the seminal endless runner by Adam Atomic.

It's called French Ship (a bad pun) and uses scavenged, beautiful art from Luc Wolthers


What went right 

  • Aesthetics (graphically): I'm really happy with how the game looks this week. This has little to do with me, really - it's mostly Luc's incredible art and his great understanding of how art works in games, but I'm happy with how the implementation went. The different layers of parallax moving at different speeds gives a great sense of movement. Simply, it's just a joy to play in something so pretty.
  • Minimalist Gameplay: The gameplay is really, really simple. You have one button to jump and that's it. Though it's simple, there is a lot of depth that the pressure sensitive jump (stolen from last week) allows when jumping between platforms and over obstacles. The small leeway period for jumping after you fall off a platform adds alot as well.
  • Random generation: I'm really happy with how the random generation of the platforms turned out. The game randomly generates the length, height, type (crumbling), and obstacles on the platform. It calculates the gaps between the platforms depending on the speed of the scroll, so it's rarely impossible for players to make a jump if they've hit some obstacles.

What went wrong

  • Dynamism: The game is far from as dynamic as Cannabalt is. There is a higher variety of obstacles to deal with in Canabalt that adds a lot to the game's re-playability. In French Ship the only variation is benches (which slow you down when hit and generate 1-3 at a time); a crumbling platform section (on contact sinks down) and the varying heights and lengths of the platforms themselves. I just ran out of time to add more elements.
  • Meta game: There is simply none in French Ship. This isn't that important as the gameplay is still pretty strong, but I think it would keep players engaged for longer if there was a "Furthest Distance Ran:" element on the screen and a "Current Distance" element too. That would keep you keep coming back - because we all know how much people love arbitrary point values.

What I learnt

  • Simplicity can hide elegant complexity: Canabalt at first glance appears very simple. It's just jumping between platforms, how hard could it be? Well... the elegant implementation that underlies Canabalt's simplicity is very complex. It takes a lot of logic to ensure the generation of the platforms is very fair - that jumps are always possible. This means you have to track the scrolling speed of the game and check what the maximum distance a player could cross with that speed is. Additionally, the pressure sensitive jump (while not difficult to implement) adds so much depth to the game. Simplicity is often the result of a lot of complexity (don't confuse this for complicated, which has a negative stigma)

Ideas for Future Development

  • Obstacles: More of them, that force the player to move and react in different ways.

Monday, 19 May 2014

Week 1 - Colour Me Impressed Post-Mortem

So!

It was my first week taking up Rami Ismail's One Game a Week Challenge, this week! I aimed to work at least three hours on the game (this was the time JW of Vlambeer used to make games in during his Poppenkast collective days), but ended up working on this project for around 12 hours. The game for this week will likely be on the higher end of quality for games I'll make in the challenge.

My first game is Colour Me Impressed, an abstract platformer. 



What went right

  • Game Feel: I focused a lot on getting the game feeling really great. I added particles for moving, landing; jumping; and wall climbing. As such, the feedback for moving around works pretty well. I tried my hand at making a pressure sensitive jump, and I'm pretty happy with the result: jumping feels really responsive. I also added a sound for jumping and landing. The final result is gameplay which feels responsive and clear. 
  • Simple Levels: The final game had around 10 levels, with only two specific level elements: the spikes and flames. Designing levels with so few elements is pretty tough, but it was a challenge I set myself. I think this is quite effective in the end - the levels are quite simple in terms of elements, but the structure keeps players interested.
  • Effective Aesthetic: The aesthetic is simple, clean and abstract. I think this works well surprisingly, but once the colours start appearing it becomes a bit haphazard.

What went wrong

  • Generic: While the game feels great and is interesting for a while, the game is far from original. It takes a lot of ideas from popular platformers of the past and doesn't really iterate on much. Plus, the abstract platformer has already been quite extensively covered with Thomas was Alone.
  • Buggy: While the game feels pretty great in places, it is far from perfect. There are some weird bugs that pop up from time to time.
  • Short: The game is quite short currently, and I think it could have done with 5 or more other levels. 
  • Arrows: The arrow art for the flame throwers was quite bland, uninteresting, and broke the clean aesthetic of the game.

Ideas for future development  

  • Colour: From the trailer people at MGSA thought the game looked interesting, but thought that it was the colours that made it interesting. For any future development it would be worthwhile exploring using the colours as a mechanic.