Showing posts with label Gamebryo. Show all posts
Showing posts with label Gamebryo. Show all posts

Thursday, November 11, 2010

Gamebryo / Emergent IP and Assets at Auction

Gamebryo is dead*! Long live Gamebryo!
* - Well gamebryo may not be dead. The development team is disbanded, and it's highly uncertain if another company will try to reanimate the corpus of code.
Emergent's assets and IP are being auctioned, closing Dec 10th. The announcement contains some interesting content, which is nice to be able to share publicly.

The financial profile of the company since 2005 is contained, here it is in handy chart format: 
Note that revenue was significantly less when I joined in 2004. We saw big growth in 2005, and that continued solidly through 2007. The peak of 12.2 Million in 2009 notes a significant success for a product that started with a small core Gamebryo team of ~15 engineers that I joined in 2004. The excellent growth financially reflects the engineering investment of the previous year or two, plus the more recent sales efforts. 2004 to 2009 were very good years.

There are also updated numbers for the number of titles that used gamebryo:
...selected by studios around the globe to bring over 350 titles across more than 15 game genres to market. At any given time, Emergent is supporting over 100 projects in development and has sold over 490 licenses in the past five years.
And the top titles list has some fresh new items, including Epic Mickey:
Titles using Emergent’s technology  include Game of the Year award-winning titles like Fallout 3, The Elder Scrolls IV: Oblivion,as well as critically acclaimed titles like Warhammer Online: Age of Reckoning, Civilization Revolution, QQ Speed, Divinity II – Ego Draconis, Dance on Broadway, LEGO Universe, Epic Mickey, Bully and more.
The amount of investment into Emergent was also listed, "To date, Emergent has secured over $40 million in equity financing and raised over $4 million in venture debt financing". (I don't believe that includes the history of NDL, which was founded in 82 and started development of Gamebryo in the late 90s.)

The diversity of Gamebryo is also mentioned. 14% of revenue came from non video game sources, and no one client represented over 10%. Some of the notable customers were:

  • Video games: Electronic Arts, Activision, THQ, Ubisoft, Sony, Bethesda, 2K, Atari, Disney
  • Online games: Tencent, Shanda, TheNine, NineYou, NC Soft, Kingsisle, EA Mythic, Trion
  • Military simulation: USC ITC, Total Immersion, IP Keys, Lockheed
  • Education: USC, University of Pennsylvania, UNC, Nanyang Polytechnic
  • Other: Rio Tinto, Tacx, WMS, GTech
Among the assets, a data base of over 6,200 profiled developers and 14,775 contacts is listed.

It also incorrectly lists that "The Company holds on patent for Floodgate." I was one of the inventors that filed the provisional patent, which was left to expire and not filed for full patent status.

And so it is, the labor of many passionate engineers, sales staff, and support staff is up on the auction block. I have mixed feelings. One one hand, it was a great run, Gamebryo has had a significant impact on the industry, and that's success locked into history. It's also nice to have a change of pace, and the downturn for Gamebryo has seen us move on to interesting new challenges. But it's also sad, because I feel that Gamebryo could have had a different future, one that continued the success we saw from 2004-2009. It's difficult to speculate on how things could have been done differently, and we'll never have an answer about how else it could have played out. We were aggressive and shot for big growth and new products, not just settling for "getting by" or sitting on our mild success. Investors were interested in big returns. And, if world events and industry winds had blown in another direction, we may have been greatly successful. 

One thing is clear to me, however. When the investors/board decided to cut half of the engineering staff in 2009 they either 1) made an explicit decision to kill the future growth possibilities and attempt to liquidate the investment they had made, or 2) had no comprehension of what a software product such as a game engine is and how much value code without engineers to support it is.

Tuesday, June 30, 2009

Doom Resurrection for iPhone by Id and Zorsis for Wii by Emergent

These two pictures show:
  • Zorsis (Forbidden Terror on Station Z)(Demo) for Wii by Emergent
  • Doom Resurrection for iPhone, by Escalation and Id
Which is which?




Interesting similarities. ;) Kudos to our tiny demo team for GDC 2008.

Thanks Michael Noland for pointing it out.

(Resurrection picture from Kotaku)

Monday, June 22, 2009

Links: Middleware survey, online tech, virtual memory, graphics deconstruction, deferred lighting, ssao, 3d glasses

