Interviews

Top  Previous  Next

The Rebel Planet - a great looking 3DGS title. Some say it's the best 3DGS game ever. Peter Churness kindly took the time to answer my questions.

 

Q: Who is creating TRP?

A: The Rebel Planet is actually two projects in one. My partner Tom Hilpert and I (Peter Churness) have together developed the fantasy world behind our story. Tom is then taking the world and story and writing books while I work on creating computer games based on the same fantasy world and storyline. So, on the game side the project feels largely like a solo effort. However, that is misleading because of the many many people who have contributed significantly to the project. The following is a list of those from the 3DGS community who have contributed to the project: Blattsalat, Rhuarc, AccessPhenomenon, light_mystic, FrankG, Bernd Schaumburg, Miguel, Joey, Matt Coles and I’m sure a number of others I’ve missed in this listing.

 

Q: Can you tell us a few words about TRPs story?
A: The Rebel Planet Series is a fantasy RPG, so shades of the story are pretty standard to that genre (i.e. our main character Orion just thinks he’s a normal guy but finds out he’s special in some way and in the end discovers his significant role in destroying the evil arch-nemesis). What sets our fantasy world apart and really makes it relatively original I think is our setting. We’ve set the game in the mysterious world of Earth’s ancient past prior to the biblical flood of Noah. We’ve developed a tremendous amount of depth to the fantasy world by writing up a rich fictional “history of the ancient world” and incorporating it into the gameplay. The game story also has an underlying Christian theme concerning the nature and existence of evil and God’s rescue mission to save humanity. However, the game is not “preachy” and those who want to just play the game and have fun with it without delving much into some of the meanings behind the story are welcome and encouraged to do so.

 

Q: How did you create the vegetation?
A: I used TreemagikG2 and Plant-Life which are relatively inexpensive tools you can get at www.aliencodec.com.

 

Q: What tricks did you use in order to keep a decent frame rate in your highly detailed levels?
A: What did it for us was breaking down the larger levels into smaller “sub-levels”. For example, the first of the game's seven levels is broken down into 10 exterior and 20 interior sub-levels. Some sub-levels are as small as the interior of a one room house. Others are bigger but still of manageable size. Each exterior sub-level is about 10,000x10,000 quants. So the entire first level exterior is comprised of 10 of these exterior sub-levels connected by portals which load in the next sub-level when you reach them. And running into the door of a house will load the interior sub-level of that house.
 
Q: What type of AI are you using?
A: For pathfinding, the code is all based off your great Perfect Pathfinding articles of a few issues back (thanks George!). As for the rest of the AI, I use two “stacks” or “queues” which keep track of what an NPC is doing. One is a travel stack and the other is a task stack. These work in concert to keep track of where an NPC is, where he’s going and what he’s doing. In this way I’ve been able to create a world in which most of the NPC’s use the same functions and go about their daily lives independent of the player.

 

Q: Please name a few freeware / cheap game development tools that you find to be really useful.
A: Easy Particle 3, FontGenerator, Newton Game Dynamics and I already mentioned the vegetation tools above.

 

Q: Could you describe an important feature in your game and how did you implement it?
A: I mentioned earlier how our levels are broken down into many sub-levels. Many games do this, Morrowind being one that comes to mind. But something that always frustrated me about Morrowind was how you would walk into a cave sub-level and start fighting some creature and then run away exiting the interior sub-level into the exterior sub-level. Then you could go back into that same cave 10 minutes later and the creature would be at the exact same place where you left it. For Rebel Planet I wanted to make the world more dynamic than that. So I’ve managed to make it so that NPC’s are as free to move about sub-levels as the player is. If you fight a creature in one sub-level and run away, the creature will follow you into the next sub-level. Also, NPC’s have a life of their own. They sleep in one sub-level and go to work in another and even hang out at the pub after work before heading home for the night. To accomplish this I’ve implemented a kind of LOD for AI. What this means is that NPC’s who are in other sub-levels than the one the player is in, can still travel through their sub-level in real-time and even make decisions, but at a lower cost to the CPU. For example, if the NPC is not in the same level as the player, the player doesn’t care at exactly which point between A and B the NPC is currently at. However, the travel stack keeps track of the exact time at which the NPC will arrive at point B. But if while the NPC is traveling between point A and B the player suddenly enters the sub-level, the more detailed AI kicks in and the NPC will appear at the precise point between A and B that you would expect him to be given the time that has gone by.

 

Q: Please give us a few tips for the beginners.
A: If I had to do it all over again I would definitely have started out with a smaller project than this one. Rebel Planet will get finished, but its taking much longer than I thought it would when I started out. So my advice would be to give yourself a small manageable project that you know you can finish in six months to a year. Once that is done, move on to something a little bigger. Also, make use of the amazing 3DGS community we have here. I’ve been amazed at how eager folks are to help out or answer questions. The community here is 3DGS’ greatest strength. And finally, never give up. Just keep moving forward. When I get frustrated at the progress of our game or discouraged that the game is not looking or playing as good as I think it should, I just look at the status of the project a year ago and see how far it has come. The only way it has come this far has been by many many small incremental improvements, but they all add up over time. Keep moving forward and don’t get discouraged if the progress seems slow. And now really finally, never stop having fun with it. Once your project becomes just something you’re trying to finish and not something you really enjoy, you suddenly lose your creative edge. If you’re not having fun making it, there’s a good chance people will not have fun playing it.

 

Thank you a lot, Peter.