What have been/are your learning techniques?

Hi

I am new here, and relatively new to the Java programming language.

While I have been learning the past month or so, I have found myself wanting to learn more and more, but due to that enthusiasm and excitement to get closer to creating a little 2d game engine that I can expand upon and create games off, I find myself having drifted away from efficient learning techniques, and just trying to go through as many tutorials as possible, hoping that I just pick things up along the way (which is happening, but I question if it is really a good way of learning).

I have been through the documents found here, which were somewhat helpful to begin with just to give me a grasp of basic concepts: (I still refer to it from time to time)
http://www.tutorialspoint.com/java/index.htm

I have looked through a few Java Oracle tutorials too.

I have been through the entire Beginners section of TheNewBoston’s tutorials (One day, when I’m making plenty of dollars, someone remind me to give that guy a hefty donation).
I have also been through a few of his intermediate tutorials before getting a tad bored and moving onto something I can see results out of.

I have just been through Van Zeben’s tutorials for Java 2D game engine development, but it’s very full on and I really didn’t learn much about specific functions and so on, but I did get an idea of the complexity of even the most basic of game engines. I believe that if I want to be a great games developer, I need to get an understanding of the low level stuff and understand what is happening behind the scenes rather than jump ahead into something like Game Maker where I really don’t think I would learn much at all about programming (I could be wrong however).

To begin with, while learning Java through TheNewBoston’s tutorials, I was practising the code several times over and over so that I could understand how the code works and how it could apply to game situations, which I think worked well, but as the code got longer and longer, and each video had about 10 different things to learn in it, I stopped practising the code and just tried to understand it at the time. If I didn’t, I would watch the video again until I did understand it, but it’s not the same as writing out the same code off the top of my head after doing the tutorials.

Anyway, i’m rambling now…

So, while I know that everyone is different, and everyone learns differently, and that there is no sure-fire way of becoming a master programmer/games developer. I AM curious to know of the learning experience of other programmers, I am interested in knowing things such as:

  • Why did you want to start programming? (What was your motivation?)
  • Why did you choose to begin with the language you begun with? And if applicable, why are you using the language you are using now?
  • How long ago did you get started? And where are you at now?
  • What learning methods did you employ personally to help you develop your skills in programming?
  • What advice could you give to other programmers who might be feeling a little lost in what direction to take?
  • Is there anything you believe should be a “Rite of Passage” for programmers (such as the need to create hello world, or a snake program, etc etc).

I look forward to your responses :slight_smile:

  1. Not good at other fields, nor programming too. Darn!
  2. Class forced me to learn VB6, then switch to Java because about 5 years ago before Android came Java programmer is rare species
  3. Still starting
  4. Just challenge yourself to do something that you know you can’t but you will to know how
  5. Just leave it for moment and come back later
  6. Start from something simple so yes, those will do.

A little advice from me, don’t learn something for the sake of learning it (I’m talking about topics within programming btw) Only ever learn something because you find you need to know it. When I went through the java tutorials, I thought I had it figured. I read the topic, did the examples, made a few examples of my own etc… But then when it came to using, for example, threads, I had no clue how to use them because when I had learnt them before I didn’t understand the reason for using them and what functions they could serve. I had to learn several things all over again.
This is actually where I think game programming becomes quite a good beginner topic, because there are all these topics you have to address like concurrency, oop concepts, io etc. but because you have a context to learn them in, you understand them far better at the end of it.

[quote]Why did you want to start programming? (What was your motivation?)
[/quote]
I had always been more interested in computers than anything else. I started with the hardware, building my own rig etc, and got more interested in the software not long after.

[quote]Why did you choose to begin with the language you begun with? And if applicable, why are you using the language you are using now?
[/quote]
Started with…
OOP: Java. Started in highschool because that’s all they offered at the time.
Scripting: HTML and PHP.

Currently using…
C# and Java. They’re similar in many, many ways. I personally like C# better though.

[quote]How long ago did you get started? And where are you at now?
[/quote]
Started around age… 12… I believe. I started a clan with a friend for BF2 and Counter-Strike, that’s where the HTML and PHP come in. Made a website for the clan lol. I didn’t learn Java until I was 14-15.

