Jump to content

  • Log In with Google      Sign In   
  • Create Account

Anri

Member Since 15 Sep 2003
Offline Last Active Jan 14 2016 04:24 PM

#5102735 How do you 'learn' a programming language?

Posted by Anri on 19 October 2013 - 05:44 PM

Learning a language is quite a mammoth task, especially if its your first, but I find that continuallly making progress daily is a good thing, even if it is just a small amount of time you dedicate to studying.

 

Here is a great tip I have learned over the years for any kind of studying or task: get to bed earlier than usual - even if its just 30 minutes sooner - and do about 30 minutes the following morning. That way, you can relax safe in the knowledge that you have made an effort. You don't want to drag the day out constantly thinking "sigh, I still haven't done anything...maybe I'll find time tomorrow....".  30 minutes each morning and you'll clock up three and a half hours a week of programming experience.

 

At the moment I am currently working with a friend on a 3D modelling project, and where they(being a professional) will update once every few days, I will update a little on a daily basis. Although I'm not on the same skill level as my friend I am at least keeping up with them, and the project is moving forward on a daily basis.

 

Right, I must get my beauty sleep now or I'll not be thinking straight in the morning! blink.png




#5041318 Feel like I'm going nowhere

Posted by Anri on 09 March 2013 - 05:59 PM

Some very good advice given by previous posters.

 

Personally, I would recommend making a text-based game. Command-line stuff where you select numbers from an options screen and all that jazz.  Allow a the player to select different locations...

 

"You are in the Study. Colonel Mustard is here. There is a Candle stick."

 

"1.  Talk to Colonel Mustard."

"2.  Search Study."

"3.  Take Candle stick."

"4.  Examine Inventory."

"5.  Return to main hallway."

 

...you get the idea. It will help consolidate your knowledge of Java before leaping into a games or graphics api, and you certainly won't be taking on too much. Once you finished that then consider a similar project but using a visual interface - text boxes, images, buttons, combo boxes etc.  Add pictures to your game to show Colonel Mustard, the Candle stick and the Study...or maybe a giant robot mech...with rail guns...and sidewinder missiles...yes. OH yes. ^_^




#5041303 When to start with C++?

Posted by Anri on 09 March 2013 - 05:18 PM

I would just go for it.

 

Besides becoming familar with a language that is a main player in the games scene, you will discover new ways to program.  For example, and off the top of my head, Java source files only need one file whilst C and C++ throw header files into the mix.  Also, C++ classes make you aware of destructors, which are vital as C++ does not have a built-in garbage collector...

 

So long as you accept that C++ does things differently, then you should find learning it straight forward. Don't forget you have knowledge of OOP(from your Java experience), which makes learning C++ that little bit easier.




#5039263 What experience do you have in terms of programming?

Posted by Anri on 04 March 2013 - 06:13 PM

From 2000 to 2007, I used C and C++. By teaching myself and some additional help from evening classes and Computeach.   Some 2D games and even some 3D demos.

 

2007 to 2012, got a Uni Degree with some additional qualifications.  In that time I switched to Java and focused on software development.  Bit of Visual Basic, which I enjoyed and the experience made me nearly switch to that langauge.  Felt like writing a game in it as it seemed to be good at rapid prototyping, but decided that I should apply the module's principles to Java instead, which had the lion share of my education and propably has better prospects for job hunting. It would be nice to know other peoples thoughts about VB in regards to gaming, although I would expect them to be lukewarm...

 

After thirteen years, I do feel a bit gutted I still haven't got a job in programming, but the personal jouney, so far, has been worth it.  At the very least I can now program with confidence and have several qualifications to my name.  I'm looking towards a programming job in Cambridge, England, but we'll see how that goes...

 

My advice to those starting out; don't be in such a rush to learn everything in one go. Take one thing at a time, and if you feel you lack knowledge which is preventing you from progressing - don't delay, learn it today! ^_^  or just give it a shot. Whatever.




#5038802 Basic questions to get started on games development.

Posted by Anri on 03 March 2013 - 01:06 PM

Visual C++ Express is a good choice. A large user base so help is at hand and is certainly good enough for a learner.

 