On the left, a pile of links.
On the right, some Gamebryo games I don't think I've mentioned yet.

Game Development:
  • Mark DeLoura is at it again with another Middleware Survey. (You saw his writup on his Game Engine Survey online or in Game Developer, right?)
  • Darrin West has been writing up detailed thoughts on Online Game Techniques, e.g. his recent post Online Hard Problems.
  • Sysinternals offers handy tools you likely already use, such as Process Explorer. But, have you noticed VMMap? It can show you a process's virtual memory access. This came up recently on the DXGAB email list as a hint to finding memory leaks of GPU resources (look for WriteCombine attrib)
Graphics:
  • Timothy Farrar is verbose and detailed in his many graphics posts this year, certainly you're following along? e.g. game deconstructions: Killzone (+more), Resistance 2
  • Adrian Stone has started a blog Game Angst, and has some experienced thoughts on Deferred Lighting vs Deferred Shading.
  • Accumulative SSAO, similar to what was done in Gears of War 2. A gamedev.net thread on Screen space ambient occlusion together with reprojection to smooth over time.
  • 3D Glasses from NVIDIA. I recently tried these out in the office, with about 50% of people thinking they were cool, to 50% not being all that impressed. I'm concerned it's a bit of an expensive gimick that doesn't add much - gamers won't wear glasses for prolonged periods, and I doubt autostereoscopic displays will justify their cost.
Fun:
  • ThruYOU, sample based music, but together with video from the youtube sources of the samples.
  • Advanced Cat Yodeling (youtube video link -- couldn't help myself, it's funny)

Texas CheatEm
Dungeon Runners
Freaky Creatures
Wizard 101
Bloodbowl
Space Chimps

Friday, May 1, 2009

Rapid Prototyping (and Rapid Iteration) with Gamebryo LightSpeed, Presentation


In April I presented at the 2009 Triangle Game Conference on Rapid Prototyping and Rapid Iteration. I'm making the slides, audio, and video available here:



Abstract:
Studios succeed by securing solid publisher deals, and then delivering games on time and budget. Great games can't be started until that deal is in place, which places great prototypes as one of the most essential stages of development. This presentation discusses several technical strategies that can be used to facilitate rapid prototyping. These include discussions on asset management systems; live tool-game connections; and data driven designer tools and extensions. This presentation is intended for attendees experienced with game development. It will dive into the technical design of these systems and demonstrate their features. Concepts learned will be directly applicable by developers preparing to build a game content pipeline and tool set.
The demonstrations come from Emergent's latest product, Gamebryo LightSpeed.

Friday, March 13, 2009

Mark DeLoura's Game Engine Survey

Mark DeLoura has published results from a Game Engine Survey (part1, part2). Well worth a read for any game developer.

I’m pleased to see that developers are using engines!
55% of the responders stated that they are using a middleware game engine on their current project.
Also, many are using Gamebryo:
39% are using Unreal, and 22% are using Gamebryo, with other engines landing significantly smaller percentages.

Gamebryo 2.6 has been on the market since last fall, and stacks up nicely to the needs developers are expressing: They want tech that works for any genre, Source code, Easy integrations with other middleware, Multi-threading, On target viewers, stand along editors, solid documentation, and real support.

At GDC we’ll be unveiling Gamebryo LightSpeed. (Some press coverage has already gone out.) Looks like we’re on the money with our major new features and tools. Mark’s survey shows developers are demanding tools for rapid prototyping and rapid iteration. We’re delivering just that with LightSpeed, and doing it with the same technology that clients can use all the way to gold master.

Interesting times. I’m glad to have made the transition from internal tech at game studios to a tech company supporting hundreds of games. The industry has rounded the bend on adopting this business model, and from an engineer’s point of view it just makes me feel good to have things built more efficiently.

Friday, February 13, 2009

Building a Game Engine Product vs Internal Tech

Yesterday I was reminded again of the difference between developing Gamebryo as a product and typical studio internal tech.

Joel, over at Insomniac, mentioned how much he enjoyed only working on one platform, and only supporting one version of Maya. While Gamebryo supports several versions each of Maya, Max, and XSI. We cover Win32 with 2 compilers / 2 versions of DirectX / static & DLL configs, Xbox360, PlayStation 3, and Wii. And, for good measure, we keep some of the code running on Linux.

