Sign in to follow this  

Aspiring Game Developer, Fluent in C++, What Do I Learn Now?

This topic is 1182 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey guys, so I am new to this site, and I have come here looking for some guidance.

 

I am a sophomore in college, and I am a CS/Math major. I have taken CS1, CS2, and am in Data Structures right now.

 

I consider myself to be fluent in C++, and for both of my final projects in my  CS classes, I did game, using WinAPI, which was interesting.

 

 

Anyways, I have some ideas for a few other games that I would love to start working on, but I don't think WinAPI is going to cut it.

So I started messing around with Unity, but I quickly realized I have no idea about scripting, and that if I want to use Unity, I am going to have to learn either C# or JavaScript.

 

I have also seen a few thing about SFML, which I can use with C++, correct? So I wouldn't have to learn a scripting language.

 

However, I hope to get an internship this summer, and I am wondering if learning a scripting language would increase my chances at getting an internship.

 

 

What do you guys think? If I do decide to learn a scripting language, what would be a better choice?

Is there anything else I can do that would increase my chances at getting an internship? 

 

 

 

 

Thank you for the help!

Share this post


Link to post
Share on other sites
If learning a scripting language seems like a big barrier to you, by all means you should do it. Being fluent in C++ is great, but you should learn a few other languages. With some practice, you should be able to do useful programming in a new language after a couple of weeks.

That being said, I think learning SFML 2.1 is a very good idea.

So do both!

Share this post


Link to post
Share on other sites

With some practice, you should be able to do useful programming in a new language after a couple of weeks.

 

Let me tell you a story.  Long ago I decided to teach myself how to program, and I wanted to make games, so I bought some books and started reading.  C++ programming and direct X on windows.  That was a very difficult path.  I read an article that suggest the first game to make was Tetris, so I tried to make it.  I did get something that kind of worked (with a few bugs) after months of pain, but I was never able to finish it or polish it because I had written the code in a very disorganized fashion, and every time I changed something I would break something else.

 

(Other seasoned programmers will be nodding their heads at this point).

 

Fast forward years later.  I wanted to see what Unity was about, so I downloaded it, watched some tutorials, and started making Tetris.  I got a nice version working in two weekends, using C# for the scripting (and I've never used C# before).

 

The difference is experience.  I've been programming enough and used enough frameworks that Unity/C# was really easy to pick up.  Could I have done that when I started?  No way.  But don't let that stop you.  Go make Tetris with Unity and SFML, and make a complete game.  This includes:

 

A *.exe or other executable that someone else can just copy/paste and run.

A loading screen and/or startup screen

An attract mode of blocks falling and moving around

A score system, levels that get harder, and some way to save scores between playing

Music and sound.  You don't have to make the sound yourself, but at least background music and sound effects

At least one flashy graphical effect somewhere just for the fun of it.

No bugs (at least not any you can find)  You should be able to let it run all night without crashing too.

 

Will you get all that done the first try?  Maybe.  I didn't.  It took many attempts before I knew enough to get that far.

Edited by Glass_Knife

Share this post


Link to post
Share on other sites

 

However, I hope to get an internship this summer, and I am wondering if learning a scripting language would increase my chances at getting an internship.

 

It's an obvious advantage, when you can say that you know more than just one programming language well. Also, scripting languages are usually used for different tasks than languages like C++, so not only you'll learn something new, but also show your future employer, that your your skills can be used in many different ways. Moreover, once you know one programming language, it's not that hard to learn another, relatively fast.

 

And, are you referring to any particular internship you want to get?

 

 

What do you guys think? If I do decide to learn a scripting language, what would be a better choice?

Python. But you should do your research on what could be most useful for you.

Share this post


Link to post
Share on other sites

As far as other languages I should learn, what are some examples of some that I should prioritize?


In no particular order:

* Python has already been mentioned.

* Perl is also good to know (a good "glue" language to run programs, parse their output, etc.).

* At some point, dabbling in assembly is probably a good idea, so you really understand what's going on under the hood.

* HTML5 / JavaScript / AJAX / whatever they call it these days (the browser is the interpreter!).

Share this post


Link to post
Share on other sites

I'd also add Lua -- it's more minimalistic than Python and is often useful for embedding as a scripting language for your game (so that the players can extend it: modify the AI behavior, add custom scenarios, etc.). In fact, Lua would be my first choice for an embedded scripting language (not just) in a gamedev context.

 

It's also very easy to get started: http://www.lua.org/pil/

 

Here's a comparison: http://lua-users.org/wiki/LuaVersusPython (even though it's hosted on lua-users it points both the upsides and the downsides of both).

 

OTOH, if you already know Python, picking up Perl wouldn't necessarily have the highest priority (the use-cases of these substantially overlap).

Edited by Matt-D

Share this post


Link to post
Share on other sites

I second Lua. Awesome language to work with in my opinion.

 

Also, another resource. If you're looking to get in and make games quickly, this probably isn't a good route. But if you want to understand what's actually going on "under the hood" of an engine, best practices, optimization, etc. I would seriously check out this awesome playlist. https://www.youtube.com/playlist?list=PLRwVmtr-pp04XomGtm-abzb-2M1xszjFx

Share this post


Link to post
Share on other sites

This topic is 1182 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this