Imagine a game engine where you can make games without a single line of code. Instead, you design and create through a GUI by dragging, dropping, setting properties for, and linking modules. Each module represents some user-level component of the game world. By user-level I mean something a game designer would refer to, rather than what a programmer would refer to. So you would have a skybox module, a level module, an enemy module, and so on. Each module is tweaked through a property list, such as what the skybox looks like, what model the enemy should use, and so on. One way to think of it is as a game design engine, that happens to also create the game that you are designing.

As the value of the editor comes from the editing tools, and the interpretation of modules, it is not necessary to write libraries such as a graphics engine or a sound engine. Instead, one could take free or low-cost best-in-class libraries and put them together to power your editor. This will massively reduce the programming cost and time, while delivering the same value.

What makes this possible is that most of the programming in a game solves the same fundamental problems. Characters walk around, guns shoot in the direction they are pointed, enemies die and disappear, triggers react on proximity or speech interactions, and so on. So the key to successfully programming this is to define how low level to solve the problem. Too low level and people will complain they are just programming in a GUI (See Mental Mill). Too high level and people will complain you can only make one type of game. The approach I would take is the same as I do with RakNet: Be high level and just do a good enough job of self-managing that people don’t care about the low level. Focus on one type of game (shooter, RTS), do a good job with that genre, then add modules for other genres as time goes on.

I think this could be programmed by a team of two people over one year to reach beta. Another year for release where you could actually make interesting games. And another year for the product to really be polished, where people won’t complain too much in the forums.

It could be monetized by running the game in a web-browser only, only allowing registered users to make games, and showing ads for unregistered users.

If I ever hit it big with RakNet this would probably be the next project I do.

Average Rating: 4.5 out of 5 based on 234 user reviews.

5 Responses to “”

  1. brian says:

    You really should look at what GarageGames is doing with Torque Game Builder. If only to steal ideas and keep an eye on the competition. 😛

  2. HS says:

    While I fully support the concept of high-level building blocks to create games (or any application for that matter), there *must* be a back-door entrance into the system, allowing the builder to tweak various low-level parts of the engine for certain parts of the game.

    Othewise, you are limiting game design to only the aspects you have determined.

    High-level tools make development rapid, and more importantly, provides a constistent framework. However, I’ve found that many non-trivial applications require that little bit of inconsistency (with respect to the framework) to add that final touch.

    As a weak example,
    the designer may want an end-level boss that can go walk through walls or strip the user of a particular type of weapon.
    A consistent solid framework may not allow this out of the box.
    This is part where the backdoor into the engine comes in.

  3. Hmm… aren’t you describing Unity (unity3d.com) by chance? 🙂

  4. Rak'kar says:

    My system would be in 3D. If I do my job correctly, 90% of users wouldn’t need to modify the source. I could release each module as a DLL to address those users that do need to modify the source.

  5. Vectrex says:

    pretty much Virtools. Node based ‘programming’ with drag drop modules in 3d. It’ MASSIVELY expensive though as they target the big companies for use as a prototyping tool (which it’s quite good at). The modules code is still edittable if you want too which is nice.

Leave a Reply