transition from 2d to 3d

Started by
16 comments, last by ChristianFrantz 11 years ago

I actually have no idea where I would even start with 3d game making because I feel like there are so many options and I really need to start out with the easiest option

This is actually simple, though perhaps laboursome at first:

1. Grab some XNA sample that has some 3D camera

2. Create a XZ plane with Y=0 that will temporarily serve as a level terrain - just repeat some texture at first - just to get sth on screen as fast as possible - this is very important, because internally, the gameplay logic will be 2D (e.g. only X and Z position, since ypos=0). Later you can add the terrain, where the ypos will vary.

3. Understand the camera and how it works - make sure you can , at any time, in your main class get the camera loc and orientation and its view matrix

4. Start rendering some cubes above the ground.

5. Promote few cubes into "Enemies" and start moving them along a series of waypoints (e.g. "Patrolling") - create a FiniteStateMachine for that with states like ("Stand", "Still", "Walking","Dead")

That should keep you busy for a while smile.png

VladR My 3rd person action RPG on GreenLight: http://steamcommunity.com/sharedfiles/filedetails/?id=92951596

Advertisement

I would definitely recommend sticking with XNA, since when you decide to take other platforms for a spin, all you need to do is just to do a conversion to MonoGame and suddenly your game can run on Andorid - Playstation Vita, iOS on to pof XBOX, WP8 and PC.

It's not quite that simple...

From the MonoGame website:

system requirements

FOR DEVELOPMENT
  • iOS - Mac OS X, MonoTouch, MonoDevelop
  • Android - Mac OS X or Windows, Mono for Android, Mono Develop or Visual Studio
  • MacOS X - Mac OS X smile.png, MonoMac, OpenTK, MonoDevelop
  • Windows - Windows, Mono, OpenTK, MonoDevelop or Visual Studio
  • Linux - Linux, Mono, OpenTK, MonoDevelop

To develop a game for iOS and Mac, you'd need a Mac. To develop a game for iOS or Android, you need MonoTouch or Mono for Android, products from Xamarin that cost an arm and a leg.

It's not really a "suddenly your game can run everywhere" sort of thing, unfortunately.

I googled Cube World, and while that game does look fun, I think it would still be pretty tough to program an Action RPG Voxel destructable Terrain multiplayer game coming straight off of 2D Pong.

using cubes is a good start though. You could try and make a Geometry wars type game. Or if you want to look into 3D Modeling (check out Wings3D) Free cross-multiplatform modeler which I use (easier to use then Blender, but can't do animation which is an advanced subject anyways).

If you want to use models that don't animate you can think about things like spaceships, pirate ships, tanks, buildings.....

I must have missed those $300 licenses recently. That kinda sucks. Still, it is not the fault of the MonoGame Team...

However, if your game does not generate even those $300 combined on PC, XBLIG and WP7/8, then I don't really see a point in getting it to run on iOS/Android either :-)

VladR My 3rd person action RPG on GreenLight: http://steamcommunity.com/sharedfiles/filedetails/?id=92951596

Imagine the blocks in Minecraft and them put a 9x9 grid on them. Thats the size I want my blocks to be. There will be mining, but not as intricate as the mining in Minecraft. The maps won't be random either so Im going to need to create a map editor and make them myself. It will be first person, and the enemies you spawn are basically going to be spheres with some effects to look like a wisp from Warcraft 3, unless I can figure out a better alternative and one that allows there to be over 500 enemies on the screen at a time. I have the whole layout of the game written down, I just need to learn how to program in 3d first so I can apply that to the game I want to make. I'm estimating that itll take over 3 years before I can actually make what I want to :P but Im willing to learn

If you see a post from me, you can safely assume its C# and XNA :)

I just made a camera and triangle in 3d using the code from the book Learning XNA 4.0 and I couldnt understand any of the code. I don't know if the author didnt explain it well enough or Im just retarded but its really confusing lol

If you see a post from me, you can safely assume its C# and XNA :)

You certainly didn't expect to understand everything on the first go, now did you ?

I certainly wouldn't try to understand ALL of the required 3D math at first.

With camera - just experiment a lot with the methods XNA provides for the camera - so that you can at least use it. While it helps to understand it in detail, it is not really necessary at first.

What you really need to understand is the Euclidean space, know the orientation of all 3 axis and understand the concept of translation and rotation - just use the XNA's built-in functionality. That is certainly enough to get you going.

Also, to make the orientation in the empty 3D space feasible, I would, as a very first excercise, put some cube (or whatever else) at Position 0,0,0. That way, you will always have an orientation point to relate to.

That being said, I read few books that tried to explain some problem space and even though I knew that problem space very well, I did not get it from that book. Knowing is not enough to teach...

VladR My 3rd person action RPG on GreenLight: http://steamcommunity.com/sharedfiles/filedetails/?id=92951596

Thanks for all the advice!! Ill have to look at other books and tutorials and see which one makes the most sense to me. I understand the x,y,z coordinate system pretty well so I dont think that should be too much of a problem

If you see a post from me, you can safely assume its C# and XNA :)

This topic is closed to new replies.

Advertisement