Sunday, October 20, 2013

Decision Time

So far in my posts I've covered the progress on the rail platformer prototype. However, as I hinted in my last post this is not the concept our team is ultimately developing. Instead, we're pursuing an idea we're calling Sunbots. In this game, the player is a robot gathering energy from various planets in a solar system. Their goal is to deposit this energy into the sun, which is slowly dying. Since the game takes place in space, each planet has gravity which affects the player, and the challenge comes in utilizing these gravitational forces to effectively navigate the system. 

We liked this idea better than the rail game because of its uniqueness. Very few games use gravity outside of a force to keep you on the ground; even Super Mario Galaxy mainly used it for set dressing rather than truly exploring it as a concept. However, this idea was also significantly more risky. Since complicated gravity systems basically don't exist in gaming (the main exception we found, Gravity Pods, was a puzzle game in the vein of Angry Birds rather than a game with a directly controlled avatar) there isn't a strong well of battle-tested ideas to pull from when working on this.

When we first prototyped Sunbots, we did so in a fully 3D environment. 3D is sort of a default for a lot of game design, but it seemed to make sense for this concept; a large part of the fun of it seemed to be in movement and exploration, both of which work well in 3D. However, we quickly ran into problems. The vast majority of 3D games are mainly controlled on a 2D plane. The player may move up or down, but often only through the terrain or temporarily via jumping. Most of your day to day movement is along the X and Z axes. Adding full 3D control makes things a lot more complicated, and this was acutely felt in our game's camera.



Plainly put, the camera didn't really work with the movement. Our game world, by necessity, had a fair amount of empty space, with respectable distances between planets. Unless you were right by a planet, it was very hard to tell in what direction you were moving. Since there was full 3D movement, you could be pulled in a LOT of different directions. You could be looking at one planet, thinking it was the one you were going to land on, only to be blindsided by a closer planet behind you that you've never even seen. We tried making the camera lock on to the closest planet so player would know where they were going, but all that did was limit the sense of freedom in the movement, and make it hard for the player to see anything around them. If we were going to move forward with this, the camera and movement systems were going to be a constant struggle. This was going to be a very hard challenge.

Oftentimes, when you come up to an impossible looking problem. it's a sign that you're asking the wrong question. We were trying to make our idea work in a 3D space. As it turned out, we didn't actually need 3D to capitalize on what made our concept special. The core of this idea was the inherent interesting nature of a full gravity system, and the fun that could be found in mastering such a system and exploring via it. All of this was improved when we shifted our focus to a 2D plane.

 
It became much easier for players to see where they were going and how they were getting there. With everything on the same plane, the camera didn't have to worry about its Y position, and simply had to exist above the player, moving with them. We could keep our wide planet spacing, and be sure the player would know the galaxy's layout, not having to worry about what direction they happened to be looking in. Once we removed a dimension, things began to click. Our prototype wasn't perfect at such an early stage, but we no longer had a massive unsolved question about the core concept's viability. With this change, we knew that what we wanted to do was possible, and worthwhile. We had our game.  

No comments:

Post a Comment