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:
    744
    Yeah I've been designing it on paper for the last year or so, and I'm just starting to make stuff for it now,
    Its called "Lavaman" and it's gonna be a first person adventure platformer, in low poly ps1 style graphics, I'm gonna make a thread for it once I've got more pics and stuff done. I'm really excited about making it cus I've been wanting to do it for so long
     
  2. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744


    I've been working on the particle system, which will work with "emitter" objects.
    It only uses 1 vertex buffer per emitter, so its the same as rendering a single model.

    Each emitter has properties:

    Type - (the type of vbuffer) pointlist, linelist, sprites, or meshes
    (each mesh type will use a simple "builder" script, for instance a long triangular pyramid respresenting the rain drops.
    So this means you can create your own mesh types)

    Size of area it covers (random placement) (x1, y1, z1, x2, y2, z2) (or spherical placement (radius))

    Direction (in which the particles travel) (can have randomization, for things like smoke)

    Speed

    Length (if using lines)

    Max distance (Distance fading)


    Also the shaders used can have randomization, to make the loop different every time,
    (and building\rebuilding the vbuffer is fast enough to do without any lag (tested with 2048 particles))
    I'm hoping to implement some types of non-linear travelling along the route from start to end, like waves and spirals (which would be good for magic)

    I'm also gonna make a collision option, so that rain lands on rooves and wont end up indoors.

    I will also release a "stand-alone" version of this, that doesnt require Warp3D and you can add into your own projects without Warp3D.

    -The video quality on youtube doesn't really do it justice, here's a link of the higher quality video:
    https://drive.google.com/open?id=1VQRxQG8UgZM94BQHa0IHhLO0bqsbjHuY
     
    Last edited: Nov 30, 2018
    Kentae and Seabass (The Human) like this.
  3. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744


    I've tried to make a cartoony water wave effect, using normalmaps to offset the texture coords,
    I'm quite happy with this result, and its a cheaper alternative to water with refraction and reflections, cus they need multiple surfaces,
    but for liquids that arent transparent or reflective I think this gives a nice effect
     
    Kentae and inertias like this.
  4. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    Here's a couple more videos:

    Building a skeleton:



    More water effects:

     
    Kentae likes this.
  5. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    I was gonna wait until I had a better animation example, but that could be some time due to my lack of animation experience,
    so heres a clip of the animation editor, showing some of the features like copying & pasting frames and reordering them:



    The animation itself obviously looks terrible, cus I've never done any skeletal animation before,
    but I'm hoping to get better the more I use it.


    Rigging & animation with actual models coming soon!

    Anim Editor 16.png
     
    Kentae and Micah_DS like this.
  6. Rayek

    Rayek Member

    Joined:
    Jun 27, 2017
    Posts:
    170
    While I am quite impressed by the project and your developing skills, I have to ask: why choose this over a fully integrated 3d workflow like the ones in Unity, Godot, or Unreal? Aside from staying in Gamemaker, wouldn't the render quality and overall workflow be much more sophisticated and convenient in a game engine that is built up from the ground with 3d games in mind? With lots of documentation and community support?

    Not trying to spoil things, of course, and I have the deepest respect for your coding prowess. You seem to have a lot of fun working on this project as well, and that is more important than anything else. I just can't quite fathom the benefits yet over any of the established 3d game engines.

    Unless it is a matter of wanting to stick with GM no matter what, of course.
     
    Andrey and Joe Ellis like this.
  7. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    I think its a combination of these reasons:

    1. I can't find a 3d game engine or modelling program that I like using and need one to make my games.

    2. I really like coding with gml and want to still use it to make my 3d games.

    3. I want a better version of the room editor that lets you edit each instance's variables and create things like triggers & sequences which perform specific events without code
     
  8. Evan Kinsler

    Evan Kinsler Member

    Joined:
    Dec 10, 2018
    Posts:
    13
    When it comes to creating a certain room, is this engine helpful for simply creating a room out of a random PNG image, making certain borders and walls to where it seems manageable and also will it help with camera movement and make camera viewings at least pixel-by-pixel kind of like Undertale how movement is by pixel by pixel in-game and not some kind of smooth, 60fps camera view like many of the undertale fangames?
     
  9. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    No but I'll make a process that does this at some point. I am planning on making a few easy tools like:

    make a voxel model out of an image
    tomb raider \ minecraft style modelling tool
    Build\Doom style sector editor
    Terrain from a heightmap

    The thing about the camera, that can be done quite easily, either by rounding the camera's coordinates so its never in-between pixels, or make the app surface low res and stretched to fit the screen.
     
  10. JaimitoEs

    JaimitoEs Member

    Joined:
    Aug 9, 2016
    Posts:
    114
    Your engine looks extremely powerful, i really like your window interface.. you give a good answer to Rayek, working with a 3d enviroment in gml it´s a dream for people...Basically is a mix of easy coding and exportation combined with a good 3d level editor.
    Keep working on this wonder, it looks very solid and professional, I´m in love with the tool to create terrains and walls... Great Job!
     
    Amon and Joe Ellis like this.
  11. Evan Kinsler

    Evan Kinsler Member

    Joined:
    Dec 10, 2018
    Posts:
    13
    Yeah. I bet you can simply do that type of thing in GMS 2 by itself.

    But if not, do you know any kind of engine that actually does that type of thing?
     
  12. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744


    Been testing rolling ball physics and spot shadows, I'll be testing this rolling ball in a spyro level soon
    with a collision hull on the level and precise spherical collisions for the ball :D


    Sorry for the late reply,
    I'm not sure, but I'd have a look on the marketplace, there's probably something that does this.
    Is the png to level thing your on about 2d or 3d? I could maybe make a few scripts for you that does it in 2d


    Thanks! I really appreciate it, its nice for someone doing a similar thing to comment and say its good
     
    Abdur Olajuwon and TheSnidr like this.
  13. Evan Kinsler

    Evan Kinsler Member

    Joined:
    Dec 10, 2018
    Posts:
    13
    I have a PNG image that I'm trying to convert into a 2D room and seriously all that I have done to be safe is press "add room" and leave it be. I nailed the sprites, the character animation and I'll handle the character movement but if you have any scripts or engine recommendations that have to deal with applying a room that you can spare, I would love that.

    Maybe if you have any tips and tricks on making walls and borders on a 2d map to limit the character's areas it can move to...that'll be fine as well.
     
  14. lolslayer

    lolslayer Member

    Joined:
    Jun 23, 2016
    Posts:
    651
    What system do you use for your spot-light shadows?
     
  15. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    Yeah I know a few things that could help, I'll pm you tomorrow :)

    All I did was use a uniform vec3 for the position of the ball and darken the pixel by the closeness it is to this position, and offset it by the sun normal.xy * the z distance from the varying pixel world pos, its not 100% accurate but works when the sun is mostly pointing downwards
     
  16. lolslayer

    lolslayer Member

    Joined:
    Jun 23, 2016
    Posts:
    651
    Cheecky, good stuff :p
     
    Joe Ellis likes this.
  17. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    This looks great. I can't tell if this is for GMS 1 or 2, or both.

    Your marketplace link for this seems to be dead.
     
    Joe Ellis likes this.
  18. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    It's going to be for both, but I'm making it in 1.4 cus I started making it before gms2 came out. When it's finished I'll hopefully be able to port it straight across, there could be a few complications which slow it down, mostly to do with the dlls, one of them needs to be rewritten to work with dx11, but it should be quite simple to do and I'll hopefully get that sorted before version 1 comes out.
    I removed the marketplace link for now cus it was stressing me out how people could get the beta version, cus I've improved it alot since then, so I'll probably just upload version 1 when its ready now.
     
    Kentae and The Sorcerer like this.
  19. SinglePotato

    SinglePotato Member

    Joined:
    Jul 5, 2017
    Posts:
    3
    That's some great effort put into the engine. Would love to see how it's doing once you've released it.
     
    Joe Ellis likes this.
  20. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    Update -

    I've made undo\redo history! Every change you make to any object gets logged and you can undo\redo using ctrl z\y or open the history window,
    Where it shows each change with the object name and the variable.


    I've made a folder tree system for the world editor,
    which will be very good for organizing all the objects,

    Folder Tree.png

    Actions & Triggers

    Create action objects which contain a script and choose the arguments it uses.
    Create triggers with a collision mask and choose the actions it will perform when a certain object collides with it.
    You can also choose whether the actions are performed either when the object enters it, leaves it, or does it
    constantly while the object is inside it's mask,
    and you can also choose the delay\recharge time for how often it will perform the actions.
    Actions can also be attatched to specific triangles in a static model, and triggered when an object collides with the triangles.
    This allows you to make certain surface types like water, harmful, conveyor belts, bounce pads, slippery, climbable\ladders, teleports and many more.


    Weighted color blending

    Where vertices can blend between multiple colors (up to 8) and have a separate weight per color, (which you can paint on with the brush tool)
    so the blending ends up non-linear and allows you to do alot more than standard vertex coloring,
    the 8 colors are handled via a uniform, so the vertex buffer only needs one extra vec4 attribute
    (for weights 5-8)

    Weighted Colors 1.png

    Weighted Colors 2.png

    Weighted Colors 3.png

    Automatic stretch uv mapping

    It automatically finds the most square uvs and takes into account whether the faces are floors or walls
    and maps them correctly with left to right, top to bottom orientation,
    This makes it alot simpler to do affine ps1 style mapping.
    The uvs can also be flipped, rotated and moved manually afterwards with the uv tool.

    [​IMG]

    Prism tool

    click and drag to make a polygon and then choose how tall you want it and instantly make a prism
    with any number of sides

    [​IMG]

    [​IMG]

    Topdown\2d camera mode

    Warp3d is going to be able to make 2d games aswell, and you can make use of the modelling tools to make 2d models,
    vector sprites(with skeletal animation) & invisible collision polygons for precise vector collisions.

    2d View.png
     
    Last edited: Jan 16, 2019
  21. YanBG

    YanBG Member

    Joined:
    Jun 25, 2016
    Posts:
    569
    Looking good! Did you release it? If so, how many downloads you have?
    Good luck!
     
    Joe Ellis likes this.
  22. Misty

    Misty Member

    Joined:
    Jun 22, 2016
    Posts:
    961
    How on earth did you make such a beautiful level with this? Did you make this yourself?? Is it easy to make beautiful levels like this using this software???
     
    Joe Ellis likes this.
  23. BattleRifle BR55

    BattleRifle BR55 Member

    Joined:
    Jun 24, 2016
    Posts:
    901
    I'm sure you can make such levels with this software, but that's ripped from the first Spyro the Dragon. :p
     
    Joe Ellis likes this.
  24. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    @Misty Yeah I just used spyro world viewer and imported it with the fbx importer
    I sure hope so, I've been designing all the tools with making levels like this as the priority

    @YanBG Thanks, I did release the beta version but I took it off cus it was stressing me out, cus it had too many bugs and unfinished stuff. I'm just gonna release it when its done now
     
    Kentae, Micah_DS and YanBG like this.
  25. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    I've recently updated the shadows to use depth mapping instead of id mapping, id mapping was faster but it was a hell of alot more complicated to set up and not really worth it, every object needed a unique id, and they also didn't self shadow, now with depth mapping they do and everything is automatic.
    I think I'll upload this as a separate asset on the marketplace soon when I've neatened the project up, I could see it being really useful for alot of people.

    [​IMG]
     
    Micah_DS and Kentae like this.
  26. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    I've hardly got anything to show this week but here's a few pics of what I've been doing lately:

    [​IMG]

    Isometric view, for super cool games the look like dungeon keeper, I don't really know any other games that have done 3d models in isometric, so there's a whole niche right there!

    [​IMG]
    These are all the different object types you can make inside a model, I've tried to fill every possibility, there's probably some really complicated things that it can't do, but I've covered most things with these, the extrusion object is particularly useful for making roads, you select an edge(or several) and choose the angle they rotate or move each step, you choose how long(how many steps\segments) it goes on for, and you can make several parts\layers per extrusion
    The voxel map is what I'm really excited about, that will basically be like minecraft, but be able to have wobbelyness like dungeon keeper, I'm looking forward to making levels with this, it'll be really easy to map them out roughly, then I can convert them to a standard model to add more detail or bend them into different shapes
     
    The Sorcerer likes this.
  27. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    Nice! Is the IDE you have there made in C++ or C#, or is this built in GM also?
     
    Joe Ellis likes this.
  28. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    It's all in gm with sprites haha, I draw it in paint, then copy and paste in sprites and program the coordinates
    The actual functionality was the hardest part though, I'm still refining it now
    It's weird the amount of things that are built into windows that you just take for granted, and they're actually really well designed, I've tried to imitate most things - at least the parts that are useful, and then I've come up with a few other parts that are more useful for this program, like dragging and dropping say a script into an object's variable, when the variable is a script it uses, like it's state or something
     
    Last edited: Feb 3, 2019
    immortalx and The Sorcerer like this.
  29. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    Good job! Looks surprisingly 'native'. :)
     
    Joe Ellis likes this.
  30. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    Ah Thanks! That is a really good complement, cus I wanted to feel comfortable in it and that I'm in a normal windows program, I'm not sure how everyone else will like it cus everything has a new gui recently, but I figured this look has been around for ages and is probably better than making it modern, cus it'll look out of date in 2 years if I make it modern
     
    The Sorcerer likes this.
  31. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    192
    That's he thing isn't it? So many new takes on modern Windows GUI's, and which one will last? At least the tried and true 'win32' style will always feel normal to people.
     
    Joe Ellis likes this.
  32. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    Exactly :)
    I think it's actually a really perfect formula for gui, its hard or impossible to improve that exact look
    But they did actually copy it off this gui designer program that was on mac, I can't remember the exact program but I found it a while ago, It was basically a program that made really nice gui, and microsoft just copied all the best bits and put it in windows 3.1
     
    Last edited: Feb 3, 2019
    The Sorcerer likes this.
  33. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    A few more stragglers, may aswell post them

    [​IMG]
    You can view a script by clicking on it in the asset brower

    [​IMG]
    Material Editor (For editing materials)

    [​IMG]
    Lookin pretty cool, reminds me of rayman 2 (oogh)
     
    Andrey, IndianaBones and The Sorcerer like this.
  34. kagiol94

    kagiol94 Member

    Joined:
    Feb 3, 2019
    Posts:
    6
    This is looking great so far! Really interested to see the development of this!
     
    Joe Ellis likes this.
  35. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    No visual progress but I'm very near completion of the entire engine! It's very hard work though, this last stretch is exhausting me
     
    curato and Kentae like this.
  36. hambo245

    hambo245 Member

    Joined:
    Sep 3, 2017
    Posts:
    5
    I myself am only a barebones novice but know enough to see this looks incredible. Really look forward to getting my grubby little mits on the final piece and tinkering around.

    You can do the final stretch gogogogo!
     
    Joe Ellis likes this.
  37. Ali Al - Mosawi

    Ali Al - Mosawi Member

    Joined:
    Jun 20, 2016
    Posts:
    34
    Its very cool work . Iam very intersting to buy it from marketplace
     
    Joe Ellis likes this.
  38. Wzqxrys

    Wzqxrys Member

    Joined:
    Mar 3, 2019
    Posts:
    6
    Yooooo Joe Ellis great stuff on all of this wow i'm super impressed.
     
    Joe Ellis likes this.
  39. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    I've got hardly anything to update about besides this:

    [​IMG]

    It looks really terrible but its the start of multitextured terrain, I've just gotta work out how to make a tool that selects which texture you want and makes the blending happen around it,
    The 162.71 is the real framerate, while it's constantly rebuilding 4 vertex buffers of terrain, so that means its fast enough to change in realtime, like populous! yaay
     
  40. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    I've got some good news, I started making an obj importer\exporter!
    So all the models you make will be interchangeable with blender etc. There's an Fbx importer aswell, the same one that's in SMF, I gave it to snidr, but it doesn't work properly with animated models, (I didn't write it, I got another guy to make it will a dll, and it's kind of slow) so I thought, why not make an obj importer in standard gml that loads gradually,
    It's kind of weird, I didn't realize how simple the obj format is, and I made most of the scripts in about half an hour earlier on,
    (not bragging) I just i think I overlooked it before cus I was that busy focusing on really complicated things.
    So hopefully I'll upload the obj importer soon, It'll be free, partly cus there's many others and also cus its not actually that useful on its own, but it'll also be a feature in Warp3D and fully exportable (in case you fall in love with the model editor and want to use it for your unity\unreal\cryengine game hehe :oops:)

    I've also got good news on the actual game engine side, pretty much all of it is finalized and really close to running like clockwork,
    I know I've been saying this for the past year or so, in fact in my family it's become a catch phrase "uh yeah, its almost finished" then everyone laughs,
    but I keep making it better, that's the important thing, and all the loose ends are tying up, I've even got it so you can edit a model inside a level,
    so say you're placing enemies in a level and think "oh that corridor should be a little bit wider" you can just right click and "edit model here"
    and then it goes into model editing mode while all the other stuff in the level is there!
    I always wanted that to be a feature, but I never knew whether I could get it to work
     
    Ches Rowe, CMAllen, Micah_DS and 3 others like this.
  41. Ches Rowe

    Ches Rowe Member

    Joined:
    Jul 13, 2016
    Posts:
    33
    This looks insane! I love the ui style!
     
    Joe Ellis likes this.
  42. m0zzy

    m0zzy Member

    Joined:
    Jun 20, 2016
    Posts:
    84
    This looks awsome ... wanna have a play with this soon ... :)
     
    Joe Ellis likes this.
  43. Amon

    Amon Member

    Joined:
    Sep 13, 2016
    Posts:
    192
    My money is waiting for the official release. :)
     
    Joe Ellis likes this.
  44. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    I've improved the block tool to work in a minecraft voxel kind of way, but it has the advantage of not storing empty blocks and isn't confined to a grid, it just checks if a vertex exists at a position where its about to create one, and if it does it uses that vertex instead, so the blocks share the same vertices and get joined together, it also automatically deletes hidden faces, so the meshes end up hollow, which is most of the time what you want, -there is the option to disable this if you need the blocks to not be joined together.

     
  45. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    744
    OOOOO, theres no visual progress, but I've been working on all the data loading aspects and it seems everything is working, levels load up and play correctly, go into edit mode, save, reload, etc. I feel like I'm really getting to the end of the road
     

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