Two guys working to build a game company from the ground up
Walter Haas's author icon Opticode - Brisbane Silverlight and .NET Development
4 July 2008 | Walter Haas

Hi,

I wanted to take the time to let everyone know what we've been up to since we started Lightworks Games. After finishing Cavemen we found that (for the industry) we achieved pretty good sales, around 25 per day for the first week or two and then closer to 5 per day. However if you do the sums you'll find that the income wasn't enough to support us, so a month after release we went back to paying work. 

Thomas started contracting for Microsoft and besides a two month trip to Europe, he is still working there and enjoying the challenges.

I went back to contracting for the games industry for a year and in September 2007 started my next venture Opticode (www.opticode.com.au). Opticode is a Brisbane .NET development company where we focus on building technologies for businesses that want to automate part of their work. We also do work for startup companies that have product ideas but don't have the development team to develop a prototype. Opticode has recently started developing for Microsoft Silverlight and we're aiming to become Brisbane's (and Australia's) leading Silverlight developer.

Overall it was a great journey and we both enjoyed it immensely. Cavemen will also continue to be available through the website.

Take care and all the best in your own adventures

Walter

Permalink | Comments (0)
posted in Business, General

Thomas White's author icon Cavemen a Finalist in Best Software Awards
1 October 2006 | Thomas White

A while ago Cavemen was nominated in the puzzle games category for the Smartphone and Pocket PC Magazine Best Software Awards 2006. The finalists have now been chosen, and Cavemen is on the list!

The winners will be announced in about a fortnight, so we'll keep an eye out :).

Permalink | Comments (2)
posted in General

Thomas White's author icon Back Your Files Up Now!
29 August 2006 | Thomas White

You've probably read a dozen stories like this one, and if you're anything like I was then you're probably still lazy about backing up despite their warnings :).

I recently formatted my Windows partition and re-installed on it, after "backing up" my files to another partition. On the first boot of the fresh installation checkdisk ran and told me there were problems on the second drive. A seemingly endless list of errors scrolled across my screen until I finally panicked (having had checkdisk problems before, I feared it was messing up my files) and rebooted, this time skipping checkdisk.

In Windows my second drive showed up as being completely empty. Not a file in sight. My emails, my work files, a lot of extra Lightworks Games/Cavemen stuff that wasn't on our SVN repository, all of it was missing. It was a dreadful position to find myself in around midnight on a Wednesday night.

For the next few hours I waited while a data recovery program scanned my hard disk, desperately hoping it would recovery the critical files. I spent that time looking up professional data recovery services and found one that was about an hour's drive away and open 24 hours. They estimated it would cost between $600 and $1800 to recover my files... If they were recoverable at all.

At about three in the morning the scan finished and I began recovering my files and checking them for corruption. Most of my older files were fine, but there was a lot of corruption amongst the newest files, and some of my more recent code projects had 10-20% of the files corrupted. My email backup turned out to be fine though, and while that was a great relief I headed to bed consigned to the fact that I would still have a lot of work ahead of my replacing the corrupt files.

I bought a new hard drive, installed Windows once again onto it, then spent the next few days painstakingly checking all of my files and doing what I could to restore the corrupt ones (from old backups or online files). Eventually when I'd restored all I could I decided to let checkdisk run on the old hard drive one last time to see if that would shake anything loose, before begininng the work on re-writing the corrupt files.

Checkdisk ran relatively quickly inside Windows, compared to the long process that had begun this whole mess after my first re-installation. When it was finished I opened up the drive and found... all of my files, working and without corruption, just like nothing had ever happened.

In the end it was much ado about nothing, but coming that close to disaster has really underscored a very important lesson for me. I've now got two copies of my files locally on separate hard disks (not separate partitions), I'm making regular weekly backups to DVD, and I'm looking into getting one of those OneTouch backup drives so I can just hit a button every night and know my files are safe(r).

So what are you waiting for? Back up your important files now!

Permalink | Comments (3)
posted in General

Walter Haas's author icon Postmortem of Cavemen for Pocket PC
27 August 2006 | Walter Haas

