Java or Python

Started by
25 comments, last by Gian-Reto 9 years, 8 months ago

You should continue doing side projects even while doing university

Another user said it before, and it's true; I'm only looking for something to start with, but I'm planning on studying on my own during and post -uni.
I have "Visual C# 2010" I've never read. Is it the right book to start with? Can you suggest anything better?
Or even another language?
I'm stuck on those questions sad.png
Advertisement

You should continue doing side projects even while doing university

Another user said it before, and it's true; I'm only looking for something to start with, but I'm planning on studying on my own during and post -uni.
I have "Visual C# 2010" I've never read. Is it the right book to start with? Can you suggest anything better?
Or even another language?
I'm stuck on those questions sad.png

Having an understanding of C# when starting your C++ course in Uni (if you decide to go that way) is still better than having no programming expierience at all.

You will still have to learn new concepts like memory management that C#, most of the time, will take care of for you. But around 90% of the language (save libraries that might differ) will be highly familiar to you by then, as its only a slight difference in syntax between C# and C++...

You have to see that most of the languages popular today, especially in the field of game programming, have common roots (in C AFAIK). Thus the basic concepts are very close.

Now, as you already have this book laying around, you have 2 Months left and want a cool project, you could either start by writing small text based or 2D Games with the C# book and an additional tutorial on Game Loops and basic game concepts like that (translating a Java tutorial for a game loop to C# should be easy, and is a good training in understanding basic concepts and differences of these languages in itself for example)...

