GMDoom Plus!

Heya guys, now that my latest game Combat Cats is released on the Windows store, I’ve had a little time to think about what I feel passionate about. My life as a gamer began decades ago when I first laid my eyes on Doom: Knee Deep in the Dead. Ever since then I’ve been head over heels for Doom, and everything else that came out of id Software’s offices.

Image

It is this love that fuels my latest side project: GMDoom Plus. Partly inspired by an open source game maker file from 2006, GMD+ is a planned semi source port of Vanilla Doom for Game Maker Studio. What this means, essentially, is that I’ll be creating a way to read information from a wad file and load it into game maker in a usable format, with a bare bones fps control scheme. Using this system you’ll be able to load up a wad file, get the graphics, load up a level, and run through it from start to finish, collecting keys, ammo, health packs, guns, unlocking doors, flipping switches, opening doors, triggering whatever. What it won’t do is have ai routines, proper player weapon handling events,  menus, huds, health, armor, player damage and probably more. What does this accomplish? Well I think that it makes the engine much more versatile. You’re no longer bound to creating a “mod” by replacing maps and graphics, but the user will have infinite control over what they can do with the engine. From third person games, to racing, from exploration adventure, to fast paced action fps.

You do with it what you like. Which brings me to my next point. GMD+ will be open source, when it’s done that is. I will likely release milestone demos during development so keep your eyes glued here.

Here’s a look at the progress so far, and this is just after one days worth of work:

ImageWhat you are looking at there is the E1M1, Doom’s famous first level, linedefs and vertexes fully loaded from a wad file and displayed in realtime on a 2d plane. What this signifies is that the information needed to build a complete level from a wad file is easily loaded into GameMaker Studio without much hassle, directly from a wad with no middle man, no dll’s, no extensions. All of the work is done with the functions that are built into Studio. It honestly surprises me that nobody has done this yet, and it is a great honor to be the first to get this tech into Game Maker natively.

About i4000

Video game designer, video game artist, story writer, poet, and traditional artist.
This entry was posted in Uncategorized and tagged , , , , , . Bookmark the permalink.

5 Responses to GMDoom Plus!

  1. death says:

    this looks really interesting. as a Doom fan and a GM user, i support this.

    • i4000 says:

      Thanks much! I dont plan to devote all of my time to this, however since I am working on this based on existing code, development is rather swift.

  2. There has been a previous effort to do this, in ’08 or ’09, I think. I’m sure it was on the GMC, but I can’t find it. (Presumably because the search function sucks :p)
    If I remember correctly, it had managed to load multiple maps fully, and assemble them into 3D models, complete with working BSP. To load .WAD’s in, as they tend to be pretty big, and GM tends to choke on large files, it used an external program written in C++ to split the WAD’s up into multiple bits, which are then loaded individually.
    Gonna keep an eye on your take on it 🙂

    • i4000 says:

      Yes, this is actually inspired by that, that project was called GMDoom by MegaManLegend. Since this is inspired by that, I dubbed it GMDoom Plus, since I’ll be going even farther than MegaManLegend did with his creation. All of the wad data is being loaded by GM:Studio using the file_bin_read_byte function, and it happens very quickly, so far I’m able to load up the data from E1M3 in under .2 seconds. I will be applying several optimizations to the loading, and will very much include gl_bsp code in here to speed up rendering. That in combination with glsl shaders and the new yoyo compiler coming in Studio 1.2, this will be comperable to the current opengl source ports current on the web.

      • Vynzent says:

        You mean you’ll add “easy” implementation of shader effects or just implying that people will be free to program their own shaders for it since it’s GM Studio?

Leave a comment