Wednesday, May 29, 2013

What kinda game would I like to make?

I know what kind of game I want to create. Or rather, I know what kind of feeling I would like to have when I play that game that I've created.


I want a game that starts with micromanagement and continues on to macromanagement with the possiblity to dive into the details if I’d like to. The game should live online and evolve when I’m not in it, it should notify me when something important happens and it should let me high-level-manage it from outside the game universe.


I’m thinking of a game that let’s you create the machines that refine your resources. Trade with other players and even work for other players by selling the machines that make the stuff.


It should be a multiple screen game that morphs function after available screen size. It should be snappable in Windows 8 and look like a business app in order to fool you boss.


The graphics should be dark to highlight the fact that this is a cruel and competitive universe. Features should be added but not communicated to add to the feeling that there´s always something new to be found.


There shall be no predetermined missions and no guided gameplay. Definitly no story to follow.


You make the story by interacting with other players.


All I need now is a year or two to finish it in...


Thursday, May 23, 2013

Creating a multi-language, multi-platform game - the outline

So our first game is a multi-language, multi-platform product. How do you pull that off with close to zero resources and a full-time day job? The list below outlines the most important steps that we've discovered during the last year. You may notice that marketing is missing and that's because we haven't got that far yet. All our users are basically by referal. We also belieive in a rock solid experience before we use the big drums.

Here we go!

  • Find a creative partner - we paired up with Microsoft and took advantage of their BizSpark program. Also their technical evangelists do a hell of a job to inspire us by providing technical excellence. This is the most important step I would say! Especially thanks to Tess Ferrandez (@TessFerrandez) and Peter Bryntesson (@petbry57) who was our first contact with Microsoft! Also there is a lot of other great people helping at Microsoft helping us out.
  • Get local help - to enable multi-language support we started our ambassador program. That means that you as an ambassador can adopt a language and get 10% of revenue generated from that language. We are based in Sweden, we have no concept of what word lists that we can use in Spain. You need someone with a local connection. We manage our contacts with our ambassadors through a private facebook group. Doesn't have to be fancy. Give regular feedback.
  • Don't be alone - start the company with someone else. This will get you motivational support. It's a great feeling to see checkins from other people and to know that the product is moving forward even when you're not in front of the computer.
  • Statistics - Create tracking system or use one of the free available ones, such as PlayHaven. It is absolutly critical that you have a grasp of what your players are doing in your game. This topic is a book on it self.
  • Prepare for a large number of users - if your game is dependent upon a backend then you must design it to be able to scale up to 100 000 daily users. If you don't your pretty much doomed from the beginning. We use a load balanced Azure farm to take care of our gamers.
  • BETA TEST - Always beta test. Even if you're 100% sure that this is the best thing since sliced bread. Force your friends to play it and hang out on forums to drag total strangers into your beta process. The strangers are usually the best critics since they have no connection to you what so ever. Remember to listen to everyone, but you always have the last say yourself.
  • Documentation - Fire up a wiki to share info among developers and make sure to document as you go along. We used a simple prepackaged azure website and incentive. Free for up to three users.
  • Blog - Write about your experiences to get a distance to what you are doing.
I'm sure I've forgotten something, but hey, I can always add it later on.

If you're an indie developer yourself I would love to here your comments on this!

Friday, May 17, 2013

Got motivation?

This will be a short, spontaneous post about the importance of beta testers. While drinking my morning coffee, minding my own business, I got a mail...

"You have been challenged in WordRoom by Karl-Henrik Nilsson"

That sentence really made me happy! (strange since I wrote the template myself)...

I played my part of the match, lost and started to chat with Karl-Henrik instead. He gave me about 10 new points on how to improve the game right of the bat! This kind of feedback really energizes me since it gives me an opportunity to fix problems and be able to make a better version of WordRoom that is based on someones perception of the game! And it's always those tiny, small things that will make or break your game.

The point of the post is to invite testers early. Invest your time in people that will help you back and stand ready to return the favor!

And follow KH on twitter @KHNilsson for good insights into the IT world.

Wednesday, May 8, 2013

The 15-minute project

I get this question a lot.

"You work full time at Sogeti, got two kids at home and a house to tend to. How do you find the time to create and maintain a multiplatform game?"