[quote]What learning methods did you employ personally to help you develop your skills in programming?
[/quote]
I’m a learn as I go kind of person. Not sure if ‘Trial and Error’ count as a learning technique but that’s how I tackle most tasks. I also Google a lot… lol

[quote]What advice could you give to other programmers who might be feeling a little lost in what direction to take?
[/quote]
Decide on a simple, single program you want to write. Write it in a few different languages and see which one you enjoy/understand the most.

[quote]Is there anything you believe should be a “Rite of Passage” for programmers (such as the need to create hello world, or a snake program, etc etc).
[/quote]
You must break into Fort Knox with code alone. But seriously… I don’t consider people “programmers” unless they know OOP. But maybe that’s just me being mean…

[quote]- Why did you want to start programming? (What was your motivation?)
[/quote]
Was about 7 i think. The demo computer had lots of games. Dad shelled out the 3000 odd dollars for it but not for any games. Told me if i wanted games i had to write them myself. Well i showed him!

[quote]- Why did you choose to begin with the language you begun with? And if applicable, why are you using the language you are using now?
[/quote]
pips3 basic. Because that is what that machine did. Then machine code (there was no assembler). Then assembler (i got it imported). Yea i was still only about 8 at the time. I didn’t realize how much Dad paid for some of this stuff. Even the assembler was a few 100.

[quote]- How long ago did you get started? And where are you at now?
[/quote]
Well i was 7. I am now 38. So that is like a really long time. I am now in Science where about 50%-80% of my day job is programming. I did a bunch of contracting for a few years on mobile network stuff, for banks and even some rather odd technical jobs. Probably the most odd was porting a bunch of assembly to C.

[quote]- What learning methods did you employ personally to help you develop your skills in programming?
[/quote]
By writing a lot of programs. I had a need (i wanted to play games). I tried to fill that need. That was it. Even when i was doing demo stuff it was to fill a need. In this case write something cooler than that guy. I have always been mostly goal orientated. Ironically i lost a bit of that when i came back to game programming.

[quote]- What advice could you give to other programmers who might be feeling a little lost in what direction to take?
[/quote]
Pick a goal/task. Write code. ie Write tic tack toe. Write a network chess game for network experience.

But for game devs in particular i would say Don’t write engines, write games!. Repeat that about a million times.Even better write it out a million times. This is where i went wrong when coming back to game dev work. I won’t do that again.

[quote]- Is there anything you believe should be a “Rite of Passage” for programmers (such as the need to create hello world, or a snake program, etc etc).
[/quote]
Yes. Finish a game. Most of us here have failed under this rite of passage. But it is something i intend to fix soon.

Everybody learns differently, and at different paces. However, I’ve found that concepts in programming are a lot like learning a spoken language: if you don’t use it, you lose it. You can learn all the abstract concepts you care to, but you have to put them into action and see their results or it will eventually slip out of your mind.

Don’t stop learning new things, but it looks to me like you’ve read enough tutorials: use that knowledge to start writing real things now.

[quote]Why did you want to start programming? (What was your motivation?)
[/quote]
I wanted to write my own “Colossal Cave” which was the first game I had played on a computer.

[quote]Why did you choose to begin with the language you begun with? And if applicable, why are you using the language you are using now?
[/quote]
I used BASICA because that’s what the IBM PC had, and I didn’t know there was anything else. Now I use Java because it is what I am most familiar with and it has good enough performance for the type of games I want to make.

[quote]How long ago did you get started? And where are you at now?
[/quote]
I think I was around 8 or 9. Now I work at a pharmaceutical company and do data programming in SAS as well as application programming in Java and Scala.

[quote]What learning methods did you employ personally to help you develop your skills in programming?
[/quote]
Personally, I learn best when I understand things at a more theoretical / abstract level. Code examples don’t help me as much if I don’t have the foundation ahead of time, so someone pasting in some code and saying “do it like this” is not as helpful as it might be with others. Recently I have gotten a lot out of the books Object Thinking and Holub On Patterns. They showed me that although I was using objects and classes, I wasn’t really taking advantage of what OOP has to offer. I was really just doing procedural programming in Java. Going over my game/work code with these books in mind have been a revelation for me. My code has immediately gotten more readable and more understandable.