Overview
Game Cavemen for Pocket PC
Overview Cavemen is a platform puzzle game where the aim is to guide a tribe of cavemen through a level by solving the puzzle of how to get them safely from the entrance to the exit.
Development March 2005 - December 2005 (part time, 2 developers)
January 2006 - June 2006 (full time, 2 developers)
Release Date 23 June 2006
Platform Windows Mobile Pocket PC
Lines Code: 32,394
Comments: 17,948
Code Reuse Under 5% from open source example on the net
Hekkus sound library
Intended Customer Pocket PC casual gamers and game enthusiasts
Product Purpose 1. To finish the product
2. To learn about Pocket PC Game development
3. To learn about Indie game development
4. To create a fun game that others will enjoy
Team Members
Thomas White Game Design, Level Editor, Level Design, Websites
Walter Haas Game Design, Core Engine Development, Installers
Aleks Wojcik Music (contracted)
Shaun Campbell Art (contracted)
http://www.squidtank.com
What Went Right
Art The quality of the Cavemen art is very high and helped us get a lot of positive feedback from reviewers and players. The style of the art is also friendly, non-violent and cartoony which suits the non serious Cavemen gameplay.
Music The music for Cavemen is very high quality and suits the game well. It received a few good mentions in a number of reviews.
Public Beta The public beta was an excellent experience for four reasons: (1) we were able to fix a number of major bugs before release; (2) we were more sure about the stability of Cavemen after it was tested on a large number of devices (2900 downloads total); (3) we got a good indication of the number of downloads we should expect for final release; (4) we managed to generate some pre-release publicity and had a lot of people sign up to our mailing list.
Private Feedback Version We created a version of Cavemen that runs on PC and displays a message asking for feedback after each level. This feedback provided a much needed outsider view of each of the levels and proved invaluable when it came to the final level design and tweaking.
Reviews Cavemen received a several reviews that all turned out positive. We're not sure how much these reviews influenced sales but having great reviews can't hurt.
Portals The portals we dealt with all had relatively simple user interfaces with which to setup accounts. They were also very proactive in marketing Cavemen, not only on their own site but also through affiliates and online game review sites.
Custom Level Support Cavemen was designed so that more levels could be added to the game after release (either designed by us or designed by the users themselves). This allows us to release the level editor to the public and create a community around building Cavemen levels. It also means that we can create future Cavemen level packs as separate add-ons. This is something we're still working on.
.NET Framework Developing for a resource constrained platform like Pocket PC requires a different design approach than traditional PC applications (that we were used to). Fortunately the ease of development on the .NET Framework helped overcome a lot of these problems and helped us concentrate our efforts on developing and improving the core game.
Performance Performance for Cavemen turned out to be rather good even on low end devices (HP rx1700). It's not exceptional but the game is very playable with only the occasional jitter when scrolling.
Overall Quality This is a combination of art, sound, music, level design and interface. Overall Cavemen turned out to be a very high quality product.
Price We decided on the $12.95 (USD) price point because we thought the $25 and $20 price points were too high. Also being just under $15 would encourage impulse buyers to buy the full version of 102 levels after playing the 10 level demo because of the exceptional value. So far we don't have any data for how sales are affected at different price points but we have got some positive feedback on the price from players.
No Registration Code It was important for us to make it as easy as possible for players to install and play Cavemen after purchase. As a result we decided not to include a registration code. So far we've had only a very small number of installation related queries.
Multi-language Support So far over a third of Cavemen sales have come from our German language version. We speculate that since the greater number of Pocket PC games are in English, games that are in the local language get more exposure to that audience. Subsequently we're also working on porting Cavemen to Spanish, French, Dutch and Italian.
Commitment to Finish We started Cavemen with a commitment that we finish the project no matter what it takes. That simple commitment got us through a number of tough spots where we could easily have given up.
Clear Game Design The Cavemen game design was very thorough and easy to read. That allowed us to implement the game features over a long development time without losing touch of the big picture.
What Went Wrong
Sound Effects We decided to purchase Cavemen sound effects off a number of pre-existing effects libraries and adapt them to Cavemen ourselves. However since neither of us are experts at sound engineering the sound effects are of less quality than other parts of Cavemen.
Not Enough Communication When we started working on Cavemen in 2005 we were both working on it part-time. As a result we only needed to get together to discuss progress every fortnight or so. Unfortunately this continued for a while after we started working full-time and as a result caused a number of miscommunications that made the project run less efficiently.
Lack of Constant Schedule Review Although we were working to a schedule, we did not review the schedule often enough to see whether it was still appropriate. As a result we missed a few opportunities to cut unnecessary features in order to get Cavemen done faster.
No Explicitly Defined Roles This was less a problem towards the end of the project since both of us fell into clear roles (Thomas mainly handled the website and level editor and Walter mainly handled the core game coding). However it did cause some issues at the start of development when we were first assigning tasks.
Performance Optimisation and Bug Fixing Was Left Too Late We spent the first half of development getting the Cavemen gameplay right and deferring all "minor" bugs and performance issues to the QA / bug-fixing phase at the end. Unfortunately a number of bug fixes and performance optimisations required major system changes that took a longer time to retrofit to the existing systems than it would have taken to fix when the issues were first discovered.
Not Enough Techology Prototyping Early On We prototyped all major systems before implementing them in Cavemen, however, we only took the prototypes to the point where we thought all major issues had been resolved. It turned out later that a lot of the issues we thought were minor were in fact major issues that required extensive changes to the core systems. A lot of those issues could have been caught earlier with more effort in the prototyping stage.
No Gameplay Prototyping Early On We did very little gameplay prototyping early in development. The first time we considered gameplay by itself was during the public beta test which was towards the end of the development cycle. Fortunately the core gameplay turned out to be a lot of fun. But if gameplay had to be modified towards the end of the development cycle we would have had a major problem.
No Set Release Date Towards the end of Cavemen development we decided to generally disregard release date since it kept changing with every schedule update. However this then caused a problem because we were no longer rating features in terms of cost to the release date. Subsequently the release date suffered. We could easily have moved a lot of "nice to have" features to a later post release update and have released the game earlier.
Highly Coupled Tasks A lot of the tasks in the Cavemen schedule were highly coupled. That meant that often one of us was waiting for a task to be completed by the other person while not having anything to move on with. This could have been helped with a bit more planning and modular design.
No Registration Code This is also down as a "What Went Right", however, we have had a few issues with piracy that in our opinion could have been reduced with some form of simple registration code. We will be considering a simple registration system for future releases that will be as unobtrusive as possible for players.
Not Enough SDK Research One of our original design goals was to make Cavemen use only the .NET framework. This attitude inadvertently discouraged us from extensively researching existing technology early in Cavemen development.
Scope One of our goals was to become experts at Pocket PC development. We chose the Cavemen design because we thought it would be relatively simple to implement. It turned out that the scope of Cavemen was a LOT larger than we anticipated and we would have been better off starting with something like a clone of Pong or Space Invaders to get our bearings on the Pocket PC platform first.
Lack of Artist Involvement The majority of communications between us and our artist, Shauno, consisted of us giving him a spec and him completing it with a few questions and suggestions. We quickly discovered that we weren't the best people to be making artistic decisions after we found problems with the tiles and animations we asked Shauno to make. We should have approached him earlier with an intention to get his opinion and artistic feedback on Cavemen before writing a spec of the art that we wanted him to make.
Lack of Artist Dev Tools Although we gave our artist (Shauno) a copy of the level editor, we gave it to him late in the development cycle and before it had crucial features like animation and object editing support. It would have helped Shauno to get immediate feedback on the art he created by seeing it in the game environment.
Underutilised Mailing List So far we have a number of people on our mailing list but we have not had much opportunity to run competitions or offer special promotions since we were still busy with development work. We expect that to change in the next six months.
No Online Level Solutions (Yet) So far we do not have a solutions page online to the Cavemen levels. This is something we are planning however after we add a solution logging system into Cavemen.
What We Can Improve In The Future
Development Process In future we will use a combination of Vertical Development and Zero Defect Development. Combined these two processes mean that every milestone in the schedule will be a fully playable feature (vertical) with no known bugs or optimization issues (zero defect).
More Communication We will have regular weekly meetings and discuss common issues like: the schedule and features changes.
Visible Schedule Everyone on the team will know exactly what they and other members are working on, on a weekly basis. All team members will also have a good idea of the major tasks that need to be completed before the project can ship.
Feature Cost Each major feature in future titles will be given a Cost / Benefit ratio. If the cost of a "nice to have" feature is too high then it will be added to a "future update" list.

