Advertisement

First steps

Started by November 27, 2017 11:26 AM
5 comments, last by The_Con-Sept 6 years, 11 months ago

Hi everyone,

This is my first post, after lurking for some time I finally signed up.

I was looking for some advice and thought that maybe I could ask here for some help, in how to approach game development, 2D in this case.

I'm a programmer, I have been programming for 2/3 years or so, and I'm fairly confident in some of my skills, I've worked with Java mostly, a bit of C#, and a bit of Python, mostly in my spare time or small projects for work.

My experience with game development is fairly short, I had a Unity course in college, it was very short and not too complex, and with my final project, in which I made an endless runner, using LibGDX, but this was mostly following a tutorial.

The thing is, now I want to start again with game development, and I'm not sure what would be the best way to approach it in the long term.

Since I'm a bit experienced with programming, and I want to learn and understand a bit of what I'm doing, I didn't want to go with a full engine, like Unity or Unreal, and in my ignorance, since the project I want to make is something like a Zelda clone(A Link to the past) or a Metroidvania, I kept going back to frameworks.

I know of LibGDX since is the one I worked before (but there's always the stigma against Java), Monogame, which is the one I heard the most for published games (but I'm not sure how it compares to LibGDX in terms of how much low-level things you have to do), Haxeflixel and Love2D, of these two I don't know how low level they are, or what tools they have.

I get that my idea is fairly simple, and most of these frameworks or engines will work, but since I want to learn in the long term, I'm not sure what to pick, I don't want it to be so drag-and-drop like let's say GameMaker, but I don't know how wises it would be to start with something so low-level-ish, since it could be frustrating, and my goal is to actually make games.

So I'd like to hear your opinion guys, and any other idea you may have, I'm not that knowledgeable in the topic so I'm all ears.
I hope I get my idea through, sorry if my English comes a bit rough.

Thanks everyone in advance, 

look i know a little about what i have read...i havent done any degree just self taught but i have a problem of learning a little and getting frustrated and moving on,but thats my problem...i got pretty far with python and pygame but hit a brick wall due to my lack of understanding of OOP i then switched to java and learned a lot about oop but didnt really try anything with libgdx though i have read its very good....im now giving html,css and js a go as it fits more in my future plans,but all this aside i know that it comes down to this:

do you want to work in the gaming industry professionally or just as a hobbyist hoping you will make an indi hit?

if you want to work in the industry the two main choices are c++ or c# and unity

the latter is to use anything that works and gets you the result.

nice to meet you...hope we can chat again.

Advertisement

With your experience and for 2D game development I would recommend checking out MonoGame. It's a C# framework that does well with 2D games but it's basic enough that you'll learn a lot about the development process when making one. If you start to get comfortable with C# enough to move into a more advanced application I would actually recommend moving to Unity at that point. Although Unity does take care of quite a bit of the work under the hood with C++, it is precisely that which will enable you to focus on the design and production of a game rather than the technical aspects of the engine. If it's the engine programming itself that interests you then I'd recommend learning C++ in depth as it is highly optimized and all the low-level graphical APIs are written in it.

In an early mathematics course you likely learned that the shortest path between two points is a straight line.  The hardest thing to do as a self-motivated programmer is to get from point a to point b.  If I was you I would find the tool that you believe gives you the simplest path toward completing your game.  Don't worry about the learning experience.  You will learn plenty along the way no matter which path you take.  It will be enough your first time through to learn your own strengths and weaknesses as a developer.   

To make a long story short forget about the stigma around Java if you already know the language and you are proficient use it.  If you are comfortable with C# and feel it has a better set of tools then use em.  Either path you take you will hit roadblocks and overcome them.  The lessons  you learn about general game development will likely be more valuable than any language or library specific lessons.  The lessons you learn about project management and general problem solving  will likely be even more valuable than those.   So don't sweat the language and library so much.

Have fun and be successful!

Bullet_Proof

The Quarry Works Creed