The answer to this question is simple. Use all the available time you got! If you have 5 minutes on the bus, use it to correct a tiny piece of code, perhaps refactor something? Seven minutes at breakfast? Perfect! Write a todo-list! And the golden 15 minutes after lunch, use them to kill an item off from the breakfast todo-list. Think of it this way, if you manage to get half an hour of administrative stuff done during the day, it's half an hour less when you sit down for a longer session.

The bulk part of development happens at night between 9pm and 11pm. Usually every night. It also keeps my wife happy since she can watch whatever TV-show she wants to. :) At this point, I'm pretty clear on what to focus on since I've already made my mini-sprint backlog during the day.

But what's more important is to try to be happy with the fact that something got done today. It doesn't matter  if you only found five minutes in a day to work on your project because something got done! You are getting somewhere!

Also, try not to steal family time to develop your free-time-project. It DOES NOT work in the long run. Spend time with your kids!

Sensmoral


The sensmoral in this is that all of these tiny dev sessions really add up. Get small stuff out of the way during the day (like planning and minor refactoring) to clear the path for the two hour nightly development session!

To sum up


The golden 15-minute project rules:

  • Use small fractions of time to organize stuff. Less than 5 minutes available? Write todos on a post-it and attach to forehead).
  • Medium sized timeslots, up to 15 minutes? Open your code and refactor or just browse it. It will help you find your way around it for the late night dev session.
  • Prepare for the 1-2 hour nightly dev session during the day! Make sure you know what to do!
  • Force yourself to sit down at night, the first 5 minutes sucks. If you can't find inspiration after that, sit five more minutes. Fix just one thing more!
  • Spend time with your family! They are only kids once.

Friday, May 3, 2013

GAH - "unable to build project output 'content files from WebApplicationName"

I'll split this post into a short/long story in case your searching for any tips on how to fix it and don't wanna hear me rant about it.

Short story

* Error on setup build "unable to build project output 'content files from WebApplicationName"
* Followed Mr Hanselmans instructions at http://www.hanselman.com/blog/VisualStudioMSIProblemsUnableToBuildProjectOutputGroupContentFilesFromSOMEWEBActive.aspx
* Edited the project file - removed all content references
* Readded each content file in Visual Studio.
* Everyone's happy

Long story

Alright, so I'm sitting at work. Happily coding in VS2010, creating a small web-app for my client. Following the corporate install routines and creating a Web Setup project. Everything is perfect. With less than an hour left on the project it all goes to %¤#%.

My setup project doesn't build anymore. It just keeps saying "unable to build project output 'content files from WebApplicationName". Why, oh why can't you just print out the name of the file that is missing?

A quick internet search brought me to Hanslemans blog, a post from June 22, '04. You would think they would have patched this and at least created a better error message in 9 years?

http://www.hanselman.com/blog/VisualStudioMSIProblemsUnableToBuildProjectOutputGroupContentFilesFromSOMEWEBActive.aspx

Yup, files we're missing on disk. Thinking back it might have been when I tried the Install/Uninstall option you get when right-clicking your setup project.

Restored the files again, but STILL got the error above. Spent another hour painfully checking each file in the project files content group. File by file... Nothing missing, it's all on disk.

Recreated the setup project. Still the same error. Restored my code to a point in time where I know that it worked. Still the same error.

What I ended up doing was deleting every content reference in the project file and readded them in Visual Studio. Seems to work now... For the moment...


Thursday, May 2, 2013

Design by statistics

WordRoom has been live for roughly seven months now, from the launch of Windows 8 in october 2012. We've learned a lot on the way but the most important lession is that of statistics. You need to know what your users are doing in the game. In this post I make an mini-analysis of the startpage on iPhone and Windows Phone.

iPhone


For example, iPhone users play longer sessions than any other platform. The wierd part is that they favor single player. They simply hit the large "Single player" button on the start page and ignore the multiplayer part. What we could do is try to educate the users by adding some more info to the startup-guide or rephrase "tap to challenge" or color it differently to stand out.



Windows Phone


WP users on the other hand play a lot online in direct matches. Most definitely because the online button is the first thing they see when they log on. When they press "start a new game" they are passed on to the online page. There is simply no way to know that the single player is tucked away in the panorama item to the right.


By tracking the usage we can make small changes to a platform and evaluate the result. By having WordRoom on five different platforms gives us the possibility to make minor adjustments to one platform and evaluate a change before we go live with the rest.

This is just two out of five platforms available. Each having their own usage patterns.