Thursday, March 19, 2009

Multiplayer Flash games

Why are there so few multiplayer Flash games? Sure, lots of Flash games have a leaderboard or high score table. One of my favorite games, Fantastic Contraption, has some very cool community features. But I've seen very few Flash games that let you interact with other players in real time.

Flash has traditionally been excellent for little solitaire games that you play in your browser: match-3, tower defense, platformers.



Flash and its programming language ActionScript have full support for socket-level communication. A great strength of Flash as a client platform is that most users can try a new multiplayer game without having to download or install anything. Alex and I have built several multiplayer game demos which use Flash as the client with a C++ server.

We are starting to see a few free-to-play Flash MMOs in development, so perhaps this state of affairs is coming to an end. But for now multiplayer Flash games remain an underserved market.

Cygwin

I love Cygwin. Alex and I do all of our development on Windows PCs. With Cygwin, it's like I have a little unix machine sitting right inside my Windows box.



Having Cygwin installed on my PC means I can write scripts to automate all sorts of tasks. For example, I have a shell script that fires up Blender, produces hundreds of renderings of animation frames, then stitches the individual frames together into sprite sheets suitable for use in GameHalf.

Cygwin also allows me to test client-server programs right on my development PC. GameTwo is a multiplayer game, with a Flash client and a C++ server. The server is a command-line app, meant to run on a Linux machine in a data center. Do I want to build and push the server out to the production machine for every test? Of course not. Cygwin lets me compile and run the server locally, which is great for debugging. It's also convenient for demos because I can run both server and client on the same laptop.

Another thing I love about Cygwin is its installation and update tool. It's essentially a giant list of software to install. I select all of my favorite unix programs: compilers, debuggers, editors, image processors, etc, and the installer sucks over everything I need, including all libraries and other dependencies. It's super-painless, especially compared with what I had to deal with on some of the legacy Linux distros.

Placeholder art

Alex and I are programmers, not artists. We love writing code and designing software. But even a prototype needs some placeholder art -- something to occupy screen space until a real artist comes along. One of our projects, codenamed GameHalf, animates its characters using prerendered sprites of 3D models.

The tool we use to produce these graphics is Blender, an open-source program for making 3D models, and texturing, lighting, animating and rendering them. I spent about a month gaining a rudimentary understanding of Blender, in order to produce some placeholder art. Starting with a base mesh of a character and its skin textures, I inserted an armature ("skeleton"), animated the actions we needed, and rendered the required sprites.

It turns out that Blender is scriptable with Python, so I was able to build a number of scripts to automate the rendering. This means that any changes to the character mesh, textures, animations, etc can be quickly rendered out to a suitable sprite sheet.

All this happened last fall, but I recently busted out Blender to produce a green outline view of one of GameHalf's characters, a quadruped alien we've taken to calling the "zergling". This outline view is used as a paper doll in an inventory management dialog.



While rudimentary, this outline was easy to make. Blender includes edge detection as one of the rendering passes, and each of the many passes can be turned on or off individually. So I just set the edges to green and turned off the other passes for an instant outline.

Wednesday, March 18, 2009

About us

We are Rob and Alex, ex-Googlers and indie game developers. We've been working together for about eighteen months, exploring some exciting new ideas in games.

When we first started working together, we had to decide what platforms and technologies to use, so we spent a few months trying out a few. We both built new 3D engines with Visual C++:



This worked fine, but progress was too slow, and we worried about distribution. Would people really want to download and install random .exe files?

Seduced by GarageGames' marketing, we tried Torque, but after a few hundred dollars and a couple of weeks of work, we determined that we didn't like it at all. We were feeling discouraged. On a whim, Alex downloaded the Flash development kit from Adobe, and built a little Asteroids game over the weekend. At this time, Actionscript 3.0 was almost brand new, and we were surprised by how pleasant it was to use. We got hooked on Flash.

First post!

Welcome to the Executive Overlord blog. We are a new game studio currently working on two projects codenamed GameHalf and GameTwo.

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]