David Boss also happened to have just given an update on our build system. He's running continuous integration on all platforms with unit tests; a full build; extensive regression tests; and packaging into DVD images. This turns over every night. That's impressive for an engine, tool set, and art library this size!

Monday, January 26, 2009

Submitting Our Fails (or, how I love the Error Shader)


I pestered Michael Noland to submit a few images from Emergent to I Get Your Fail, which if you haven't subscribed to you should. ;)

This one is my fav. Several years ago Tim Preston wrote the "error shader", for any situation where a renderer can't bind a shader... and we haven't been able to wipe the smirk off his face yet.

This particular scene is amusing with some error shader, and some missing lighting.

Tuesday, December 23, 2008

A Gamebryo Tower Defense Game: Defense Grid The Awakening


Happy holidays! I have a gift to give away, one free copy of Defense Grid: The Awakening. It is a Tower Defense game built with Gamebryo, just released on Steam. [Update: Deokhee Lee takes it!]

Here's a youtube video-interview that previews the gameplay nicely:

HD Video

If you're keen on the free copy, drop me an email at vincent.scheib at the emergent.net. [Update: Deokhee Lee takes it!] If you miss out, you can pick it up for $20. If you're feeling grinchy, there's always the free flash Desktop Tower Defense... but... lacking the richness.

Tuesday, October 28, 2008

Fallout 3 and Game Engine Overview

Fallout 3 has shipped, with 90+ review scores on xbox 360, ps3, and PC respectively. Major kudos to Bethesda. (Fallout uses Gamebryo)

Also, Gamasutra has an excellent feature article with overviews of 12 Game Engines, including:
  • Bigworld: Bigworld
  • CryTek: CryEngine 2
  • Emergent: Gamebryo
  • Epic: Unreal 3
  • GarageGames: Torque
  • id: iDTech 5
  • Qubesoft: Q2
  • Simutronics: Hero Engine
  • Trinigy: Vision Engine
  • Valve: Source
  • Vicious Cycle: Vicious Engine

Thursday, October 2, 2008

Is Gamebryo Good Middleware?


Kyle Wilson writes nicely thought out articles on game development. He just wrote a piece, Defining Good Middleware, on Gamasutra (also on his site, Game Architect).

I’ve been asked how Gamebryo stacks up to his definition of good middleware. So, I’ll discuss that, plus throw in some additional thoughts. Read his article first.

How does Gamebryo stack up?

Good middleware lets you hook your own memory allocator.


Certainly. We ship an optimized pooled allocator for small objects, and a memory debugging/tracking/analysis system as well. Snapping on your own allocator is easy.

Getting this implemented in a code base is much easier to do early on! Major Kudos go to Shawn Kime who was the muscle man implementing this feature onto a game engine that had already shipped across a console generation and contained nearly 10,000 files.

Good middleware lets you hook your own I/O functions.
Yes, you can register your own functions for loading engine content. There are a few edge cases, e.g. on some platforms we use platform specific APIs sometimes to load certain file types.

Good middleware has extensible functionality.
We design for customer extensions. But, this is a significant task! Every feature must be considered for extensibility, and the right amount of flexibility selected. Some extensibility comes with a performance or memory cost. Most flexibility adds complexity to code.

Solid C++ design can be used in many areas, allowing customers to register custom derived objects with a factory system. The cost is polymorphism, and adding conditionals to code to handle unforeseen cases customers may introduce. Other areas can use template programming with policies, functors, visitors, etc.

Gamebryo 2.5 shipped with a massive overhaul of the geometry system, allowing customers to arbitrarily specify data formats, semantics, interleaving, and sharing. This offers significant benefits, but with a cost. Several fast paths must exist for code based on different formats of data. Some modules restrict the data layout to a known subset. Template programming is used to offer "perfect inner loops" at compile time, but increase the complexity of the code. And the exporting pipeline complexity is increased as client data format requests are normalized against known constraints of the runtime.

Extensibility can not be taken lightly, it is a significant design concern for every feature added to middleware.

Good middleware avoids symbol conflicts.
Gamebryo code has used the "Ni" prefix for a decade... legacy from the product name, "NetImmerse". Once you pick a method to encapsulate your symbols, you’ll find it time consuming to refactor, and a burden to customers to change as well. Big new features are coming for Gamebryo, though, and we are moving to using name spaces for those.

