Thursday, October 25, 2012

Murder for Dinner Post Mortem

In late summer this year, I finished my latest project - an interactive murder story, a "whodunit". It was my first attempt at creating a story based engine and my first attempt at working with family members for any large project - my mom wrote the story and my sister did the character models. It was a monstrously complex project at first - I created a level editor, learned how to animate, struggled with multithreading and sound. It was a lot - A LOT - of work.

I'm content with the result, but in retrospect, there are a million things about gameplay, game design, and story telling to take to the next project.

GOOD STUFF
  1. Learning how to tell a compelling story - it's not as simple or intuitive as it may seem. I asked my mom if she'd be interested in getting involved - she's well read, has written before, and has a great knack for this kinds of puzzlers. I agreed to help her along in making the conversion to a video game story. It turns out, I had no idea how to tell an interactive tale :) So why is this in the "Good Stuff" category? Because I'm proud of the tale she came up with - the interesting characters, the quality backstories, and the tight, twisty flow of the story. I'm not proud of how it was conveyed in game, but that's my responsibility - I've learned how to balance it, how much more interactive is needed, how much side information is necessary to give a living feel to the world. And let me tell you: it is tons.
  2. The level editor and engine. I started with the Nine engine for graphics and Bepu for physics - both wonderful open source products. While Nine started wonderfully, it ended up being stripped near the end due to complications (I intend to revisit it, thanks to their continued work on it and really solid design); Bepu almost was taken out due to issues I had with my implementation of the character model, but remained and has been wonderful since.The level editor contains a text management screen, animation cues, a simple scene graph, distinct bound and drawing models, event triggers such as text/animation/level loading/sound/gamestate/etc. It's undergoing many revisions, but has been a great foundation.
  3. Learning more about the restrictions in pushing pixels to the screen (for me at least). I learned what a good low poly model can be, how a normal map is made (even if they never made it in), how to animate models, how to do complicated multimaterial maps, and so much more. It's been great use in knocking out samples for the next project.
BAD STUFF
  1. Sales. This was my fault - I tried to price it at 240 points initially, thinking that the amount of work I put into it directly correlated to the value of the prodct. Sadly, as the graph at the bottom shows, until I changed it to 80 points, it sold horribly. Really horribly. In the Microsoft Indie world, the first week is the far and away the most valuable and I blew it with an overpriced game. 
  2. Reviews. Well, mostly one review - that was the first one out and I'll be honest, after almost a year of work and testing, it kind of crushed me. It was a good, honest review, if blunt, and I appreciate it, but it was a pill to swallow. Other reviews have been kinder, and that's been a bit of a help, but I was looking to really create a game that people would love and realizing how tough it can be - and then hearing it - was a blow.
  3. Sounds. While Zach Parrish's music has continued to be incredible, not only did a teeny sound bank affect the final result, but it also was and still is a nightmare of code glitches.
  4. Animations - too few, too simple. This was due to my time restrictions and trying to do it all on my own (anyone interested in doing graphics work for the next game? Let me know!). It was mostly do to my needing to keep characters mostly stationary, but it dried out the already still game world.
  5. Converting solid source material to a game - making a good short story into a video game needs a LOT more massaging, tweaking, content, and vibrancy than I was aware of.
OVERALL
I'm glad the final product was done, and that some folks seem to genuinely enjoy it. There is a lot to improve upon in the storytelling department, from the environment to the dialogue, but that's for next time!

I'm working on concepts for the next one - another story, another world, and hopefully better :) If you've had a good or bad experience with it, let me know! I'd love your feedback.

Below: the initial version of the level editor, showing object bounding boxes.

Below: sales. Notice the strong drop in the two weeks at 240 points, losing the best time on the market (the first week). Once dropped to 80 points, sales jumped.


Thursday, March 8, 2012

Masters of Influence Post Mortem (and current project)

One of the hardest parts at the end of this project was coming up with the name. It may seem trivial, but it's an indicator something that I'm still in the process of learning: understand completely what you are trying to do before you begin it. There are of course ups and downs, and a million little things to pick out and understand as the project goes ahead, but I spent so much time trying to make my game match my engine as much as the other way around that it was twice as hard as it could be.

But really? I'm very happy with the product.

GOOD STUFF
1) It looks fun, plays well and is entertaining. Designed from scratch with a modified version of Catan in mind, I think it turned out well.

2) Music. What a difference that makes. While I left it off in the chess game because it was important to me that the person could concentrate, making it available if the user desires is a pretty good thing.
3) Designing and doing my own artwork - exhausting to learn, and massively time consuming, but it turned out well. The last several years of tooling around for the very basics in 3DS Max came home to roost and help out.
4) Quick, large scale, and simple AI. Using the board-copy A* procedure from the chess game was infeasible for some of the size boards I used. Therefore, I used a simple board analysis with weights associated to current and desired possessions. Quick, simple and sort of effective.

BAD STUFF
1) Knowing what I was trying to accomplish. It started as a mix of Catan and Civilization, then became Stratego, then back to Catan, and so on. All during engine development. It adds to the stress, it adds to the overhead, and it detracts from the final experience. Get down, in design documents, WHAT YOU WANT TO DO.
2) No save games and no multiplayer. By the time I started learning about online play, it was too late for my game to be modified to fit - I tried, trust me, but I don't have an internet connection and actually travel to test on the XBox, so after making a few attempts to bring it online, I gave up. Same with save games. I'm glad to announce I've created working online demos and my current project uses a very sophisticated save game system, but this game could have truly benefited from it.
3) The AI could have been improved. As it stands, it's a moderate challenge, especially on smaller boards, but there could have been a better analysis.
4) Don't release the weekend Skyrim/Zelda/Mario are released, right after BF3 and MW3...

OVERALL
It was close to what I wanted, a good technical challenge (such as PCF shading with instanced geometry and patch updating the tile statuses), but I wish it were more deep and complex. That's part of the challenge of being a solo developer - big time games take bigger teams.

SALES
(that's right, 1000 :) )

I'll give some details on that engine soon, as well as screenshots and details of my current project - it's a first person mystery, taking place in a single Victorian house!