Alpha RENDERBEAST - 3D Engine

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

Tags:
  1. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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]
    Wireframe / Solid


    [​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 - 3521
    Present features
    • Custom camera system (the Y up direction is correct again :p)
    • Full texture page control
    • Sky box system
    • 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)
    To do list
    • Node based scene graph
    • Custom matrix system (not so basic)
    • 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
    • You tell me. It's your wish list. :D
     
    Last edited: Feb 13, 2019
  2. Misty

    Misty Member

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

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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: Feb 8, 2019
  5. RichHopefulComposer

    RichHopefulComposer Member

    Joined:
    Jun 20, 2016
    Posts:
    1,358
    Looking good. Always cool to see 3D stuff in GM!
     
    The Sorcerer 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.
     
    The Sorcerer likes this.
  7. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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: Feb 8, 2019
  9. RichHopefulComposer

    RichHopefulComposer Member

    Joined:
    Jun 20, 2016
    Posts:
    1,358
    Got shadows working? Nice work!
     
    The Sorcerer likes this.
  10. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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:
    122
    How are you handling 32 bit render buffers?
     
  12. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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:
    122
    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. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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:
    122
    Looks great so far
     
    The Sorcerer likes this.
  17. Siolfor the Jackal

    Siolfor the Jackal Member

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

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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: Feb 12, 2019
  19. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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: Feb 13, 2019
  20. IGameArt

    IGameArt Member

    Joined:
    Jun 21, 2016
    Posts:
    122
    Is this being made with 1.4?
     
  21. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    2.x but I can get it to work in 1.4 with minimal fuss.
     
  22. IGameArt

    IGameArt Member

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

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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:
    122
    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
     
    The Sorcerer likes this.
  25. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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: Feb 14, 2019
  26. DividingByZero

    DividingByZero Member

    Joined:
    Jan 31, 2017
    Posts:
    497
    This is really impressive!
     
    Amon and The Sorcerer like this.
  27. Amon

    Amon Member

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

    Ali Al - Mosawi Member

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

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    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?
     
    The Sorcerer likes this.
  30. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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:
    651
    Did you use any extensions for this?
     
  32. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    Only that which I started creating from scratch in January.
     
  33. Samuel Venable

    Samuel Venable Time Killer

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

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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:
    3,801
    It was sad he disappeared, he just faded away like a Ghost in the IDE...
     
    James222 and The Sorcerer like this.
  36. Amon

    Amon Member

    Joined:
    Sep 13, 2016
    Posts:
    192
    Is testing the Beta possible?
     
  37. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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:
    651
    but the rendering is based on the extensions right?
     
  39. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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,086
    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.
     
    The Sorcerer likes this.
  41. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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 Member

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

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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: Feb 19, 2019
  45. lolslayer

    lolslayer Member

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

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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]
     
  47. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    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:
    192
    Looking gooooood. :)
     

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