I personally recommend, if you are already familiar with C, getting a book such as SAMs "Teach yourself C++", then spend some time writing a text-based game and then move on to a more indepth book such as Herbert Schildt's C++ Complete Reference.  Then consider perhaps Windows API & GDI or even DirectX for graphics.

 

APIs will come and go, whereas languages tend to stick around for a lot longer, so keep sharp your knowledge of C++ more than anything else.




#5037401 Want to learn programming...again

Posted by Anri on 27 February 2013 - 05:57 PM

You can't go wrong with either C++ or Java as a primary language. C++ is the darling of the games industry whilst Java can be used for Android games.

 

However, if you are learning from scratch then its wise to leave alone OOP languages until you have the basics of structured programming nailed. Both C or JavaScript are ideal beginner languages and share almost identical basic syntax with both C++ and Java. Well, C and C++ are considered the same language but there are some differences beside the obvious use of OOP in C++...




#5037381 what to learn and focus on first

Posted by Anri on 27 February 2013 - 05:06 PM

If you are happy with C++ then stick with it.  No reason to try another language until you are solid in your first language - besides, C++ is the primary language for games development so its worth sticking with!

 

Whilst its not Crysis, I would strongly recommend looking at Wolfenstein3D as a first 3D project.  Its not too demanding for a beginner but one can achieve decent results and can expand it to throw in more challenging features such as shadows, physics, AI etc - theres lots of possibilities with ray-casting.

 

So long as you can get input from the cursor/arrow keys, write a bitmap loader and draw a dot on the screen then its just a matter of your maths and programming skill.  So, if you're using C++ then I believe there is a newer version of what used to be DirectInput, and last I remember there was GDI for basic rendering features.  Of course things have changed since I switched to Java in recent years, but I'm sure they are now easier to implement and with todays processing power you needn't have to worry about speed where a simple demo is concerned.  If you have a quad-core then you can sit rather smug on a high horse...^_^

 

Anyway. Whatever you do just start simple and build on it gradually. And make sure you cover the basic stuff first before leaping into the "good stuff"!




#5036858 What to write with now?

Posted by Anri on 26 February 2013 - 03:45 PM

If you are currently using C# and XNA, and comfortable, then stick with it.  I wouldn't worry until its no longer used for the XBox.

 

Push comes to shove, for making money from your games, you could switch to Java and Android.  C# and Java are very similar and if you are at the point where you are making money from your games then learning the Android side shouldn't be a problem.




#5031767 Anyone else run into the "idk what programs to make" issue?

Posted by Anri on 13 February 2013 - 05:47 AM

Bill, my friend, lets be patient for a moment.

 

Answer the following questions, and just be honest so we can help( believe it or not, we are a nice bunch! happy.png )...

 

1) Have you ANY programming experience whatsoever?

 

2) How much math skill do you have?

 

3) Have you done any 3D stuff in packages like Maya, Max, Blender etc?

 

4) Do you have any education in the field of computing or IT?

 

...its a bit vague what your current situation is, and so I apologise in advance if those questions are in any way degrading to you. But just answer each question for me.  And I will reply...

 

Regards. Steve.

 

Yes

 

I plan to refesh my memory on everything from algebra up to the stuff needed for 3D math.

 

No, but I am working towards learning Blender3D.

 

No, I am self teaching, I plan to go to college here soon though. Until then I am self teaching.

 

Okay, so you know a bit about programming(I will assume a beginner in C++ and use it as an example from here on), you don't know the maths involved or have forgotten it, and you have not loaded up any 3D program whatsoever...

 

1) Lets talk C++ and upcoming education.  This should be your main priority and you need to learn programming like the back of your hand.  Enrol in a course at College that teaches a computing language and the basics of computing. Does not matter if its teaching C++ or not - just do it.  Now, in your own time, learn C++ from SAM's Teach Yourself C++ in 21 Days.  So long as you've installed Visual C++ Express, you can work through it.   If you really want to be able to program games then just see this advice through. Being self-taught is important, but if you can complement it with some formal education then you will learn it much quicker.

 

2) Maths. Second most important thing you need to learn.  Definitely look at trigonometry first(find out what SohCahToa is!), and then basic substitution in Algebra. You might be able to mix in Maths with your college education, which would be a bonus. Start small and just keep at it, but don't avoid it.

 

