1. Hey! Guest! The 35th GMC Jam will take place between November 28th, 12:00 UTC - December 2nd, 12:00 UTC. Why not join in! Click here to find out more!
    Dismiss Notice

Alpha RENDERBEAST - 3D Engine

Discussion in 'Work in Progress' started by Lonewolff, Jan 22, 2019.

Tags:
  1. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Introducing 'RenderBeast'.

    I have been working on a basic 3D framework since around the start of January and I figured it's time to post some progress. Every single line is built from the ground up.

    To this point I have been focusing mainly on sky boxes and model loaders. But there is much background preparation in code for the next phases.

    A couple of screen shots illustrating current progress.

    [​IMG]
    4K video skydome


    [​IMG]
    Sky box and an F16 Model


    [​IMG]
    Sky box and a couple of planet models


    [​IMG]
    The initial workings of shadow mapping. Being cheeky here with the model. :p


    [​IMG]
    Improved lighting shaders.


    [​IMG]
    The beginnings of a basic scene.


    Project details
    • Start date - 4th January 2019
    • Lines of code - 5810 (as of 22 July 2019)
    Present features
    • Custom camera system (the Y up direction is correct again :p)
    • Full texture page control
    • Sky box system
    • Sky dome system
    • Video playback
    • Model loader
    • Advanced surfaces (per surface anti-aliasing, access to 32 depth buffer)
    • Compiled Shader Objects (HLSL11)
    • Directional light
    • Custom matrix system (basic)
    • High performance
    • Basic shadow system
    • Texture page sizes up to 16384 x 16384 (hardware permitting)
    • Node based scene graph
    • Error reporting system (In progress 12 July 2019 - partially complete)
    • Custom matrix system
    To do list
    • Improvements on the shadow system
    • Expand on lighting system
    • Frame based animation
    • Skeletal based animation
    • Custom model format
    • Lot's more - Will add as I think of new items
    Wish list
    • Requests welcome.
     
    Last edited: Jul 22, 2019
    DBenji, sitebender, Roa and 23 others like this.
  2. Misty

    Misty Member

    Joined:
    Jun 22, 2016
    Posts:
    1,024
    Looks nice. If only you had say, someone who made a flight sim before, to help make the game code.
     
  3. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Thanks Misty.

    At this point, my approach is fairly generic. Just testing different camera techniques (free, first person, follow, dungeon crawler, and so on). I'll probably jump on the FPS bandwagon later on.
     
  4. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Haven't posted much in the way of updates but have been hard at it nonetheless.

    Fixed a couple of niggly bugs in point lighting that weren't initially obvious. So they are working exactly how I want now.

    Also started this morning on the 'advanced surfaces'.

    [​IMG]

    The background is drawn directly to the application surface but the planet is rendered to an 'advanced' surface, then rendered back to the application surface. Thus bypassing GM's surface system entirely.

    What makes these surfaces so 'advanced'? Well that's coming up. :D


    [edit]
    Part one was much faster to implement than I initially expected. Around two minutes. :cool:

    [​IMG]

    Per surface anti-aliasing. 1x though to Nx, dependent on the GPU's maximum level.

    [edit2]

    This one was a bit more challenging. But I present to you the hardware accelerated depth buffer.

    Standard render pass.

    [​IMG]


    And the corresponding 32 bit depth buffer.

    [​IMG]
     
    Last edited by a moderator: Feb 8, 2019
  5. RichHopefulComposer

    RichHopefulComposer Member

    Joined:
    Jun 20, 2016
    Posts:
    1,384
    Looking good. Always cool to see 3D stuff in GM!
     
    Lonewolff likes this.
  6. Jordanb

    Jordanb Member

    Joined:
    Nov 16, 2016
    Posts:
    6
    Awesome looks great! Is this a personal project or do you plan to make parts of it available? If you are, I'd be curious to know how accessible the engine aims to be. I'm fascinated by 3D in GameMaker but haven't done much in GMS2 yet.
     
    Lonewolff likes this.
  7. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Thanks @Jordanb :)

    Initially it is a personal project, but I would certainly like to make it available once it gets more robust.

    The aim is to make it very accessible and user friendly, which I am achieving so far. I have been working on a particularly difficult section of the engine lately, so I don't have anything very visual to show for the effort yet.

    Hoping to make a breakthrough on that front this weekend. The day job has been very busy as of late also and that doesn't help the cause. :D
     
  8. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Some massive progress. Along with a massive road ahead.

    [​IMG]

    I thought I'd be cheeky and pull in our friend from the 'other side' :D

    [​IMG]
     
    Last edited by a moderator: Feb 8, 2019
  9. RichHopefulComposer

    RichHopefulComposer Member

    Joined:
    Jun 20, 2016
    Posts:
    1,384
    Got shadows working? Nice work!
     
    Lonewolff likes this.
  10. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Yep :D

    Still heaps to do in that area, like soft shadows and so on. But we can now at least make a scene that has a bit of depth to it.

    Lots to do in all departments in fact. Only scratching the surface of my 'to do' list.
     
  11. IGameArt

    IGameArt Member

    Joined:
    Jun 21, 2016
    Posts:
    125
    How are you handling 32 bit render buffers?
     
  12. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    I had to resort to making a dynamic link library. I couldn't figure out any way around it other than that.
     
  13. IGameArt

    IGameArt Member

    Joined:
    Jun 21, 2016
    Posts:
    125
    I kinda figured that's the route that you went, which is sad. I could use some 32bit surfaces but also have to target other platforms than windows.
     
  14. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    There's no real reason why I couldn't get this working on most (if not all) exporters, but that will be a long way down the road unfortunately.
     
    RichHopefulComposer likes this.
  15. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Not much to report. Just a bit of refactoring behind the scenes to make 3619 lines of code a bit more user friendly on the GMS side of things.

    Still more that I can streamline, but this code snippet replicates what you see in the bottom gif image.

    [​IMG]

    [​IMG]

    Lots to do though moving forwards. Any progress is good progress, I say. :cool:
     
    RichHopefulComposer likes this.
  16. IGameArt

    IGameArt Member

    Joined:
    Jun 21, 2016
    Posts:
    125
    Looks great so far
     
    Lonewolff likes this.
  17. Siolfor the Jackal

    Siolfor the Jackal Member

    Joined:
    Jun 21, 2016
    Posts:
    767
    Well done, dude. Very impressive.
    Got any plans to use this in a specific project?
     
    Lonewolff likes this.
  18. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Thanks man!

    Nothing specific as of yet. Just pushing myself to learn new techniques that I have thus far avoided like the plague. :D

    That and trying to bring those techniques to the main stream with the focus on ease of use, while not making too many assumptions on behalf of the end user. Going too deep with assumptions will 'box' people in, so to speak.

    I'm programming this in the manner that it may be released for others to use some day, which I hope will happen. In doing that, I'm trying to make it as robust and user friendly as possible.


    [edit 24 hrs later, so as not to double post :)]

    Added 4x shadow anti-aliasing while also gaining ~100 FPS on a GTX-1050.

    [​IMG]


    [edit 36 hrs later]

    Massive lighting improvements. See initial post.
     
    Last edited by a moderator: Feb 12, 2019
  19. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Further lighting improvements, amongst other finer details behind the scenes.

    [​IMG]

    Swapped out the Unreal Engine robot now that the project is starting to ramp up, so I don't get nasty letters in the mail. :D
     
    Last edited by a moderator: Feb 13, 2019
  20. IGameArt

    IGameArt Member

    Joined:
    Jun 21, 2016
    Posts:
    125
    Is this being made with 1.4?
     
  21. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    2.x but I can get it to work in 1.4 with minimal fuss.
     
  22. IGameArt

    IGameArt Member

    Joined:
    Jun 21, 2016
    Posts:
    125
    Oh it's cool, I'm on 2.x. I ask because you're using the 1.4 logo in your promotional images.
     
    Lonewolff likes this.
  23. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Ha! Didn't even realise. I got the branding from https://www.yoyogames.com/brand.

    But right you are! I'll have to fix that. :D


    [edit]
    Ooh hang on a sec. Looking in the colour schemes section, I'd say that the branding is universal to both. Correct me if I'm wrong.
     
  24. IGameArt

    IGameArt Member

    Joined:
    Jun 21, 2016
    Posts:
    125
    GMS2 has a different symbol and a strictly black and white logo. It's really not important, but it could imply compatibility with something that's not there yet :p
     
    Lonewolff likes this.
  25. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    LOL, yes of course. Forgot about the logo thing. :rolleyes:

    I'll get on that. ;)


    Updates will start to be less frequent from here on in, as I get in to the guts of the project. Much will be fine tuning and tweaking from here. But be assured that 'RenderBeast' is now a thing.

    At this point in time, I'll post updates on a roughly weekly basis.

    In the meantime, if there are any questions or suggestions, shoot them this way. :)
     
    Last edited by a moderator: Feb 14, 2019
  26. DividingByZero

    DividingByZero Member

    Joined:
    Jan 31, 2017
    Posts:
    504
    This is really impressive!
     
    Amon and Lonewolff like this.
  27. Amon

    Amon Member

    Joined:
    Sep 13, 2016
    Posts:
    277
    If this comes to a complete 1.0 release I'd gladly pay $100 for it.
     
    Lonewolff likes this.
  28. Ali Al - Mosawi

    Ali Al - Mosawi Member

    Joined:
    Jun 20, 2016
    Posts:
    51
    Good to see 3d stuff in this level , thats great
    Very nice shadow quality
     
    Lonewolff likes this.
  29. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    965
    It looks really good what you've done so far, it'll be really good if you make a whole game engine & editor(s), and by the looks of it, it'll be similar to unreal & cry engine, which is good cus it doesn't conflict with mine :DPD Are you making this just for yourself or are you aiming to sell it?
     
    Lonewolff likes this.
  30. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Thanks guys! Your kind comments go a long way. :)

    @Joe Ellis Thanks man, don't worry there's plenty of room for all of us in the world of 3D. :D


    Not sure yet. I'd like to think that others could benefit from it one day, but that's a long way off and lots of polish down the road. It would be cool seeing others use it though and having it out there would make me continuously strive to improve it.
     
  31. lolslayer

    lolslayer Member

    Joined:
    Jun 23, 2016
    Posts:
    693
    Did you use any extensions for this?
     
  32. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Only that which I started creating from scratch in January.
     
  33. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,289
    Hi Lonewolff; please don't leave this time...
     
    James222, Lonewolff and rIKmAN like this.
  34. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    That guy was a legend! I wish I had half his talent.
     
    James222 and RichHopefulComposer like this.
  35. rIKmAN

    rIKmAN Member

    Joined:
    Sep 6, 2016
    Posts:
    4,646
    It was sad he disappeared, he just faded away like a Ghost in the IDE...
     
    James222 and Lonewolff like this.
  36. Amon

    Amon Member

    Joined:
    Sep 13, 2016
    Posts:
    277
    Is testing the Beta possible?
     
  37. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    For sure!

    Will let you know when it's getting close to beta.
     
    Amon likes this.
  38. lolslayer

    lolslayer Member

    Joined:
    Jun 23, 2016
    Posts:
    693
    but the rendering is based on the extensions right?
     
  39. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Correct. It uses the extension system.

    Sorry if I misinterpreted the question. I thought you were asking if it was based on someone else's extension from the marketplace.
     
  40. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,289
    What platforms will this support? (I assume Windows-only?) If it's based on OpenGL, it could be ported to Linux, or if Vulkan, Mac would also be an option.
     
    Lonewolff likes this.
  41. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Windows initially. But as I mentioned to @IGameArt, there's no reason it can't be ported to most (if not all) platforms. The concepts used are easily transferable to OpenGL.
     
    Samuel Venable likes this.
  42. EvanSki

    EvanSki King of Raccoons

    Joined:
    Apr 17, 2018
    Posts:
    580
    This is awesome,I'd love to use this with GM
     
  43. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    One day :cool:

    Much to code in the meantime. And much coding I am doing. Many many hours a day are being pushed in to this little project. :)
     
    EvanSki likes this.
  44. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Added a new camera type called 'Projector', which gives the ability to paint textures wherever you want.

    With this you can easily paint decals or do other cool effects.

    [​IMG]

    This extension now works in GMS1.4, 2.x, RPG Maker VX Ace, and standalone C++.
     
    Last edited by a moderator: Feb 19, 2019
  45. lolslayer

    lolslayer Member

    Joined:
    Jun 23, 2016
    Posts:
    693
    Oh no, I was certain you made it yourself, quite impressive :)
     
    Lonewolff likes this.
  46. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Just playing with a 'semi real world' scenario.

    Had to really drop the resolution of the gif to make it a reasonable file size.

    [​IMG]
     
    orSQUADstra, Amon, Elodman and 5 others like this.
  47. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Trying a concept for how to create a scene editor.

    Did a quick prototype in GMS1.4 as I find it faster to mess about with ideas in.

    [​IMG]

    Successful test! :D
     
    Amon and Joe Ellis like this.
  48. Amon

    Amon Member

    Joined:
    Sep 13, 2016
    Posts:
    277
    Looking gooooood. :)
     
  49. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Decided it might be time to dust this off and get back in to it. :)

    [​IMG]
     
    Bart, Gamerev147, hamdrax24 and 5 others like this.
  50. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    [​IMG]
     
    Last edited by a moderator: May 25, 2019

Share This Page

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice