Tag Info

Hot answers tagged

52

The terms 2D and 3D (as you probably already know) refer to the number of spatial dimensions in a Euclidean world-space. This dimensionality must be an ordinal number; there is no such thing as a half dimension, so the term 2.5D is really a nonsense term, and has no intrinsic meaning. That said, 2.5 is "somewhere between" 2 and 3, so 2.5D generally means ...


27

The first game I'm aware of that had the term "2.5D" applied to it was Doom (although Wolfenstein 3D qualifies in some sense too). Wolfenstein 3D was a basically 2D game with a 3D presentation. You navigated a 2D maze, all the floors were flat, all the ceilings were at the same height, there were no windows, doors were floor-to-ceiling and opened sideways, ...


26

I'm actually one of the Don't Starve devs (Kevin on our forums). I don't usually handle the rendering stuff, but I can tell you that the game is in 3D. The ground is just a regular 2D tile map with special transition pieces to make corners look better. There's no special Deathspank-style rounding going on, although we have talked about doing that in the ...


16

Assets like these can be created in any 3D package. They are imported into a game by pre-rendering the models at specified angles, using orthographic projection in the viewport. The pixel effect probably is a side-effect of rendering at a low resolution with little or no anti-aliasing. The spritesheets generated by these will be ordered in such a way that ...


13

You will have to separate your code into separate projects (in the same solution). Usually you would have the following setup: -Engine Core (DLL) -Game + Game Logic (EXE) -Content Pipeline (DLL) -Editor (EXE) For even larger projects you might want to separate the Engine Core over multiple projects like Core, Physics, Graphics, Audio, ...


11

2.5D 2.5D ("two-and-a-half-dimensional"), ¾ perspective, and pseudo-3D ar terms, mainly in the video game industry, used to describe either 2D graphical projections and similar techniques used to cause a series of images (or scenes) to simulate the appearance of being three-dimensional (3D) when in fact they are not, or gameplay in an otherwise ...


9

A platformer like this is still, in its essence a 2D platformer. The 2.5D effect, even the curling around the mountain, is merely a visualisation of a world constrained in 2D. Your physics engine will probably only operate on this world and not on the visualisation of it, so a 2D physics engine will be sufficient. That said, you might be interested in some ...


9

To achieve such an effect, you can use a 3D Projection without perspective (called parallel projection). That will render all your objects at the same size and from the same angle, no matter where they are positioned. Something like this is mandatory if you're using a painted background. Here's a nice overview of some possible projections. In addition to ...


8

Well, in my case, before I got accepted into Digital Media I had to present a folder of various 2D and 3D projects. Therefore, it's imperative that you try and get some of that formal training yourself, which isn't hard. It really depends what you're looking for. Vector and raster art are both big fields to work in, so I recommend programs like ...


7

Well, start programming! You can google for some basic tutorials to get you started, but if you don't know with what game to start, this answer is a great starting point: What are good games to "earn your wings" with? As for books, I would suggest you start from something like XNA 4.0 Game Development by Example: Beginner's Guide and then move to Building ...


6

2.5D is just a convienient way of saying 2D that looks 3D. I supose you could really blur the lines of the definition if, for example, you use a 3D engine but restrict gameplay to a 2D plane only, but personally I'd consider something 2.5D is it looks 3D but acts 2D.


5

Swapping textures will kill your performance. Modern hardware has only gotten more susceptible to this problem, not less, as the speed and power of the shader units and video RAM are growing much faster than the speed increases of the bus between system RAM and the GPU. The only sane approach is to cut down your texture sizes, or generate procedural ...


5

SoulBeaver was correct to point out that you need to know art. A lot of the tutorials online will give you a mechanical guide on how to achieve a certain effect or how to draw with a tablet etc but if you don't know how to draw then you won't be able to produce much. By all means learn the software, if you want to do spriting then you need to know how to ...


5

2D isometric is just a 3D orthographic projection, with a little camera work you could use almost any 3D engine really. The screenshots that I find of Bastion look like they are 3D rendered, but built simply and angular like it was built on a 2D grid. Note that similar games like Diablo3 or Wakfu that look like they are 2D are really built and rendered in ...


5

