SDL or Unity?

Started by
7 comments, last by Nathan2222_old 10 years, 3 months ago

If you want to make a 2D platformer game? What you would use? SDL or Unity?

"Don't gain the world and lose your soul. Wisdom is better than silver or gold." - Bob Marley

Advertisement

SDL and Unity are quite different things. SDL is usually more of a core library rather than a complete game making product.

I wouldn't be suprised if the Linux version of the Unity player uses SDL as a static library. (The HTML5/WebGl / Emscripten version will)

For 2D development, you do not need a complete game engine so unless you are a beginner, I highly recommend SDL (_mixer and _image) since it provides image loading, audio etc...

If you are a beginner with an interest in programming, I still recommend learning SDL since you will learn more (i.e event based programming) and it will look better on your CV. It will also allow you to step up nicely to OpenGL if you go that direction.

I know Unity has recently made a push to hoover up the 2D indie game development market but it still doesn't provide much. 2D animation is simple using tools like Spine (http://esotericsoftware.com/) (or you can write your own in a couple of days).

2D collision is also very straight forward so Unity doesnt really provide much more there either.

Tbh, I recommend anything other than Unity for 2D games but you might want to see what others on these forums suggest. ;)

http://tinyurl.com/shewonyay - Thanks so much for those who voted on my GF's Competition Cosplay Entry for Cosplayzine. She won! I owe you all beers :)

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.

I suggest SFML over SDL is that is the route you are going to take. I have used both and I prefer SFML any day over SDL. SFML comes with lots of resources to get started plus they have quite the package put together. I also have source code to a game I wrote you can use freely at http://www.johnschmuff.com/projects-2/paperroids/. If you do go that route I hope you enjoy it as much as I did. I am actually getting back into it keep in mind though the newest version of SFML is 2.1 and I built that game on 2.0 beta. I haven't converted it over to the new version yet on my todo list.

Id recommend Allegro 5 for 2d games, you can even port your games to iphone and android with it.

Here is a complete set of tutorials for it:

http://www.youtube.com/playlist?list=PL6B459AAE1642C8B4

And here is a entire tutorial set on how to make 2d platformer with allegro 5

http://www.youtube.com/playlist?list=PL39779BF3B079F6CD

As pointed, SDL and Unity are really different.

Unity is a full game engine that costs thousands.

SDL is a free open-source library for input (keyboard, mouse, gamepads) and output (graphics, audio).

Unity's main focus has always been 3D, and only now they are supporting 2D.

From what I've seen, its 2D tool set look a lot like Game Maker and other game building tools (what is a good thing, overall).

It can do lots of things automatically, saving you quite some time.

SDL can't do much by itself. It has no physics, no asset management, no entity management...

So, you'll have to code your game almost from its very bottom.

But if you consider Unity's cost as your own payment for this initial work, it'll probably be worth it.

Both can run pretty much everywhere and are good for learning.

I'd say SDL is way better to learn how to program, while Unity would make things faster and may be better for those who want to focus on game-design.

So, one question: Do you intend to sell the game?

If I am not mistaken, you can use Unity for free in exchange for an in-game advertisement. The free version is limited to low profit games and has lots of features cut out; reading their terms of use is a good idea.

If you do intend to sell it, on computers and mobile platforms, imo you'd be better off with SDL for a simple 2D Platformer game.

But as soon as you step up from simplistic games, go for a paid license of Unity. It'll probably make it up for its cost.

Answering to your "to make a 2D platformer game, what you would use?" question, today,

I'd say Angel2D if C++

Or Haxe.

I think the basic version of unity is completely free, you just have a mandatory splash screen at the start.

SDL is great for learning, but unless you're doing something super fancy it could take a long time to get a game to a stage which you could achieve in unity in hours. It mostly comes down to if you prioritise being a programmer or a designer.

I think the basic version of unity is completely free, you just have a mandatory splash screen at the start.

I wouldn't say completely free, partially free would be more precise.

There are a lot of missing features on the free version of unity, and there is a restriction on who can use it based on yearly income; which is a fairly low income, as it would be enough to pay a single full-time programmer, as a comparison. I would personally consider the free advertising the game provides as a cost.

I think the basic version of unity is completely free, you just have a mandatory splash screen at the start.

Since the "free" version of Unity still requires online activation (DRM), you can more think of it as an unspecified time limited trial.

In a couple of years, when you next replace your computer and go to activate Unity again, the Unity company could easily disable the free version of the product so that you can no longer use it without payment. This would likely also prevent you from using old versions of Unity to build your games.

Since consumer game engines rarely survive longer than about 5 years (or if Unity goes bankrupt), you might never be able to reactivate your Unity some day. Unless they release an official "non-activation" patch. However, bankrupt companies rarely have money to employ developers to make "non-activation" patches ;)

(Personally, I am too passionate about games development to be tied town to the whims of a corporation's business team. Luckily I have taken the effort to develop skills and libraries that free me from all that junk)

Kids, just say "NO!" to DRM.

http://tinyurl.com/shewonyay - Thanks so much for those who voted on my GF's Competition Cosplay Entry for Cosplayzine. She won! I owe you all beers :)

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.

You could use polycode (open source full c++ game engine soon to be released for 2d/3d games. You can code in Lua or c++)

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

This topic is closed to new replies.

Advertisement