Check out this article by Doolwind about the Cost / Benefit ratio in game design.
Decouple Task Tasks will be decoupled as much as possible so that all team members can work on something concurrently without having to wait for someone else to finish a dependant task.
Product Release Date Instead of having the release date as a function of how long it takes to implement all game features, the release date will be a goal that is used to determine whether some "nice to have" features should be cut instead of impacting on the product ship date.
Prototype Technology All core systems will be prototyped to a levels where they would be considered fit for industrial use. That is, the system is shown to be robust and fast enough for a commercial Pocket PC game.
Constantly Evaluate Gameplay Whenever a new feature is implemented (and playable thanks to vertical development), it will be assessed to check just how fun it is and how well it fits with other gameplay elements.
Artist Involvement and Tools In future we will actively encourage artists to give us feedback on the style and functionality of the art for our games. We will also provide more tools to let artists immediately see how their art will look in game.
Automated Solution Recorder Future puzzle games will have a feature to record game solutions and produce solution HTML pages to be posted online for players.
Conclusion

Cavemen was a definite success. It turned out to be a high quality game and everyone on the team is quite proud of what we've achieved. Although development took far longer than we expected, the experience taught us a lot about Pocket PC game development and indie development in general. With our new skills we're aiming to bring you a lot more great games in the future with a significantly shorter development time.