[quote]What advice could you give to other programmers who might be feeling a little lost in what direction to take?
[/quote]
Write something small…trivially small, but finish it.

[quote]Is there anything you believe should be a “Rite of Passage” for programmers (such as the need to create hello world, or a snake program, etc etc).
[/quote]
A simple text based roguelike.

I actually didn’t want to start programming at first. I started programming when I realized that I wanted an easier way to teach my fellow students about Geometry in High School. So I wrote a program using my TI-83 Calculator to do just that. It was then I realized that I was pretty good at it, and continued learning and writing small programs ever since.

I chose BASIC because that is what was on the TI-83 calculator at the time. Ever since then, I dabbed in a lot of other languages like Perl, C++, JavaScript, etc. The reason I’m sticking with Java now is because I think Java has a lot of untapped potential. If people can just start writing more games in it, it might be able to take off as a very solid contender to the top languages. (Well, as long as Oracle stops messing the security up…)

I started coding in high school around 13-14. Now I know multiple languages and have been coding small applications and games for them. At the moment, I’m working on a small scripting engine for JavaScript. Real-life wise, I’m delving into machining and mechanics to see what methods can be employed to make tools like AutoCAD run better.

To be honest, I used my projects as a learning experience. Every project I created, I treated it like a challenge and used the challenges of the game to figure out what I should do next. This allowed me to finish my applications/games, but as a bonus, I also learned a lot about the programming languages and the similarities they all have with one another. As a programmer, I find that splitting up your work load is invaluable. Tackling your jobs in small pieces vastly improves the chances you’ll get something done. “Divide and Conquer… and all that jazz.”

  • Well, first and foremost is, don’t give up on the task of finding a direction.
  • Secondly, always do something that will interest you.

Not everyone is going to feel motivated to produce snake, pong, or pac-man. The most important thing is to find a project that you would like to put onto the screen, and work to do that. Direction, time, and motivation all fall into place once you have a goal you want to achieve. (Well, as long as the goal is a very manageable one, like making a simple screen saver :P).

On that thought, don’t set your goals to be unmanageable. It is important that you pace yourself as you program so you can actually absorb the techniques. Like all exercises, programming is best taken in small chunks. Treat programming as a journey, and treat the project you create as a reward.

Finish something. Then, finish something else. Treat each finished program as a trophy.

Awesome stuff guys, thanks for taking the time to respond. Any time I read of the experience and/or success of other game developers, programmers, 3d modellers etc, I get a little bit of inspiration and in some cases, a lot.
Reading those responses is giving me plenty, which is great considering right now i’ve got the man flu (which is making it hard to do programming, but I’ve found myself pulled towards it rather than repelled which is great!).

I will give a little bit more info on myself, it is a lot, but i’ll only post this once haha.

I’ve always been interested in Games Development, even as a kid, but due to many things including depression, anxiety and insomnia, I didn’t start games development until about 2005-2006 when I finished High School.
I didn’t know where to start, but thankfully knew some people who were doing 3D modelling using Maya, and at the time, I wanted to develop a zombie total conversion mod for the game “S.T.A.L.K.E.R.” (like every upstart game developer/modder wants to create the ultimate zombie game after watching a few zombie flicks lol).
Despite working hard at that project and creating a whole bunch of weapon models, prop models, item models, and level models, the developer clearly stated that modding was not supported, and will never be supported. (The developers went bankrupt funnily enough).
I pretty much gave up for a while, and didn’t know what direction to take, and thus wasted a lot of time doing nothing, or very little in games development. I did create some very amateur music however in that free time. I didn’t follow any tutorials though, which would have helped, but I used “Reason 3” which was easy enough to just jump in and use).
Here are some samples of the work in progress music I worked on (but never finished)(NOTE: I have never done any music classes or anything, these were just what played in my head and it was an itch I had to scratch).

(You can move between the different songs there by clicking on the thumbnails and using left right arrows to navigate the songs there)

