Jump to content

  • Log In with Google      Sign In   
  • Create Account

Interested in a FREE copy of HTML5 game maker Construct 2?

We'll be giving away three Personal Edition licences in next Tuesday's GDNet Direct email newsletter!

Sign up from the right-hand sidebar on our homepage and read Tuesday's newsletter for details!


Hello


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
10 replies to this topic

#1 EdinsonC   Members   -  Reputation: 249

Like
0Likes
Like

Posted 27 January 2014 - 04:44 PM

Hello people, the name's Edinson and I am 18 years old, I am a computer science major, but have yet to start CS course, I live in Brooklyn, NY and am aspiring to become an Indie Video Game Developer.

 

...Anyway now that the introduction is out of the way I'd like a little advise on how to start out; I am a novice at all this. I'm currently coming up with ideas for games and jotting them all down. I know not to aim too high (like an AAA type of game). So far I've been developing ideas for a card game which in the long run can become a mobile app and includes multiplayer. I know it might seem a bit far fetched for a beginner but for now i can just work on the story for single player for the game. Also, I've been thinking about making a 2D Top Down Perspective RPG with graphics similar to the classic Final Fantasy games, or classic Pokemon games. I'd like some advice on what programming languages would most likely be best fitted for such games and for me as a beginner. I plan to study the languages and use them to make copies of classic simple games such as Tetris or Pong to familiarize myself with the language well, as it is common for most beginners. Then I plan to jump into working on my own games.

 

...I can't wait to start working on games and learn from others, I will return the favour by returning the good karma and teach others in things I've learned along the way.

 

Thank you for taking your time to read. Awaiting replies biggrin.png


“Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.” -Albert Einstein

Sponsor:

#2 rip-off   Moderators   -  Reputation: 8513

Like
3Likes
Like

Posted 27 January 2014 - 04:53 PM

Welcome to the community!

 

I've hidden your other post, please don't create duplicate posts here. If you feel a post you made belongs elsewhere, bring it to the attention of a moderator.

 


I'd like some advice on what programming languages would most likely be best fitted for such games and for me as a beginner. 

Have you read the FAQ?

 


I plan to study the languages and use them to make copies of classic simple games such as Tetris or Pong to familiarize myself with the language well, as it is common for most beginners.

An excellent approach.

 


...I can't wait to start working on games and learn from others, I will return the favour by returning the good karma and teach others in things I've learned along the way.

Sounds good to me!



#3 EdinsonC   Members   -  Reputation: 249

Like
2Likes
Like

Posted 27 January 2014 - 05:14 PM

Welcome to the community!

 

I've hidden your other post, please don't create duplicate posts here. If you feel a post you made belongs elsewhere, bring it to the attention of a moderator.

 

 


I'd like some advice on what programming languages would most likely be best fitted for such games and for me as a beginner. 

Have you read the FAQ?

 

 

Thank you for hiding the other post and now I know. However, how do I contact a mod?

Also, I did read the FAQ which recommended I'd start with Python or C#. I just asked anyway because I thought their might be other languages which might more suitable to my long term goals for my games as I originally mentioned. If these two are truly the best to start of with ill look into them, choose one and get right to it then.


“Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.” -Albert Einstein

#4 EarthBanana   Members   -  Reputation: 938

Like
1Likes
Like

Posted 27 January 2014 - 08:31 PM


I just asked anyway because I thought their might be other languages which might more suitable to my long term goals for my games as I originally mentioned.

 

These languages are suitable for your long term goals - though that doesn't mean you will always use them. Languages are just tools - and if you stick with game dev you will likely learn many languages and when to use them for what.

 

C# is great for the app development world and is what a lot of tools that speed up the game dev process use. Python is just really easy to make things quickly. Both languages are fairly high level and forgiving - they make it harder for you to write bad programs (though of course you still easily can).

 

C++ is kind of a hot word- and its because its one of the most powerful and difficult to use effectively. Beginners are often shooed away from it because the development time for games (even using lots of libraries) is usually very long due to the complex nature of the language.

 

