Skip to main content
GameDev.net gamedev.net
🔒 Locked

What engine to use for an Escape Velocity clone?

Started by raccoonone Nov 17, 2013 at 5:32 AM 10 replies 4.1k views
Original Post
raccoonone
raccoonone

I'd like to build a game similar to Escape Velocity (one of my all time favorite games). For those not familiar with it, it's very basic 3D, top down view: screenshot and their website, kind of like an RPG version of Asteroids.

I work as a software engineer, so I'm quite familiar with programming in general. However, I haven't done any game programming since high school, and that was very basic.

Do you have a suggestion for where to get started? I read a bit about Unity3D and Panda3D, would one of those be a good choice, or is there something better? I'm comfortable doing all the programming, but will likely hire someone to do the art, so an engine that will make that easy would be great.

swiftcoder
swiftcoder




For those not familiar with it, it's very basic 3D

Escape Velocity is actually using entirely 2-dimensional graphics. The impression of 3D is made via cleverly designed sprite images, which are rendered out of a 3D content creation tool, and include baked-in lighting and shadows for a variety of rotations.

For example, see this sprite sheet for the Pegasus transport:

ch5o.jpg

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]
raccoonone
raccoonone

Oh, I see. Thanks! Have any suggestions for a 2D engine?

Aspirer
Aspirer

Actually, I would suggest going with a 3d engine and limit yourself to using and moving in 2 dimensions. Then, when you decide to move into 3D games, you've got some experience and at least some base in a qualified engine.

raccoonone
raccoonone

Ok, cool. So would Panda3D or Unity3D be good choices? Which do you think would be a better place to start, or do you have another suggestion?

swiftcoder
swiftcoder




Actually, I would suggest going with a 3d engine and limit yourself to using and moving in 2 dimensions. Then, when you decide to move into 3D games, you've got some experience and at least some base in a qualified engine.

Meh. A 2D game is substantially easier to build, and sprite artists are arguably easier to find than 3D artists/animators. Moving from 2D to 3D isn't a worthwhile consideration if it reduces your chances of finishing a first game.




Ok, cool. So would Panda3D or Unity3D be good choices? Which do you think would be a better place to start, or do you have another suggestion?

Unity would generally be my first recommendation. However, the free/indie edition does not support dynamic shadows, and compelling space scenes pretty much require a robust dynamic shadow system.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]
raccoonone
raccoonone

Ok cool, I'll check out Unity. Any tutorials you would recommend? I'll probably go with the C# libraries, since I already know Java and C++

Aspirer
Aspirer

Actually, I would suggest going with a 3d engine and limit yourself to using and moving in 2 dimensions. Then, when you decide to move into 3D games, you've got some experience and at least some base in a qualified engine.

Meh. A 2D game is substantially easier to build, and sprite artists are arguably easier to find than 3D artists/animators. Moving from 2D to 3D isn't a worthwhile consideration if it reduces your chances of finishing a first game.


Ok, cool. So would Panda3D or Unity3D be good choices? Which do you think would be a better place to start, or do you have another suggestion?

Unity would generally be my first recommendation. However, the free/indie edition does not support dynamic shadows, and compelling space scenes pretty much require a robust dynamic shadow system.

2d is easier than 3. But with unity, it's as simple as making your camera align with one axis (I use z for simplicity), limiting your physics to X/Y axis. You can either use 3d models or use planes w/ textures for your sprites. And the new version 4.3 is specifically showcasing new 2D tools.

(Also, I think the Free edition supports dynamic shadows, just only with directional lights (not point or spot lights). Not sure how broadly those terms are used in other engines, so if you're not familiar with the differences, basically your "sun" light can do shadows, but a "flashlight" or "lightbulb" couldn't cast them.

SimonForsman
SimonForsman

Actually, I would suggest going with a 3d engine and limit yourself to using and moving in 2 dimensions. Then, when you decide to move into 3D games, you've got some experience and at least some base in a qualified engine.

Meh. A 2D game is substantially easier to build, and sprite artists are arguably easier to find than 3D artists/animators. Moving from 2D to 3D isn't a worthwhile consideration if it reduces your chances of finishing a first game.


Ok, cool. So would Panda3D or Unity3D be good choices? Which do you think would be a better place to start, or do you have another suggestion?

Unity would generally be my first recommendation. However, the free/indie edition does not support dynamic shadows, and compelling space scenes pretty much require a robust dynamic shadow system.

Actually, you get dynamic shadows with a single directional light in the free version now (since, 4.2 or 4.3 IIRC, it is still a bit bland but far better than nothing)

[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
TomKQT
TomKQT

Meh. A 2D game is substantially easier to build, and sprite artists are arguably easier to find than 3D artists/animators. Moving from 2D to 3D isn't a worthwhile consideration if it reduces your chances of finishing a first game.

Yep, but there is still a lot of things to consider. For example if the sprite artist would make a 3D model and render it from all possible views and it all possible situations anyway, then it COULD be maybe easier to directly use the model in the game. And positioning/rotating/scaling a 3D object in 3D world is incredibly easy, probably even easier than dealing with sprite sheets. Of course a different case is if you plan to use hand-drawn sprites.

I know about few developers (for example Xenonauts) who started the game in a 2D engine with pre-rendered sprites and then regreted the decision at a late development stage when they really couldn't start from zero. Thousands of sprite sheets which needs to be rerendered when lighting changes etc. A 3D engine is more flexible.

But don't misunderstand me - all I'm saying is that you should really think well about what are you planning to do and consider all advantages and disadvantages. A simple 2D engine can soon be holding you back and be more work than a 3D engine (which on the other hand is harder to get running). And on the other hand, many games are perfectly fine with 2D sprites and a real 2D engine.

So I don't agree with what you said in general, without further specifications. It is true, no doubt, but not in all cases, and sometimes it's even the other way around.

swiftcoder
swiftcoder




Actually, you get dynamic shadows with a single directional light in the free version now (since, 4.2 or 4.3 IIRC, it is still a bit bland but far better than nothing)

I did not know that - might have to revisit Unity at some point with that in mind.

@OP: I also forgot that Unity just launched a version with support for 2D games. Between that and SimonForsman's point about shadows, Unity returns as my default recommendation.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.