Eventually I got myself a job in sales/retail, got myself a bit more of an income, some independence. I then got interested in learning C++, so grabbed myself a whole bunch of books to learn from, the one I actually went through completely and learnt a LOT from was “Beginning C++ Through Game Progamming 2nd Ed”, but once I finished the book, I lost direction and gave up soon after, due to depression.
During that time of depression, I spent a lot of time making maps for Far Cry 2, such as the D-Day Invasion map pack, and some other quirky maps for a moddb competition, which become so popular that the competition went from judging a few hundred maps on the official judging servers to having servers dedicated to my maps that other people created…The judges did not like this however, and despite popularity in the community, the maps were completely dismissed, this made me pretty upset, so didn’t help with the depression.

After that, I got back on the horse again so to speak, decided to work on a first person Roman Gladiatorial game, inspired by watching the movie, Gladiator and doing some Roman themed maps for Far Cry 2. And I really got stuck into that project, I even spent several months trying to make a full 1:1, accurate scale model of the Roman Colosseum, including interiors. First 3 weeks I made a really bad Colosseum, scrapped it, started again with newer information and measurements. Unfortunately, while it took 3 months to get to the point I got it to, I forgot one single measurement to begin with, which stuffed the whole thing up in the long run.
I decided to showcase the failed WIP attempt at the Colosseum anyway, which landed me a bunch of job offers, I took up one offer that seemed the most serious, but contact with the developer was very sparse, I was in contact for a month or so, then suddenly, the developer dropped off the radar and this kept happening.
Here is the video I put online: http://www.youtube.com/watch?v=Oer77K_-94o

I decided to work on some other projects during that time, but none which were all that serious, more just learning experiences with using the Cryengine.
I then got back in contact with the game developer again, eventually got a contract, signed it, did some work (but did not submit it to them) and they disappeared off the radar again. I have not heard from them since.
After that, I felt really let down, but strangely, more so determined to finish that Colosseum.
So I started working on a new Colosseum, with new measurements, but didn’t get far with that when I upgraded to CryEngine 3 which only supports 16bit floating point, ruining the model whenever I imported it to the game, so this put me off.

I decided to get a bit more realistic with my chances in the games industry, I have the desire to be an independent developer, but with my job at the time, I was stressed, and depressed, and always tired, so told myself that I need to learn 3D modelling properly, and get really damn good at it, not just good at the basics. So started doing human models, sculpting and a bunch of other 3d Related things to better my skills in game art, but still found I had unrealistic expectations of myself.
But I changed job, and still felt that what I was trying to do was still such a huge task, and after seeing such small, simple games making independent developers craploads of money, I thought “If I am to get out of sales and retail, I need to look even smaller again than what I’m doing, why don’t I get into Android Games Development?”.
So then I started looking for resources on how to create Android games, bought a book called “Beginning Android Games” by Mario Zechner.
While reading through, I got to some code and didn’t fully understand what was going on, so figured I needed to take yet another step back and learn the basics, so I went out and started learning the basics of Java using the resources I mentioned in my original post.

Now I find myself here. I figure I should get involved with a community of other programmers and people who share a common interest and goal.

Sorry for the really long post, but that’s pretty much my experience in a nutshell I guess. Sorry for the kinda messy post, I guess it sort of represents my brain at the moment with this man flu :stuck_out_tongue:

I am new to this site but no new to Java Programming. I start learning Java at College and after that i always loved video games. And Java was the only program language i knew. Although like you my excitment to make something awesome makes me just to hard part immateriality it learn that thats just impossible. So i started with some small tutorials on how to make video games in java. Although that didn’t really work either. What i found out that kind of work is make simple games like a pong,tetris,arkanoid. Games that are kind of simple but offer challenge. I red a article at GameDev not long ago that was explain on how someone can start with game programming which was really interesting.

What i am doing at the moment is code something simple and when you finish with one simple game go to something more advance and when you finished with the second go back to your first and see what you can improve. And after you finished all this then all games are kind of the same. You just reuse code from one game to another.

I really want to make games and i hope that someday i will.

