#GameAWeek - Robot (Week 9)

Idea

I love typing quickly, and I had an idea of controlling a robot through tying terminal commands. I also love vim, and I thought the ability to chain different commands like “left 3 down laser on” would be pretty cool.

What went well

  • Mangaged to get the tilemap working without too much trouble.

What went wrong

  • Didn’t manage to make a proper game out of the idea.
  • I think the scope of the idea was a little too ambitious.
  • Didn’t manage to figure out how to disable diagonal movement for pathfinding.

What I learned

  • I just thought the idea of rapidly issuing commands in a terminal like manner would be fun. But perhaps for movement it seems a little too convoluted; I’m complicating what could have be achieved with the usual arrow keys.
  • I was pretty discouraged by the failure this week. When I watched this video by Raph Koster, he reminded me that when you’re trying to do innovative things, you’ll probably fail quite a lot. Hold on to these failures, and they could serve as a connection to something else in the future and spark off new ideas.

Conclusion

I find myself yearning to start a longer project. To really have time to work on the structure of code, and proper design decisions. GameAWeek so far has been a series of rushed decisions.

I really should focus on smaller ideas. I don’t have much time to flesh out larger ideas in a week, and I end up feeling frustrated with the end result.

Progress

Week 9: Application [Game]
Week 8: Application [Game] [Blog]
Week 7: Chocolate [Game] [Blog]
Week 6: Combat [Game] [Blog]
Week 5: Plod! [Game] [Blog]
Week 4: Repel [Game] [Blog]
Week 3: Chests [Game] [Blog]
Week 2: Smaller Than Infinity [Game] [Blog]
Week 1: Wrapped In Space [Game] [Blog]

#GameAWeek - Application (Week 8)

Play Application

Idea

This week I wanted to try my hand at a text game. Specifically I wanted to make a text game with the sort of cyberpunk hacker feel.

I started with this idea of a human trying to convince an AI that it’s human. Kind of like a reversed VK test from Blade Runner. Or a Turing test of some sort.

What went well

  • Had things running on screen on Tuesday
  • I’ve had a lot of trouble getting text input to work in the past. Now that I finally got it working I can use it for future games.

What went wrong

  • Didn’t get much done after Tuesday
  • Didn’t finish the game by Sunday night, or even Monday morning
  • Initially I had a bigger scope in mind, with file navigation system and the AI was actually someone’s consciousness uploaded into the system. I struggled to try and convey that in a non-cliche way.

What I learnt

  • I probably need a better system to handle branching dialogue.
  • A game can be interesting even if the choices aren’t meaningful in the usual sense?

Conclusion

I think this week’s game is quite a departure from everything I’ve done so far, and that’s pretty refreshing from a creative point of view. A palate cleanser of sorts.

Progress

Week 8: Application [Game]
Week 7: Chocolate [Game] [Blog]
Week 6: Combat [Game] [Blog]
Week 5: Plod! [Game] [Blog]
Week 4: Repel [Game] [Blog]
Week 3: Chests [Game] [Blog]
Week 2: Smaller Than Infinity [Game] [Blog]
Week 1: Wrapped In Space [Game] [Blog]

#GameAWeek - Chocolate (Week 7)

Play Chocolate

Idea

I was kind of inspired by the bump cube this week. The bump cube is a variant of the Rubik’s cube, in which the tiles are of different sizes. There’s no need for colored stickers in a bump cube; you solve it according to the size of tiles. It looks so crazy when scrambled, and that’s kind of amazing.

(I actually do own one.)

What went well

  • Coding felt easier this week. That may have been because of the scope of the game, but I do feel I’m getting better at writing reusable chunks of code.
  • Posted the game on Sunday night.
  • Feedback seems more positive than I had anticipated.

What went wrong

  • The rules of the game still feel a little convoluted to me. I’m surprised people got as far as they did.
  • Could’ve spent more time developing more interesting levels, or tuning the level progression. But I didn’t because I didn’t feel very excited about this game.

