Saturday, September 7, 2013

Plannit: Post-Project Reflection

My, it has been a while! If you are wondering where I've been all summer, I've been participating in the Dare to be Digital competition at University of Abertay, Dundee. It has been a fantastic, crazy, wonderful experience, and while I am happy to have a break now that it's over (albeit a very short one, more on that later), I will miss the intense and rewarding work and all the great people who participated.

This post will cover my general reflections on the project, but we've also been keeping weekly video blogs on the Dare website, so go check them out!

The Premise

Plannit is a game made in Unity, targeting Android mobile devices. It started out a very different game than the one we showed at Proto Play. Originally, the game was an asymmetrical multiplayer title in which one player controlled the environment while the other controlled the character. The players would work together to drain the lava out of the centre of a planet and into their spaceship.

Here's the initial pitch video:

The first thing to go from this premise was the lava. We soon realized two things. First, liquid physics on a mobile device is not easy and no simple plugin existed for the kind of liquid we needed. Second, this goal was actually extremely convoluted to explain to a player, and in particular for mobile devices, that's no good. We decided to scrap the lava idea entirely and instead have players pick up crystals - several optional small ones and one required large one.

The second thing we changed was the multiplayer aspect of the game. We always planned to include a single player mode, for testing purposes and because some people may not have someone else to play with. However, we soon found that even playing on the same screen, the cooperative multiplayer was frustrating rather than fun. We briefly entertained the idea of a competitive multiplayer mode, but soon realized we'd be making two different games if we went this route. In the end, it would be best for the game in the time allotted to focus on single player.

Here's the final trailer showcasing footage from the game:

Development Challenges

We faced three main challenges during the development of Plannit, and all of them were due to the innovative nature of the game.

First, we had a lot of trouble with our digging mechanic. Modifying the level environment on the fly meant changing the collision body of the level (so that physics would work) along with the graphical representation of the level. We went through many iterations of brute-force collision attempts, but none of them worked very well and many looked quite ugly. Finally we came across the Unity plugin 2D Collider Gen, by PixelCloud Games. While the plugin was not designed for run-time mesh modification, it did exactly what we wanted - modified the collision mesh for an object based on the 2D sprite of that object. What followed was a tough but extremely rewarding process of learning to use the plugin for run time modification, with constant support from the plugin developer. It was a great experience, and it was wonderful having so much help from the dev.

Things weren't all rosy yet, however. Once we could represent the levels in the game, we still had to design them. While our image based system made the turnaround for getting levels into the game quite quick, the design process took far longer. Our game allows the player a huge amount of freedom when it comes to moving around and interacting with the level - but it turns out this makes puzzles very difficult to design. The player is able to rotate the level freely in a 360 degree manner, and to dig through the environment itself, modifying the world around him or her on the fly. It took the team quite a while to get a level design process down and get six solid levels into the game. It was also surprisingly challenging to gauge difficulty of the levels - as a puzzle game, the solution is always obvious to those who know it.

Finally, once the levels were designed, the player had to move around them. We had a lot of trouble fine tuning our controls, and tested several different control methods. It's actually very difficult to explain in words how the two methods of tilt/rotation controls worked. In the first, the perspective is fixed to the device, and tilting the device causes the world to rotate constantly, until the device is upright again. In this method, the device is only ever tilted up to 90 degrees to the left or right. This is the method we ended up going with because the player never has to re-position his or her hands. The second method we investigated was a one-to-one rotation, where the perspective was fixed to the player in the real world, and the device was a controller for the planet's rotation in a one-to-one fashion - so turning the device upside-down means the planet turned upside-down. While this allowed for more precision, it meant re-positioning of hands was necessary, and also resulted in a less smooth looking rotation. The choice was a very difficult one, but after a lot of testing we chose the first method.

Moving Forward

While we didn't win any awards at Proto Play, the team is extremely proud of our final product. Its strong visual and audio style and innovative gameplay means that it could be successful. We're currently looking into options for publishing the game, but if nothing pans out we plan to self publish. However, the team is taking a short hiatus until January while several team members (myself included) finish our dissertations.

Dare was the best experience of my career so far. It was intense, but I learned a vast, unquantifiable amount during those short nine weeks - not just about programming (though man did I learn a lot about that too!) but also about working in a team, organization, communication, design, business... the list goes on. The hands on experience, the mentoring, the feedback from the public - it was all priceless. If you are in the UK or one of the participating Dare countries, please, do yourself a favour and apply for this program.

Orbit Games thanks you for everything!

In Other News

A quick aside from my reflection on Plannit - as you may have noticed, I've actually been away for more than nine weeks. That's because the last three weeks, my parents have been visiting from the United States! They've headed home now, but I'll be posting some stories of our adventures here on the blog in the coming weeks. Look forward to it!

No comments:

Post a Comment