Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (512)
Games in Android Showcase (119)
games submitted by our members
Games in WIP (576)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Hello!  (Read 15725 times)
0 Members and 1 Guest are viewing this topic.
Offline Anthrax

Senior Newbie


Medals: 1


Insert random personal text here


« Posted 2011-06-23 11:57:17 »

Hello JGO,

I'm a complete beginner at Java. I started taking Computer Programming at my high school at the start of my Sophomore year (I'll be starting my Senior year come the end of August), and I really haven't learned much... My teacher doesn't really do much teaching, it's more rambling and lecturing than actual programming. I need the hands-on experience to really learn something like Java. Anyway, I was looking around for a community centered around Java and game programming/development and I heard this was the best one around, due to the friendliness of the forum members and how helpful they are. I would really like some help in learning Java, as I plan on going to college to become a Game Designer/Programmer. The college I'm hoping to go to is DeVry University, and I'll be trying to get a Bachelor's Degree in their Game & Simulation Programming course. I was wondering, is there any advice anyone can give me about what game companies such as Bethesda Softworks, Epic Games, Valve, etc. look for in a programmer/designer? I'll be sticking around this board for a while; hopefully I'll learn a lot and it'll help me with my transition into C++ and other languages.
Offline namrog84

JGO Ninja


Medals: 46
Projects: 4


Keep programming!


« Reply #1 - Posted 2011-06-23 12:12:05 »

Hi Anthrax and welcome!!

It truly is the best place I have found! Everyone is extremely nice and helpful.

I am not sure where your level of skill is, but for general java tutorials,  my personal recommendation is thenewboston

Java: http://www.thenewboston.com/?cat=36&pOpen=tutorial
Intermediate Java: http://www.thenewboston.com/?cat=33&pOpen=tutorial

Id also suggest just start search around for misc tutorials.  Depending on which direction you want to go, a lot of people very much enjoy starting with Slick2D.  Its fully open source, so that when you start to get more proficient, you can examine how it does things and still gives you complete control over everything, but it shields you from some of the minor technical nuiances which are more or less irrelevant to most.
If you are really set on not using an engine, aside from Java2D id recommend use LWJGL.

Just remember the most important thing for programming and game programming.  Keep it simple and keep programming.
Just start making small little games and learn.  Everything from pong to tic tac toe to platformers to guess the number games.  If you are making anything at all, you aren't wasting time.

Also, its very easy in my opinion to learn Java then jump to C# (growing more and more popular in other game communities, especially with the XNA and easy xbox 360 support) then C++ if you wish.   However, Java is always the best Smiley   but eventually you'll still want to learn several different languages.


edit: Although I can't personally say I have experience with working with those companies. The bigger named companies usually want people who have had team experience on previous projects(i.e. make games with other people) and at least some years experience. It also helps to network and know someone on the inside(makes a big difference).

"Experience is what you get when you did not get what you wanted"
Offline Anthrax

Senior Newbie


Medals: 1


Insert random personal text here


« Reply #2 - Posted 2011-06-23 12:47:56 »

Thank you for the quick reply Nam! I would say it's safe to say that my skill level is around that of... NONE. Like I said, my programming teacher, for lack of a nicer word, sucks. The lack of hands-on experience within that class is what is holding me back. Right now, I'm installing Eclipse on my laptop. I have it on my desktop, but I like to be out in my living room instead of my bedroom during the summer months (living room has AC, bedroom does not). I just noticed that the Indigo package was released, so I'm installing that. I should update my Helios package on my desktop though. I bought the Killer Game Programming in Java book, but I didn't understand anything about threading, so I figured I'd have to start from scratch and learn the very basics of Java all over again. I may transition to using an engine later on, but I'd like to stick with straight coding for now. You are right tho Nam, the old school games like Pong and Tic Tac Toe are the easiest to program (that I can think of right off the top of my head). Thank you for the recommendation to thenewboston as well. I'll check the site out.  Smiley
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline gouessej
« Reply #3 - Posted 2011-06-23 13:46:04 »

Hi!

I advise you to have a look at JOGL if you're interested in learning OpenGL one day:
http://jogamp.org

