PowerPlay

Top  Previous  Next

Mike D, the brain behind the game, kindly took the time to discuss about PowerPlay with us.

 

Q: Please describe the objective of PowerPlay.

A: The objective of Powerplay is to power as many cities as possible by purchasing bigger and better powerplants and the resources to run them.  You'll have to bid on powerplants and compete against your opponents for space to expand.  You'll also want to choose your powerplants wisely, as the cost and supply of resources to power them changes as the game progresses.

 

Q: What is the most complicated part when you are creating a game such as PowerPlay?

A: The most complicated part was getting the initial multiplayer framework up and running.  If you've had very little experience working on multiplayer, like I did when I started on this project, you really have to get into a different frame of thinking.  I relied heavily on Locoweed's multiplayer tutorial initially.

 

Something that really helped me here was to completely ignore anything related to graphics when I started on the project.  For a long time, Powerplay was nothing but a black screen with a bunch of debug information (array and string values) displayed.  I have a tendency to get distracted with aesthetics and lose focus on the underlying functionality.  Since a 2d turn-based game like this is essentially nothing but strings and arrays, I was able to get the majority of the game done and then plug in graphics afterwards.

 

Q: Did you test your game over the internet? How well does it work?

A: Most of my testing of Powerplay was done by running multiple versions of the application from my computer over LAN.  I set up some debug functionality that automatically launches as many instances of Powerplay as necessary, which was a HUGE help.  All it took was one click to start up a 6 player game for testing.

 

This was sufficient for general bug testing and development, but every once and a while I'd bug a friend to test the game over the internet.  I ran into some issues apparently related to firewalls, but after some persistence, I realized that Powerplay worked over internet too, which was pretty exciting. I'm sure there are other problems out there waiting to be discovered, so hopefully I can get some people to try my initial testing release and report any problems to me.

 

Q: Do you plan to add a single player option to the game in the future?

A: Currently, no.  The purpose of Powerplay was for me to prove to myself that I could finish a multiplayer application.  While multiplayer certainly has its share of unique challenges, not having to design AI is a huge plus. I'd rather focus on making the multiplayer portion of the game the best it can be.

 

Q: Since you have developed a multiplayer game, do you have any multiplayer-related advice for us?

1) Struggle through Locoweed's multiplayer tutorial, which he converted to Lite-C not too long ago. It's the best MP tutorial for Gamestudio that I know of out there.

2) Turn-based 2d is a great starting place - all of the brains of the game can basically be represented by arrays and strings.  Once you figure out how to send and receive strings and arrays between a server and clients, you have the foundation for making a full game.

3) I have a system set up in my on_server function to automatically send any var or string it receives to all the clients.  This was an epiphany for me – by automatically having the server send this information out anytime it receives something from a client, it keeps everyone up to date. It's this simple:

 

function server_called(void* some_address,var id) {

  if (event_type == EVENT_VAR) {

     send_var(some_address);

  }

  if (event_type == EVENT_STRING) {

     send_string(some_address);

  }

}

 

Q: Are you happy with GameStudio’s 2D engine features? What other 2D features would be needed, in your opinion?

A: Gamestudio's 2d features have been sufficient for my needs.  But then again, I've been working with Gamestudio for over 6 years, so I've probably become used to any quirks that it has.  I can't think of any time during development where I really wanted to do something, but couldn't because of a deficiency in Gamestudio.

 

Q: Can you tell us the names of a few tools that you find to be extremely useful for game developers?

A: None of the following applications are free, but if you're serious about game development, spending money on quality tools is a worthwhile investment.  Here's a list of some tools that I use all the time for Gamestudio applications (though not all of them on this project)

1) Paint Shop Pro – I bought this for $100 back in high school, and I've used it so much over the years. Every game developer needs a decent graphics program.  I paid a freelance artist to create most of the artwork for Powerplay, but I probably spent spent as much time editing and laying things out as he did making them.

2) Milkshape & Ultimate Unwrap for modeling and texturing

3) Texture Maker

4) EditPlus for my coding

5) Molebox file packer – I just bought this recently, but I'll certainly use it for many future Gamestudio projects.

 

Q: Please give us a few tips for the beginners out there.

1) A lot of previous interviewees have said this, but it really can't be said enough: set smaller, realistic goals initially.  The ideal thing is to come up with a really simple, yet unique and entertaining game idea and do it really well.  Another option is to work on a specific aspect of a genre, instead of aiming for a full game.  For instance, instead of trying to make a full RPG, work on making an innovative battle system.

2) Stick to your area – you're probably a programmer and not an artist.  I know it's fun to create models, textures, and music for your games yourself, but there are people out there who can do a much better job in a lot less time.  If you look around game development and graphics forums, you might find a kind soul willing to do it for free, but you may have to pay someone. There's also some quality free stuff out there, available at sites like turbosquid.  This makes your overall project of higher quality and gives you more time to focus on code.

 

Thank you a lot, Mike.