- Why did you want to start programming? (What was your motivation?) -> I started programming in Java (First language!) because of Minecraft (Probably the most commonly used reason/inspiration) back when it was 1.6 Beta or something. Obviously, once I learned that I couldn’t make a Minecraft clone in 10 seconds, I dropped it for a bit. but I eventually came back and worked my way up.

- Why did you choose to begin with the language you begun with? And if applicable, why are you using the language you are using now? -> Sorta answered that in the last one. I chose Java because of Minecraft, and afterwards because it was (To me), really simple and I was already in a Java state of mind.

- How long ago did you get started? And where are you at now? -> Started back towards MC Beta 1.6, so give or take a year or 2 (I have a HORRIBLE sense of time!). I am currently up to the state where I can make a sort-of Mario clone (With physics and stuff!)! This is counting my on-off periods of inactivity (Of which I am currently in Limbo, and out of ideas, my worst enemy).

- What learning methods did you employ personally to help you develop your skills in programming? -> Here’s my primary reason for replying. My way of learning is very odd (As far as I can tell from my class mates and stuff). Other people, far as I know (Very limited, Go social life!), learn by connections, visualizations, and generally having an idea of what it does. When I learn something new, I take a while after learning a rather large chunk, and actively think on what it can do. I could summarize it as, well, stripping it to it’s base form and knowing EXACTLY what it can do. This is in contrast to tutorials that have a very specific goal, and don’t generalize, like “This method lets me create a rotation around the player!”, but not the general principle behind it.

- What advice could you give to other programmers who might be feeling a little lost in what direction to take? -> I was SO lost, up until the past stretch of time. What you want to do is settle into a sort of… niche? Find something comfortable, camp in it a bit, and stretch it to it’s full potential, then move on. This way you have a SOLID background of fall-back options if you ever get stuck. The pyramids wouldn’t work upside-down, now would they? You need a strong foundation and support.

- Is there anything you believe should be a “Rite of Passage” for programmers (such as the need to create hello world, or a snake program, etc etc). -> In my brief and personal belief about programming and it’s “Rite of Passage” is that there is none. There are milestones and personal achievements. Nothing else matters, really. Everything is all personal. If you like a game, and are proud of it, then you have made a “good” game (In your belief). This obviously doesn’t carry over to other people. Now, I think I’ve not answered the question. On the topic of “Rites of Passages”, I personally have made several, for lack of terms, milestones. 1)Text-Game, 2)GUI Game (Buttons, text boxes, etc. No graphics), 3)2D Simple, as in controlling a person, graphics (Non-interactive tiles, top-down are simple!), etc 4) 2D Semi-Complex, by which I mean several different things happening at once. AI, Player, Bullets, Graphics, Sound, etc 5) Not determined! This is how I rate myself. I make a game of whatever “section” I am on, and go from there. I share with friends, ask for input, and program it to my liking. Anything else is moot, because if you aren’t motivated to finish a “finished” project, then nothing will budge and it’s done, because you like it as-is.

In general, programming (or coding) is what you make of it. If you are motivated, you can do pretty much anything with the right tools and experience (Plus advice, of course!). I believe that Edison is a perfect example in this case, “I have not failed 1000 times, but simply found out 1000 ways that it doesn’t work.” This occurs plenty of times in programming, where you’re just throwing hands in the air and wondering why you even started this. Motivation, advice, and experience helps you power through this.

Now, I could probably turn this into an essay, but I hope that I’ve explained myself adequately and hope that I haven’t missed something insanely obvious, or over-did anything. I’m still pretty self-conscious of these sorts of things, being such a wonderful social butterfly [/sarcasm].

-Ryan
Newbie!

- Why did you want to start programming? (What was your motivation?)
I started with HTML & PHP.

- Why did you choose to begin with the language you begun with? And if applicable, why are you using the language you are using now?
I started real programming by modding Minecraft. But shortly after I decided to make my own games.

- How long ago did you get started? And where are you at now?
I started on Minecraft 1 and a half years ago.
I started my own games 1 year and 1-2 months ago.