Java is similar to C++ though I have found it has a bit less steep learning curve due to its automatic garbage collection and not using pointers.

 

IMO, if your starting game dev because you love programming then go for c++ - you will do a lot of reinventing the wheel and get less extravagant final projects for equal amounts of time you could put in to developing with other languages/tools, but you will understand programming a lot better. It will also make picking up new languages easy - when you love programming learning c++ is very rewarding.

 

If your in it for making the games - ie your more interested in getting your idea for a game produced and working than you are in understanding the details of how the computer is making the game work - then definitely c# or python are good choices. With these languages you will be able to create games much more quickly than with c++ especially if you use tools such as Unity.

 

In the long road - you will likely use and learn different languages depending on the project your working on


Edited by EarthBanana, 27 January 2014 - 08:32 PM.


#5 EdinsonC   Members   -  Reputation: 249

Like
2Likes
Like

Posted 27 January 2014 - 08:59 PM

I just asked anyway because I thought their might be other languages which might more suitable to my long term goals for my games as I originally mentioned.

 
These languages are suitable for your long term goals - though that doesn't mean you will always use them. Languages are just tools - and if you stick with game dev you will likely learn many languages and when to use them for what.
 
C# is great for the app development world and is what a lot of tools that speed up the game dev process use. Python is just really easy to make things quickly. Both languages are fairly high level and forgiving - they make it harder for you to write bad programs (though of course you still easily can).
 
C++ is kind of a hot word- and its because its one of the most powerful and difficult to use effectively. Beginners are often shooed away from it because the development time for games (even using lots of libraries) is usually very long due to the complex nature of the language.
 
Java is similar to C++ though I have found it has a bit less steep learning curve due to its automatic garbage collection and not using pointers.
 
IMO, if your starting game dev because you love programming then go for c++ - you will do a lot of reinventing the wheel and get less extravagant final projects for equal amounts of time you could put in to developing with other languages/tools, but you will understand programming a lot better. It will also make picking up new languages easy - when you love programming learning c++ is very rewarding.
 
If your in it for making the games - ie your more interested in getting your idea for a game produced and working than you are in understanding the details of how the computer is making the game work - then definitely c# or python are good choices. With these languages you will be able to create games much more quickly than with c++ especially if you use tools such as Unity.
 
In the long road - you will likely use and learn different languages depending on the project your working on


Great answer,very detailed. Thank you for taking the time. I'm in it for the games and less for the programming itself. I plan to start out with Python and see where i go from there; like ypu said iw will most definitely learn other languages. Python kust seems like a fine place to start.
“Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.” -Albert Einstein

#6 dejaime   Crossbones+   -  Reputation: 4046

Like
7Likes
Like

Posted 27 January 2014 - 10:44 PM


go for c++ - you will do a lot of reinventing the wheel

I've been programming in C++ for years and I can tell you it is easy to use lots of opensource wheels so you don't have to invent them.

The big advantages I see on C++ are:

  1. it gives you more room for optimizations;
  2. it gives you access to some very good engine, library and framework options.

And these are the reasons for not using C++:

  1. those kinds of optimizations are unnecessary on most situations;
  2. these engines are an overkill for the game project, suited for AAA, but too much for us average users; or
  3. there are ports for these.

Notice how I did not include that it is hard, complex, or anything like that.

 