We have some tutorials here, some of them explain how to setup Eclipse with JOGL:
http://jogamp.org/wiki/index.php/Jogl_Tutorial

I put a basic example on Wikipedia:
http://en.wikipedia.org/wiki/Java_OpenGL

In my humble opinion, as namrog84 said, it depends on the direction you want to go. If you want a deep understanding of low-level aspects (it will be useful on the long term even when using high level APIs), rather start with low-level APIs like OpenGL. It is the same for Eclipse... I would rather start by using Java in command line and switch to Eclipse only when I would know the basics. If you directly start with high level APIs without understanding what happens underneath, you will be blocked when something does not work as expected. It is the same with 3D engines. However, you may decide not to look at these things, concentrate on high level tools and systematically ask for help when it does not work. High level tools allows you to save some time if you really understand how they work.

Good luck.

Offline ra4king

JGO Kernel


Medals: 350
Projects: 3
Exp: 5 years


I'm the King!


« Reply #4 - Posted 2011-06-23 16:02:14 »

Well to save you from the confusion of all the different tools out there, let me explain:
-For now since you are a beginner, learning Java syntax, core classes, and command line stuff is very important and should be your first priority. Unlike both earlier replies, do not jump straight into graphics. Make basic command line games using ASCII art. Make almost any game you can think of for the command line. Eclipse is a very useful and powerful tool and as much as you may like it too, I also recommend you to start with the command line. Write an entire command line app using just notepad, compile it, and run it. Start using packages and experience the pain and confusion of compiling and running programs that are in packages.

-When you feel you know and understand Java well enough, jump into graphics using Java2D. Java2D is the java.awt packages and subpackages. These allow you to do custom drawing and offer very, very powerful tools for making 2D graphical apps and games. Also you may learn Swing, Java's GUI widget toolkit. It offers nice tools for making GUIs (Graphical User Interface).

-While you are becoming proficient with Java2D, you will learn and accept one grave and heart-breaking truth: Java2D is slow and unsuitable for professional and graphically expensive games. However, despite this shortcoming, it is the perfect playground for gaming beginners. I advise you to not advance until you have learned basic game systems, designs, code architectural organization, etc...

-Finally, when you notice you are ready for hard-core, speed-hungry games, you may jump into the OpenGL bandwagon. OpenGL is a portable high-level API to interface with graphics cards. It is portable in the sense that it works on almost all graphics cards and all systems, and high level since it abstracts away the differences in graphics card functions and drivers. This means you get to skip the slowness of Java2D and be able to directly access the power and performance of raw graphics card awesomeness. This may all seem neat and amazing but there is 1 drawback......its API is written in C (another language). This means you can't really access it directly from Java without writing native code doing a lot of complicated stuff. Well fear not, a bunch of really cool people wrote a library that lets you access these functions and more, and these cool people named it the Lightweight Java Game Library (LWJGL). As gouessej mentioned, another group of cool people wrote a similar library and called it JOGL. They are both almost exactly the same and the only difference is in your perception of it and your choice. However, it seems the LWJGL community is far bigger than the JOGL community and there is a lot more support for it.

-Slick2D, also mentioned above, is an open-source library whose API looks very similar to Java2D yet uses LWJGL underneath. So it lets you make 2D games using the same API you will soon learn and love without worrying about the details underneath. However, as also mentioned, it is best if you understand the underlying inner workings so you can gain experience and be able to understand any problems you run into.

**EDIT**
-There are some libraries that try to simplify your life when making 2D/3D games and GUIs using OpenGL. Such tools include:
   -libGDX: open-source library that easily allows you to make OpenGL applications on PCs and Android
   -Java Monkey Engine (JME): fully featured Java 3D engine built on LWJGL that has tons of tools for making professional-looking games
   -jPCT: Another 3D engine built on LWJGL that to some is simpler and easier than JME yet isn't as powerful.
   -Ardor3D: A recently emerging 3D engine also built on LWJGL that looks very promising, from what I've heard it combines the ease of jPCT and the power of JME.
   -Themable Widget Toolkit (TWL): A GUI widget toolkit. It is very powerful and allows for full customization of your widgets. This is the "Swing" version of OpenGL Wink