Good middleware is explicit about its thread safety.
Gamebryo has focused on concurrency for some time. Background loading is one of the most basic forms. We also demonstrate how to multithread other areas of the codebase, e.g. concurrent scene graph updates. And, we ship an extremely powerful stream processing solution, Floodgate, built to make high-performance cross-platform multithreading easy for our customers.

Good middleware fits into your data pipeline.
Generic and platform optimized assets are definitely supported. A data pipeline for a game is a complicated system however, and there’s more to it than just intermediate files and packaged level files. There is the need to format data precisely as needed for your game, and we offer rich configuration for data formatting. There’s also the need to manipulate, optimize, and augment data. For that, we offer a configurable plug-in based processing pipeline.

Good middleware is stable.
Gamebryo has a mature code base tended by a large team of engineers for a decade. It’s been battle tested in 200+ games. We ship only a couple of times per year, with a rigorous end cycle of automated and manual testing. And yet, it’s a massive code base, evolving to offer better performance and features, and exposing significant customer extensibility. There are still issues that come back to us, but that is why we have a support team.

The reality of the market is that customers prefer advanced features and performance over high stability. You want it all, but at the end of the day you have to choose where to put your time and effort. What does it take to have a 100% stable codebase? How much effort goes into flight control software stability? How much testing is the right amount for a game engine when there are opportunity costs?

Good middleware gives you source.
Absolutely. If you’re building a AAA game on a middleware engine there is no question, this is essential. That said, casual or low budget games can do amazing things with a binary only version.

This statement gathered quite a few comments on the original posts, a few quotes here:

"... you could equally argue that good middleware should be free (of course not), or that game developers should give the source of their game to game players so that they may fix bugs (of course not).
...
By providing source to their software, middleware manufacturers essentially give up their IP."
- Anonymous-1-Gamasutra
"... there are cases where it makes sense for a middleware company to release the source code. However, in those cases, the value of the middleware company is not in the source code."
- Anonymous-2-Gamasutra
As a consumer, I’d require source. Large games are too complicated and developed in too short a time to not be able to get into source. Additionally, final optimizations of games need to be able to optimize globally, across all source code.

As a middleware developer, giving away source and being exposed to thieves is difficult. People steal the source directly, indirectly, in whole, in part, in many ways. But, they do often face legal repercussions, and the rest is a cost of doing business and selling what people need. And, as pointed out in the comments, the real value of middleware is being able to use it, and that comes from the relationship with the company that supports it. Customers of Gamebryo get an excellent companion staff of engineers working with them to make their games succeed.

All that said, many have done great things with binary only copies of Gamebryo, for example check out this Coldwood Tech Demo.


There are other questions to ask about any piece of middleware: How much memory does it use? How much CPU time does it require? What’s the upgrade path for your current code and data? How does it interact with your other middleware? How good is the vendor’s support? How much does it cost?
Memory and CPU? Mostly that has to do with assets, and how customers configure them.

Upgrade path? Re-export your models, animations, particle systems from Max/Maya/XSI using the Gamebryo exporter. Some clean up will be required, and proprietary formats will take custom code to convert.

Interacting with other middleware is important! We specifically design for it in many sub-systems. E.g. Floodgate and how it shares resources on Playstation3. We also have a team of engineers assisting with and maintaining integrations with partner middleware companies.

Our support is widely acclaimed best in the business. I didn’t believe that statement until I heard it from current and previous customers over and over, studios that have used 2 or 3 of the major engines. I’ve never heard of a studio that used Gamebryo and anyone else who didn’t believe Gamebryo’s support was superior.

Gamebryo’s cost... ;) well... what are you developing? We have a portfolio of options. Talk to sales.

Motivation for Middleware

Kyle makes two strong points:

  1. Middleware provides you with more code than you could write yourself for a fraction of what it would cost you to try. No matter how clever you are, that’s how the economics of the situation work. ...

  2. Middleware offers structure. Middleware draws a line between the things that you have to worry about and the things you don’t. ... As games grow ever-larger and more complex it’s become incredibly valuable to be able to draw a line and say, The stuff on the other side of that line isn’t my responsibility, and I don’t have to worry about it.

I’m not going to rant (in this post) about why middleware makes sense. But, I am going to invite developers to do what they already do, better.

