Friday, March 1, 2013

Playmory - Post Mortem

I only started with #OneGameAMonth January the 25th, so after I finished just enough of Risc'n'Resc to call it a game with a start, middle and an end I wanted to do something less demanding to have spare time in February to really make something out of Risc'n'Resc. And as the theme "Sound" was announced I pretty quickly came up with the idea. Little did I know. My tool of choice is YoYos GameMaker, and it is easy, to see why. From one codebase you can publish to the mobile platforms Android, Windows Phone 8, iOS and Windows 8 RT, the desktop operating systems Windows (and with a Version bought from Steam, to the Steam Workshop), Windows 8 (a bit separate from the others), Max OS X and the "Joker" HTML 5 (at least a way to provide gaming fun to Linux, too). Or so they say, but I have to come to this later.

On Risc'n'Resc I worked until 5:30 a.m. the first here (which was still in the timeline that is dictated by US west coast timezone and I only slept 2 hours, because I had some fixed business dates in the morning. So I was surprised myself when I had a first visual concept later that day. And I was pretty quick and the next day I already  presented a first online video of the board creation animation:

At the 6th I already had a 2-4 player version running and began to develop the a.i. but than I recognized that the event system of GML was not really up to it, and I started refactoring on the 7th. On the same day, @McFunkypants, the creator of #1GAM (no chance in hiding the connection to twitter) anounced Demo Friday and to have a running demo, I used forked code - meaning an earlier copy of the directory, to create an executable of the aforementioned  mulitplayer version for windows. And while I did that, GameMaker overwrote my original files, because somewhere it is renembered - and I destroyed a days work of refactoring. In my youth, teachers called that "Learning by pain". I needed about 5 hours to get where I was  and than I created my own asynchronus eventhandling, which I published as free zip. And than I stopped.

I had already learned that it is not really a good Idea to use GameMaker for something that affords a lot of code. The engine helped me with the animations, but the IDE part and the language were horrible. GameMaker is ideal for specific kinds of projects, like this quick demo I did in about an hour:

Demo platformer

There was a lot going on after that as I decided to make Gamedevelopment my future and also that I will move from Z├╝rich, Switzerland to Berlin, Germany, which meant I had a lot to learn about Berlin, the best way to move, German laws, marketing for indy games and I started looking out for investment. Before I could think out loud "Crowdfunding" a potential investor contacted me, which cost me quite some time, too. I wrote a business plan, had endless talks, but in the end it was obvious that he promised more than he could do. Which means much of that time investment didn't even come to fruition. So I got back to the development of Playmory no sooner than the 22nd, not a full week until the deadline of the 28th. Lacking an easy documentable object structure I needed about a day alone until I was into the code again to further my work and even than I had to write the code for the a.i. twice, because with the data structures of GML my first attempt had no future. Unity, with C# as a "scripting" language (actually it's bytecode) looks sexier by the day.

Than again something happened. As a midweek special Steam sold the GameMaker Master Collection with all its export plugins for half the price. I reacted immediately and with some help from my best friend (I hadn't topped up my PayPal enough and have no credit card).

And after the update my project was a mess. I only could get it working again by creating a new project and manually rebuild all the assets and objects there, bit by bit... another useless day gone. But there was something that got me over that and that was Playmory on my mobile:

Playmory on Android

But while the Android export kept its promise, HTML 5, so important for my planned marketing affords, did not work. And that means, no Windows anything 8, because all of them are based on HTML 5 and a lot of configuration fu. But that was something I could puzzle out after the deadline, as it it got late... the 27th. Playmory was feature complete, but there were still some funny bugs, and as it later turned out, those were all problems with the GameMaker engine, sometimes acting in funny ways. After identifying them I could write failsafes into the code, but that is not really good coding, and it nags me that GameMaker forces me to do it this way. The last day, Yesterday, I then spent do as much polish as I could get into it before I finally called it a day just in time before the month changed (in my own timezone, this time). And guess what? The Android export had now a funny bug too. When I open the Credits splash screen, nothing very demanding, the app crashes. And with the Galaxy S3 I ran into a deadlock, which really shouldn't be possible, but may be I had no failsafe in place for this special situation, that only happens every 100th run or so.

Actually I was quite angered and wrote a request this morning in the YoYo support forum and guess what. No answer yet. At least I got a stable Windows version and could place that in the Steam workshop, where I quickly climbed up to the first page of "Most wanted this week" which saved me a place directly on the start page for GameMaker:

Yay, made it on the startscreen :-)

So my next plans? Finding out why it doesn't run well on other platforms and fixing that, before I even can think of more polish or more features for a next (most likely paid or with in game purchases) Version.

Some features I plan to act on:
Making the "dumber" A.I.s more human like, e.g. misplacing or forgetting sounds more the longer ago it was selected.
  • The tablet/phone setting where the players sit in the corners and the board is directed to them when its their turn. (It's pretty obvious why that wasn't a priority, is it?)
  • Making animations for collecting stones, changing player and for the final win.
Before I forget it: I made a product page for Playmory that you can find here where you can download the Windows version, too.

No comments:

Post a Comment