As an indie game developer, you can take two viable (let’s assume) directions:
Self-fund and beg artists to work for free. Stay small and the game stays indie.
Sell out and get external funding. Grow to a small crew and the game goes tries to become commercial.
Well I’ve taken the second route, but I must admit the past few months have been as Alexander would say “Terrible, Horrible, No Good, Very Bad” due to the stress and uncertainty When a game requires more than one person to build, it stops progressing when others are not available - which is usually due to lack of funding to pay them or if they are working for free, spare time, because they need normal jobs to pay rent + food. Thankfully, I’ve recently acquired some significant funding.
If I had gone route No.1 like Petri then life would carefree and simple, right? At some point I’d run out of resources(time + money), of course and I’d have to return to the workforce.
I’m very late to the party, but TIGSource had a game competition where developers created a game using a title generated by the “Video Game Name Generator”
If you’ve read Microserfs, you will understand what this post is about. I recently dug up some old e-mails lost on a CD and found my old Jeopardy categories when I was 18/19 (and obsessed with economics and how banking systems work).
Circa 1996 (university-era):
Programming Languages
IPOs and CEOs
Computer animations
The Fuck-ups of the Personal Computer industry
Stock and Currency Markets
Pop psychology
Failures of Economic and Government Policy
Now:
Game development.
3D computer graphics.
Children’s literature post-1980s.
American indie music.
Moder cartoons and artsy-fartsy animated shorts.
NHL hockey post-2006.
Mix tape of useless info: Motorcycles, Traveling, Animation pipelines.
It’s rare to see commercial games deviate from the pixel-art / photo-real mode, but in the past few years you see more and more non-photoreal games with a distinctive art style like The Blob, Team Fortress 2, Paper Mario, Okami, No More Heroes, etc.
Madworld by Capcom (Sin City / line art style):
Two weekends ago, I played Team Fortress 2 for the first time as part of Steam’s free TF2 weekend. I think the global illumination-like lighting and illustrative shaders are amazing.
Menus in AAA games have become as fancy as TV shows.
Colin McRae’s DIRT’s UI is out of this world:
GameTap has a nice 3D UI:
Psychonauts + Katamari + The Simpson’s movie game all have stylish menus.
Another approach is to get rid of menus altogether like Burnout Paradise and GTA IV and throw the player into the game using a montage:
Like films, I believe the first 5-10 minutes sets the tone for the entire game. If you plan the game to be exciting and fast, then throw the player into the game ASAP.
After some back and forth with my modelers about PolyCube maps and how that influences their workflow, I’ve resigned myself to that fact that modelers will be using UVs (even though they hate them) for another 10 years for a couple of reasons:
UV mapping tools are now fantastic + cheap + widely available. See UVlayout, Unwrap3D, Unfold3D, built-in tools in Maya, 3DS Max, XSI, etc.
Smart UV mapping saves tons of texture space by intelligently mirroring / folding UVs - although this causes major problems with normal + light mapping where mirroring UV will cause normals to be flipped.
All modelers are taught how to UV map and have developed extensive UV mapping experience by now.
UV mappers / texture artists are so efficient at using texture space with UVs and understand all the normal + lighting mapping problems now. I doubt they’d be willing to move to a 3D projection paint + PolyCube methodology until we have more texture memory and Zbrush (or apps like it) becomes the standard modeling tool.
I’m giving an internal presentation on 3D animation pipelines and how Pixar could possible improve theirs. Even the biggest studios in the world still struggle with managing all their assets.
“Getting it done by whatever means necessary” is great philosophy when you are small, but after a certain size I’d call it the “disaster waiting to happen due to lack of formal process.”
Honestly, only the EAs and Pixars of the world need complex / formalized pipelines. Temerity Software builds a tool that gives us a glimpse of what many of these large internal studios try to build:
To provide software developers with an analogy, Temerity is like a art build process tool. Only large software development houses need complicated code build systems, just like only the biggest game and animation studios need Temerity-like art build systems.
Sadly, the art build process is poorly understood due to the lack of developers who understand the 2D/3D art packages and industry art workflow (both domain-specific knowledge). Thankfully this is changing as I see many job postings for Pipeline developers.
I’ve been toying with Euphoria/Endorphin since GDC and discovered animators can get very bored and twist simple tech into bizarre nonsensical creations.
*Euphoria/Endorphin is fantastic animation system that works using bio-mechanical knowledge of the human body to properly animate it. It is currently used in GTA IV and upcoming Force Unleashed game.
As a TOJam vet and past organizer (TOJam 1 & 2), I’d have to say each year has been a completely different experience: New location, new jammers, new games. Each year has progressively gotten better in terms of size, quality and overall experience.
This year, I actually enjoyed myself and at no point felt stressed or guilty that I wasn’t helping out with the organization of the event. In short, this was my favourite TOJam!
What went right:
I finished my game!
Finishing a game in three day is a big accomplishment if you’ve dared to try it. In last two jams I completed “rather half-assed so-called games” that I would probably not play ever again and I don’t recommend you do either. For one, the first jam game require DK Konga controllers and a GameCube USB adapters (good luck!) and the second require a microphone and the Microsoft Speech SDK installed OR Microsoft Office… that eliminated 50% of the world!
I pre-visualized how the music-to-waveform tech would work beforehand.
Cowgirl and Gospelboy relied on a weird piece of technology played a MP3 file and generated 2D collision geometry on the fly. If I had tried to implement this in 3 days I would have ran out of time. Instead I built a sample app a few weeks ago to test out whether FMOD could dynamically generate a 2D waveform that looked reasonable. I did not write any music to physics code until the start of the game as I felt like that was cheating.
I also had experience with Box2D, the physics engine used, so all technology was well understood (or so I thought).
I didn’t use a 3D engine to make a 2D game!
Last year, I used OGRE to build a 2D game and that was a mistake. OGRE is fine 3D graphics engine, but is too complicated for simple tasks like drawing sprites and rotating them! I choose IndieLib because it was the easiest/cleanest 2D game engine I’ve seen in a long time. My second choice would have been PlayFirst or PopCap, but those game engines are overloaded and rather complex.
The game is actually fun!
My first two games were about experimentation and toying with novel technology like Konga controllers and microphones. This year, I decided upfront that this jam had to have all technology developed and understood. I swore to myself that I’d spend all Sunday gameplay tuning - which I did.
I found as people played the game Sunday night (as part of the open house gaming session), I slowly refined it to a point where by 11:00pm it was becoming addictive. As I’ve mentioned in another post, C & G was exactly the game I wanted to make in the first game jam, but I did not have the physics background then.
What went wrong:
IndieLib was missing features (or had features I thought were supported)
I didn’t realize IndieLib did not support joysticks nor TrueType fonts until the second day of the jam - I scrambled to include OIS support and made due with TWO fonts (big and small).
I also did not spend enough time with IndieLib before the jam and had to learn how it’s co-ordinate system worked when zoomed out and other quirks like issuing BeginScene(), EndScene(), RenderEntities2d calls.
The code was a disaster by Saturday night.
I was forced to refactor the codebase (took 3 hours) and add a state machine and migrate everything into classes because adding menus would have been impossible otherwise. The code was a mess of global variables due to how I just dove into making the game.
High-speed 2D physics creates major problems
There are some annoying bugs in the game and most of them are related to the wave moving at 150 units a second to give the player a sense of speed, but also causes the infamous “tunneling” problem.
Early on, I decided to remove constraining the max and min height of the wave and let it grow as high as possible to give a sense of worldly height without resorting shifting the wave up/down (causes physics problems).
The camera tries to keep the surfer in view, by zooming in and out and other tricks, but due to the high speed of action the player can slide out of view for a short period a time.
Some chosen songs were just not fun to play
The best songs to play are the ones with plenty of variation. Many radio-friendly pop songs keep an even keel with minor variations here and there, but not enough to keep interest for 4 minutes. Jill Barber’s “When I’m making love to you” is a fantastic song to surf to. It ebbs and flows like a bittersweet love song.
I did not provide clear art direction to the graphics floaters (artist)
The main characters needed to be re-designed THREE times during the jam due to my poor art direction. I told the artists to make “Stickin’ around” like characters which they did, but I didn’t realize that meant the clean and straight lines. I was thinking more like “Stickfigure theatre” with more squiggly animated lines. Not the case.