These tools and engines are nice to use if you don't want to get too much into the details of OpenGL. However, it is better if you do because it is just nicer to understand what is going on behind the scenes and will help you debug any problems you run into. These libraries just ease the lives of those who already understand OpenGL, rather than helping ignorant impatient programmers who want to get their hands dirty in 3D designing.
**EDIT**

Well this was a long post, and I hope you now understand the current situation of Java gaming and have a basic timeline of your future Smiley
If you need any help or assistance, we are always here to guide and point you along the way, not to spoon feed you with code. Remember, we're all a bunch of chill dudes sacrificing our time to help newbies because we enjoy it Cool
You can also join us at the #lwjgl channel on the Freenode IRC network for more help, but know that if no one responds, do idle since we are all on different timezones (half of them live in Europe!).

Good luck!!!! Cheesy

LINKS
   -Ultimate Java tutorials: http://tinyurl.com/cqp4as
   -Java Resource: http://www.java-gaming.org/index.php?action=resources
   -OpenGL tutorials

Offline Mike

JGO Wizard


Medals: 86
Projects: 1
Exp: 6 years


Java guru wanabee


« Reply #5 - Posted 2011-06-23 16:34:23 »

1 medal, 19 to go! Smiley

Mike

My current game, Minecraft meets Farmville and goes online Smiley
State of Fortune | Discussion thread @ JGO
Offline namrog84

JGO Ninja


Medals: 46
Projects: 4


Keep programming!


« Reply #6 - Posted 2011-06-23 16:52:54 »

I agree with ra4king completely!

"Experience is what you get when you did not get what you wanted"
Offline kappa
« League of Dukes »

JGO Kernel


Medals: 78
Projects: 15


★★★★★


« Reply #7 - Posted 2011-06-23 16:54:54 »

EDIT: I'm expecting 20 medals from typing out this entire thing Wink

I'll give you a medal if you add another paragraph briefly covering some of the other big libs (e.g. LibGDX) and 3D scene graphs like jMonkeyEngine, Ardor3D and jPCT that can also help new users get started quickly with 3d graphics without knowing too much about the underlying workings.

*experiment to see if JGO Medals are worth anything Smiley
Offline Eli Delventhal

JGO Kernel


Medals: 42
Projects: 11
Exp: 10 years


Game Engineer


« Reply #8 - Posted 2011-06-23 16:59:13 »

Augh! We have anthrax in the forums!

Welcome. Smiley

See my work:
OTC Software
Offline Anthrax

Senior Newbie


Medals: 1


Insert random personal text here


« Reply #9 - Posted 2011-06-23 17:02:47 »

Well to save you from the confusion of all the different tools out there, let me explain:
-For now since you are a beginner, learning Java syntax, core classes, and command line stuff is very important and should be your first priority. Unlike both earlier replies, do not jump straight into graphics. Make basic command line games using ASCII art. Make almost any game you can think of for the command line. Eclipse is a very useful and powerful tool and as much as you may like it too, I also recommend you to start with the command line. Write an entire command line app using just notepad, compile it, and run it. Start using packages and experience the pain and confusion of compiling and running programs that are in packages.

I did some simple programs with the command line. The compiling was too much of a pain for my liking. I never got into packages though. I'll look them up. thenewboston seems like there are some pretty indepth tutorials. I think there was one that explains packages.

-When you feel you know and understand Java well enough, jump into graphics using Java2D. Java2D is the java.awt packages and subpackages. These allow you to do custom drawing and offer very, very powerful tools for making 2D graphical apps and games. Also you may learn Swing, Java's GUI widget toolkit. It offers nice tools for making GUIs (Graphical User Interface).

The 2D games are what I'm hoping to towards the middle/end of my summer vacation.

-While you are becoming proficient with Java2D, you will learn and accept one grave and heart-breaking truth: Java2D is slow and unsuitable for professional and graphically expensive games. However, despite this shortcoming, it is the perfect playground for gaming beginners. I advise you to not advance until you have learned basic game systems, designs, code architectural organization, etc...

Nooooo... I hate heart-breaking truths. They're unavoidable though. Thanks for the heads up. Smiley