3) Blender, Max, Maya and all things 3D modelling & animation.  This is not an easy thing to do, although it has become much easier in recent years. If you can, learn either Max or Maya. They are the top dogs of that industry and a worthy addition to your CV. On the other hand, you can do the same stuff in other packages, and like programming, its 90% what you know about 3D in general rather than what tool you use.  Which ever tool you use(I use Silo, Blender & Paintshop Pro), learn your skills in this order: polygon modelling, texture creation & mapping, rigging & animation, rendering. If you can only learn one of these, learn polygon modelling(I recommend Silo if you are a beginner). Like I say, learning this is time consuming(a task as great as learning programming) so only worry about it after you sort out your programming and math skills.

 

...so, you are a professional programmer first, a swanky mathematician second, and then a tree-hugging-hippy-3D-artist third. Bill, this is going to take some time, so accept you are in the learning stage for the next two years and keep in mind what I have said here as to what you need to do.  If you look after your skill as a programmer, then it will look after you in turn.

 

That's really all I have to say. Well, there is more but I doubt you'd find it interesting...

 

( a load of GameDev subscribers now put pistols to there heads and fire away! o_O )




#5031278 Learning By Doing vs Learning By Reading

Posted by Anri on 11 February 2013 - 06:43 PM

Learning your first language is hard enough without throwing games development into the mix.  Best to get a book on C++ first then look at a games development book once you become more confident with C++.

 

Remember that programming games is hard graft and is certainly not learnt over night - "Rome was not built in one day!".  You are a beginner, so why are you expecting to perform miracles? Eh? Be kind to yourself and take your time to experiment from what you learn from your books...and it will eventually become clear.




#5030988 Anyone else run into the "idk what programs to make" issue?

Posted by Anri on 11 February 2013 - 04:50 AM

I think any game designer runs into this problem on a regular basis! 

 

First, there is good advice given by the previous posters about "just go for it". Expecting too much of yourself is usually counter-productive so you do have to just see what you can currently do and go from there...

 

Second, if you want to learn 3D then I recommend starting with a ray-caster engine.  If you're using C++ then I'll assume you are a windows user and suggest you forget about all these game libraries and just use the WindowsAPI. So long as you can draw a single dot on the screen, get keyboard & mouse input, then you can do 3D programming. Its then a question of how good your maths and software development skills are! happy.png

 

Third, whatever you do - good luck - but just start off small. Make a simple game in 3D and see it through to the end. As already said - it doesn't need to be perfect, just a start and something to show to others.  You will get some who say its shit, but hey, we can't all be Elves from Rivendale, can we? happy.png

 

"Brother, I would spare you that pain..." Ramirez, Highlander

 

When I first started out, I spent about six months learning C and skimming over C++. After a quick command-line RPG game, I went straight into the bells and whistles of DirectX. There was something called WinAPI and GDI along the way, which I spent a few pages on, and went charging into API-madness like a bull in a china shop. To be honest, I really didn't have a clue what I was doing and it was painful, and whilst I managed to make a 2D blaster or two, I came away with the conclusion that I needed to go back and learn C++ PROPERLY, and even then, a few games later, I realised that skimming WinAPI and GDI was a mistake. So, don't be in a rush. Spend time learning your language first, then whatever you need next.  You don't need to do everything all in one go...




#5025613 where to start

Posted by Anri on 25 January 2013 - 06:22 PM

Another good way to learn programming is to not only teach yourself from books, but to also enrol in a programming course as a boost.  Formal education(of any level) can help to ensure you know the basics of your language, or to even improve in areas you are weak in.  Its not so much the qualification but the skills handed down to you by your teacher.

 

Crikey, I remember doing an evening class in C++ many moons ago. I didn't come away with much more C++ knowledge than when I started(I was self-taught at the time), but the experience gave me more confidence with programming.




#5023312 Is it wise to look up games similar to your idea?

Posted by Anri on 19 January 2013 - 05:07 PM

Good question. There are ways to increase the originality of your game...