Permalink | Comments (3)
posted in Game Design

Walter Haas's author icon Great Sleep and Cavemen Levels
30 July 2006 | Walter Haas

Sleep has been one of those things I couldn't quite get right, all my life, until just this year. In this post I want to let you in on exactly what I did to get my sleeping habits down pat and how it's affected my life. Hopefully you'll get something out of this if you're having trouble getting good sleep. Or if not, you'll at least know what that crazy title is about!

The Bad Sleep Years

For years I've been dealing with the issue of bad sleep. I've tried things like sleeping masks, ear plugs, going to bed at the same time each night, taking vitamin tablets, drinking herbal tea ... and the list goes on.

Of course my job also got in the way, imposing crazy times like 7:30am to get up at in order to get into the office on time. If only I was free to try and sleep in. But again when I quit my job to work from home, I noticed that sleeping in to 9:30am didn't help either. In fact it made me even more tired and lethargic. It was time to get this sorted out once and for all.

What Works (for me)

Out of the hundreds of things I've tried, I've found the following five things work best above all else:

1. Eat dinner at least 4 hours before you go to bed
I found this one very important. Your body is still metabolising food when you hit the sack earlier than 4 hours after eating. You won't be able to get a good rest with that amount of work going on in your insides.

2. Get up immediately when your alarm goes off
Two weeks after I started this I would wake up automatically a minute before the alarm went off at 7:30am. What's more, I always felt refreshed as soon as I got up. On the odd occasion when I forced myself to sleep in I would actually feel worse that if I just got up at 7:30.

3. Go to bed when you get tired NOT at a set time
This was the final piece of the puzzle for me. Before I learnt this I would go to bed at 11:30pm each night. If I wasn't tired I would just lie in bed and if I got tired at 10:30pm I would push myself to 11:30pm anyway.

Now I naturally go to bed on average around 12:30am-1am.

4. Exercise
This did wonders for me. Not only did I feel happier and have more energy, but I also stopped waking up erratically at night.

5. Meditate
After a good session of coding I find it's very hard to switch off. Your brain just wants to keep solving those problems. This is where meditation comes in. Meditating for roughly 40 minutes is like a hard off switch for your brain. When you're finished you're fully relaxed and more importantly you wont lie in bed thinking about how you're going to optimise that function tomorrow.

Life, Love and Cavemen Levels

So it's all well and good to get better sleep, but what will it do for your life? For me I've found it made two important differences. First, every day I have a lot more energy, from the moment I get up to the moment I go to bed. I find that I can give my full attention to all the work I do that day instead of only having a few spurts of energy for some of the work. This holds true for social situations as well. In general I have more energy when talking to people and so I can get more involved in conversations and debates.

And second, I found that I need less sleep overall. Between 6.5 to 7 hours instead of 8 hours. That's a saving of 1-1.5 hours every day and a whole 7-10.5 hours per week. I use that time to get more work done, particularly my half of the set of hard Cavemen levels we'll be releasing for free with the upcoming Cavemen 1.1 patch (quick plug :)).

Further Reading

How to Become an Early Riser by Steve Pavlina was a great read and helped me find item 3 on my list above. He also goes further in calculating the benefit of getting an extra 1.5 hours per day, equating it to "like getting a free bonus year every decade".

Permalink | Comments (2)
posted in General