Should I use game engine? Why and which one?

Started by
7 comments, last by mr_tawan 6 years, 2 months ago

Hi! I am currently a highschool student who truly loves programming and gaming and I would love to start to make some simple 2D games but with nice ideas.

I don't pretend and can't spend money, that's why I am aiming at free stuff that could help me.

Currently I am developing my own REALLY simple game engine using Java, creating windows and a mini game inside it(like Pong, etc), but I aim to export games to Android/iOS and I feel that I should use a game engine for that even though I really like to create one by myself, since I feel like I am learning from that.

I also have experience with C#, and used it a lot to make some Windows programs and play around with Unity3D.

What do you guys think about it?

hi =)

Advertisement

You can either take 2-4 years and learn to program to the point you can make an engine, or you can just use Unity.

What will you make?

Unity's free version(sounds bad but it's not) is more than enough for most people's needs, and includes PC and mobile exports.  The only catch is the splash screen(not the big deal the whiners make it), and that you have to earn less than $100,000 per year(and if you make that amount it is a good problem to have :) )



If you have to ask, the answer is yes. Unity is about the best choice for beginners and that's a good place to start.

On February 12, 2018 at 11:04 AM, kburkhart84 said:

Unity's free version(sounds bad but it's not) is more than enough for most people's needs, and includes PC and mobile exports.  The only catch is the splash screen(not the big deal the whiners make it), and that you have to earn less than $100,000 per year(and if you make that amount it is a good problem to have :) )

 

But that's the thing: when I use a complete engine I feel that I am not learning at all. I don't know if that is silly, but I am really a beginner on game development.

Should I use low level libraries? I've been playing around with LibGDX and find it nice, though.

hi =)

41 minutes ago, Vitor Leal said:

when I use a complete engine I feel that I am not learning at all

If you aren't learning, then you aren't trying to do enough with it. Make a complete, finished game with it! You'll learn plenty along the way.

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

1 hour ago, swiftcoder said:

If you aren't learning, then you aren't trying to do enough with it. Make a complete, finished game with it! You'll learn plenty along the way.

I was about to say something similar.

There is much more to game creation than just low level engine programming.  Besides all of the actual dev related stuff, like scripting game object behaviors, creation of media(graphics, music, sound), and polishing everything, there is an actual skill called "finishing."  I can't talk because that is a skill I sorely lack.  But I CAN say that it is a necessary skill whether you use an engine, roll your own, or whatever you do.



Just to throw my 2 cents in. 

It depends on what you want to archive. If you wants to learn the actual game programing, then go with the engine might not sound too bad. The current day game engine provides lower-level of game programing than what it used to be in the past. Unity3D is probably your answer.

If you want to learn how the game engine works, or creating your own (which you have already created your own), you might want to go with framework/library. MonoGame (C#), Cocos2D-X(C++), SFML(C++) LibGDX(Java) or LibSDL (C) allows you to create your own engine to run on multiple platform. It abstract the platform-specific code away so you don't have to deal with the low-level stuffs. However it's low level enough that you have controls on almost everything, including scene management and stuffs. From that list I think MonoGame is the easiest one in term of getting code runs on multiple platform, but your experience may vary.

You can of course writing the code to the target platform directly, but that means you have to do the abstraction layer yourself if you want the same code ot run on multiple platform, which will be time-consuming.

http://9tawan.net/en/

This topic is closed to new replies.

Advertisement