My greatest programming masterpieces:
-Hexagonal Prism Engine.
-Prototyped Network game with interpolation, anti-cheat etc. Not clientside prediction unfortunately.

My greatest games:
-Lord of Corruption
-Guardian II (under development)

- What learning methods did you employ personally to help you develop your skills in programming?
Read ahead of what I am capable of. ‘Learn’ it all.
Then when I get to that stage, I know how things need to work, and it’s easy to work out.

- What advice could you give to other programmers who might be feeling a little lost in what direction to take?
Play more games. You need inspiration.

- Is there anything you believe should be a “Rite of Passage” for programmers (such as the need to create hello world, or a snake program, etc etc).
After Hello World (well, actually it said “MUAHAHAHAHAHA!!!”), I made a platformer (or at least the engine part of it). I don’t recommend this.
Hello World is a good start. Anything else is up to you.

Currently I am trying to learn just very basic top down engine creation, or even side on.
Ideally, I would like to create a top down game engine that uses 16 bit or 32bit graphics (in which case i’m probably looking at LWJGL), rather than 8 bit.
Once I have a base to work off, I could use it for a variety of different ideas (of which I have too many! As soon as I open the ideas door in my brain, my brain gets flooded with them lol).

My current learning method is:
1. Read/Watch video and copy the code down.
2. Read/Watch video again to understand what the code is doing further. Leaving comments on just about every single line of the code that I already copied.
3. Break the code down into sections that I can try to write off the top of my head.
4. If I can’t write the code off the top of my head, or don’t understand it, I don’t continue, I delete it, and do step 2 again or refer back to the comments in the code I left.
5. If I can write the code off the top of my head and understand what it is doing, I continue to the next chunk of code.
6. Then I will try and write down several chunks of code down on my own, and do more and more chunks of code until I can write the entire program on my own.

It seems to work well, but requires a lot of time and a lot of focus. I normally study at LEAST 4 hours a day, and at most 10-12 hours, doing roughly 60 hours of study per week.

Right now I am going through the DesignsbyZephyr tutorials I mentioned earlier, and while I think that the way I’m learning the tutorial might be the right way for me, I keep wondering to myself (when I pause for a moment) “What other places can I look towards to learn engine creation”?

I have now purchased the book “Developing Games In Java” by David Brackeen, but must wait for it to arrive.
I have also thought about buying “Killer Games Programming in Java” by Andrew Davidson, but it’s had some pretty mixed reviews. Any thoughts on the book? Anybody read it?

Also, so far i’ve found these websites to learn from (I think these may interest a few other newbies out there like me):
http://www.gameprogblog.com/generic-game-loop/ (this was posted by one of the forum users here, but I went to read through and either I couldn’t get through it to begin with because I am sick, or I just got confused).
http://zetcode.com/tutorials/javagamestutorial/ (I took a look and it seems great, but I remember reading on these forums and other forums, people saying not to use the paint() method, which is used in those tutorials.)
http://www.gametutorial.net/ (these tutorials look to be pretty good, I haven’t gone over them just yet, but I had a quick squiz and they looked to be great for me, i’ll probably stop looking at this video tutorial and get crackin on this tutorial).
http://www.cokeandcode.com/info/tut2d.html (This looks really handy as well, I like that it is a short tutorial, in comparison to spending about a week going through 7 hours worth of tutorials and not learning as much as I would like).

What are your thoughts on my learning technique?
Has anybody else applied that same way of learning?
Has anybody done any of those tutorial links, or read any of those books?
What resources have you used personally to learn from?

I have it lying just right next to me. I’ve read it.

It’s really an intresting read and shows lots of game programming techneques, but all the code in there is pretty much outdated. It uses Java3D, not-anymore-existing timers.

It’s really hard for me to decide whether to recommend or not recommend the book…
All I can say is:
[x] It won’t help you with code you can copy n’ paste mostly. (It works probably, but it’s showing old libraries and old versions)
[x] It will definitely show you how games are structured in an abstract way: It’ll show you how you could write platformers, isometric games and even a little 3D programming.

Decide for yourself! Or wait for another review from an other user…

