IGF 2010: Marc ten Bosch
game miegakure development space dimensions did player feel
The IGF Awards take place on the evening of the third day of Game Developers Conference, and are a major celebration of the best in indie gaming, with thousands watching the award presentation before the Game Developer's Choice Awards are presented. The 2009 IGFAwards, including custom interstitials from Mega64, are available for online viewing. All GDC visitors can attend the awards. [From IGF about page]
Miegakure is a platform game where you explore the fourth dimension to solve puzzles. [From IGF info page]
Interview with Marc ten Bosch
Who are you and how are you involved with Miegakure?
My name is Marc ten Bosch and I am the creator, programmer and designer of Miegakure.
How did you become interested in game development?
Games are a very powerful, barely explored medium. This fascinated me even at an early age.
How and when did the concept for Miegakure originate?
As a programmer I knew that position in a game does not have to be limited to three coordinates, and collision detection often isn’t much harder to program in higher dimensions. I started prototyping game ideas but only really made progress once I read Flatland by Edwin A. Abbott. It’s a famous 1884 Novella that explains higher dimensions by analogy to the perspective of a two-dimensional character living in a two-dimensional flat plane (a piece of paper for example). A number of actions we three-dimensional beings take for granted feel like absolute magic to this two-dimensional character. For example, if there is a circular wall around an object in 2D, it is essentially closed-off, since to reach it one would have to leave the 2D plane. It is also impossible for an outsider to know what is inside. But us 3D beings can see the object from above, and also simply lift it off the ground to move it outside, essentially teleporting it. Now by analogy a four-dimensional being could perform many similar miracles to us living in only three-dimensions. My goal was then to make a game that would allow you to perform these "miracles."
The meaning of “Miegakure” seems to be a direct tie-in to the nature of the game. How did you come across this, and was it the main catalyst that gave life to your ideas of a 4D game?
Because the player can only see along three out of four dimensions at a time, most of the world is always out of view, so I was looking for names that would include the notion of“Hidden” in their meaning. That’s how I found out about the traditional Japanese garden landscaping technique called Miegakure.
Miegakure is a means of imparting a sense of vastness in a small space. It’s probably already familiar to you: as you walk around a garden, a tree or hill might obscure your view, letting you imagine the invisible part. This creates the illusion of depth and impression that there are hidden beauties beyond.
Incidentally, this is what inspired the Japanese garden setting for the game. I felt the contemplative, Zen vibe fit the gameplay well.
Over the course of development, what was Miegakure’s most serious issue and how was it resolved?
One serious difficulty came up when I needed to set up the rules of the world. In which direction is gravity pulling? What is the simplest mechanic that would allow the player to move along four dimensions, when as humans we can only see three? How do you fill four-dimensional space with meaningful objects the player can interact with? Part of my strategy was to decide on rules that would extend the natural three-dimensional rules to four dimensions, while keeping them intact. Once I decided on a rule set, then came the time to program it. I extended traditional 3D game logic to 4D,but also wrote code to decide at every instant which parts of the 4D world are visible to the player and which ones aren’t. This is not a trivial task in the general case.
One of the select press items on your site mentions the possibility of coding into 5 or even 6 dimensions. Did you think that might be just a bit too much for the player and the design of the game to handle?
Possibly. But it could be that after completing the game and getting a good feel for 4D it might be easier to grasp. Then there’s the question of finding good gameplay in there.There’s already quite a bit of good gameplay in 4D, so what would you gain from going to 5D, at the cost of added complexity? What new “miracles” does that bring, and can players even comprehend them? Most of the literature on the subject doesn’t even consider anything beyond the fourth dimension, so there’s no help there either.
What’s one thing you did wrong (individually or as a team) that you feel could have been avoided? How?
I thought the audio in the game would be further along but I didn’t realize how challenging it is to do audio at the start of a project when the visuals are abstract and the design and story are fluctuating.
If there was one thing you could look back on during development and say “that was really cool” – what was it and why?
So, four-dimensional space is not easy to visualize. There exist some tricks, like thinking in terms of a 2D character inside 3D space and extending the ideas to a 3D character inside 4D space.But these tricks quickly break down when trying to visualize more general situations. However, once implemented the math handles all possible situations. Therefore I often couldn't fully imagine what I was going to see on screen until after the code was written! This even occurred for the main mechanic. Many interesting visual effects and gameplay elements happen in the game because I tried to never use hacks in the four-dimensional game logic.
Given the authenticity of the 4D coding, what other applications have you considered extending this to? Both in terms of game design and programs in general?
I haven’t thought about using this anywhere else. There is research being done on visualizing 4D space, but I’m more interested in the game design aspects. However, in a sense we do share a similar goal: if people can get a better grasp of 4D space by playing the game, I will have succeeded in some way.
How long has Miegakure been in development? How much development time remains?
The prototype that I presented at the experimental gameplay workshop 2009 took about a month to make. Since then I have been working on the game for about 8 months. I can't really make any announcement regarding how much development time is left.
What was used to make the game and what tools aided in development?
The game runs on a custom engine based on SDL/OpenGL. The game is written in C++ and my IDE is Visual Studio. The levels are scripted in Lua.
What resources (eg: Websites/Books/etc) do you use to aid development on your games?
I own a lot of books on computer graphics, physics, machine learning, mathematics, programming etc… For this game I now have about 20 or so books on the fourth dimension and Japanese gardens at hand.
What's the main thing you think makes your game fun?
One of my goals when creating the game was to give players something to play with they could never experience in real life. The fourth dimension might mean absolutely nothing to a player before they pick up the controller, but it turns out our brains are very good at understanding things via trial and error. In fact, as children we learned the rules of our world this way. From an evolutionary standpoint it’s probably part of the reason why we find playing games so much fun. One important way in which games stand out from other medium is that they are especially well-suited for experimentation.
Besides the IGF, what else have you done to get your game before players? What’s worked the best?
I have been showing the game at many other events. Randall Munroe played the game at PAX East and it inspired a comic on xkcd. Obviously that helped spread the word about it.
Is there anything about Miegakure that you would like to reveal to other developers?
Is there anything about Miegakure that you would like to reveal to other developers?
How did you feel about the judge’s feedback for your game?
I only received three pieces of feedback, but I have done enough playtesting that most of the comments I received were known to me already. I appreciated the fact that most of the feedback I got was many paragraphs long.
What’s next for you?
Finish the game.
Based on your experiences to date, what advice would you give to other game developers who aspire to be in the IGF Finals?
I think having your game be very innovative in some way is going to make it stand out and help a lot. But most importantly, you need to do extensive playtesting so that you already have a good feel for how the judges will react to the game.