This is a long answer, but actually the basic premise of divide-by-camera-z is very simple: The further something is away from you, the smaller it appears. Also, the smaller distances between two things appear. Positions (Not required reading if you're using Unity!) Firstly, you need to render positions / points that using correct perspective. Positions ...


4

Separate out rendering logic as best as you could from actual game logic when designing your game engine. One way of doing this is to use Component pattern when building your game engine. For example, XNA uses this pattern at the framework level for flexibility. Use the same code-base for rendering with your level editor; write wrappers if you have to. ...


3

Keep list of compatible components in each system. This way you don't have to iterate over every entity. Your entity manager can take each new entity, and dispatch its components to the correct systems. IMO tiles shouldn't be entities. It's just too memory expensive. Also, as you noticed, tilemap needs special treatment in rendering (also physics), where ...


3

I can't say for sure how that one game did it, but from the video it looks like it's just a regular 3D game world that uses billboarded sprites for game objects. Similar games include some of the Paper Mario games and the Death Spank series. Render your terrain as 3D with a perspective camera. Maybe apply some simple vertex shader to get a little extra ...


3

http://www.permadi.com/tutorial/raycast/index.html Best tutorial on raycasting i could find when i was researching the topic a couple years back. It's pure theory, no programming. Other than that i suggest you read about the Doom engine and the Build engine. Reading the source code is IMHO far too time consuming (it's pure C and ASM, plus plenty of ...


3

Here's a very detailed tutorial: Creating pseudo 3D games with HTML 5 canvas and raycasting. The key search term is "pseudo 3d game." Also I posted the text of the tutorials scgrn mentioned. (I think I read these a long time ago. I remember the ASCII diagrams!) PXDTUT7.TXT PXDTUT8.TXT


3

I would firmly vote for Unity3D. The environment is great, it is fast, it can deploy to all of those platforms (plus iOS I believe). You can also reuse your JavaScript skills to script it (as well as C#, if you want). In terms of 2.5D, you'll just want to fix the camera along an axis.


3

Let xDiff be the difference between the x coordinates, and yDiff be the difference between the y coordinates. The tile distance is ( yDiff/2 + xDiff ) rounded up to the nearest integer.


3

In order for the correct parts of the sprite to be obscured by walls and other sprites, you need to create a plane in the rendering space upon which you can blit the sprite. The plane itself should be the size of the interactable you want to draw, and its normal should be facing the camera, essentially a moving wall perpendicular to the view angle. Once ...


3

New answer: You can still make the skeletons 3D, in game. Animate them once in 3D or generate their animations procedurally. Now, when you're rendering in game, use that 3D skeletal information to apply z levels to the 2D sprites that make up the body parts of your characters. Now, when the 3D bone moves, use the 2D screen translation (of the current ...


3

No. You can choose whichever coordinate system you want. The only thing to maybe consider is what coordinate systems your tools and models are in; converting is no biggie but there's only headaches to be found in being too different. There's a lot of opinion about coordinate. I've been witness to some rather heated debates about whether it makes "more ...


3

The game screen shot you posted is a 3D game. In a 3D game, the objects are drawn using vertices to draw actual 3D objects, which are then colored, textured, so forth. In a 2D game, the objects are taken from sprites / sprite sheets, etc. The difference between the two is how you can view them. A sprite is like a flat piece of paper. You can not view it ...


2

There are lots of great tutorials around on the web for achieving different graphical styles. You'll want to pick up a copy of PhotoShop and start learning it if you already haven't. A few links to get you started: http://tutorialblog.org/pixel-art-tutorials/


2

It depends if any of your physics can happen outside the flat player space. As ghostonline said debris and ragdoll animations are a classic example of out-of-2D physics in an 2.5D game. Another example is bullets: If there are any projectiles in your game, do they follow the curvature of your 2D space or do the travel straight ahead even if that means they ...


2

It could be any 2D engine, but you need to design your tiles somewhat diferent. Also remember that you need to draw your tilemap from top-left to bottom-right to paint the nearest tiles in the last time, so nearest tiles are always painted over the other tiles. You can refine your algorithm by making semitransparent or not drawing tiles when these tiles ...


2

There are a couple of (very) old tutorials on Wolfenstein-style raycasting written by Peroxide. Search for "pxdtut7.zip" and "pxdtut8.zip". The code is written in Pascal but the concepts are explained very well.



Only top voted, non community-wiki answers of a minimum length are eligible