July 2009 Archives

Continuing the description of the DEVELOP conference, I went to the following sessions:

 

Online Functionality for Your Nex Game? Why Not Go 100% Online!

This talk was given David Jones, CEO of Realtime Worlds. His talk was focused on giving a description of what he has done before, and how this has lead up to the creative vision of Realtime Worlds and what they are working on today (APB).

Except for talking with different HR people looking for programmers at a couple of conferences, I don't really konw much about Realtime Worlds. For those of you who are like me, here is a trailer for APB:

 Dave Jones has previously worked on several big titles, including GTA. Even though this inspiration and background can be clearly seen in Realtime World's previous game, Crackdown, as well as APB, Dave Jones was a real inspiration in that he seemed to have a genuine wish to move the industry forward.

DSC00972.JPG

Dave had 5 design principles that he talked about. Some of them were very contextual to the kind of games that he worked on so far, while others were more general in nature. All of them, however, was difficult to disagree with:

  • Attention to detail
  • Simple building blocks, compound effects
  • Great training, keep it contemporary
  • Humour
  • Innovate, Forge a genre
I am really looking forward to seeing APB, as I was exceptionally impressed with the production value and the ambitions of this game. The character customization part was especially impressive:  


Playstation@Home - First Term Report

I don't know why a keep going to Sony sessions, as they continue to disappoint me. The ever so friendly Sony guys are never really able to divulge any information of real use. Don't misunderstand me, I really think that Sony has a cool brand, I appreciate their continuing support of innovative and cross-genre titles and as a programmer and old-time demo coder I have a special appreciation of the PS3 architecture. Though I must say that as long as I can remember, they have been botching up their PR with developers, and especially in this time of user-generated content (both in the sense of gamers creating content, and of small developers creating content for aggregators) I am fearing that Sony's persistent insistence on control may cause them to get so far behind that it will take generations to get ahead again.

In the face of all this adversity I do think Peter Edward, the Home Platform Director did an admirable job. Basically Home seems to be just a promotional platform for the big players, cleverly disguised as a social network. With more ambition Home could become the Facebook of the consoles and gain the popularity and cross-demographic profile of the modern social networks on the internet (which is also seem to profile Sony seem to want for the PS3). However, I don't think it can be done unless Sony agrees to give up an unprecedented amount of control as well as give out free access to their software development suites. 

DSC00983.JPG


However, Peter did give out some interesting numbers about Home:

  • 7 million users
  • 3 million of them in Europe
  • only(hi!) 80% of the users are 18 - 35 years old.  

When a creative director attacks! or What I learned this year with EA!

 

DSC00988.JPG
This session was just one big onslaught of words and Paul Barnett's personality. A resumé would probably more go like the followng:

Dollars, vegetables, ceci n'est pas une pipe (ed - reminds me of one of my textbooks on archaeology), games as art are twaddle - they must make a profit but can be artful, creative director as a muppet hell bent on design, creative director as number cruncher, creative director as bond-super-villain, EA course for designers, 3 things things that inspire you, to get inspired you think of the Eiffel Tower?, inspiration from office with walls painted green, green is the color of creativity and madness, old ideas can be great if exposed to people who don't know them, golden ages, games on socks, The Empire Strikes Back, you are defined by culture, creativity works better under constratins, Ronald Reagan, Margaret Thatcher, police with big sticks, tapes, floppy disks, bank of England, no-one cares about history, Richard Wiseman, draw Q on head, be suspicious of people who has theories with several levels, be suspicious of people who do not name their theories after themselves, all managers are Captain Picard and Kirk who either see the tree or the forest, Confessions of a Madman, game design is compilicated because people make it complicated, EA has come to its senses,

You wouldn't know from the jumble of words above, but this was probably one of the best sessions I attended.

DSC00997.JPG

Bridging the Gap Experiences Learned with Agile Project Management Across Multisite, Multicultural and Multilingual Projects.

This talk was one of those I had been really looking forward to. It was given by Lisa Charman, Associate Producer at Ubisoft and Patric Palm CEO and Co-founder of of Hansoft. While I had been looking forward to this talk, I was also a little bit apprehensive as I was afraid it was going to be one big and very direct advertisement for Hansoft's Project Management software. 

DSC01003.JPG