-Finally, when you notice you are ready for hard-core, speed-hungry games, you may jump into the OpenGL bandwagon. OpenGL is a portable high-level API to interface with graphics cards. It is portable in the sense that it works on almost all graphics cards and all systems, and high level since it abstracts away the differences in graphics card functions and drivers. This means you get to skip the slowness of Java2D is be able to directly access the power and performance of raw graphics card awesomeness. This may all seem neat and amazing but there is 1 drawback......its API is written in C (another language). This means you can't really access it directly from Java without writing native code doing a lot of complicated stuff. Well fear not, a bunch of really cool people wrote a library that lets you access these functions and more, and these cool people named it the Lightweight Java Game Library (LWJGL). As gouessej mentioned, another group of cool people wrote a similar library and called it JOGL. They are both almost exactly the same and the only difference is in your perception of it and your choice. However, it seems the LWJGL community is far bigger than the JOGL community and there is a lot more support for it.

I knew about the LWJGL. I took a peak at some of the documentation and it looks really confusing to me. I bet if I look back at it once I become proficient enough, I'll wonder what I was thinking at this point in time. One question though: What do you they are both "almost" exactly the same? Are there subtle differences or one or two major differences?

EDIT: I'm expecting 20 medals from typing out this entire thing Wink

Medals?  Huh
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline kappa
« League of Dukes »

JGO Kernel


Medals: 78
Projects: 15


★★★★★


« Reply #10 - Posted 2011-06-23 17:12:43 »

One question though: What do you they are both "almost" exactly the same? Are there subtle differences or one or two major differences?
main difference is API, JOGL wraps OpenGL into a slightly Java'ish Object Oriented API while LWJGL API is all static to match the C version of the OpenGL API.

Other than that the other obvious point is that JOGL is just an OpenGL binding while LWJGL is an (OpenGL, OpenAL and OpenCL binding and includes JInput).
Offline Anthrax

Senior Newbie


Medals: 1


Insert random personal text here


« Reply #11 - Posted 2011-06-23 17:15:34 »

So, does that mean that LWJGL is slightly better than JOGL?
Offline kappa
« League of Dukes »

JGO Kernel


Medals: 78
Projects: 15


★★★★★


« Reply #12 - Posted 2011-06-23 17:20:22 »

So, does that mean that LWJGL is slightly better than JOGL?

do not expect an answer to this question without starting a flamewar Smiley

lets just say both libraries have a slightly different aims, one is focused entirely towards games while the other is more of a general purpose opengl binding.

don't forget there are other libraries like JOAL, JOCL which can be used with JOGL to give it similar features to LWJGL.
Offline Anthrax

Senior Newbie


Medals: 1


Insert random personal text here


« Reply #13 - Posted 2011-06-23 17:24:13 »

So, does that mean that LWJGL is slightly better than JOGL?

do not expect an answer to this question without starting a flamewar Smiley

lets just say both libraries have a slightly different aims, one is focused entirely towards games while the other is more of a general purpose opengl binding.

don't forget there are other libraries like JOAL, JOCL which can be used with JOGL to give it similar features to LWJGL.

Haha, ok. So, LWJGL is the one thats focused towards gaming, correct?
Offline cylab

JGO Ninja


Medals: 52



« Reply #14 - Posted 2011-06-23 17:44:15 »

Here are some more tutorials: http://www.java-gaming.org/topics/tutorials/23958/view.html

Mathias - I Know What [you] Did Last Summer!
Offline ra4king

JGO Kernel


Medals: 350
Projects: 3
Exp: 5 years


I'm the King!


« Reply #15 - Posted 2011-06-23 17:51:30 »

Well to save you from the confusion of all the different tools out there, let me explain:
-For now since you are a beginner, learning Java syntax, core classes, and command line stuff is very important and should be your first priority. Unlike both earlier replies, do not jump straight into graphics. Make basic command line games using ASCII art. Make almost any game you can think of for the command line. Eclipse is a very useful and powerful tool and as much as you may like it too, I also recommend you to start with the command line. Write an entire command line app using just notepad, compile it, and run it. Start using packages and experience the pain and confusion of compiling and running programs that are in packages.