What I learned

  • The original rules were much more restrictive. Rules are rules, but those which are too frustrating should probably be removed. Otherwise it’s like banging your head no matter which direction you choose.
  • This week I tried to start with only an idea for a toy, not a game. It was interesting to just start playing with something and see where it took me. It’s sort of risky, because you may end up with nothing interesting.

Conclusion

I feel like I need to make something radically different from what I’ve been making thus far. This week I finished reading the Slow Regard of Silent Things by Patrick Rothfuss (the Name of the Wind and the Wise Man’s Fear). It’s an odd little book that shouldn’t work and yet does.

It’s wonderful and inspiring.

Progress

Week 7: Chocolate [Game]
Week 6: Combat [Game] [Blog]
Week 5: Plod! [Game] [Blog]
Week 4: Repel [Game] [Blog]
Week 3: Chests [Game] [Blog]
Week 2: Smaller Than Infinity [Game] [Blog]
Week 1: Wrapped In Space [Game] [Blog]

#GameAWeek - Combat (Week 6)

Play Combat

Idea

Turn based combat systems in games like Pokémon tend to get very mechanical after awhile, at least to me. Leveling up in most RPGs is often just an increase in number. I wanted to try make something which provides a more interesting and meaningful reward.

Inspired by Child of Light and this canceled game by Terry Cavanagh, I wanted to try something with a sliding bar mechanism.

What went well

  • I was quite excited by the idea when I finally came up with it. I think there could be some interesting in there.
  • A combat system is quite modular, and I could potentially reuse this in a future RPG or roguelike.

What went wrong

  • Started too late as usual.
  • The final product is barely a game, and there were lots of half-assed workarounds in there.
  • I feel like what I ended up with doesn’t demonstrate sufficiently what I had in mind.
  • There were thoughts of giving up for the week, and quitting #GameAWeek all together. It’s really quite consuming, and not just in terms of time.

What I learned

  • I think I may have too much going on screen for the player to absorb.
  • Play time per level feels a little too short?
  • These last minute late night pushes are not sustainable. I’ve been developing really bad headaches I think as a result of lack of sleep.

Conclusion

I think I’d like to continue this #GameAWeek challenge for another 6 more weeks at least, and then re-evaluate if I should continue with it or start a new project.

Progress

Week 6: Combat [Game]
Week 5: Plod! [Game] [Blog]
Week 4: Repel [Game] [Blog]
Week 3: Chests [Game] [Blog]
Week 2: Smaller Than Infinity [Game] [Blog]
Week 1: Wrapped In Space [Game] [Blog]

#GameAWeek - Plod! (Week 5)

Play Plod!

Idea

I’ve always had a thing for one button games since Flappy Bird. Jupiter Jump was another great one button game. I wanted to try making my own.

What went well

  • I definitely felt less stressed out this week and ideas seemed to come more easily. This was huge.
  • I quite enjoyed the final product this week. More so than the games from the previous two weeks.

What went wrong

  • I had wanted to make a small RPG which teaches players Morse code. There doesn’t seem to be a dictionary data structure or a spell checker library, and I just gave up on the idea on Thursday night.
  • Making a simple game like Plod! was well within my comfort zone, and I felt like I took the easy way out.
  • As usual, I probably could’ve explored the concept a little further, but didn’t due to time constraints and laziness.
  • The Binding of Isaac: Rebirth came out this week, and that’s a productivity killer if there ever was one.

What I learned

  • Don’t have two things that do the same thing. Initially I set up the controls such that when you held down Spacebar, your circle would stop and expand until you released it. I thought it might add some interesting tension. (You can stop, but as you grow you’re more likely to get hit.) In the end I realized that players could achieve a similar stopping effect by simply changing directions repeatedly.
  • There’s quite a lot you can do with just a single button. But sometimes it may be hard for the player to remember all of them.

Progress

Week 5: Plod! [Game]
Week 4: Repel [Game] [Blog]
Week 3: Chests [Game] [Blog]
Week 2: Smaller Than Infinity [Game] [Blog]
Week 1: Wrapped In Space [Game] [Blog]

#GameAWeek - Repel (Week 4)

Play Repel

Idea

I used to play chess competitively in school. One variant which I particularly enjoyed was speed chess. I wanted to try and capture that sense of quick thinking.