We who shape mere stone must always envision cathedrals

Thanks everyone for the help!

On 28/11/2017 at 12:26 AM, Warren Brandt said:

look i know a little about what i have read...i havent done any degree just self taught but i have a problem of learning a little and getting frustrated and moving on,but thats my problem...i got pretty far with python and pygame but hit a brick wall due to my lack of understanding of OOP i then switched to java and learned a lot about oop but didnt really try anything with libgdx though i have read its very good....im now giving html,css and js a go as it fits more in my future plans,but all this aside i know that it comes down to this:

do you want to work in the gaming industry professionally or just as a hobbyist hoping you will make an indi hit?

if you want to work in the industry the two main choices are c++ or c# and unity

the latter is to use anything that works and gets you the result.

nice to meet you...hope we can chat again.

I would say that working in the gaming industry is more of a dream haha, for the time being, I'd like to start from something and make a game because I enjoy it.

I don't know C++, I guess I'd have to learn it at some point, I guess for the time being C# sounds good.

Thanks for the help! Nice to meet you too.

 

On 28/11/2017 at 12:48 AM, cjmarsh said:

With your experience and for 2D game development I would recommend checking out MonoGame. It's a C# framework that does well with 2D games but it's basic enough that you'll learn a lot about the development process when making one. If you start to get comfortable with C# enough to move into a more advanced application I would actually recommend moving to Unity at that point. Although Unity does take care of quite a bit of the work under the hood with C++, it is precisely that which will enable you to focus on the design and production of a game rather than the technical aspects of the engine. If it's the engine programming itself that interests you then I'd recommend learning C++ in depth as it is highly optimized and all the low-level graphical APIs are written in it.

 

I've seen Monogame, I was kinda afraid of not knowing how low-levelish it was, and if maybe in my inexperience it would be too much for me, but I guess I am going to give it a try!

I would like to work with Unity or Unreal with some bigger projects, but eventually haha.

Thanks for the suggestions!

 

On 28/11/2017 at 3:21 AM, Lucas_Cage said:

In an early mathematics course you likely learned that the shortest path between two points is a straight line.  The hardest thing to do as a self-motivated programmer is to get from point a to point b.  If I was you I would find the tool that you believe gives you the simplest path toward completing your game.  Don't worry about the learning experience.  You will learn plenty along the way no matter which path you take.  It will be enough your first time through to learn your own strengths and weaknesses as a developer.   

To make a long story short forget about the stigma around Java if you already know the language and you are proficient use it.  If you are comfortable with C# and feel it has a better set of tools then use em.  Either path you take you will hit roadblocks and overcome them.  The lessons  you learn about general game development will likely be more valuable than any language or library specific lessons.  The lessons you learn about project management and general problem solving  will likely be even more valuable than those.   So don't sweat the language and library so much.

Have fun and be successful!

Bullet_Proof

That's a great advice, you are right, I guess is always the fear of doing things wrong, and trying to make everything perfect from the get-go, but it's right, the best thing would be to just start.

Thanks a lot, as a beginner, it's great to hear from others.

 

Well as far as I have read in the two books that I have bought (C++ and C#) I made my decision based on this simple question:

Do you want the most people possible to be able to play your game?

If your answer is yes, then you may want to learn C++ and at least understand it.

As far as I have read in the two books I bought I realized something. I fit into a category of gamers who have no money. So we have what ever it is that we do have. Which means we don't have a lot of "memory."

So because I do not have a computer that is able to run all of the latest games like Watch Dogs 1, or PUBG, I wanted to learn how to make games that would allow everyone to play it. Sacrificing in return those awesome graphics for more of a gameplay angle.

Which to me it sounds like you love 2D which is awesome btw!

But my suggestion still stands. learn both languages for when something crashes. I am by no means an expert. if anything you have way more experience than I do in coding, but I do not know how far you are in graphic design, music, and story telling.

That is my perspective on it at least.

Newbie.

This topic is closed to new replies.

Advertisement