After shipping several console games, it became clear to me that the industry needed higher quality engine code, and that Middleware made sense. We’re hiring at Emergent, ramping up for a new wave of awesomeness, a new line of console hardware, and a better way to make games. If you’ve shipped games, drop me an email. Even if you just what to chat about what it is like to work on Middleware.

(Chrome engine picture used by flickr user lars hammar, Coldwood tech screen shot by Coldwood/Emergent)

Saturday, August 23, 2008

Multi-Platform Multi-Core Architecture Comparison (PC, Wii, Xbox 360, PS3, CUDA, Larrabee)

I just gave a presentation at the Game Connection Developers Conference in Leipzig. It dealt with Multi-Platform support for Multi-Core development... which we've solved at Emergent with Floodgate.

I've presented on this before, but what I added this time was a series of architecture block diagrams to illustrate the wide range of systems out there. They specifically focus on the memory topology relevant for code.

Some quick notes:
  • Sizes and distances between boxes don't have meaning in these diagrams, just the topology.
  • There are simplifications (e.g. I haven't added EDRAM on the 360). However, the high level structure of the systems is valuable to contrast, and I've focused on what general processing typically accesses. If I've goofed something, let me know, but also perhaps I omitted it to keep things simpler.
  • R stands for Registers, L1 and L2 for caches, Mem for Memory, GMem for graphics memory

PC, Multi-Core PCWe start with simple PCs and Multi-Core PCs. Memory is cached, but even with multi-core systems the programmer doesn't have to worry about consistency. As long as synchronization primitives are used to avoid race conditions, the systems take care of getting the right data when you fetch it. (This takes some work, since invalid data could be in an L1 cache that should be replaced by data currently in a write queue from another CPU.)

WiiGetting into consoles, we start with the Wii. There are two types of memory, both accessible by CPU and GPU. However, what's really interesting is the ability to lock a portion of the L1 cache and explicitly manage it with DMA transfers. In one test case, we saw 2.5 times performance improvement by explicitly managing Floodgate transfers with the locked cache!

Xbox 360The Xbox 360 looks quite a bit like a multi-core PC, with multiple hardware threads per core. The main thing to note is the single memory used for "system" and graphical resources. Also, the GPU happens to be the memory controller, and has access to L2, but programmers needed concern themselves with this and only a few developers take advantage of GPU L2 access.

PS3The PlayStation 3 (CELL processor) is the earliest architecture that really rocked the boat. A series of co-processors named SPUs have dedicated memory for instructions and data called Local Stores. These must be managed explicitly by DMA transfers. PlayStation 3 is why we built Floodgate, but as you'll see, it's not the only system that can benefit.

CUDAnVidia's CUDA is certainly an interesting architecture. It differs significantly from other systems, being a large collection of fairly small microprocessors. Each microprocessor block has a shared register file, and a large number of threads that are very efficiently switched by a hardware implemented scheduler. Each block also has a shared memory cache that must be explicitly managed by code.

The left side of the diagram is the CPU of the system, I left it as a dual-core just for an example.

LarrabeeIntel's Larrabee looks like a many core system in many ways. Again, I left a generic dual-core CPU on the left side. The architecture feature to note is that the L2 cache has been broken up and a portion dedicated to each core of 4 hardware threads. However, there is a high speed ring bus that provides access to any L2 from any core. The caches maintain coherency so programmers need only worry about race conditions, but not data barriers, write queues, and caches. However, high performance code will take advantage of the faster access of "local L2 cache".

Some things to summarize:
  • There a wide variety of machine types currently on the market, or about to be here.
  • Some architectures have non-uniform memory, and many require explicit memory management.
  • Systems that don't require explicit memory management still benefit from it. e.g.:
    • Wii with Locked Cache
    • CUDA with Shared Memory
    • 360 with prefetching
    • Larrabee with "right sized" "local L2 cache" data
  • Large numbers of computing elements are coming. CUDA already exposes a very high count, but so does Larrabee. These systems will require efficient blends of both functional decomposition and data decomposition
Ed Holzwarth and I designed Floodgate in 2005/2006 to deal with many of these issues on PS3 & Xbox 360. I'm pleased to find our approach has positioned us well for upcoming hardware architectures we didn't know about then (CUDA, Larrabee). If you'd like more info on Floodgate, for now I'll just send you to some marketing material and a white paper. Also, much credit to those who actually implemented and maintain the system: David Asbell, Stephen Chenney, Michael Noland, Dan Amerson, & Joel Bartley (sorry if I missed someone).

Monday, July 28, 2008

Podcasts, and Sharks with frickin' laser beams!


Sharks have invaded the office... There is a battle between product management and engineering over who can build the best shark with frickin' laser beams. (Spoiler: engineering wins, with real lasers.) The latest challenge includes irritating the turtles in the fountain with a self propelled shark... we'll see if joat can pull it off!

And, podcasts!.. Adam has kicked off an official-un-official Emergent podcast. ;) He and Dan Amerson ramble away about Gamebryo 2.5.