It all starts with you(or the project leader) where you explore what interests you and use that as a foundation. For example, the guy who came up with Zelda used to play in caves near his home when he was a child(or something like that). Mike Singleton was mad about Lord of the Rings, and made Lords of Midnight. At this stage you need forget about games altogether and go with your own influences from perhaps personal experiences and media(that is not game related).

Here was an interesting design challenge I gave myself last year(just for a laugh and without actually making the game): Design a game based on Jaws. Now, before turning to the net, I just wrote down what I liked about the film. Then, I watched the film again(luck had it that it was on at the Cinema again! Hurrah!) and wrote down just about everything that happened in the film...

From what appeared at first to be a film with little scope for a game, it turned out that there was a wealth of ideas and concepts that could be used.. To cut a long story short, I laid out the differences between the three male leads, the victims, the reactions of the locals and those from out of town, the different boats and equipment, and even the autopsy scene. I also noted my own emotions toward the film. There certainly was no lack of mechanics to make for an interesting game!

That's even before thinking about it as a computer game. The good thing about this approach is that you are not distracted by what has already been done, but exploring dreams, ideas and possibilities. Sometimes you may feel you have come up with an original design, but find another game has beaten you to the punch...well, great minds think alike! But sometimes when you play their game, you find its not quite what you were after...

Going back to the Jaws example, I found an old MS-DOS Jaws game where it was about resource management and hunting down sharks. Quite a few of the ideas I had hit upon were already implemented in that game. But then I looked at what was different and then ran with that. The DOS game felt like a shark Hunting simulator whereas the design I had come up with was a baywatch sim, C&C and Cryo adventure combo.

So my advice is not to be discouraged when finding something similar, but to see where the differences lie and focus on them and what you personally want - not what is before you.

Long winded reply, I apologise, but its an interesting question you pose and I couldn't resist! ^_^


#5023160 Getting into game development (Books, courses, etc)

Posted by Anri on 19 January 2013 - 06:43 AM

For 3D modelling I strongly recommend CGTalk, and once you are confident then take part in the "Hardcore modelling challenges" for excellent experience. However, if you are doing games then don't neglect your low-polygon skills - sculpting is cool, but they need to be built from an efficient low-poly base model to be used in games.  I personally use Silo and Blender, but either 3dsMax or Maya is a fantastic choice career-wise. Just remember its your knowledge of the 3D modelling process that is important, and not so much the tool you use...that only becomes an issue when fitting in with a group.  For example, I preferred Maya over Max, but was willing to learn it to help out some friends...

 

For a good, beginner friendly, guide to building a game character then I recommend "Game Character Development" by Antony Ward. He takes you through the creation of a Forest Troll to be used in a game, and although it uses certain packages it is written in a way that does not require them - so you can use whatever packages you like so long as they support the basic features.

 

Game design. Hmmm. I recommend looking to anything on Software Development and Interaction Design. Not only does your code need to be written according to a plan and be reliable, your programs also need to consider your target users.

 

Not sure what to recommend on Software development because it was covered in my degree(Open University) so they provided their own books. For Interaction Design...go with "Interaction Design - Beyond Human-Computer Interaction" by Preece, Rodgers & Sharp. The subject itself is a bit abstract and at first you will think "what a load of psychological bollocks!" but its good food for thought and explains, for example, why products like the under-powered Wii could still compete with technologically advanced consoles such as the 360 and PS3.

 

Anyway, I hope that helps and best of luck! ^_^




#5016380 Starting Point

Posted by Anri on 01 January 2013 - 09:27 AM

Before you can make any games you need to know a language, and then how to develop them.

 

The first port of call is to spend some quality time(about a month or two) learning the basics of your first language.  I usually recommend either C or Java, but in this case I would agree that Python would be an ideal choice for a beginner.

 

Development of a program requires experience and skill, so consider a small text-based game as your first project. This is what I did back in 2000 and surprised myself at making a rather epic RPG! I do wish I had spent time afterwards learning WinAPI before galloping off into DirectX and remake it with a GUI with graphics and audio. Sigh, making that side scrolling shoot-um-up with a 3D background was too hard to resist...o_O

 

Don't rush things, nor expect too much of yourself and you will get there.

 

Godspeed, squire! ^_^






PARTNERS