I did some simple programs with the command line. The compiling was too much of a pain for my liking. I never got into packages though. I'll look them up. thenewboston seems like there are some pretty indepth tutorials. I think there was one that explains packages.
Suffer!!! Haha joking, but still you need to learn how. TheNewBoston explains some but try looking around for explanations of how it works because I promise you, if you don't know, you will run it into unexplainable problems that will take you ages to figure out or a couple dozen thread posts here.

-When you feel you know and understand Java well enough, jump into graphics using Java2D. Java2D is the java.awt packages and subpackages. These allow you to do custom drawing and offer very, very powerful tools for making 2D graphical apps and games. Also you may learn Swing, Java's GUI widget toolkit. It offers nice tools for making GUIs (Graphical User Interface).

The 2D games are what I'm hoping to towards the middle/end of my summer vacation.
I started graphics 9-12 months after I started learning Java Wink

-While you are becoming proficient with Java2D, you will learn and accept one grave and heart-breaking truth: Java2D is slow and unsuitable for professional and graphically expensive games. However, despite this shortcoming, it is the perfect playground for gaming beginners. I advise you to not advance until you have learned basic game systems, designs, code architectural organization, etc...

Nooooo... I hate heart-breaking truths. They're unavoidable though. Thanks for the heads up. Smiley
Yeah, Java2D is a very nice library with some really sweet tools. It's really sad to see the performance of a "simple" call like "drawImage" T_T

-Finally, when you notice you are ready for hard-core, speed-hungry games, you may jump into the OpenGL bandwagon. OpenGL is a portable high-level API to interface with graphics cards. It is portable in the sense that it works on almost all graphics cards and all systems, and high level since it abstracts away the differences in graphics card functions and drivers. This means you get to skip the slowness of Java2D is be able to directly access the power and performance of raw graphics card awesomeness. This may all seem neat and amazing but there is 1 drawback......its API is written in C (another language). This means you can't really access it directly from Java without writing native code doing a lot of complicated stuff. Well fear not, a bunch of really cool people wrote a library that lets you access these functions and more, and these cool people named it the Lightweight Java Game Library (LWJGL). As gouessej mentioned, another group of cool people wrote a similar library and called it JOGL. They are both almost exactly the same and the only difference is in your perception of it and your choice. However, it seems the LWJGL community is far bigger than the JOGL community and there is a lot more support for it.

I knew about the LWJGL. I took a peak at some of the documentation and it looks really confusing to me. I bet if I look back at it once I become proficient enough, I'll wonder what I was thinking at this point in time. One question though: What do you they are both "almost" exactly the same? Are there subtle differences or one or two major differences?
It's up to you to decide which API design you like best, as mentioned by others.

See that nifty Appreciate link next to the Quote link? That gives a user a medal, or appreciation. That's the number you see below their name and rank. Try to appreciate anyone who helps you Smiley

EDIT: I'm expecting 20 medals from typing out this entire thing Wink

I'll give you a medal if you add another paragraph briefly covering some of the other big libs (e.g. LibGDX) and 3D scene graphs like jMonkeyEngine, Ardor3D and jPCT that can also help new users get started quickly with 3d graphics without knowing too much about the underlying workings.

*experiment to see if JGO Medals are worth anything Smiley
Hmmmmm.....fine Tongue

Adding another paragraph to my original post in 10 minutes Smiley

So, does that mean that LWJGL is slightly better than JOGL?

do not expect an answer to this question without starting a flamewar Smiley

lets just say both libraries have a slightly different aims, one is focused entirely towards games while the other is more of a general purpose opengl binding.

don't forget there are other libraries like JOAL, JOCL which can be used with JOGL to give it similar features to LWJGL.

Haha, ok. So, LWJGL is the one thats focused towards gaming, correct?
Well "Game" is somewhere in there Wink

Offline JL235

JGO Coder


Medals: 10



« Reply #16 - Posted 2011-06-23 18:40:09 »

Hi and welcome,

Quote
I was wondering, is there any advice anyone can give me about what game companies such as Bethesda Softworks, Epic Games, Valve, etc. look for in a programmer/designer?
The best advice is to go have a look at their websites as they often list they are looking for there in their jobs section. I (kinda) went through the process of looking for a job at a games company a year ago (I answered a competition a games recruitment agency ran nation wide at universities and following it they wanted me on their books). However although I was top of my year, it was made very clear to me at the beginning that being a good Java developer was a big drawback. This is simply because all the big triple-A games companies use C++ (other stuff too, but with C++).

