Wednesday, 2 February 2011

Working Late Post-mortem.


Working late is my first attempt at a "Choose your own adventure" and my second game created using JavaScript and web technologies.


I am an experienced programmer but not with web technologies so while it would be nice to produce a good game my main goal was that of learning and education. Writing a totally text based game has the appeal of not getting distracted trying to find/draw some graphics. 

In this article I will follow the traditional format  of discussing the bits that went right and those that did not.


The Bit That Went Right:
I was aiming for data driven game so in theory I could just change the data file and I would have a totally different game. 


The way I developed this was with a custom mark up language to describe rooms and add data about where exits go to and any global state changes. This part of the project was written in python and output a JavaScript file containing a great big structure with all the details.
I could have parsed the file via JavaScript on the fly and perhaps it is a route I may take at some point if I decide to write more choose your own adventures. A major bonus of having the compile process is I could do checks, things like are the links to different rooms valid and many other small validation checks.


Having all these checks done off line meant the JavaScript engine to run it could be very simple as it could assume the data is error free. During the development process the goal was to optimise the speed at which the game was produced rather than any runtime performance. It is a small text game so I was confident I would not hit any performance issues. This meant the code was simple and did nothing clever, I was hoping it would be easy to debug. Turns out I did not have many bugs which could be down to writing simple inefficient code or it could be the project was pretty simple in terms of code so always destined to be easy to code up.


The display side of things makes good use of CSS and JQuery. I spent some time getting it running in Internet Explorer 8 so hopefully most people will be able to play it. Roll on IE9 and the older version dying out. Every month when arstechnica report on global market share of browsers I let out a little cheer to see the slow decline of IE8. IE9 is apparently better so if all IE 8 users upgrade to that the world will be a better place!


So overall technology wise it was a good success. My JavaScript skill improoved, even if I am still a beginner, and I continues to learn more about the world of developing on the web.
The mark up language worked out quite well. It was easy to update and create rooms and did not get in the way from the point of view of game design. It had a few rough edges like having to escape quotation mark but nothing major.


The Bits That Went Wrong:
 So the execution of the Working Late went very smoothly publishing it on the website was no hassle and fixing the Internet Explorer problems took little time even if they were irritating. 
While this game was a "Gain Experience" project I would say the maketing was somewhat lacking on my part. I had not planed anything and as I completed the project I was suddenly confronted with that fact.


I spent a couple of hours attempting to find "Choose your own adventure" fan sites but my google foo failed me. I was left with submitting it to the chrome webstore and get a few visitors from there. Basically getting the word out there was a total failure.

In someways this is predictable. Marketting is outside of my safe zone. As I write this I realise that for my next project (not a game) I also do not have a solid marketing plan that extends beyond submitting it to the chrome web store.Clearly this is an area I need to work on.
Statistics:

  • Lines of Python Code: 232
  • Lines of JavaScript Code: 884
  • Lines in Other files: 559
  • Total lines of Code/Text: 1675
  • Total Development Time: 20-hrs.
  • Number of Visitors (2nd Feb 11): 85

Conclusion:
The goal was to continue my learning of web technologies and that was successful. It re-highlighted something I already knew and that is I suck at marketting. This is something I really need to work on and I will have to push myself a bit more on marketing in the next project. I may force myself to do x number of hours on marketing at the end of the project even if most of it is spent on researching the area.


Working Late will eventually be ported to Android phones. It is a natural fit for this type of device and porting should be very easy.


Overall I am happy with how Working Late turned out and am happy to see my deficiencies highlighted so I can work on them.

No comments:

Post a Comment