Archive for September, 2008
What a Difference a Day Makes
Wednesday, September 17th, 2008
One of the fun things about prototyping is how much my game can change from one day to the next. This can also be a bit of a problem. Yesterday I implemented the two remaining big changes that I thought were needed to the game. By the end of the day I had them both in the game and I started play-testing the thing. It turns out the game isn’t fun anymore; I completely destroyed the balance of the game. Now the game is much too easy and there’s no longer any challenge to it.
The problem this leaves me with is the following: I still have no end condition to the game. In the older system, it was too hard and users generally lost at the same point during every game. Not only that, but the player felt like he/she had no control over the game at the end of the game. Losing became an inevitability. This was not good. However, now it feels like you can’t lose. The game has become too easy and so it feels like your actions and choices have no consequences. I’ve been reading a book on game design theory and I think what I’ve done is removed “meaningful play” from the game somehow.
In order for the game to be fun, the player must feel like his/her actions are what determine the outcome of the game. In the previous iteration, it felt like no matter what the player did, they would lose, so their actions became meaningless in terms of the outcome of the game. Now, no matter what the player does, they can’t lose, so again, their actions become meaningless.
So I’ve prototyped the two extremes: one where the player always loses, and one where the player never loses. The real trick is going to be to figure out how the heck I implement something in the middle. I’m just not sure what that is yet…
Owen
Distractions
Tuesday, September 16th, 2008
Well, I didn’t end up doing any work on the prototype yesterday. I got distracted by my logo. I decided to spend an hour or so working on my logo design for the company and ended up spending all day doing that instead. Oops. I think I need a break from the logo before I go back to that…to gain some perspective on the designs. So today I will be coding. For real. Seriously.
Owen
The Prototyping Continues
Monday, September 15th, 2008
Earlier last week I had said that I had reached a stage of the prototype that I was happy with and that the final game would probably look quite similar to what I had. I was wrong. I showed the prototype to a friend of mine who is good at providing feedback on these kinds of things. He suggested a few things to me about how to simplify the game, as he found the learning curve quite steep.
One of the things he asked me was: had I considered allowing the player only one move per turn instead of multiple moves per turn. I admitted that I had thought about it at one point but couldn’t figure out how to make it work in the game. After our conversation I kept coming back to that one question he asked me. Finally, on Friday, I decided to just implement it and see what happened (this is what makes prototyping so much fun).
Once I had made the change I suddenly realised that it drastically simplified how I was thinking about the game. However, it exposed a slew of problems with other gameplay systems. I started making notes about what needed to change and suddenly I had a list of about 5 major things I needed to overhaul to make this new system work. By the end of Friday I had a very different game. The core gameplay is still the same, but the game feels completely different to play.
I still need to implement about 2 more of the systems changes before I’ll consider this version of the prototype in a “complete” state, but I already like it better. My wife and I had a couple of friends in town over the weekend who don’t really play video games. I had them play the newest prototype and I was amazed at how much more quickly they were picking up the gameplay than people had, previously.
I think the lesson here is: sometimes you need some outside perspective in order to make changes for the better. I was already so used to playing the game, that I was unable to see some of the difficulties that new players were having with the game.
Now, if you’ll excuse me, I’ve got a few more game systems to overhaul!
Owen
Windows Woes
Thursday, September 11th, 2008
Warning: This is a tech-heavy post, mostly about coding and setting up source projects. You’ve been warned.
I spent most of the last two days trying to port my prototype over to my Windows machine. I’ve been using my MacBook as my primary development machine since my Windows box has been acting strange since the move.
First I had to get Subversion installed on Windows, which was quite easy. I was able to sync down my repo and see all my files there. Isn’t source control amazing?!
This is where things got tricky. I downloaded the Playfirst SDK for Windows and set about installing it. I’m sure everything would have gone smoothly if I’d installed it exactly as it came, but my directory structure is set up to keep the parts of the SDK that are platform-independent separate, while all the game logic that is platform agnostic sits only in one place. Sounds simple enough, but it complicates things.
The first problem I ran into was that I downloaded Visual Studio C++ Express 2008. After a few hours of mucking about with the solution file and reading through forum posts I discovered that Playground only builds under Visual Studio 2005. Crap. So then I spent 2 hours this morning uninstalling all the crap that VSE 2008 installed on my machine. I’m running dangerously close to 0 HDD space on that machine, so I needed every MB back that it took from me.
Once I finally had 2008 gone, I dug around and found VSE C++ 2005. I downloaded that and got it installed. Now I was able to go back in and reconfigure the solution file to point to all the strange directory paths that I have and point the project to the appropriate libraries. That’s when I discovered that it needs the Windows Platform SDK, which doesn’t come with VS Express. Turns out Microsoft doesn’t want to make it easy for you to write C++ code, as they’d rather you wrote everything in C#. Anyway, I downloaded that and then spent 30 minutes finding stuff to delete off my HDD so that I’d have room to install it. Phew.
Finally I got the game compiling. I discovered that XCode is much more forgiving when it comes to compiler warnings and errors. For instance, I had ended up with an array of size 0 in my code. XCode was happy to let that compile, but VS was having none of it. I also discovered a bug in how I was using the STL List iterator in my code. The Mac OS was fine with what I was doing (which was something very bad), but Windows crashed and burned.
At any rate, I finally got it all compiling and running in under 2 days. Not too shabby! Now I can play the prototype on both computers! Whee…
Owen