I also wanted something with the simplicity of checkers or Go, for both technical and aesthetic reasons.

What went well

  • Things didn’t seem like they were going anywhere, but somehow I managed to scrape together a game.
  • Made my first AI player ever.
  • During the weekend I was worried this week was gonna end up like the previous week. While not perfect, I think it’s an improvement.

What went wrong

  • I said in the previous post that I wanted to get something moving on the screen by Monday, but I didn’t write my first line of code until Thursday night. And even then it was just a couple of lines to draw out the grid.
  • Didn’t have much time to tweak the AI.
  • I changed the winning condition at 11pm on Sunday night. (The initial winning condition was to push as many pawns off the grid as possible.)
  • Cheated a little by putting in an extra hour and a half on Monday morning.

What I learned

  • Follow the initial idea, and see where it leads you. Don’t be too worried about not making the game you set out to make.
  • Speed chess is probably only fun when you are are familiar with the basic game.
  • Not every week is going to be a home run. Putting too much pressure on myself is probably counterproductive.

Conclusion

Even with all the self-imposed pressure, late nights, and frustration from lack of ideas, this is still fun!

Progress

Week 4: Repel [Game]
Week 3: Chests [Game] [Blog]
Week 2: Smaller Than Infinity [Game] [Blog]
Week 1: Wrapped In Space [Game] [Blog]

#GameAWeek - Chests (Week 3)

Idea

I started the week with the goal of making a game that was a “contained experience”. Something with an ending, unlike most of the score-chasing games I’ve been making.

Not sure how I came up with the idea, but I thought a game about a guy carrying a chest would be interesting. There were a few routes I could’ve taken with the idea:

  • The idea of greed. You could carry more chests, but it would slow you down and you wouldn’t be able to jump as high.
  • I thought it might be cool if halfway through the game, you found the key to the chest, and you could decide if you wanted to unlock it.
  • A sidescroller shooter in which you had to transport and protect a chest. You can’t shoot while carrying the chest, and the chest must survive.

What went well

  • Finally figured out how to work with tilemaps.
  • Picking up and flinging chests around felt quite fun.

What went wrong

  • Failed to make a proper game.
  • I’m still struggling with the ideation phase.
  • Kind of got stuck and just gave up.

What I learned

  • I started the week with a goal, and I really tried to adhere to it. I felt like it helped focus my efforts a little, but at the same time it felt a little restrictive? I think I should try it for another week, and then re-evaluate the approach.
  • I think having a strong start would be a great boost. My target for Week 4 will be to have something moving on the screen by Monday.
  • Don’t waste too much time trying to make things look pretty.

Conclusion

I’m still trying to figure out my processes for ideation and design, and that’s really the whole point of #GameAWeek for me.

Failure is only purposeful if you learn from it.

Progress

Week 3: Chests [Game]
Week 2: Smaller Than Infinity [Game] [Blog]
Week 1: Wrapped In Space [Game] [Blog]

#GameAWeek - Smaller Than Infinity (Week 2)

Play Smaller Than Infinity

Idea

One of the tenets #GameAWeek is that one should try and avoid patterns in one’s work, so this week I set out to make a puzzle game. I really enjoyed Threes, and there just seems to a certain feeling of satisfaction from the simple act of making bigger numbers. I had wondered if throwing in the threat of decreasing your number would add an interesting tension. I also liked the structure in which the entire game was one huge puzzle, as compared to something like Cut the Rope for instance.

I had envisioned this game being played on touch devices, and I think tap and drag would have been a great way to interact with the tiles. The arrow buttons were kind of a lazy solution for the web build.

What went well

  • Finished the game in less than three days.
  • Just interacting with the grid felt quite pleasurable to me.
  • Worked on something that was a little harder than usual.

What went wrong

  • This week I really struggled to get an idea. It wasn’t until Thursday night before I came up with the idea for Less Than Infinity. This meant really late nights, less time for exploration, and a ton of bugs.

  • There was this edge case I think I could have handled better. (The one where there’s an operator in the middle with four numbers adjacent to it.)

  • I didn’t have time to explore the impact of enforcing that each move had to result in at least one match. I believe it would solve some of the multiple matching problems, but perhaps it would be too restrictive and less fun. Would’ve been nice to test that hypothesis.

  • The lack of a tutorial made it really confusing for people.

  • Code is even messier than last week, because I was rushing to cobble everything together.