However, instead Patric and Lisa made a really good and informative presentation (though also at times a little bit comical, as it had tendencies to seemed like a well rehearsed act with bad actors). 
A lot of the talk was focused on Scrum and other related agile methodologies. For me the most interesting part, was Lisa's experiences with cross-site collaboration. This is both interesting in relation to the Global Game Jam, which I am a co-founder of, as well as in a more professional context. I really see this as the way I would like to work in the future.
An interesting detail was that Ubisoft only uses scrum up to the alpha stage, where all features are done.
Last but no least, they gave us a lot interesting scrum and agile related references:
The Life Cycle of The Bonsai Barbar for WiiWare
This session ended up being incredibly interesting talk about Bonsai Barber, a game which truly seems like a small gem. The talk was given by Martin Hollis, founder of Zoonami
Bonsai Barbar had some really curious designs details that I have never heard about before; for one the game is designed to be played only for approx 30 minutes each day. This is a very interesting design constraint, as you really need to focus hard on a game design and reward system that keeps the player coming back every day. This idea also feeds into Martin's description of Bonsai Barber as a game that doesn't show all its cards at once.

DSC01012.JPG

Martin had some really interesting, and curious formulated design proverbs. Here are the ones I succeeded in jotting down (completely out of context of course!):
  • Before setting out to make an original game, you ned to have three hearts
  • Your foundation is the central meaning in your game
  • Documents are not the life force of your game
Martin also made a big deal on talking about tactility and approachability. For the latter, Martin posed the interesting question How easy is it for the viewers in the livingroom to become interested? 
Among the many many interesting points that Martin made it, I think the last one I will relay here is when they made the game, they actually ended up taking score out of the game (in an effort to make the game more accessible and casual I guess). However, in the end, the game did not feel whole without it, and they put it back in.

The first day of the DEVELOP conference was called Evolve, and focused on developing games for emerging platforms like mobile, iPhone, Facebook, XBLA, etc.

Here a summary of the sessions I went to.


Keynote - Embracing the Future
The keynote was given by David Perry, creative director at Acclaim. David Perry started his talk with introducing how both physical media and computer processors have moved from very small units to being more and more unconstrained with time, to where we are now with virtual media and cloud computing. 

He used this as an introduction to GaiKai, which is a system that runs hosted games server side. A video of the game is streamed back to a small client application, which also takes care of relaying all user interaction back to the server so that the system can react to input. 
DP stated that the system run relatively smoothly with a bandwidth of approx 1,2 mbps (depending on the screen size needed).

What I also found interesting, and DP only briefly mentioned this, would be the ability to distribute content and GaiKai clients in a YouTube like manner and embed them on web pages. I do hope that is what he meant.

Also, the fact that as a long as you have a strong enough internet connection, you can really run any application, such as Photohop or the latest Crysis demo on even the tiniest netbook. I am really keen to see what this will do to:
  1. Hardware manufacturers. If such a server-based solution becomes mainstream, will the evergoing armsrace for ever bigger client pcs end?
  2. Will the consoles arms race end, and focus can now solely be on innovation in interaction and gameplay?
  3. Will the concept of IP be even more eroded? 

What strikes me about David Perry is that he seems like a geniunely nice guy. I am one of those people, that truly believes good karma comes back to you.  


Browser Based Games: The Past, The Present and The Future
This session was held by Jonathan Lindsay and Gustaf Stechmann of Splitscreen Studios. Gustaf, who I know from some of my trips to Gotland, started the talk with a historical overview of browser-based games. He split the games into 3 generations:

The first generation consists of games like OGame from GameForge, which are essentially a bunch of php scripts. Each day you decide what to do, and then a server side script is run at midnight which calculates the result for all the players for the day. Even though OGame might seem a bit dated, the number of players is counted in millions.

The second generation are typified by realtime flash games.

The third generation of games, and of course the type that Splitscreen makes, are full 3d realtime games. The game they talked about was Pirate Galaxy, which is a space scifi MMO where you fly around in a spaceship. Even though the basic pitch sounds a bit like Eve Online, their approach is very different and much more casual. This can also be seen from some of their design key points (most of them are well known design principles for casual games, but they are worth repeating):

  • Accessibility
  • The game was full 3D but all control happens in 2D, as just controlling a basic camera can be very advanced to some users
  • Not skill based
  • Players must be able to join and leave the game at anytime
  • There must be a balanced time vs. money trade off. Ie. you must not be able to buy anything in the item shop, that you cannot just invest playing time for getting instead. 
  • Controls should be indirect
  • The item shop should always be available
  • Realtime gameplay in 3D
  • One-button / one-hand to play
  • Streaming technology should be implemented. This is needed as it should take a maximum of 15 seconds from the moment you decide to play to you actually are playing. You should not wait for several GBs to download.

