Windows Warp3D - Game Engine, Level Editor & Model Editor

Discussion in 'Work in Progress' started by Joe Ellis, Mar 12, 2018.

  1. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    Another successful week, got loads of things done that I'd been wanting to do for ages but couldn't cus the engine wasn't up and running.

    I got the collision system working with a rolling ball type player object:





    I'll hopefully upload a playable demo of this soon, I just need to set up how a finished exe will work with the extra files like the models and levels, which is an essential part that needs doing anyway, it should be quite simple though like an installer that installs the game exe and normal gm data along with the extra warp3d files. -Edit, I just realized I can do all this with a zip, I was getting distracted thinking of a finished game which would need an installer

    I also improved the block tool so you can drag and create multiple blocks at once:



    And had some fun with extrusion, which now works any number of selected faces, it used to only work with one face or a quad, or set of selected edges, now you can just select faces and it automatically finds the edges, extrudes them and attaches the selected faces to the new extruded edges.

    [​IMG]
    [​IMG]

    I've also done loads more, mainly finalizing all the tools and gui. As you can see, things are really starting to happen, I still need to do quite alot of small tweaks, but I'm getting them done really fast now that the hard part of the engine is out of the way.

    I was also thinking of releasing a trial version, which is an exe version of the editor that comes with an example game where you can test out all the stuff in the editor, and I'll be able to release this before the first proper release.
     
    Last edited: May 4, 2019
    RujiK, immortalx, inertias and 2 others like this.
  2. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    [​IMG]
    Made some gems and a special shader which makes them look shiny and lets you set their colors individually, and the colors can be changed dynamically in their step events
     
    inertias and immortalx like this.
  3. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
     
    RujiK and inertias like this.
  4. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    Had a go at a ps1 style sky, it doesnt look as good as I want it to yet,
    I need to deform the mesh and make it more swirly. If you squint your eyes it looks how I want it to.
    I did this with the color paint tool with airbrush mode so you can blend all the colors gradually

    [​IMG]
    [​IMG]
    [​IMG]
     
    RujiK and immortalx like this.
  5. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    [​IMG]

    This is looking more like how I want it to, it's still not great, but I think this is a craft that I need to spend alot of time learning
     
    MilkMan5x, Amon, Kentae and 1 other person like this.
  6. Rover

    Rover Member

    Joined:
    Oct 31, 2017
    Posts:
    43
    Great, very impressive
     
    Joe Ellis likes this.
  7. pomderi

    pomderi Member

    Joined:
    Sep 28, 2017
    Posts:
    1
    Super, I hope fly off the shelves
     
    Joe Ellis likes this.
  8. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    I've got a quick update, I haven't had chance to make any screenshots cus I've been working on alot of technical stuff.
    But I've done a ton of engine level things, removed most of the bugs, and sorted out things to do with saving and overwriting existing files.

    I've almost got the particle system setup, and I've got it to use the same render script as normal models:
    There is one script that renders all shaders and the vertex buffers that use each shader, and each particle effect uses a vertex buffer, so they just get added to the render cycle the same as model vertex buffers.

    I've almost completed model\instance animation handling, and they can be either skeletal or vertex morphing, and they both use the same animation editor which uses simple stop motion\capture style.

    I've setup dynamic light handling, using "light groups"
    As there is a limit for how many lights can be active at once, 32 is I think the max before lagging occurs, it could be more, but its not really a good idea for the shader to process all the lights in the level at once, so to make it only deal with ones in the current area, I've made it so you can create groups and set one to be the active light group.
    Btw Lights(and all other objects) can be in multiple groups at once. Groups can also be used for activating\deactivating instances, which can be useful for optimizing.

    I've completed the system for handling dynamic shadows, I went with a deferred approach in the end, even though it has worse performance, it's worth it for how much simpler the shadows are to set up.
    Before each object would have had to use a shader with the shadow code inside it, and this was really awkward cus for each shader there would need to be two copies of it, one with shadows and one without.
    But now I've made it so the shadows are rendered in one shader onto a separate surface,
    and the world (with the regular shaders) is rendered a second time, with the sun color temporarily set to the same as the ambient color (or it can be set to the "shadow_color", so that objects in shadow still have some shading)
    and then this "in shadow" surface is mixed with the normal full bright surface(application_surface) using the shadows surface as the blending ratio.
    As you can imagine, it will be at least 3 times slower, cus the whole world is getting rendered two extra times,
    but from tests it still runs without lag, so I think as long as the render cycle is optimized by deactivating & not rendering things that aren't
    in the current area, it should be able to crunch through the extra draw calls.

    I've also cut out a few things to make everything more concise:

    I got rid of "Sequences" cus you can easily make a sequence by making a group of actions and linking the group to the instance that triggers it, then use action_group_perform_as_sequence(group)
    I also got rid of "Zones" cus these were essentially a 3d box, where something happens when a certain instance enters it.
    But this can be quite easily set up by creating an invisible instance, and then you get alot more choices of mask types and the behaviour is alot more customizable.
     
    JaimitoEs, Micah_DS, Kentae and 2 others like this.
  9. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    Logo 200 11.png

    I made a new logo, I like it but I think it could be improved some how, any thoughts?
     
    Last edited: Jun 1, 2019
    Kentae likes this.
  10. Micah_DS

    Micah_DS Member

    Joined:
    Jul 19, 2016
    Posts:
    500
    This is really shaping up to be a serious engine. Wow. :eek:
    My only thought is that it kind of reads as "W", then "ARP3D", like the two parts of "WARP" are separated in a way they shouldn't be?
    Of course, I'm very much into music production, so the "W" makes me think of a type of waveform visualization and the "ARP" makes me think of "arpeggio", so I could just be seeing it like that because of music stuff.
     
    Joe Ellis likes this.
  11. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    @Micah_DS I thought that aswell, but I use music stuff so it could be that, I think if the W wasn't slanted it would be ok, or maybe if it was thinner, I wanna keep it slanted if I can, I'll see if I can make some adjustments
    Thanks for the praise aswell, I'm really happy with how its turning out
     
    JaimitoEs and Micah_DS like this.
  12. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,266
    Joe Ellis and Mert like this.
  13. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    Thanks I'll have a look at your assets, however I won't need those actual assets cus it never uses any windows dialogs, it's all done with the gui inside the engine. For file handling I'm using the gui with a non-sandboxed dll with the basic search, open, copy, rename functions, then there's another dll for loading textures, and also the fbx importer. But I paid someone to make them cus I've never used c++ before, so I'll have to get back in touch with him about porting them. I'm definitely planning on porting to Mac and Linux, I'm just not sure when yet. I'd need to 2 pc's with them wouldn't I? Or is it possible to get some kind of emulator? I have virtually no money, so it'll be quite a while till I can afford the dll ports and pc's
     
    JaimitoEs likes this.
  14. CMAllen

    CMAllen Member

    Joined:
    Mar 2, 2017
    Posts:
    856
    You could angle the left line of the A to match the W. Or you could angle the WARP the same way and leave the 3d as is. Heck...I'll do some mock-ups for you.
    [​IMG]
     
    Joe Ellis likes this.
  15. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    @CMAllen Hey thanks that's a great idea! I tried it out and I think it's made a good difference to it. @Micah_DS do you think it reads better now?

    Logo 200 Best 11.png
     
    Kentae and CMAllen like this.
  16. CMAllen

    CMAllen Member

    Joined:
    Mar 2, 2017
    Posts:
    856
    That looks to bring the whole word together to me.
     
    Amon and Joe Ellis like this.
  17. Micah_DS

    Micah_DS Member

    Joined:
    Jul 19, 2016
    Posts:
    500
    Oh yeah, that looks much better!
     
    Joe Ellis likes this.
  18. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,266
    How do you load and save models and such? My extensions I linked are cross-platform and not Windows-only. I also wrote an extension for Win32/Mac/Linux that breaks the sandbox called File Manager. Since you own the Desktop license, I'll have to double check with a staff member but I'm pretty sure I'm allowed to port it for you since you own the required license.
     
    Joe Ellis likes this.
  19. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    @Samuel Venable oh right, thanks that'd be a huge help if I could use File Manager. For loading and saving models and levels I use the normal buffer functions, even buffer load & save, cus I copy the required file into the sandbox then use buffer_load like normal, then buffer_save and copy it from the sandbox to the file's proper location. So using File Manager would be really helpful for this. Are you saying I can use it free of charge and include it in my extension package? I'll of course credit you
     
    JaimitoEs and Samuel Venable like this.
  20. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,266
    All of my extensions are free and open source. Dialog Module is particularly useful for having a fully functional get_open/save_filename on Win32/Mac/Linux for loading/saving models/textures and File Dropper can let you load model/texture files by drag and drop onto the game window on Win32 and Mac. I'm procrastinating a lot, but I intend to write individual GTK+ and (possibly) KDE versions of File Dropper for Linux as well. I recommend using KDialog on Linux when using Dialog Module. i.e. widget_set_system("KDialog");
     
    JaimitoEs and Joe Ellis like this.
  21. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    @Samuel Venable well thanks, that's gonna be a big help, it will surely speed up the process of porting to mac & linux.
    About the dialog module and file dropper, I won't really need to use those cus the editor is made purely in gml and runs inside the game, it's just made to look like it uses windows, so it's got those things built in. But the non-sandboxed extension will be super useful for this, thanks again
     
    Samuel Venable likes this.
  22. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,266
    @Nocturne Just wanted to clarify because I've heard conflicting information on this almost every single time I think I have a final answer.

    Am I or whoever @Joe Ellis decides to grant access to his source code allowed to port this to Mac and Linux for him, provided that both him and whoever ports both have a valid GMS 2.x Desktop License?
     
    Joe Ellis likes this.
  23. Nocturne

    Nocturne Friendly Tyrant Forum Staff Admin

    Joined:
    Apr 13, 2016
    Posts:
    6,901
    Yes. As long as the Op (Joe Ellis) gives consent and whomever does the port has a legally licenced copy of GameMaker Studio there is absolutely no issue. Thanks for asking!
     
    Joe Ellis and Samuel Venable like this.
  24. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    @Samuel Venable If you want to port it for me, by all means you can, we can discuss it further on a Pm. Do you want paying for it? that's possible.
    I think the porting would mainly be for the dll's, the texture loading dll should be very easy to port, as it just uses the directx sdk with simple load & set functions, so it would just need the opengl equivalent, and the fbx importer should require no actual changes, as it just deals with an fbx file data, so it would only need whatever's needed for it to work on the other platforms.

    @everyone
    I've started making ambient occlusion, I want to improve the maths in the shader alot and make the crevices more pronounced, but so far I like the result, it does a good job of making a completely unshaded scene look pretty normal.

    The great thing about it is that its really easy to implement and can work with a single "obj_ao" instance with only a few variables, cus all it does is draw a black quad over the screen and reads from a screen space depthmap to calculate the occlusion and simply sets the pixel alpha to the occlusion amount. So it's like an overlay effect.

    I could also make it work with drawing\reading from the application surface and darkening\multiplying by the occlusion, which would probably look better if you wanted the occlusion to be a certain shade or color that isn't black.

    Try and spot which one has the ambient occlusion:

    [​IMG]

    Also, last night I think I worked out how to do mesh uv unwrapping, so that'll mean I can finally implement lightmapping\prebaked lighting, and I've already got a brilliant photon mapping\global illumination system, the only thing stopping me from being able to add it to the engine was lack of being able to generate a uv skin, so yeah wooo
     
    Last edited: Jun 7, 2019
  25. Samuel Venable

    Samuel Venable Time Killer

    Joined:
    Sep 13, 2016
    Posts:
    1,266
    I don't feel justified in getting paid for something that should take about ten minutes, but thanks for the offer! I'll pm you in a few. About to go to a gas station to get a Swiss Chocolate Java Monster to wake me up and then we'll talk. (if you like coffee, I totally recommend this new flavor of Java Monster btw). I'll use libpng for the dll. It's not too much work.
     
    Joe Ellis likes this.
  26. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    I made a little alien character yesterday, I quite like him. He looks like his name should be Roy or Rodney

    [​IMG]

    [​IMG]

    [​IMG]
     
    immortalx, Kentae, JaimitoEs and 2 others like this.
  27. Kentae

    Kentae Member

    Joined:
    Sep 24, 2016
    Posts:
    105
    Awesome character ^^
     
    Joe Ellis likes this.
  28. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    I managed to make a geosphere, by making a prism and then doing a series of processes like spherize, subdivision and equalizing the edge lengths, so if I make an automatic sequence of this, I've got a geosphere generator.

    GeoSphere Test 3.png
     
    RujiK, immortalx, Zek and 3 others like this.
  29. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    Wow, I've managed to do texture mesh unwrapping, for making a lightmap uv skin\texture atlas, which means I can finally make lightmapping with bouncing light rays, ei. indirect lighting, super cool, not normally used in cartoony games but it would be amazing for a clay type game, and also for ambient occlusion. woo, I'll hopefully have some pics soon, I need to resurrect the lightmapping thing I made 3 years ago, the whole reason I couldn't use it in warp3d was cus of lack of being able to make the uvs
     
    JaimitoEs, Kentae and immortalx like this.
  30. immortalx

    immortalx Member

    Joined:
    Sep 6, 2018
    Posts:
    296
    Keep up the good work Joe, what you've managed to pull out is beyond words.
     
    Joe Ellis likes this.
  31. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    Thanks, it is pretty amazing, it's just 3 years of solid work, but I've only got a few small hurdles left, that thing with the uv unwrapping was something I've been trying to work out for about 2 years, so that feels like a huge step
     
    Amon and immortalx like this.
  32. JaimitoEs

    JaimitoEs Member

    Joined:
    Aug 9, 2016
    Posts:
    148
    Wow! I can not wait to see the lightmapping!
    It shows the great love in the project and how well it is progressing!
     
    Joe Ellis and Amon like this.
  33. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    Here's a video of the animation editor and making a vertex\morph animation, which is the other option aside from skeletal.
    This method simply captures vertex positions and face normals and creates a strip of vertex buffers containing the data for the frame's current positions and the next one, so then it can be used with a "morph shader" which blends between the two.
    The anim editor is not currently fully working and there's a few problems with the frame thumbnail drawing, but I just wanted to show this cus its the first time I've got vertex animation set up :)

     
    Kentae and immortalx like this.
  34. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    I've got the path editor working. It took me ages to think of how to make it really easy and simple, and I've made it so you just click and drag the points if the mouse is over them and if the mouse isn't over a point, it makes a new one at the end of the path,
    and to insert a point in between 2 points, you just hold down control and click & drag on a point,
    and also press pageup\pagedown to move them up and down.

    I'm hoping to make paths be able to have multiple points joined together, like a navmesh.
    But I might make a different object type altogether for this, this setup is so nice and simple, I don't wanna clutter it up with any extra features

     
    JaimitoEs, immortalx, Bart and 2 others like this.
  35. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    Here's some progress with the lightmapping:



    It uses a 24-bit grayscale surface for adding up the results from each pass,
    which allows to up to 65025 passes and 16581375 possible shades instead of 255,
    so this means that the more passes are done the smoother the result gets.

    This video only showing direct lighting, made to look indirect by using a randomized 360 degree range of the sun angle each pass.
    I still need to setup indirect lighting, but it's almost ready to go. I'm going to make it work with point and spot lights aswell, and I guess I need to allow colored lights aswell.

    I've also made per pixel ray randomizing rather than per pass,
    but this produces that grainy type result, and it takes alot longer to render enough passes until the grain isn't visible. (Roughly half an hour instead of 3 minutes) But I think the end result is more realistic, so maybe this could be used for "final game" quality.

    I'm also gonna make an option of outputting 2 separate lightmaps, a direct layer and indirect layer,
    cus this would give all kinds of dynamic "shaping" options, like choosing the strength & color of the direct light,
    using a different color for indirect light, and high dynamic range changing, like when you go in and out of a building the balance shifts like your eyes do. And also, this is the only way I can think of how to make the realtime shadows work with this,
    they'll blend with the direct layer, whilst keeping the indirect layer intact. And you could also only have an indirect light layer, and use the realtime shadows for the direct layer.

    Also the uv generator has given me alot of ideas for a uv skin editor,
    like tools for rotating parts, moving individual vertices, glueing parts together.
    This will make uv mapping alot easier in alot of cases cus your able to see a visual position of the uvs.
    And painting onto the model's texture will be possible too, so you'll be able to paint onto the 3d model with the mouse and it will apply the paint to the correct spot on the texture skin.
     
    RujiK, JaimitoEs, Dogarooski and 7 others like this.
  36. FredFredrickson

    FredFredrickson Member GMC Elder

    Joined:
    Jun 21, 2016
    Posts:
    118
    Xor just linked this on Twitter... awesome work!

    During the course of the video, I started at "why would anyone do this in GameMaker" and ended at "holy crap, this is amazing". :D
     
    Ad_Mc, Joe Ellis and Xor like this.
  37. icuurd12b42

    icuurd12b42 TMC Founder GMC Elder

    Joined:
    Apr 22, 2016
    Posts:
    1,839
    Keep it up!
     
    Joe Ellis likes this.
  38. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    Thanks I'm glad you like it :)
     
  39. lolslayer

    lolslayer Member

    Joined:
    Jun 23, 2016
    Posts:
    690
    Hmm hmm, I love how smooth everything looks once it is lightmapped
     
    Joe Ellis likes this.
  40. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    I've been struggling to come up with a good way to implement the realtime shadows and particles, and I've made up a solution that kills both birds with one stone, plus many more, the whole nest is getting knocked off the tree! Anyway, yeah I came up with an object type called an "Effect", which are essentially instances of objects like normal, with a few key differences:
    1. They remain active at all times while the level is loaded, so in edit mode they're still active, which is important for testing and configuring them
    2. They have no model, sprite or any other instance related variables assigned to them, only specific ones that are important to their job
    Oh, that's it actually, but these enable all kinds of things which aren't built into the main engine, such as:
    • Ambient Occlusion
    • Outlines
    • Wave\ripple effect while underwater
    • Screen tinting (eg. red while getting hurt)
    • Rain
    • Smoke & fire, from torches for example
    • magic particle effects and what not

    I'm also debating whether to make this object type not be a separate object type and just have a checkbox on regular instances, something like "persistent" or "always active" but I figured that would generally be annoying always having that option available, so just handle them as separate things, like they are I guess
     
    Kentae and Zek like this.
  41. Lonewolff

    Lonewolff Member

    Joined:
    Jan 8, 2018
    Posts:
    1,207
    Nice work dude. Seems we are all doing the same thing in some form or another.

    Might be more efficient if all of the 3D guru's did a big collaboration one day.


    [edit]
    Who am I kidding? We all love the friendly rivalry. :p
     
    Last edited: Jul 9, 2019
    Amon, Xor, Joe Ellis and 3 others like this.
  42. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948


    It's been really slow recently, but I've worked out some better mesh tools with auto-triangulation. And some cool subdivision functions, like inserting a
    single vertex onto a mesh and it automatically re-triangulates the affected parts, and also a "Quad to hex mesh" function, which will effectively convert
    a grid like mesh to a more geodesic\hex looking one.
     
    JaimitoEs, Amon, Zek and 1 other person like this.
  43. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    [​IMG]

    [​IMG]

    Tilemapping is now working, so you can make an entire level model in just one vertex buffer.
    You can see seams around the edges, this is cus texture filtering is on and the tilemap isn't padded so the edges are blending with the tiles next to the one its using, so I'm going to make a padding function which will create a padded version of a tileset.

    Made a video of it in action:



    [​IMG]
     
    Last edited: Jul 27, 2019
    RujiK, JaimitoEs, Amon and 1 other person like this.
  44. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    Normalmap & specular materials:



    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]
     
    Last edited: Aug 10, 2019
    RujiK, JaimitoEs, Amon and 4 others like this.
  45. BCrash

    BCrash Member

    Joined:
    Aug 5, 2016
    Posts:
    22
    Great work, what a giant project! Looks like per-vertex lighting - are you going to switch to per-fragment lighting?
     
    Joe Ellis likes this.
  46. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    Thanks, no actually most of the pictures are using per fragment lighting, but I think I set alot of them up to look more retro. You can tell it's per fragment if you look at the shady parts cus they're round looking rather than straight lines. Also the smooth shading method I've got at the minute doesn't work that well for quads, it looks alot better with a geodesic-hex like mesh, but with quads alot of diagonal lines in the shading show up, making it look more like vertex shading, so I'm gonna have to work out or find out how to tackle this. I think it can be done with a second pass of blending the vertex normals with vertices that they're joined to. This will make general modelling slower and could cause jerkiness, but I'll make so it can be toggled on and off, so while your modelling you can just use the simple fast method
     
  47. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948
    Here's a video showing the dynamic lights system, and it also shows some of the drag & drop functionality I've been working on.
    You can drag any model file onto the level to create an instance of it, and the same with objects, sprites and action scripts.



    The lights' properties can be changed during game play, as the shaders just use one single global array for all the light data.
    Each active light gets an address in the array, so to edit properties you just need to do:

    global.light_data[@ light[_light.address] + _light.brightness] = light[_light.brightness]

    I've started making objects that control lights during gameplay such as:

    flickering, following a certain instance, moving along a path,
    pulse, strobe, hue shifting, switches that turn them on and off

    Next I need to get spot lights working, and normalmapping with the lights

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]

    [​IMG]
     
    RujiK, Bart, JaimitoEs and 5 others like this.
  48. JaimitoEs

    JaimitoEs Member

    Joined:
    Aug 9, 2016
    Posts:
    148
    Wow! The project is becoming a solid machine! Fantastic! Keep it up!
     
    Joe Ellis likes this.
  49. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948


    This video is not like a flagship video but its still kind of interesting
    Cus I've changed the collision system to create one single collision mesh out of every static model in the level.
    Before it worked per model\instance which was better on ram usage but worse for performance cus of having to do an inverse matrix transformation on every instance that collides with a static model's bounding box.
    So now every moving instance just needs to have "collision_precise()" in it's step event, to collide with the world.
     
    RujiK, Zek, Kentae and 2 others like this.
  50. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    948


    This is the first time I've imported a spyro level and tested it with a full collision mesh.

    It's making me wanna make some kind of snowboarding game
     
    Kentae and Amon like this.

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