Which api to use? for a 2d indie (not happy with unity)

Started by
14 comments, last by patrick07 4 years, 3 months ago

How about:

http://www.phoronix.com/scan.php?page=news_item&px=MTY4MTM

Advertisement

As you are learning by yourself, the list of tech to make a 2D game goes on and on.. after all it's 2014 and these things are pretty much a solved problem and vastly below the levels that can be achieved by modern hardware.

One thing to consider in deciding for your language/API.. I see you talking about trying to avoid cheating. If that is the case, you might want to look into a language not trivial to decompile. This means avoid C#, Java of course Python.. and/or put as much game logic on the server as possible.

Although.. to be honest, considering it is your first game I wouldnt really care.. if you come up with something players think is worth crack open to cheat then it means you are already rich and doing very well ;)

My personal suggestion: Use Go with GLFW/OpenGL.. you get a compiled binary, hard to crack and easy immediate portability to Win, Linux and Mac... and you get all of this while having fun with a great modern language. Of course the price to pay is little information available about doing games with it.

Stefano Casillo
TWITTER: [twitter]KunosStefano[/twitter]
AssettoCorsa - netKar PRO - Kunos Simulazioni

yes it is the first game i will try to helm professionally for sale;
i have worked on independent titles before though as part of a team, but this is no small undertaking; i appreciate the suggestions -
i really want to work with GLFW but i really really need the major console support; at least 1 of them

at any rate the game i'm planning to make isn't impossible to port over or anything, i won't be using any fancy libraries for anything; just some opengl eyecandy which i can do with either lib/


-kburkhart:

yes i know about game maker studio, i used to code for it in late 2006-mid2008 but an interpreted script isn't as good as actually compiling the language (it is a made up language, gml?) it is a little bit buggy working on it; it's great for learning how to make games and you have to applaud the community which is great (i kept being a regular visitor of the game design forum for years after even when i wasn't actually coding-) there's some great theory to be learned about game design and theory of programming; but i think once you practice a lot with it it's time to move on, it serves its purpose of learning tool in excellent fashion i'll say. but i'm trying to avoid all of those artist-focused apis like gamemaker and unity.

right now i need something that is as fast and as low level as possible and probably a bit more secure than your standard GML language application

i really want to work with GLFW but i really really need the major console support; at least 1 of them

well and I really hope you understand that GLFW is just an API to abstract some part of an OpenGL application such as window and contex creation and control plus some input in a platform indipendent manner.

By itself GLFW can't do anything.. so saying "I want to use GLFW" really doesnt make any sense at all.. what you really end up doing is working with OpenGL and do 10-11 calls to GLFW in your main function.

Also.. major consoles do not use OpenGL.. on the console world you are basically only left with SteamOS supporting OpenGL. I think in my experience Monogame seems like the only framework to give some hopes to be ported almost everywhere with minimal changes.. unless you want to jump ship and go with something like Unity even if you dont like it.

You see, low level automatically means no trivial cross platform support.

Stefano Casillo
TWITTER: [twitter]KunosStefano[/twitter]
AssettoCorsa - netKar PRO - Kunos Simulazioni

What kunos said....if you don't want to have to take lots of efforts for porting, you will have to use a higher level language, software, or a pre-built engine of sorts. Gamemaker and Unity are probably the 2 best at this generally, though there are competitors. I've never used Monogame, but if someone else says it works, I'll believe it.

You say 2006 - 2008 was when you were using Gamemaker. Back then it wasn't Gamemaker Studio, and it was also a whole different product. It still isn't perfect, but it is better than it was, far better. The same can be said about Unity, though the two programs took different paths to get there having started with different purposes. While technically it is true that an interpreted language is slower, for most games, including 3d games, it is fast enough. The game logic is rarely the problem, rather the underlying render code, which you generally don't have to access. I guarantee it is easy to write bad C/C++ that runs slower than your average interpreted language. And with 2d games, it is even better because they tend to have lower speed/performance requirements than 3d games. The last thing I should add about this subject is that in the case of Gamemaker, they have added a few exports that are fully compiled native, as in not a C++ compiled runner interpreting GML, rather the GML gets compiled fully to C++ with Visual Studio. This makes some games run faster, but some games get no effect because the things slowing them down weren't the interpreted code speed.

But let's be honest. You can look up plenty of topics about this. If your goal is simply game creation, you are better off going with a higher level language/software as opposed to coding down to the metal. Very few people use Assembly anymore for exactly that reason. Someone mentioned above that in general, 2d game creation is a problem that is pretty much solved. There are many implementations of 2d collision detection, including pixel/pixel collision, and it has been generally optimized to death. So why would you want to redo all(or any) of it?



This topic is closed to new replies.

Advertisement