In summary the keypoints of the session was:
  • 3D
  • Moving towards higher production value and higher quality
  • Convergence of online space; downloadable games, browser based games, XBLA, PSN, Facebook, etc
  • Subscription is almost dead; the entry barrier may simply be too high because of the behemoth that is there
  • Much for room innovation in business models; e.g. the 'price' of activating a cool item you are carrying around in Dungeon Runners


The European Free to Play Market
This session was held by Thomas Bideaux from ICO Partners. His presentation was an incredible numbers and abbreviations game. I will just let Thomas' excellent presentation speak for itself:


How Today's Social Networks Will Change How You Make, Play and Sell Games Tomorrow
This presentation was given by Kristian Segerstråle, co-founder of Playfish, a social games company. First he wow'ed us with some numbers from the world of social networks and games. These games seem to attract so many players that it is completely unbelievable. Their games have had over 500 million plays(!!), have over 30 million active users and over 100 million installs! All of their games has over 1 million fans on Facebook.

Kristian made a number of predictions that made up the meat of his talk

Prediction 1 - The Role of Franchises will Change Forever
  • Big name franchises do not appear to succeed on social networks
  • No Franchises in Facebook top 25
Prediction 2 - We will all become services
  • Physical Products >> Digital Services
  • All revenue comes post initial download / acquisition
  • 50% - 80% of dev costs post launch (ed - the perpetual beta?)
Prediction 3 - Marketing by Numbers:
  • The majority of the current marketeer skills will be obselete in the world of tomorrow
  • Game marketing => web marketing
  • All about numbers; read up on statistics
  • All about the consumbers
Prediction 4 - Game Design changes forever
  • No longer player vs screens, but player vs player
  • Design drives audience and monetization
  • Designs can be tested and numbers driven
  • Designing for a service will be multiplatform
Prediction 5 - Games Will Be Made Better By Listening to Players
  • More feedback than you can handle!
  • Balance qualititive feedback with quantitive feedback
Kristian also saw a number of challenges for those wishing to enter the social games market
  • Creating a hit is very hard
  • Social networks and APIs evolve all the time
  • Monetizations still being developed
  • Network traffic costs can be very high!
  • Cost of customer support can be very high!


Panel: Opportunities and Hurdles for Mobile Gaming
I thought the subject for this panel was very interesting, however I ended up walking out of the session as the panelists seemed to just be talking amongst themselves.

Launch Your Game Across Multiple Mobile and Social Platforms Without Killing Your Team
This talk was given by Chris White, Studio Head of Glu Mobile. In a very honest session, Chris gave us 2 case studies; one a port from iPhone to Android and the other a port from iPhone to Facebook.

Case Study 1:
The game was Stranded 2: Mysteries of Time, and had been developed with a team of 2 coders, 2 designers, 2.5 artists + QA. 
The game had first been developed for J2ME, then ported to iPhone, then to Android. Chris said it took about 2 week porting a prototype of the J2ME version to Android. As he told us the story here, the major lesson learned here, was actually not in porting from J2ME to Android, but in porting from J2ME to iPhone. The lesson was to try to develop the Java and C code at the same time, as this can save time as well making for less of a mechanical task for the porting coder. Other lessons (some wellknown by seasoned developers):
  • Reuse Artwork.
  • Make the highest resolution art first
  • Develop common tools (GLU has both a shared scripting engine, an animation tool, level editor, etc)
  • Keep controls as simple as possible
  • All touch screen are not created equal (both in sensitivity and single vs. multi touch)
  • Reuse level designs and scripts where-ever possible

Case Study 2:
For me this case study was far more interesting, as the platforms were so different. Some pointers about Facebook:
  • Playing with friends is the point
  • Suits turnbased and asynchronous game play
  • Challenges
  • Comparisons
  • More friends translates into more success
  • Provide a reason to return every day
  • Specific game mechanics are good for this; think daily bonuses, retention mechanics, bragging, etc
  • The whole idea is sharing the game; do not try to prevent this