What I learned

  • Use version control, no matter how small the project. There would be fewer panic-inducing incidents.

  • I think I tend to reject game ideas too easily, without exploring them enough. Hopefully having to come up with a game a week will help break down this internal filter.

  • Laziness or lack of time to implement a feature can sometimes lead to interesting design choices. For instance, a simpler ruleset may emerge.

  • Start early.

Conclusion

I think I’d like to explore this idea more, and perhaps make a mobile version of the game. But #GameAWeek takes priority, so it’ll have to be like a “side side project”.

Progress

Week 2: Smaller Than Infinity [Game]
Week 1: Wrapped In Space [Game] [Blog]

#GameAWeek - Wrapped in Space (Week 1)

tl;dr Here’s the game: Wrapped in Space

Introduction

Okay, so I’ve been meaning to do this #GameAWeek challenge for ages, ever since I read this inspiring post by Rami Ismail. In particular, I really enjoyed this anecdote he brings up:

An old pottery school asked students to create vases, and the teacher split the group up in two groups. One group was allowed to work on thinking up and creating one perfect vase for each semester, and the other group could only work on a vase for a week at most before destroying it. At the end of the year, they compared the vases created by both groups and found the vases made by the group that made a vase a week much more refined, stable and aesthetically pleasing.

Just in case you didn’t feel like reading the article, here are the “rules” of #GameAWeek:

  • Make a game every week. (Duh.)
  • Release the game every week.
  • Do not revisit a game.
  • Try and avoid patterns in your work.
  • Reflect.

Conception

I had started out with an idea for a single button sidescroller, but eventually abandoned it after three days of trying to get the tilemap working.

I then decided to make instead an Asteroids-like game, since I had Kenney’s artwork for it. The core idea was having a consistent world in which every game object would wrap around the screen, including the bullets you shot out from your spaceship.

Observations

  • It’s really quite hard to get much done after work on weekdays, especially when I’m still learning a framework. By the time I figure out a solution to my problem, it would usually be bedtime already.

  • I really liked how the random “death messages” turned out, and I’m glad I decided to hack it together at the end for the fun of it. I’m not entirely sure but I’d to think that it gives players something fresh to look forward in between games. I think a good mix between random funny statements and statements that hint at a broader backstory could be pretty interesting. If you’ve tried the game, let me know what you think about this feature in the comments? I’m curious.

  • Working with text is quite fun. I’ve always liked writing. Perhaps I’ll make a text game soon!

What Went Well

  • Managed to make a game!
  • HaxeFlixel is fun and great for quickly putting together a game.
  • Got myself some fancy Vim plugins!
  • Felt really motivated with a hard deadline, especially on Saturday.

What Didn’t Go So Well

  • Switched concepts halfway through. (Although that’s not necessarily a bad thing?)
  • Could have tried something a little more out of my comfort zone.
  • The code is a mess. Maybe I should start posting the source code to Github for more accountability?

Conclusion

It’s been quite long since I actually completed a personal project. There are a handful of small prototypes just sitting there, and I’m not really sure what to do with them.

Finishing something really is dope. Join me?

Play Wrapped in Space.

p.s. I do apologize for the horrendous formatting of this post. Time is precious. Gotta go start on this week’s game.

The Making of Monument Valley ⇒

“When the time came for us to work on Monument Valley’s story, I looked at an album like [Pink Floyd’s] Dark Side Of The Moon. There is a story to that album, but it’s very tonal and lyrical. You might not have the firmest idea of what’s happening, but you get that feeling of emotional ups and downs, with these recurring characters. So I think we thought about the game like a series of tracks.”

Fascinating approach to designing a game. Where else can we turn to for inspiration? Perhaps a game that feels like preparing a dish. Or one which is modeled after the rhythm of a typical work day. Or the coming of age. Hmmm…