Or you could do what a lot of the impatient newbies did (me included ;) ), download Unity (its free as long as you don't need the pro stuff), skip through a quick tutorial to get the basics (who has the time to really do a tutorial from start to end, right? What could possibly go wrong, right? smile.png ), and then use the Engine, combined with some nice free 3D Models found on the net, combined with your C# book to setup a nice scene, populate it with stuff, and get things moving with C# scripts.

The first suggestion is certainly a better, more bottom up approach for a game programmer... no better way to understand the basics of a game loop than programming it yourself. You will learn more about the language, and by the time you hit Uni you certainly have some small games done.

The second approach will give you nice visual results faster. You will also learn a lot about C# and Programming, as an added bonus you get some expierience with using a Game Engine Editor (which is different for each engine, but the basic stuff stays the same more or less) and you get exposed to some topics of 3D Graphics (baking lightmaps, realtime lighting, shaders, ...).

If you have enough staying power to really dive in head first, you might, after a lot of learning, be able to build simple 3D Games with stock models. Which to some people is much more motivating than writing simple 2D Games.

I think I personally would mix'n'match a little. You really should try writing game loops to get a feel for how every engine is built up at its core (and then get the opportunity to see why something sounding so simple like refreshing a 2D Image 60 times per second will fail miserably if implemented in a naive way... happened to me)

When you get tired of writing simple text games, move on to nice 2D Games, or download an engine and dive in head first into 3D Game dev.

There is much more to learn than just how to program. If you really have 2 months full time, you can get a headstart on other students for your CS Education, AND learn some basics for later game dev projects.

EDIT:

Oh, and be aware that a book with the name of "<language name> <year>" will usually be a good reference for an expierienced programmer, but might not be the best start for a novice. You usually will find a book "learning <language name>", sometimes even from the same publisher.

For example, O'Reilly will normally Publish a general reference book on a language ("Perl in a Nutshell" for example), but also a beginners book ("Learning Perl" for example).

The beginners book will explain the basics much better, but will never go that much into the details as the reference book, and will omit library specific parts that the reference book might include to get more space for simple tutorials and a much more examples.

The beginners book will explain the basics much better, but will never go that much into the details as the reference book, and will omit library specific parts that the reference book might include to get more space for simple tutorials and a much more examples.

I've noticed: http://www.amazon.com/s/url=search-alias%3Daps&field-keywords=c%23
This seems a good book, even if some say it's better "Head First C#". I don't know if I should study on a newer book (that one is from 2012, but things go fast). What would you recommend?

The first suggestion is certainly a better, more bottom up approach for a game programmer... no better way to understand the basics of a game loop than programming it yourself. You will learn more about the language, and by the time you hit Uni you certainly have some small games done.

I think I'll go with this path. There are many books I can buy to code games (1, 2, 3, ...) and having a good understanding of the language should help... even if, if you didn't tell me it was better, I'd have chosen the second path.

The beginners book will explain the basics much better, but will never go that much into the details as the reference book, and will omit library specific parts that the reference book might include to get more space for simple tutorials and a much more examples.

I've noticed: http://www.amazon.com/s/url=search-alias%3Daps&field-keywords=c%23
This seems a good book, even if some say it's better "Head First C#". I don't know if I should study on a newer book (that one is from 2012, but things go fast). What would you recommend?

The first suggestion is certainly a better, more bottom up approach for a game programmer... no better way to understand the basics of a game loop than programming it yourself. You will learn more about the language, and by the time you hit Uni you certainly have some small games done.

I think I'll go with this path. There are many books I can buy to code games (1, 2, 3, ...) and having a good understanding of the language should help... even if, if you didn't tell me it was better, I'd have chosen the second path.

I personally like the O'Reilly books, and I have their "learning C#" book at home. Used it during my CS studies, though I use online references mostly nowadays when doing C# development for Unity (because the Unity API is best consumed from the Unity webpage). I have passed it on to my Girlfriend so I haven't really opened it for quite some time, but I think the book was quite useful for learning.

I don't know the other books sadly, so besides the O'Reilly book and giving rather broadish advices I fear I cannot help you further. Pick a book with good reviews in your price range and go.

From the other links you posted, #1 is a book about game dev with Unity and C#. While I personally think its a fine way of being introduced to game development, it is more related to the second option I listed, which is working with an existing engine.

So if you want to start from scratch, pick another book.

About "better path"... it is certainly better for someone that aspires to be a game programmer, of most probably all specializations of game programming. If this is your career goal, then yes, start from scratch.

If you would aim to be a level designer, that advise might be reversed... knowing how to use an engine and an engine editor would be much more important to this person then being able to write games from scratch (altough understanding basics of other professions never hurts)

Personally I think that Python is the best and easiest high-level language to start with . I recommend using Pygame framework which makes it easy to create programs with 2D graphics. All you need to start making simple 2D games is a computer and the wonderful book "Making Games with Python & Pygame" ; you can download it from this direct link : http://www.datafilehost.com/d/ab305094

It's the better way to make your first step into game development world. :)


I personally like the O'Reilly books, and I have their "learning C#" book

Well, it is quite old (2002) and based on C# 3.0 (5.0 now, if I'm right). I'll check something else and have a look at the reviews.


Personally I think that Python is the best and easiest high-level language to start with

Just looking for something, not only among high-level languages.

Now you make me have doubts about Python or C#. This game won't ever start sad.png

Ps. I don't understand why my above post has -1 :( is it because it was a bit off topic?


Personally I think that Python is the best and easiest high-level language to start with

Just looking for something, not only among high-level languages.

Now you make me have doubts about Python or C#. This game won't ever start sad.png

Ps. I don't understand why my above post has -1 sad.png is it because it was a bit off topic?

I think his reasons to recommend Python are as valid as anyone elses recommending other languages.

Always take language recommendations with a pinch of salt. Someone who had multiple years of practice in one language will most probably find it easier than the language he just learned.

That said, just pick a language and go. Really, apart from picking Cobol for game programming (horrible old structural language from the 70ies still used for business programming on the expensive Mainframes big companies are still stuck on) you can't really go wrong with any language. Some will be easier to start, true, but as long as you have some "staying power" you will be fine.

There are people who started young with C++, even though a lot people say its a very complex language to learn.

No matter what you pick, be aware you can still change languages later on like clothing, as soon as you have learnt the basics of programming. Some languages will not fit comfortable from the beginning if you try it on for the first time, but with wearing it over time it will be just as comfortable as the language you started with... figuratively speaking :)

Finding a good book or tutorial is frankly more important for you than finding the perfect language.

This topic is closed to new replies.

Advertisement