As you probably gather, a port is between two such different platforms are by no means trivial if it has to be done right.

Practical Applications of Online Convergence
This talk was given by Paul Croft, Co-founder of Mediatonic. Paul jumped right into the deep end with rundown of the different opportunities offered by todays online market:
  • Commissioned Games
  • Indie Games
  • Cultivating new IP
  • Social Games
  • Web

Commissioned Games are not designed to return a commission and usually comes in one of two forms; advergames (for example, Mirrors Edge) or original content designed to bring people to a website (hi Bo).
The three usually scales of commissioned games productions are:
  • 1 developer and 1 artist/designer working for 1 to 3 months
  • 5 people working for 3 months
  • 10 people working for 5 to 7 months
An example of the last is Meowcenaries commissioned by Adult Swim. Meowcenaries took approximately 6 months to make, by 5 to 6 people. During the peak periode, 12 people were working on the game. So far meowcenaries has had over 2 million plays!

Indie games are games that are meant to generate a return of their own. Monetization options:
  • Ads, usually payoff is approximately $0.007 pr click-through.
  • Licensing (typical flash game business model)
  • Microtransactions
  • Monetizing IP (ie porting Bejeweled to flash, and relicensing that) 
  • Monetizing with own developed portals (very significant investment, and the big guys are moving in)

Three different development models for indie games are:
  • 1 talented developer for 1 month
  • 1 developer and 1 artitst for 3 months
  • 4 people for three months

Cultivating new IP makes great new breeding grounds and offers opportunity for huge exposure. It has relatively low dev costs, offers immediate feedback and the option of incredibly detailed tracking. An example of this is Amateur Surgeon on Adult Swim, which has had over 20 million plays so far and is now getting released on the iPhone as well.

For the social games Paul mentioned an expected average revenue pr. user (ARPU) of $0.20.
One of the games he presented was Fast and Furious. Examples of different development models for social games include:
  • 1 experienced developer for 2 months
  • 1 web, 1 flash, 4 extra for 3 months
  • 12 people for 5 months
For examples of games, Paul mentioned GTA: Social Club, iBowl (iPhone), Topple 2 (iPhone), and Labyrinth that has an online flash editor for making levels.

Keynote - The Long Tail and Games: How Digital Distribution Changes Everything. Maybe.
After a day getting filled with information about all those opportunities out there, David Edery from Fuzbi promptly brought everything back down to earth again with this talk.

Among many facts, David Edery had the interesting points, that indies were actually loosing market share on the new completely unrestricted digital markets. The reason is that the long tail also works for the big hits; for example many of the old Worms games still sell. He did show some numbers to back this up.
David dropped some more interesting pointers to read up on, including Should You Invest in The Long Tail by Anita Elberse from the Harvard Business School.

Secondly he talked about how quality is completely random. He told the story of some university professors who had taken a selection of music and given it to 4 different online communities to rate. The music was rated wildly different on all the communities. What was interesting, is that it is the first few ratings that decides the fate of a song.

For the whole lowdown, I just found out that he put up his slides on slideshare. Kudos to you David.



Conclusion
Despite David Edery's ending keynote, which kind of brought everyone down to earth again, the big conclusion for me seemed to be the enormous possibilities offered by many of the new platforms. The fact that the top 15 games (out of 16K+ games) on Kongregate has had over 80 million plays, and that a relatively simple flash game like Warlords: Call to Arms has over 10 million plays is simply amazing. Over 120 million users log on to Facebok each day! Playfish has had over 100 million installs in less than 18 months! These are numbers that simply dwarf mostly anything that has been on the console side so far.

I also think systems like GaiKai and OnLive has much potential to once again even the playing field for indie guys like myself. The problem for many indies, is that they are caught in a space somewhere between the online flash games and bigger pc games. It is hard to see, where there is room (and good profitability) for the creative 5 to 7 man team, with some advanced graphics and programming ability on board. With the ability of  GaiKai and OnLive to bring anything online maybe the playing field can be changed.

