Hey, I bought this about a week ago but have been really busy and haven’t had a chance to explore it yet.
Is it possible to create randomly generated levels using your FPS engine? Like if I had it create hallways, rooms, etc at the start of the room, would that work? Or does it require tiles to be placed in the editor for it to function?
This does not have a random level generator in it. What this does is convert layer tilemaps into 3D mazes, and use 3D billboard sprites for the items and enemies you place as instances in the room editor.
However, if you can code logical randomized tilemaps yourself, the conversion to 3D would apply as well.
A room is constructed mostly through 4 layers: Floor, Walls, Ceiling and "Wall pieces above doors". When you draw these layers in the room editor, these will be converted into the 3D maze. If you can figure out a way to consistently have these multiple 2D layers work together into creating a logical random maze, then that could theoretically work. Keep in mind that doors and key placement will probably be a bit tricky to setup.
Randomized levels is not in the scope of this template however since I am not too familiar with random level generation.
What happens is that the tilemaps drawn in the room editor are sampled and turned into 3D cube shapes by constructing the 3D vertices when the level starts (but only if they should be visible). The tilemap itself is then used as a texture source for the generated polygons. The texture source is a surface on which the (animated) tilemap is drawn for each used layer.
The camera projection handles the rest.
It's done using Game Maker Studio 2's vertex/camera/matrix functions.
The hit detection is handled by checking collision boxes and collision lines (using Game Maker functions like for example collision_line).
There's also options where you can set the scale (in tile-size units) of walls, so you can make the walls higher or lower (same with ceiling,...).
As for how to add your own textures, once you understand how to assign texture coordinates to vertices, it should definitely be possible to add that yourself. In fact, the "exit" object, the "door" objects,... already do that!
You should be able to change resolutions by going to the specific code blocks that sets the window size, application surface dimensions, and how those are resized in the fullscreen/window mode code block.
← Return to asset pack
Comments
Log in with itch.io to leave a comment.
Hey, I bought this about a week ago but have been really busy and haven’t had a chance to explore it yet.
Is it possible to create randomly generated levels using your FPS engine? Like if I had it create hallways, rooms, etc at the start of the room, would that work? Or does it require tiles to be placed in the editor for it to function?
Thanks!
Hi!
This does not have a random level generator in it. What this does is convert layer tilemaps into 3D mazes, and use 3D billboard sprites for the items and enemies you place as instances in the room editor.
However, if you can code logical randomized tilemaps yourself, the conversion to 3D would apply as well.
A room is constructed mostly through 4 layers: Floor, Walls, Ceiling and "Wall pieces above doors". When you draw these layers in the room editor, these will be converted into the 3D maze. If you can figure out a way to consistently have these multiple 2D layers work together into creating a logical random maze, then that could theoretically work. Keep in mind that doors and key placement will probably be a bit tricky to setup.
Randomized levels is not in the scope of this template however since I am not too familiar with random level generation.
Thanks for the quick response! I’ll have to try it out and let you know how it goes.
I am looking for a hack and slash side scroller template with text box interaction with NPCs next.
Hey, that looks really cool, congrats. :)
What method do you use for 3d world, the built-in 3d functions, or something old-scool, like raycasting?
Do you have some comments or notes in your engine how to extend it, eg. add own textures?
All code is commented in the project.
What happens is that the tilemaps drawn in the room editor are sampled and turned into 3D cube shapes by constructing the 3D vertices when the level starts (but only if they should be visible). The tilemap itself is then used as a texture source for the generated polygons. The texture source is a surface on which the (animated) tilemap is drawn for each used layer.
The camera projection handles the rest.
It's done using Game Maker Studio 2's vertex/camera/matrix functions.
The hit detection is handled by checking collision boxes and collision lines (using Game Maker functions like for example collision_line).
There's also options where you can set the scale (in tile-size units) of walls, so you can make the walls higher or lower (same with ceiling,...).
As for how to add your own textures, once you understand how to assign texture coordinates to vertices, it should definitely be possible to add that yourself. In fact, the "exit" object, the "door" objects,... already do that!
Wow, thanks for the detailed answer.
I was trying different methods of fake 3d solutions for different type of games, mainly as prototypes, like
or
but yours seems to be really complex and ready to use for little games.I am just wandering how you can increase the resolution (texture and/or entire game window) and how it is affecting performance.
Anyway, as I am curious, I plan to buy yours, maybe only for learning purposes, but with a chance to create a fun project. :)
You should be able to change resolutions by going to the specific code blocks that sets the window size, application surface dimensions, and how those are resized in the fullscreen/window mode code block.
is there anyway you can put head bobbing movement into this? Cheers
I think you mean that the camera swivels up and down while walking? :)
That is in there, altough it's subtle, and can be adjusted.
this is really good. im extremely satisfied with this purchase. There is a ton here to use and the project is put together very well.
Glad to hear it! I certainly hope I made every line of code as clear as possible... I put a lot of effort in my templates, with more on the way!
Thank you, your comment made my day all the better :)