My programming backround may be one of the odds on the earth. First of all the fact is that I’m not a computer science student. ( I would be joining cse in this august. )

My father bought a computer when I was 8 which was running windows me. But I started using it when I became 12. The reason is that we are taught C at the school which I didn’t like well. At that time, I started playing online games and wanted to make one.

To distribute the games I learnt NSIS and I liked its syntax well. I made a trainer sort of app in NSIS which removed the AI from it.

When I became 14 a friend of mine introduced to me GameMaker. My target became making a clone to it. So I started searching for game development tutorials on online in YouTube. The first of them I found were of the NewBoston tutorials on java. So first I started learning java online. To understand it easily I started writing tutorials on it. They’re online at http://easyjavatutorial.weebly.com/.

Next I read David Brackeen’s book and implemented a game engine by modifying some parts. The next tutorials helped me are the space invaders series by Kevin Glass.

Then I ported the engine into c# and now started working on GameForge my own GameMaker clone.

Sorry for this long text but I think you’ve already read needed. Just try to implement.

SHC I love your website, just looking over it now, it’s straight forward, simple, it has game orientated descriptions (that is a must for me, so that I can understand where things apply in games), and overall is really really well done. I think this morning I will be checking out your website first and foremost.

Then I will check out this website:

and this one:

Most tutorials seem to be based on Minicraft’s code which is not a bad thing as they all describe parts of the code differently, some don’t describe parts at all, where others do, which is handy.

Personally, I think i’m all confused about the maths behind creating a stable and consistent FPS across different systems. Perhaps it’s my limited knowledge of mathematics (I am very basic but can learn crazy quick when I want and need to). I would like to know how to go about creating my own timing method (unless Notch’s implementation is used everywhere by everyone and is the best method possible). I would like to be able to alter code and do “my own way” so that I understand how the code works basically.
At this stage, I think i’ll not call it quits or get too frustrated about not knowing how to do a timing/run method (whatever you call it) on my own, because I am still waiting on some books which I have been told, and I have read are great to explain what I need to know.

Thanks Otreum for posting links of those two tutorials. They are worth of seeing. Thanks for seeing my website. (I’m having very less page views. 3-6 per day). As I already stated, just try to implement what you know. (I don’t know any 3D stuff nor OpenGL 2D nor LWJGL or anything). This is the order I followed.

- Learn't Java (only for gaming)
- Seen my first tutorials at [url=http://zetcode.com/tutorials/javagamestutorial/]zetcode.com[/url]
- They seem to use timers. I replaced it with [url=http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#nanoTime()]System.nanoTime()[/url]
- Re-made the game Sokoban. (Breakout seemed tough)
- Remade [url=http://www.cokeandcode.com/info/tut2d.html]SpaceInvaders[/url] by Kevin Glass but with Fixed time step game loop from [url=http://www.koonsolo.com/news/dewitters-gameloop/]deWiTTERS[/url] article.
- Searched on how to make my own game engine. Bought Brackeen's book and studied it well but failed to understand the 3D techniques as the code didn't compile on my computer. (I would have passed in distinction if I had studied my text books).
- Tried on making my first game engine ( TileEngine. It didn't work with uniform speed on different platforms. )
- Again started on a game engine from scratch and made it opensource here at [url=http://code.google.com/p/game-engine-for-java/]Google Code[/url] in git repository.
- Brought GEJ to version 0.7 and written tutorials at [url=http://javagameheart.weebly.com/]JavaGameHeart[/url]. (Engine is currently 0.9 R2)
- Started learning HaXe but failed to target other than flash and neko
- Learnt C# by porting GEJ as GECS. (It'll be uploaded to googlecode repository soon after I found a free to include sound library)
- Started working on GameForge and released it's first look yesterday.

6OM1pVDQJOM

Wow, thanks for taking the time to provide what steps you took/order you followed. :smiley:
That’s exactly the kind of information I would like to know from other developers here :slight_smile:

GameForge is looking great too, how long have you been working on it for?

Since a week. Currently searching for a way to save projects.

Interesting. One can program Game Maker in a week… at least the non-codeable part…

Nice work! ;D

Is it written in Java or in C# now?