It is easier to evaluate an engine when considering the needs of a game; so I avoid telling someone to pick a language, purely. I always tell them to pick an engine or framework, the language choice should come with it, unless they are asking specifically about programming languages. And C++ is just as complete as any other languages, you can use even garbage collection just by including some header files (that you didn't reinvent), to name a single functionality. C++ can be used for making the games.

 

So, my 2-cents.

Picking languages may be misleading, and takes your focus away from the programming itself. You'll end up learning the language over learning programming, and this will make you reluctant to changes, sometimes even avoid any changes completely or be afraid of them. Avoid making a language "your language" or you will end up being its programmer, and not the opposite, remember who is the tool here!

 

You can choose an engine like Game Maker/Game Editor, that will teach you some basics. With it, you'll learn a lot of what makes a game.

There are several games being sold that were actually built with Game Maker, it is in fact a professional tool.

So you could pretty much stop right here and make games.

 

But if you think you want to go a little deeper, you could get another game engine like Unity or Blender Game Engine, that will require more study, but will give you more power over how your game works. Unity is very popular today and has lots of resources online for the beginner.

You could pretty much stop there and make games with Unity, it is a very professional tool.

 

But if you want to go even deeper, put your hands on an engine, library or framework that does not count with a visual editor. Here libraries like SDL (be it with C++, C#, Python, [...]) are the most useful. You'll understand a lot better what happens when a game runs, and may even be able to make your game run better and faster. But you will need a lot more time studying and practicing. There are innumerous options other than SDL. Löve2D, SFML, Angel2D, indieLib, ClanLib, LibGDX, Haxe, MonoGame, SourceSDK, Polycode... Some are more complex than others and require more work, so you'll have to measure your game's needs and make a choice based on them.

 

Your listed games are really not the type that requires a lot of performance. A trading card game could be done with pretty much anything, so I'd probably use Game Maker, Sprite Builder, Game Editor, Enigma or something like these. A top-down RPG could be done with RPG Maker, there are commercial titles that were. I would recommend something like Löve2D, Haxe, PyGame or similar for your card game, if you don't want to create these by using game making tools.


Edited by dejaime, 28 January 2014 - 01:03 PM.


#7 Dragonsoulj   Crossbones+   -  Reputation: 2116

Like
4Likes
Like

Posted 28 January 2014 - 02:10 AM

Since you are a CS Major and will be taking programming classes, I am sure, why not see what languages your university uses? It could help you more in the long run. Particularly since you will be learning a language and working on extra projects with it. If you feel the university's language choice does not fall into your domain (or you want to come back here to ask about it), then you can choose a different option.



#8 richardurich   Members   -  Reputation: 1187

Like
4Likes
Like

Posted 28 January 2014 - 02:24 AM

I strongly recommend finding series of tutorials that just click with your learning style, and using whatever tools they're using. In software development, you're going to switch tools a billion times anyways, so just learn whatever is easiest to learn until you can start answering questions like "which tools will help me save time in this current project?"

 

For game engines, I think Construct 2 is likely to be one of the easiest engines to learn that moves you towards your stated goals. But if you can't find any tutorials that click, try other tutorials using other engines first.

 

For programming languages, you can find online courses like CS50x for free. Just find tutorials that click. I do recommend learning C (not C++, just C) somewhat early though, as well as a high level language (Python's fine). C forces you to understand some very fundamental concepts, and a high level language will show you what wheels you don't have to reinvent. If you've used C, you'll just instinctively know things like why Java constantly complains about null this and null that. If you've used a high level language, you will know what libraries are useful to track down for whatever language you're using on your current project. I also recommend avoiding C++ and Java at the beginning since it is way, way too easy to get overwhelmed with those languages. But you eventually do need to learn C++ and Java.



#9 EdinsonC   Members   -  Reputation: 249

Like
3Likes
Like

Posted 28 January 2014 - 06:55 AM

Thank you for the very appreciated and information packed replies. I think ill stick to python and use pygame, and. Already have blender which runs with python. Ill try some game makers though, i dont wanna do anything overwhelming.
“Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid.” -Albert Einstein

#10 pyirrlicht   Members   -  Reputation: 618

Like
4Likes
Like

Posted 29 January 2014 - 03:53 AM

Thank you for the very appreciated and information packed replies. I think ill stick to python and use pygame, and. Already have blender which runs with python. Ill try some game makers though, i dont wanna do anything overwhelming.

Python is good choice. If you want learn 3D - see pyIrrlicht examples and I can help with this.



#11 EarthBanana   Members   -  Reputation: 938

Like
1Likes
Like

Posted 29 January 2014 - 09:21 PM

I can say, python was my first language and I don't regret it at all






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS