HELP - 2.5D game buiding guide

Greetings.
Please I need help with Cocos Creator.
I want to make fully functionnal 2.5D game(let’s pause it a bit and understand, 2.5D is not 3D, but rather pseudo-3D, meaning hacked 2D to fake 3D simulation, so no, I’m not talking about using any 3D model). But I can’t find tutorials that would help me advance.

What I’m looking for, gives a results like these :

Please I need help with this… From the collision system to the physics in this kind of environment…

Have you read the Cocos Creator Getting Started Guide?

Yes I already did. And the solution isn’t there as of now…

Sorry, what solution are you looking for? Perhaps I dont understand.
How to make a 2.5D game? You can simulate 2.5D with your art style and use normal 2D concepts. The getting started guide will help you get familiar with how Creator works and the concepts behind it.

By 2.5D, art style only won’t do. In the videos, there’s a logic behind the physics which I need to know. So let’s say for instance I wanted to code a jump behaviour in a topdown 2D game just like in those examples. How do I make the collisions work perfectly ? Could you provide a working and commented algorithm for that ?

I see. Let me review the videos closer.

@slackmoehrle
Greetings. Have you found a solution ? How much time would it take before having something ?

3D would be appropriate for this type of game. I also see it could be done in 2.5D

You need physics and a particle system.

If you are using Creator for this I’d start by making sure you are comfortable with JavaScript. Creator 2.0.8 and if you want to try 3D use 2.1

For such games, 3D will be very easy option to make such game in today’s world.
If you are thinking to make this in 2.5D, you will required make your own physics + rendering also.

@smithpatel
Where do I go to start making my own phyiscs + rendering for a 2.5D game… ?
I don’t find any good learning resource on the internet… Nobody or very few people care about teaching a proper 2.5D game development system(especially for a topdown 2D game)…

@slackmoerhle I’m curious about setting at least the right view for a topdown game…
If customization appears to be the only option possible, then I suppose I wouldn’t need the behaviour of the built-in z-axis… Especially if I can’t align the camera along its normal.
Moving an object along the z-axis in Creator brings the object backward or towards the view. It feels like the object’s size grows or shrinks and I don’t want that.
Besides, If I should go full 3D, I don’t want to use any 3D model, only sprites, both for the environment and my characters…

I want to stay true to the concepts shown in the video links…
Should I build a 2.5D physics engine, here’s what I need :

– Any 2D sprite node will have 3 coordinates ( x, y, z )for its position and velocity and moving the node 1 unit on the z-axis moves it one pixel up or down, just like on the y axis.

– Tilemaps will feature sprites and their collision boxes will be made of 3 coordinates for their size: x for the width, y for the height, z for the wall’s height, all in pixels per unit… So for instance if myColBox.size = ( 4, 5, 10) then in the viewport, I’d end up with a box container/platform on which my characters can walk/fall from.

Based on the data in the objects’ properties, sprites are automatically sorted given their position in space at runtime.

Here’re other conceptual demo videos, it’s isometric but could be appied for a basic topdown environment :

For the collider boxes :

For the physics :

How do I get started to code a system like that ?

1 Like

I don’t mean to be rude, but there are tons of material on Google about that.
When I type “create isometric game”, I get awesome websites explaining the physics and math behind those 2.5D (isometric) games, for exemple:

1 Like

You seem to not have alot of coding experience.

Coding a 2.5D game with 3D behaviors is a bad idea as you have to wrap your head around on what y position you are at when e.g. jumping. Do it 3D, it will be alot easier.

If it really should be a 2.5d game, the interesting piece of “physics and collisions” is only to figure out on which tile the player wants to go, getting the y-position of this tile will then help you finding out whether he is allowed to go there or not.

@bruno1308

The exemple you provided doesn’t solve my problem… And I’ve been searching for tutorials for about a week already, without luck. Yours is just a basic isometric game, and that’s not what I need right now.
Please, read my posts again to better understand.

@captainflyaway
I don’t have a lot of coding experience. And I want to learn Cocos. I’m fine using Javascript or C++, but without a proper understanding, it’s hard and takes time. This is also because I’m new to Cocos. When you say 2.5D game, are you talking about something like this(10 min video) :

If yes, then I’d like to know how to handle that in Cocos. It seems, we can add components to a sprite node or tilemap… But how do you edit them, attach them a script like in the video above ?
I’ve also heard using two layers for tilemap can help, if you can store their heights in a table…

  1. Cocos could handle this game just fine. However, not in the same way. This game is developed in Game Maker which is a lot more drag and drop, script kiddie style development.

  2. You can use a parallax node for this. Essentially it uses multiple layers to achieve a 2d, 2.5d effect.

  3. You still need to write a fair amount of physics because 2.5d would work different.

  4. This might not be a first game. This might be a second or third game. Or you would need to work pretty hard to make this type of game.

  5. You would need to decide if you want to learn c++ or Javascript. If Javascript, perhaps consider trying Cocos Creator and going through the getting started guide.
    If you prefer c++ you would need to install Cocos, set it up, review cpp-tests and documentation and create a new template project to get started.

Thats why i said, 3D will be much easier for such games in todays world.

1 Like

I can’t believe it’s complicated to handle a simple collision behaviour and sort sprites in system like this… Well, thank you.
I’ll do my best not to use 3D graphics for that.