Wednesday, July 9, 2008

Google's Lively


Google has launched Lively, a virtual space for chatting... and... hanging out.

Several blogs mention that Lively uses Gamebryo: e.g. Gamasutra & Virtual Worlds News

I've put up a room here, and embeded it here:

Wednesday, June 25, 2008

Virtual Training, games aren't just for fun


The ESA is reporting that 70% of major businesses are using game technology. Their survey (150 major companies polled) doesn't convince me that gaming tech is used in the working masses yet, but clearly it has it's place in large corporations such as Hilton, IBM, Canon, &c...
“Businesses across the spectrum, from automobile manufacturers to financial service providers, are utilizing entertainment software to help educate their employees to better serve their customers and improve their bottom lines,” said Michael D. Gallagher, CEO of the ESA, the U.S. association representing computer and video game publishers. “Interactive technology is a valuable tool in workforce development and this study underscores the fact that video games have become a mass medium helping Americans live, work and of course play.”
The survey indicated benefits of:
  • a reduction in costs;
  • more efficient and faster training;
  • the ability to apply consistent training across all parts of an organization;
  • the ease of measuring employee participation; and,
  • better information retention.
Well, Gamebryo is game tech, how widely is it being used? Vis/Sim customers include:
  • BAE Systems
  • Breakaway Games
  • Chi Systems
  • Cubic Defense Systems
  • Electronic Warfare Associates
  • Engineering & Computer Simulation
  • General Dynamics
  • Honeywell
  • Muzzylane
  • Navteq / Mobility
  • RTI International
  • STS International
  • Syandus
  • Techrizon
  • Total Immersion
  • USC Institute for Creative Technologies (ICT)
  • Washington Hospital Center
So... how long until McDonalds employees learn their job tasks by training in Virtual McDonalds Camp?

--
P.S. Thanks Phaedra for pointing this out.
P.S.S. baxissimo, nice to see you're finally reading RSS... now... of the countless people I've given that advice... who lives in Tokyo... hmm....

Tuesday, June 24, 2008

Links, New blogs, Random stuff

Time for a few links.

First, a few colleagues started blogging:
Game wise, I'd been searching for some numbers recently...
And finally, check out this real world media animation!


MUTO a wall-painted animation by BLU from blu on Vimeo.

Friday, June 6, 2008

Gamebryo 2.5 Ships!

Gamebryo 2.5 has shipped! This is the largest release of Gamebryo I've worked on, so huge we went right from 2.3 to 2.5. ;) We knocked out a whole ton of work on this one, getting our hands extremely dirty rearchitecting large portions of the engine.

If you want the details and marketing blitz, check the website.

I'm posting now cuz It feels good to ship.


(photo credit flicker user Leo Reynolds)

Tuesday, April 29, 2008

Guest on the 10th Muse Podcast

I was just a guest on the 10th Muse Podcast, episode 21.

We hit some good conversation topics, including:
  • Cutting room floor, where does it all go, are some of the best ideas there?
  • Innovation in games, how important, and how much is there?
  • Games benefiting all of humanity, or are just filler for the gamer niche?
  • GTA using Natural Motion's Euphoria, will NM get the credit, or will GTA soak it all up. How does it feel to work on middle-ware when games take all the publicity?
  • Consequences in games, e.g. to your own character, the virtual world, the supporting characters, the story line, AI, etc.
I ended up referencing a few things:

Monday, April 21, 2008

Gamebryo Powered Games

I work on Gamebryo.
Gamebryo has been used on hundreds of games.
Our website had a nice recent update that listed dozens more games.

Like, Speedracer. ;) Which is ridiculous, but, still.. go, speedracer, go!