So if you really want to work at a big triple-A games company, working on Half Life 3 or the next Elder Scrolls, then my advice is to jump straight into learning C++.

I don't have sources to hand, but several studies by universities in the US have shown that learning a language first doesn't make learning C++ easier. It was tested on students who learnt Python or C++ in their first year, and then used C++ in their second year for learning adviced concepts (like complex data structures). Both sets of students found their second year equally difficult; having prior knowledge of C++ or Python had no effect. So my overall point is that there is no real gain in learning a non-C++ language first. So again, if you want to learn C++ then just learn C++.

Finally a third avenue you might not have thought of is modding. Lots of games companies hire from the modding community because you are essentially building new and creative things using their own tools. They can then take you in house and have you build either the same but at a higher quality, or something else, for their products.

Finally, again, welcome.

Offline kappa
« League of Dukes »

JGO Kernel


Medals: 78
Projects: 15


★★★★★


« Reply #17 - Posted 2011-06-23 18:47:19 »


I'll give you a medal if you add another paragraph briefly covering some of the other big libs (e.g. LibGDX) and 3D scene graphs like jMonkeyEngine, Ardor3D and jPCT that can also help new users get started quickly with 3d graphics without knowing too much about the underlying workings.

*experiment to see if JGO Medals are worth anything Smiley
Hmmmmm.....fine Tongue

Adding another paragraph to my original post in 10 minutes Smiley

As agreed, you are paid 1 medal for your physical efforts Smiley
Offline gouessej
« Reply #18 - Posted 2011-06-23 18:58:35 »

So, does that mean that LWJGL is slightly better than JOGL?
They cannot be compared. You should rather compare LWJGL and JogAmp (JOGL + JOAL + JOCL). Both have pros and cons. You can also compare the OpenGL & OpenGL-ES binding of LWJGL with JOGL 2.0, it is more pertinent.

I consider that JOGL and the OpenGL part of LWJGL have become very similar in terms of features. The ES part of JOGL is a bit more mature than its LWJGL equivalent but the native windowing system of LWJGL is more mature than its JOGL equivalent (NEWT). JOGL has a better interoperability with AWT and Swing but it has a cost. JOCL and the OpenCL bindind of LWJGL are very similar too. JOAL is unfortunately less maintained than the OpenAL binding of LWJGL but both work. As ra4king said, the LWJGL community is bigger than the JOGL community. However, Sven, Mickael and some other talented people have made a great job on JOGL and other APIs of JogAmp. I'm an engineer / researcher in computer science and I can confirm that JOGL is actively both used in the industry and in the research especially in geosciences. It has had less success in gaming (see Wakfu, the sequel of Dofus created by Ankama Games) than LWJGL. I have my own opinion about these APIs but you have to make your own one from your own criteria and your own needs. I remind that nothing prevents you from using JInput with JOGL.

There won't be any flamewar about this subject because I'm almost the last guy defending JogAmp here, Sven is busy with the release candidate 3.

@ra4king I'm sorry, I spoke about JOGL because someone else spoke about LWJGL. Of course, there are lots of things to learn before looking at OpenGL.

Offline Anthrax

Senior Newbie


Medals: 1


Insert random personal text here


« Reply #19 - Posted 2011-06-24 17:50:36 »

Well, thanks for all the information you guys. I really appreciate it. Hopefully I'll be able to start making one of those old text adventure games with choices and such within the next month or two. Again, thanks for all the information.  Cheesy
Offline Mads

JGO Ninja


Medals: 26
Projects: 3
Exp: 6 years


One for all!


« Reply #20 - Posted 2011-06-24 20:20:19 »

Hello!

I have not read the whole thread, so bear with me.

I'm 16, and I've never gotten any tutoring in programming, other than my interrest and willing to learn from looking at code (and I've done that for a good three years, since I could nothing). Also starting as senior this year (or junior, depending on the place.. Exchange students don't really get to pick).

