A downloadable asset pack

Buy Now$6.00 USD or more

Check out my youtube playlist to see the progress with this engine:


This is a game framework/engine I have been working on in game maker. It features:

- Easy to add Weapons and Walls
- Basic 3D physics, jumping, crouching and crouch jumping
- Example assets to learn from
- A LOT of scripts for building from
- Camera Visual Effects (Even color palettes!)
- Simple Finite-State AI

If you want to build a game like the original doom, then this framework is definitely for you. No hassle with having to program your own physics, mouse look, weapon functionality etc. Just fiddle with variables and assets and away you go. Create a 3D platformer if you wish!

- Tutorial videos on building Wolf3D and a Simple Doom clone from scratch using the scripts only
- Save/Load system
- Main Menu
- Am open to requests
- Shadow system to work with the lighting system
- Possible bump mapping
- Many preset characters, weapons and walls

NOTE: It was made in GM:Studio 1.4, but has been confirmed to work in GM:Studio 2



Buy Now$6.00 USD or more

In order to download this asset pack you must purchase it at or above the minimum price of $6 USD. You will get access to the following files:

DoomGameEngine.gmz 1 MB
DoomGameEngineV2.gmz 1 MB
DoomGameEngineV3.gmz 1 MB
DoomGameEngineV4.gmz 1 MB
DoomGameEngineGMS2.yyz 2 MB


Log in with itch.io to leave a comment.


Is this ABANDON WARE now ..?

Its not been interacted or updated in a year with still
'TO COME IN THE FUTURE:' in its listing,

while poor people are still buying and asking ignored questions..

while also, the GMS2 'version' is a sloppy import of the GMS1.4 version..

very poor to be still cashing in on this ...

at least make it free now .. ffs ...

agree, was having high hopes for this one, of course the project is dead, last update March 2019

Yeah, Its a shame because its a good solid asset ..

aye, shame

Hello there i have a few questions... How can i change the windows view size? and where should i cofig a gamepad? thank you

also, where can i remove the fps data on the screen? Cant find it. Could you mind make a gamdpad configuration for the GMS2? Thank you again!


fuck you


Could you send the gms2 version by email? I will send you a proof of what I bought.

Yup I can do that. I have received the email from marketplace so I will send through there

There was no letter yet. I checked 4 days of letters)

The version for the market does not have a ready version for gms2.

okay I bye on market-place...

why only pay-pal method, I from russia and I can't pay this)) because my country not have pay pal

I don't know of any other methods of payment i'm afraid

(1 edit)

by card... PAY WITH CARD

if you select pay with paypal, it should give the option to pay with credit card without having a paypal account

I've tried. Look, if you take it without a pay-pal account, the list does not contain my country. If I try to create an account, for now I only have a "residence permit", but no passport. Those. I just can’t buy your asset)

Why not just make another payment method through a card like everyone else?

Deleted 275 days ago

add "global.timeScale = 1;" to the players create event. That should fix the error

Deleted 1 year ago

add script "doom_light_init();" to the player create event. Now black screen.(((

ok you will now need to add light objects to the room if there arent any already. Hopefully that works

light objects added, but still a black screen. I will understand, watch the lessons. Only 1.4 version works.

Is there a quick guide or a note I'm missing on the process of adding a simple enemy to the game? 


I will work on some tutorials for various things like that once I get my good laptop back up and running 

Thanks!  I did figure it out and looking at everything more I’ve been able to figure out everything I need but tutorials would still be awesome!  This has been the best available 3D resource for GMS2.

Are you having any issues with the rendering in GMS2? I had an email from someone saying they cant see the wall textures but I couldn't replicate the issue


I was having issues with the original wall textures, but I made my own and replaced them without changing any code and the ones I imported in showed up no problem.

Is there an "easy" option to make the ceiling solid with collisions?

If you duplicate the floor object and in the create event set the z position to the height you would like the ceiling

Deleted 2 years ago

Hi. What do you mean? What part did you find badly optimized so I can fix the issue?

Deleted 2 years ago

I see what you mean. I would suggest resizing walls rather than adding heaps in a row to drop the object count. Am unsure if it's a game maker limitation or in my code somewhere

Deleted 2 years ago

No worries, and an update is still in the works. Currently working on making an array based world but game maker isn't performing so well with multiple 3d arrays. Need to find a work around


I was 'Sat on the Fence' about buying this as id rather learn how to make a 3D Doom Clone than Add to another Engine, but noticing that its the fraction of the price thats
on the YoYo Marketplace, I decided to buy .. The future updates look exciting too .. Saveing and loading should be a great addition.. Good Luck!

I would like to do a tutorial but it will take a lot of preparation and work, and I am hard up with time due to working so the best I can do at the moment is just working on the updates of this engine until I can do a tutorial


Its not a problem, Ive bought it anyway .. Ill add my own 'Twist' to your engine! :)

looks very nice; any updates on this one?

I am still working on the lighting system to make it more solid before I release the next update

thanks, looks really nice so far


Update V4:

- Add Per Pixel Lighting system (maximum 16 lights at the moment)
- Add simple shooting script for the AI characters, they stop when they shoot and have a reload time
- Add player making hurt sound and red screen flash when hit by enemy bullet (no health yet)


Update V3:

- Add script and Shader for color palettes. Add a 256x1 color palette, and it will overwrite the default color palette


Update V2:

- Screen shake effect script (just set a length of time for the shake and shake strength)
- Added screen effects (invert colors, black and white etc) (Press '1' to see the different effects)
- Added simple character scripts (Uses a basic Finite-State AI. Not fully completed yet, but has FOV, chasing and losing interest. Also idle wandering if so desired
- Weapon shooting scripts utilize the Screen Shake script


Very very nice! Can you please add a simple enemy(shoot, chase?) GMS 2 Tested - it works fine! Yay!!


Yup I am currently working on some scripts to make adding characters as easy as weapons etc. I will release the update once it is done.

Thank you for confirming that it works in GMS 2. Any other features you would find useful? Assuming it's with in the realms of Game Makers capabilities :P


Other features...  Maybe some basic lights and shadows :) You made great job! Looking forward to new updates!


I have been messing around with Shaders, so lighting and shadows may be a possibility in the future. I have just released an update.

- Screen shake effect script (just set a length of time for the shake and shake strength)
- Added screen effects (invert colors, black and white etc) (Press '1' to see the different effects)
- Added simple character scripts (Uses a basic Finite-State AI. Not fully completed yet, but has FOV, chasing and losing interest. Also idle wandering if so desired
- Weapon shooting scripts utilize the Screen Shake script

Wow! Thats nice!!! Can you add an enemy capable of shooting? Sorry, im new to GMS... how can i change weapon rate of fire? Thank you!


Yup sure thing.

In a weapon object you will see in the create event there is a script being called. You could add attackSpeed = 0.8; or what ever number you wish to set it to. Just changes the rate it goes through the sub images. I will add extra scripts for that like "doom_weapon_set_firerate" or something along those lines


I have made a simple shoot script, and have got the enemy shooting randomly when the player is in range. When the player gets hit he makes a hurt sound, and the screen flashes red.

Also, I have made a simple lighting system. The only script you need for that is doom_light_add(x, y, z, r, g, b, radius), but there is an object called oLight that you can look at and mess with the variables.


Suggestion: Save system would be amazing


Definitely something I will incorporate