What would it take to get 3D in Construct?

This forum is currently in read-only mode.
  • I mean support for loading 3D models to make 2.5D type games (obviously, if you've read my earlier posts). Call me crazy, but all other features don't matter to me. Pixel shaders do not look right without some polygons moving around on the screen. You keep adding fancy pixel shader effects but they look completely out of place being used with flat pictures.

    I've had enough of this. I will put 3D in Construct myself. What do I need to learn in order to be able to make a plugin in Construct that can at least load basic low poly 3D models (such as MD2 files, etc.)? I need to learn C++, right? But how much experience or technical knowhow would it require besides that? I have never actually coded anything in my life. I don't care anymore. I will put basic 3D model support in Construct or else, even if it is the last thing I do. Even if it kills me in the process.

    I guess it's time to start taking some programming classes and reading up on some programming books, and how to do a Hello World program in some language, and then some. Although I could never quite get anywhere beyond that Hello World example in anything I've tried. But that doesn't matter. I have to, even if it is the last thing I do. It's all or nothing. So tell me, where do I start?

  • i personally think pixel shaders and 2 dimensional graphics can work really well together and won't even require heavy amounts of work to achieve desired effects but it would be nice to have 3d support just as well. i don't know where you should start but if you want you can take a look at the repository where all the code for construct is held: http://construct.cvs.sourceforge.net/construct/ and possibly form an idea of how you should go about it. =)

  • I guess you'll just have to spend a couple years learning how to program, and when you have gained the experience, you will hopefully know how to do this. (I'm kidding)

  • I mean support for loading 3D models to make 2.5D type games (obviously, if you've read my earlier posts). Call me crazy, but all other features don't matter to me. Pixel shaders do not look right without some polygons moving around on the screen. You keep adding fancy pixel shader effects but they look completely out of place being used with flat pictures.

    Well for me Pixel shader works splendid with "flat pictures" i like it when Past mix with Future, 2D games have something that 3D will be never able to deliver gamers such exitement.

    So tell me, where do I start?

    If you'r a begginer try the "Hello world!" program.

  • Well, I've said before, the 3D box object, while nifty, is basically a 3D gimmick which shows the engine can switch between rendering 2D and 3D in the same scene (most 3D games do this anyway, if you think about the HUD). The difficulty is the scope of 3D features (meshes, mesh animation, 3D lighting etc) most of which I don't know anything about, and also rendering 3D efficiently. 3D box's rendering is a bit of a hack and isn't optimised like the 2D rendering, so it's also an issue of how to design efficient 3D rendering architecturally, with the runtime, too. And I don't think we'll ever go as far as full-on 3D, as you say, just 2.5D, effectively a game with 2D gameplay but 3D rendered graphics.

    I'd say start with 3D pong in DirectX and unmanaged C++, and maybe some 2D directX stuff too... see how far you get...

  • Tch... at that rate, I would be better off coding the entire game in C++. Ugh, forget it. I think I'll just stick to making sprite based games in Construct then.

    Also, I just read this thread. I hope some time in the future you get more coders. It must be hard working on this on your own. Maybe then we could see some 3D stuff and who knows what else. I wish I was up to the task, but sadly I'm not. Whatever. I guess for now, keep doing what you're doing and keep up the good work.

  • If you really want to do 3D in a game engine that has an event-like system for creating game logic, then I suggest you check out Blender. It's a full 3D modeling and animation program that offers the same features as high-end stuff like Maya or 3DSMax, but there's also a game engine incorporated right into the program that uses "logic bricks" to snap together game programs. The basic system can make somewhat complex games, but you can also expand it with Python scripting (just like Construct) to make more complex stuff.

    Plus, it's all in one. You can model, texture, rig, and animate characters and model your game levels all in the same program without having to export them and import them into a separate engine. It's the closest thing I can think of to a 3D Construct... but if Construct also had a high-end graphics program and video editor tacked on as well.

    Oh, and it's open-source and free.

    The down side of course is you will have to spend a lot of time learning to use Blender. Like Maya and 3DSMax it's quite a complex program that needs a lot of practice in order to use it well. The saving grace on that is there is a HUGE Blender community, and a HUGE amount of tutorials and documentation.

  • I've never modelled so much as a polygon, so I don't think Construct's going in a Blender type direction. If you want a full on 3D first person shooter with world editors and 3D collisions and the works, Construct isn't going to be a good choice for some years to come, I guess. Part of the problem is you won't get very far - in fact I don't think you can get anything drawn at all - without some pretty heavy math involving matrices, vectors, euclidean angles, vertices, and possibly quaternions (I say possibly, because I'm not sure what they're for or how much they're used in 3D gaming). I'm of the opinion that a completely flexible 3D game maker that is easy for a beginner to use is not possible like it is in 2D, except with limitation. As far as I know, programs like FPS maker work by hiding this work from the user, which makes it less flexible. I don't think you could go and make Crysis in any of those programs without dealing with the nuts and bolts yourself.

  • I'd like to point out that my work with the shader system looks just fine in 2D gameplay (and I'm very close to showing it off). If you start with quality in mind for the 2d objects, the shaders can add a bit of subtlety rarely seen in wysiwyg type software. The heightmap feature is smooth and efficient and creates a nifty 3d effect on my current boss sprites. I've created a very nice looking water effect using a combination of layering techniques with shaders running in between (there is a glitch in the Tiled Background Object currently stopping me from showing THAT to the community). I've experimented with atmospheric effects that make a very cool space-to-earth transition complete with faked Rayleigh scattering.

    Even if 2D isn't appealing to you, with the right skill and techniques these shaders can make for a very visually impresive experience. And Construct is blazingly fast with them.

    More to come soon.

  • I've never modelled so much as a polygon, so I don't think Construct's going in a Blender type direction. If you want a full on 3D first person shooter with world editors and 3D collisions and the works, Construct isn't going to be a good choice for some years to come, I guess. Part of the problem is you won't get very far - in fact I don't think you can get anything drawn at all - without some pretty heavy math involving matrices, vectors, euclidean angles, vertices, and possibly quaternions (I say possibly, because I'm not sure what they're for or how much they're used in 3D gaming). I'm of the opinion that a completely flexible 3D game maker that is easy for a beginner to use is not possible like it is in 2D, except with limitation. As far as I know, programs like FPS maker work by hiding this work from the user, which makes it less flexible. I don't think you could go and make Crysis in any of those programs without dealing with the nuts and bolts yourself.

    Oh, I wasn't suggesting that Construct do like Blender does. I was just making conversation. If you want to do what Blender does, use Blender. In general though, I think you're right... the more work you take away from the user, the more limitations you create.

    As a hypothetical though... Could a 3D game maker be made with the same sorts of features as Construct, using the same sort of event structure? I think it's not only possible, but likely to happen eventually. (There's already a very simple 3D program called Alice that uses event-type coding, and while it is possible to make games with it, it's so limited in scope that you probably shouldn't even bother.)

    The biggest drawback for noobs would be creating the actual content. Creating content for 2D is already the major drawback of any game maker. By comparison though, making sprites is easy... making textured, rigged, and animated models, and 3D maps and such is not so easy. For beginners, anyway.

    Procedural modeling and animation could take some of the pain out of creating content (think building your creatures in Spore) but that's something for the not-so-near future. I think it'll come around eventually though. Just like game makers took the tech out of coding games, in effect making game creation more accessible to people, procedural modelers will take the tech out of modeling, making 3D more accessible to people.

  • [quote:28hefly1]The biggest drawback for noobs would be creating the actual content.

    This is the other big stumbling block for an event-based 3D Construct type program. Worlds etc are time consuming to design in 3D, and modelling requires a fair bit of expertese, compared to setting up a 2D layout. What I was also referring to before is that it the maths behind your average 2D game is pretty much GCSE level (compulsory exams you take when 16 in the UK). If you want to go 3D, the concepts and maths go up to A level and beyond. Unless someone can persuade me by coming up with design principles that get around the technical difficulties and still are flexible and easy, I do think that 3D Construct would be a prohibitively difficult program to use, or that it would be self-defeating in that you'd have to have a similar level of investment as making a game in C++.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • I understand that it would be very difficult, but I think the real draw that separates Construct from other 3d engines is the simplicity of the interface mixed with all of the functions, which would definitely serve its purpose in a 3d environment. I realize it would almost be worth it to create a C++ game, but the visual interface would definitely help instead of having to write up all of the code to interact with DirectX9.0 which is one of the biggest challenges in making any sort of game, thus the simplicity in Construct.

    I'm not really sure exactly the math behind the 3d functions, I mean I'm sure I've learnt a lot of the 3d functions and vectors and everything, but I don't really know how it would be relevant in adding to Construct. I mean, what exactly are you looking for?

    Anything I could possibly help with, I would be very happy to help. I would love to get at least a little 3d, even it not the highest quality rendering; so at least you could do topdown 2.5d or something. I think an easy way to go about learning more about 3d rendering is possibly using some other 3d source codes for comparisons? I know there are more than a few open source 3d engines that would probably be of some help.

  • One thing I think would be cool to design, is your simple walkmesh with a 3D character to run about on over the 2D background, as in like, late-nineties Final Fantasy games. But that could be faked with 2D... and doing any of it requires artistic ability, some modeling knowledge, and it seems programs like Construct are created to be used by people who don't know anything, so they can do whatever without trying. Err, what am I saying? I don't know. It's all good.

  • 3D Construct would be a prohibitively difficult program to use, or that it would be self-defeating in that you'd have to have a similar level of investment as making a game in C++.

    It's exaclty what I think about.

    While Construct would benefy enormously of 3D sprites, a "Construct for 3D games" would be a suicide even just in terms of design.

  • I have to disagree. I think simple 3d games can be made in construct and quite well with only minimal new features. Try this demo I whipped up:

    Wasd to move, space to shoot. Apologies for the low res earth - had to keep the file size down to upload it to the board.

    All that's needed to make an actual starfox game is the ability to display 3d models, move them more acurately through 3d space (like a 3d bullet movement for the lasers and to steer ships), 3D collision detection, and a real 3D camera (everything is faked in that example). I could have even done without the 3d collision detection and used detector boxes and checked the Z position to check if the lasers hit the cubes, but didn't bother, because it's mainly to show what could be done.

    And I made that in about a half hour, and could have done it quicker. True, it's no crysis - but it looks cool and could be fun, and construct can already almost do everything needed for a complete version. I honestly believe if I spent some time on that, I could get a 3D starfox clone going that would be entirely playable with construct as it is right now. It wouldn't LOOK like starfox - but it would play like it.

    (Captainoblivious, this was inspired by your efforts.)

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)