This is by far the most friendly and helpful community I've stumbed upon thus far. I came right from the boards over at the RSPS scene, where most people don't know anything about java, and the people that actually do gets annoyed with beginners. Since I came here people has been really nice, and the same applies to the java IRC's I've visited for smaller help.

You're probably not going to like this, and I'll (maybe wrongly) just think that your teacher has been rambling about object oriented programming. That is a deadly boring topic when you just want to learn some syntax, and some "real" code. Once you are confident with the "real" code though, you'll begin to wonder how the heck people get such nice features, and interresting games out of the same tools you master. The key: OOP, and design patterns (which are boring topics, if you start out with them). On the other hand though, it's not nice learning those down the road.
A year ago I started to do more serious things than just mastering the language (or tried), and i've failed horribly, because I wasn't able to do the problem solving and thinking out of the box.

It might be really boring to learn these things starting out, but you'll have a WAY easier time than the approach that's fun right here, and right now.

Offline Eli Delventhal

JGO Kernel


Medals: 42
Projects: 11
Exp: 10 years


Game Engineer


« Reply #21 - Posted 2011-06-24 21:42:52 »

Hello!

I have not read the whole thread, so bear with me.

I'm 16, and I've never gotten any tutoring in programming, other than my interrest and willing to learn from looking at code (and I've done that for a good three years, since I could nothing). Also starting as senior this year (or junior, depending on the place.. Exchange students don't really get to pick).

This is by far the most friendly and helpful community I've stumbed upon thus far. I came right from the boards over at the RSPS scene, where most people don't know anything about java, and the people that actually do gets annoyed with beginners. Since I came here people has been really nice, and the same applies to the java IRC's I've visited for smaller help.

You're probably not going to like this, and I'll (maybe wrongly) just think that your teacher has been rambling about object oriented programming. That is a deadly boring topic when you just want to learn some syntax, and some "real" code. Once you are confident with the "real" code though, you'll begin to wonder how the heck people get such nice features, and interresting games out of the same tools you master. The key: OOP, and design patterns (which are boring topics, if you start out with them). On the other hand though, it's not nice learning those down the road.
A year ago I started to do more serious things than just mastering the language (or tried), and i've failed horribly, because I wasn't able to do the problem solving and thinking out of the box.

It might be really boring to learn these things starting out, but you'll have a WAY easier time than the approach that's fun right here, and right now.
I think you just need a good mix of hands-on programming, theory, and concepts in programming classes. Just programming, as you say, will leave you making bad code. But I don't agree with you that you should learn to program first and concepts later, I think doing them side-by-side  (along with theory to get you thinking) is the right way to go. I learned to program long before I learned any concepts and I think I suffered for it - now I have an aversion to learning new techniques and instead I quickly hack out solutions. :/

See my work:
OTC Software
Offline Anthrax

Senior Newbie


Medals: 1


Insert random personal text here


« Reply #22 - Posted 2011-06-24 23:59:52 »

I think you just need a good mix of hands-on programming, theory, and concepts in programming classes. Just programming, as you say, will leave you making bad code. But I don't agree with you that you should learn to program first and concepts later, I think doing them side-by-side  (along with theory to get you thinking) is the right way to go. I learned to program long before I learned any concepts and I think I suffered for it - now I have an aversion to learning new techniques and instead I quickly hack out solutions. :/

Eli! I checked your site out man. It looks great and I checked out your resume. How did you learn how to program and such? The Kind Words section gives great insight about your abilities, and it leaves me curious as to how you became so talented.  Cool
Offline ra4king

JGO Kernel


Medals: 350
Projects: 3
Exp: 5 years


I'm the King!


« Reply #23 - Posted 2011-06-25 06:38:39 »

Heh, I'm 16 and I've been programming for almost 2 years now.
I taught myself Java from a book, "Java, A beginner's guide" by Herbert Schildt. Since then I made all imaginable kinds of command line games. Finally when I jumped into graphics, I made quite a few simple 2D games. All the designs, concepts, and theory came to me without really studying theory. It was all mainly common sense and adjusting my way of thinking. I did find and read an excellent book called Head First Design Patterns and it explained different way to layout code and patterns used and recommended. I strongly recommend this book for everyone learning Java because firstly, they used Java for all examples, and they explained everything in an easy-to-understand way.

