What software(libraries, apis) should i use for my game?

Started by
3 comments, last by ISDCaptain01 9 years, 8 months ago

Hi, I'm new in this comunity and i wanted to ask a few things that don't let me sleep.

What i want to do is to create a 2D simple game just to understand the basics of game programming. What i would like to do is to use c++, but I don't know what software should i use(not talking about ides, but talking about libraries or things lke that).

I read that SDL is highly recommended and I started reading a few tutorials, however i was wondering if any high quality games(well known games like console games and stuff). Because i want to use something suitable for big projects and not only for learning or for hobbyst games. I'd like to know if SDL is used for proffesional game development.

I know some of you are about to go to the comments section and say "use Unity or any other good engine", but i'm not sure about how advantageous is to use one. I heard somewhere "An engine is a framework, and basicaly, it takes control over your code and you can only do what the engine let's you do". Is that true? Because i wouldn't like my game to be identical to other's one games.

Finally, Can you make a game with opengl but without SDL or SFML(or similar libraries)?

If you were so kind to recommend me a good library/engine for "proffesional"(I say this just to make sure it's suitable for big projects) I'd be very rateful.

Thanks(and sorry if i made spelling mystakes, I'm not from united states xD )

Advertisement

Use Allegro 5! Its sooo easy to make games in if you know basic C++. Here are some excellent youtube tutorial playlists:

https://www.youtube.com/playlist?list=PL9333715188CD7669

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

As for your questions

1) Ive only heard of SDL being used when Valve was porting a game over to Linux to handle input and windowing

2) Yes an engine takes care a lot for you and limits you as well. Use an appropriate engine that fits with your game. On contrary to your first question,

engines such as unreal and unity are very popular when it comes to professional game development

3) Sure you can opengl without sdl/allegro/sfml but why would you want to? Those three libraries make opengl so much easier to use.

SDL 2.x is excellent. In retrospect I wish it were available when we'd started work on our engine, because it would've probably saved me a bucketload of work. The 1.x branch available at the time was not suitable for modern development. They've made great strides with the new version though. My experience so far is that I'd probably be opkay with shipping it in a pro level title, though saying it and doing it are two separate things.

You can make a game without any libraries at all, if you so desire. (Apart from the underlying operating system and graphics API stuff, which is necessary.) There are reasons to do this. They probably do not apply to you.

SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.

As for your first question, if you are sticking to C or C++, I'd also recommend SDL 2. It is extensively used in the games industry, as the main development technology or sometimes to port games to new platforms.

About the engine controlling your game, that is not really accurate. You can do whatever you want with an engine like Unity, it does not restrict your ability to implement the gameplay. Of course, if you need some super fancy features as an exceptionally accurate physics or lighting, you'd be in for a hard time; it's hard to see a case where Unity wouldn't suffice though.

Now, about the advantages of using it, it is not an easy analysis to do. You have to consider the price of the engine for your desired platforms. Let's say your game has only simple physics, maybe some neat lighting system and doesn't need all features from Unity, chances are you could actually develop a smaller engine with a much better cost (time-cost) than you'd have to pay for it (monetarily). That is really case-specific.

1) Ive only heard of SDL being used when Valve was porting a game over to Linux to handle input and windowing

I can name many commercial games made with SDL over the top of my head: Starbound, Prison Architect, Amnesia, Faster Than Light, Overgrowth, Second Life... Not to mention that PyGame, Löve2D, Cryengine and many other engines are actually built on top of SDL.

I can name many commercial games made with SDL over the top of my head: Starbound, Prison Architect, Amnesia, Faster Than Light, Overgrowth, Second Life... Not to mention that PyGame, Löve2D, Cryengine and many other engines are actually built on top of SDL.


I stand corrected

This topic is closed to new replies.

Advertisement