Starting out

Started by
3 comments, last by Gian-Reto 9 years, 7 months ago

Hello guys,

I'm about to start a game project with my brother, I'll be the programmer and he'll be the graphic designer. For our first game, we're thinking of doing it 2D because it looks easier for beginners and it suits more for our current idea. For the language, we're thinking about C++ or LUA

My question is: Which one is the best, LUA or C++? We're thinking about using Unreal Engine 4 in the future, because of that, I was considering C++ but maybe I can go with LUA and get C++ later?

Also, should I use LOVE or Torque 2D? Which one of 'em is the best (for learning, improving skills, flexibility, documentation, updates etc) ? Maybe you recommend another game engine?

Thanks in advance,

lvenonl

Advertisement

If you haven't ever programmed before, then you ought to even start with text-output before doing 2D graphics (potentially - others may disagree with that). You need to learn the basics of the language before writing games. wink.png

Most 2D games don't use "engines", though they can; usually they are just written. They almost always use APIs though. I go into more detail about what I mean in this post.

Even if you decide to use an engine, different engines are better suited to different types of games, and you don't want to have to fight against the engine to make your game, so I'd have to know more details about the game before suggesting a specific engine. But it doesn't matter, because any game complex enough that I'd actually suggest an engine for, is not a game I'd recommend as a first project. ohmy.png

The difficulty is, how can you write good game code architecture, if you don't yet know how to program? It's kinda like trying to build a house when you've never even held a hammer before. (or more like, trying to write a book in spanish at the same time as trying to learn spanish itself! A tad difficult). So you may want to spend at least a few months learning the bare basics of programming before starting on even a small game. (And maybe your brother, if he's never done graphics design before, could spend the same few months learning the basics of digital game art, that way the two of you can hit your game running, instead of stumbling)

Neither Lua nor C++ is "best" - different languages serve different purposes; and there are many other languages besides those two. happy.png

What are your long-term goals in learning to program? Are you just wanting to have some fun? Consider Game Maker (or RPG Maker)! It's really powerful and flexible, and you can get things running quickly. Jumping into programming for the first time, you likely won't get things up and running quickly.

If you are actually wanting to become a programmer long-term, Lua or Python would definitely be a possible choice. You'll end up learning many languages if you program for a long time, but Python or Lua will still be useful even when you learn other languages.

C++ is also a good choice (and the language I started with, and still use), but is also a bit of an uphill battle! Still, don't let that discourage - it is probably what you'll need to learn anyway, if you want to become a programmer as a career.

Whatever you choose, it's important to stick with it long-term. Programming isn't something learnt overnight, and even though you can master the basics in just a few years, you'll continue to learn more and more (or, at least I continue to, nine years later). So if this is something you're really wanting to learn, choose to be stubborn enough to stick with it through the boring parts. It's really fun and exciting, but also can be aggravatingly frustrating at times (rather frequently, actually dry.png). Programming is definitely worth learning though! I strongly recommend learning it! It's just not something that you can learn in a month.

So what are your actual goals? What are you wanting to get out of this project with your brother, and what are you wanting to get, long-term, out of learning computer programming?

Sorry for being all, "life choices" and "career" and "goals and planning" when you're just wanting to make games and have fun. wacko.png But I can't give good advice without knowing what you actually want. smile.png

Well, I forgot to mention, but I do have some experience with programming. I have the basics of C++, I also made a Text-based RPG and a simple shoot'em up using XNA (had some bugs with collision though LOL). I also have 2 games on UDK, one of 'em is just a simple 'puzzle' game and the other is a Racing which I did using UnrealScript. Just one track, one opponent BOT and the HUD counting Laps and Position. I was on a course based on Autodesk Maya and UDK back in the day (I was 13 years old i think). So, yea! I do want to be a programmer! That's my dream since I was a kid.

My brother, he did this course with me. Later on he studied Graphic Design in the university, sadly he had to quit with just 1 year left to finish it 'cause we moved to the UK. I didn't start studying in the university yet, I think I'll start next year with my brother. Meanwhile, we're willing to study by ourselves so that we don't lose time.

I'm just not sure which language to focus on. I might need to study a little bit more before starting this project, I want to be sure which language though. We're thinking about a side-scroller game, with a gameplay based on Castlevania or something like that (don't worry, it's not a vampire or zombie based story LMAO)

Anyway, what do you recommend? Which language? Should I use an Engine? I just want to make the right choice LOL

Thanks for the answer, I really appreciate it mate! biggrin.png

If you already know the basics of C++, I suggest sticking with C++ and going deep in it. If people bounce from language to language too much, they run the risk of only learning the basic syntax and never learn the strengths of the languages.

I would suggest not using an engine, and using SFML or SDL, both which I can personally recommend as great libraries (though I haven't used the latest SDL, but I hear it's only improved since I used it - and I already loved it back when I used it. I currently use SFML, which is also really fantastic). I also hear that box2D is good for 2D physics, and if I was starting your project, I'd go with either SFML+box2D or SDL+box2D.

Good luck on your project! happy.png

If you already know the basics of C++, I suggest sticking with C++ and going deep in it. If people bounce from language to language too much, they run the risk of only learning the basic syntax and never learn the strengths of the languages.

+1

C++ might have its pitfalls, but the core of the language is just as easy or hard to lear as Java or other OO languages. If you have used it before, I reckon you will already have quite some knowledge about the basics of the language. Now try to really get into it.

Someone with deep knowledge of C++ will have a much easier time learning other OO languages. Could be the same with Lua, though I am not sure how much this language deviates from the C family of languages (where you will find most of todays languages belong to)... but as you seem more adept in C++, I would also suggest sticking to that.

The Bonus is that a) C++ seems to be the industry standart language still in Game Development, and b) given you give up on game development and want to move into business programming, Java is the big elephant there, but you will always find some C++ jobs, and not too many programmers being able to apply fo these jobs. Almost anyone specializes in Java or maybe C# in business programming nowadays.

Just my 2 cents

This topic is closed to new replies.

Advertisement