Offline Mads

JGO Ninja


Medals: 26
Projects: 3
Exp: 6 years


One for all!


« Reply #24 - Posted 2011-06-26 07:19:31 »

Hello!

I have not read the whole thread, so bear with me.

I'm 16, and I've never gotten any tutoring in programming, other than my interrest and willing to learn from looking at code (and I've done that for a good three years, since I could nothing). Also starting as senior this year (or junior, depending on the place.. Exchange students don't really get to pick).

This is by far the most friendly and helpful community I've stumbed upon thus far. I came right from the boards over at the RSPS scene, where most people don't know anything about java, and the people that actually do gets annoyed with beginners. Since I came here people has been really nice, and the same applies to the java IRC's I've visited for smaller help.

You're probably not going to like this, and I'll (maybe wrongly) just think that your teacher has been rambling about object oriented programming. That is a deadly boring topic when you just want to learn some syntax, and some "real" code. Once you are confident with the "real" code though, you'll begin to wonder how the heck people get such nice features, and interresting games out of the same tools you master. The key: OOP, and design patterns (which are boring topics, if you start out with them). On the other hand though, it's not nice learning those down the road.
A year ago I started to do more serious things than just mastering the language (or tried), and i've failed horribly, because I wasn't able to do the problem solving and thinking out of the box.

It might be really boring to learn these things starting out, but you'll have a WAY easier time than the approach that's fun right here, and right now.
I think you just need a good mix of hands-on programming, theory, and concepts in programming classes. Just programming, as you say, will leave you making bad code. But I don't agree with you that you should learn to program first and concepts later, I think doing them side-by-side  (along with theory to get you thinking) is the right way to go. I learned to program long before I learned any concepts and I think I suffered for it - now I have an aversion to learning new techniques and instead I quickly hack out solutions. :/

Oh, I was trying to say that OOP and patterns should be learned the sooner the better, even though it might be boring Smiley

Offline Eli Delventhal

JGO Kernel


Medals: 42
Projects: 11
Exp: 10 years


Game Engineer


« Reply #25 - Posted 2011-06-27 18:15:14 »

I think you just need a good mix of hands-on programming, theory, and concepts in programming classes. Just programming, as you say, will leave you making bad code. But I don't agree with you that you should learn to program first and concepts later, I think doing them side-by-side  (along with theory to get you thinking) is the right way to go. I learned to program long before I learned any concepts and I think I suffered for it - now I have an aversion to learning new techniques and instead I quickly hack out solutions. :/

Eli! I checked your site out man. It looks great and I checked out your resume. How did you learn how to program and such? The Kind Words section gives great insight about your abilities, and it leaves me curious as to how you became so talented.  Cool
Ha, thanks. Probably a lot of people on this forum would disagree with you, but oh well. Smiley I think I'm pretty good at what I do, but there are plenty of people who are better. I didn't "become talented" or anything like that, I don't think. Since I was very young I had an insatiable interest in video games, and ever since my older brother left his graphing calculator in my room and I was able to view the source code of some of the games on there, I've been hooked. I think, play, or make video games for the majority of my waking hours, so I just keep getting better and better at doing so. Just like anything it's all about practice. And you'll see the truly impressive members of the forum, like Kev, Cas, or Markus, have never stopped making games, regardless of what may be going on in their lives or how tired they are of each game. That's the real key - the resolve to keep doing it and to finish something.

You'll be fine, just give it a go!

PS - You've prompted me to update the portfolio portion of my website, I hadn't done so in years. Tongue

See my work:
OTC Software
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Longarmx (50 views)
2014-10-17 03:59:02

Norakomi (39 views)
2014-10-16 15:22:06

Norakomi (31 views)
2014-10-16 15:20:20

lcass (36 views)
2014-10-15 16:18:58

TehJavaDev (66 views)
2014-10-14 00:39:48

TehJavaDev (65 views)
2014-10-14 00:35:47

TehJavaDev (55 views)
2014-10-14 00:32:37

BurntPizza (72 views)
2014-10-11 23:24:42

BurntPizza (43 views)
2014-10-11 23:10:45

BurntPizza (84 views)
2014-10-11 22:30:10
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!