Finally I am hoping that we can use a system like GaiKai for the Global Game Jam. The games are so different and it is quite bothersome to download and install them, in order to try them. Even though I know that the participants do their best to make it easy to try their games, sometimes an xna runtime installation is missing, you have a Vista incompatibility, etc. This year we had over 300 games, and we are expecting much more next year, so a solution like GaiKai could really give us a unified easy access interface for trying out the games.

Live coding with lisp

| No Comments | No TrackBacks

If you haven't guessed it by now, Project Prometheus is about setting up a minimal game engine, with an internal lisp interpreter / compiler running. None of the game engines I have seen, has offered the possibilty to do the live editing and coding that you can experience with most functional languages and a basic REPL


For an introduction to lisp, I have included this google tech talk by Peter Seibel on how the choice of programming language effects about how you think about your problem. He also introduces lisp and compares it with other languages.


So to get back to the problem. Even though the basic lisp is actually a very small language, I have suddenly realized how huge an undertaking this project is (like all programmers, I constantly overestimate my own abilities!). I have therefore decided to also start working on some small games on the side, while working on the interpreter. This will make sure that I actually get any work done on the end product, it will have the side effect that the source code for the games will then later on make a good test bed for how well the interpreter works.

After this realization, I started (again) to look for some tools that at least did partly what I wanted.

First up is the Steel Bank Common Lisp, which is version of lisp, focused on performance and with a very liberal license. Interesting, that I seem to have missed this in my earlier searches. With many other variants of Common Lisp, they usually either suffer from being too expensive or having a license that prohibits any kind of closed source-code release. Both a no-go's for a technology fixated indie-guy like myself.

Secondly, I did a check to see if a port to lisp had been made of my all time favorite game library SDL. I found two versions, cl-sdl and lispbuilder-sdl. The former seemed rather undocumented and dead'ish, while the latter seem quite alive and well-documented. No choice there.

For editing, I have so far taken the usual choice of Emacs and SLIME. I know this environment works really well, so that was mostly a no-brainer. To make sure I get out of my comfort zone, I have promised myself to take a look at CUSP one day. CUSP is an eclipse plugin for developing lisp applications.
For those who are doubtful about ever going back to Emacs for any kind of work, here is a video that shows how to cool it can be to work with SLIME:

 


Lastly, since I am also very much the noob with lisp, I often get back to this excellent online introductory text to common lisp written by Paul Graham.

I have been working on the basic setup of the lisp interpreter for a while now, and I am starting to realize that there are so many things I forgot about writing compilers, that I need to get the good old tiger book out again.

cover100.jpg


When I was studying, we used Flex and Bison to setup up lexer and parser. This time around, I decided to use spirit which is part of the boost libraries. Admittedly, in the beginning this choice has given me quite a few headaches. I thought I had C++ pretty well worked out, but the template magic that is used here is just incredible and somewhat mind-boggling in the beginning. 

However, as I am stubborn sod, I finally got it to work, and the final solution for my grammar, I have ended up with so far do have a nice conciseness as well as very nice simplicity to it. Not only that, but no external tools  like Flex and Bison are reqiured; everything is C++ driven.


Project Prometheus is about writing a lisp interpreter that will sit inside my game engine (engine might be the wrong word to use here, as it is rather tiny). As the interpreter sits inside the engine, the goal is to have a live development environment, where the game/application will be programmed in lisp while the game/application is running.

lisp-is-different.jpg

So far, I have thought about several core components that must be part of the whole system:

  1. The interpreter itself, with all the necessary compiler stages. It must accept valid lisp syntax and transform it into a form that the system can interpret at runtime.

  2. The idea is to have most of the core components running in lisp, but I still need a very tiny interop layer for doing basic interaction with the underlying system.

  3. A live development environment must be setup. Maybe I can see if I can hook emacs directly into the system somehow. In this regard,

  4. I am also thinking that perhaps I should do away with files as well as the concept of a compilation unit entirely. If I work at function level, then the engine can store an internal database with the textual representation of all functions. Functions will then be injected into the engine and database when they are saved, and can be retrieved live as well. This is still very much a brainstorming stage, though having a big directory of files to compile seem very clunky to me, and goes against the idea of live development.

About this Archive

This page is an archive of entries from July 2009 listed from newest to oldest.

June 2009 is the previous archive.

August 2009 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Pages

  • Games
OpenID accepted here Learn more about OpenID
Powered by Movable Type 5.01