1. Hey! Guest! The 32nd GMC Jam will take place between Feb 22nd, 12:00 UTC (Friday noon) and Feb 25th, 12:00 UTC (Monday noon). Why not join in! Click here to find out more!
    Dismiss Notice

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:
    662
    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:
    662


    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:
    662


    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:
    662
    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:
    662
    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:
    149
    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:
    662
    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:
    5
    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:
    662
    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:
    112
    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:
    5
    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:
    662


    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:
    5
    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:
    643
    What system do you use for your spot-light shadows?
     
  15. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    662
    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:
    643
    Cheecky, good stuff :p
     
    Joe Ellis likes this.
  17. The Sorcerer

    The Sorcerer Member

    Joined:
    Jan 3, 2019
    Posts:
    138
    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:
    662
    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:
    662
    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:
    547
    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:
    888
    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:
    855
    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:
    662
    @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:
    662
    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:
    662
    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:
    138
    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:
    662
    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:
    138
    Good job! Looks surprisingly 'native'. :)
     
    Joe Ellis likes this.
  30. Joe Ellis

    Joe Ellis Member

    Joined:
    Aug 30, 2016
    Posts:
    662
    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:
    138
    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:
    662
    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:
    662
    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)
     
    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.

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