Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

878785 Posts in 32936 Topics- by 24346 Members - Latest Member: Vuoripeikko

May 22, 2013, 04:27:07 PM
TIGSource ForumsDeveloperTechnical (Moderators: Glaiel-Gamer, ThemsAllTook)Learning Java Programming for 2D platform games?
Pages: 1 [2]
Print
Author Topic: Learning Java Programming for 2D platform games?  (Read 2599 times)
Serapth
Level 2
**


View Profile
« Reply #15 on: December 10, 2011, 08:02:30 PM »

I would take Netbeans over Eclipse in a heartbeat, but the 7.1 beta is a mess.

I would probably use 6.9 or IntelliJ if i was starting a serious Java project today.
Logged
fecal_brunch
Level 0
***



View Profile Email
« Reply #16 on: December 10, 2011, 08:45:40 PM »

One I know is used by quite a few universities is Alice,which uses its own language though (not Java). I've tried it and it is a good and pedagogical introduction to object oriented programming in a visual 3D world with very transferable skills learned.

I used this at one point... My experience was that it was like programming for 10 year olds. Dragging and dropping statements? Surely you don't think this is preferable to Java.

My first language was C, then after C++ I learned Java. I used to think Java as a first language was a bad idea, but now I believe that it's a good beginners language. There's actually something to be said for isolating the (beginning) programmer from memory management stuff, they can learn OO concepts and programming structure without the hassle and frustration of dealing with (confusing) memory concepts and memory bugs.

End of the day - it doesn't really matter what language you do your first game in because it's going to be a learning experience in itself. I'd go with Java for productivity.
Logged

-Rhys
BrandonQ
Level 0
**


View Profile Email
« Reply #17 on: December 10, 2011, 11:48:57 PM »

I have used Alice before at school and it did not help at all, but this was most likely because my teacher did that and then straight after taught the class C and never explained the difference between OOP and procedural so my brain was all messed up, I understand it now though... mostly. And an alternative to eclipse and netbeans is intelliJ which is quite nice but I can't get it to run the Java programs I make in the console because of one reason or another.
I notice people saying no to Java, so what would you guys suggest? C#? I do have an interest in C# with the fact that you can make 3D and 2D games with it as Unity3D is C# and you can just generally make 2D games with it similar to Java. I can't think of any other languages I am interested in, I am not interesting in python. The only other I can think of is C++ but thats kind of big mother to learn (steep learning curve). Any ideas? I have been doing some Java lately to get myself into OOP.
I also have checked out the links above as well. They are quite helpful. All though the German ones not so much.

- Brandon
Logged
Mikademus
Level 10
*****


The Magical Owl


View Profile
« Reply #18 on: December 11, 2011, 02:02:01 PM »

I used <Alice> at one point... My experience was that it was like programming for 10 year olds. Dragging and dropping statements? Surely you don't think this is preferable to Java.

God, no. It is simply a learning tool for the basic concepts of object orientation for people without programming experience.
Logged

\\\"There\\\'s a tendency among the press to attribute the creation of a game to a single person,\\\" says Warren Spector, creator of Thief and Deus Ex. --IGN<br />My compilation of game engines for indies
InfiniteStateMachine
Level 10
*****



View Profile WWW Email
« Reply #19 on: December 11, 2011, 07:24:10 PM »

overall I don't really see anything wrong with using java for a little while for learning purposes.

Try to take a day off and do the following:

Download and install Slick2D
Try to do all the tutorials on this page.

http://slick.cokeandcode.com/wiki/doku.php?id=spiegel_tutorials

I think by the end of the day it's pretty likely you'll have learned a fair amount. Overall a good use of the day Smiley
Logged

BrandonQ
Level 0
**


View Profile Email
« Reply #20 on: December 11, 2011, 08:23:40 PM »

intelliJ is a good one although not for me as for what ever reason I can't preview the code in a console. But it is a really great editor.
Logged
Chromanoid
Level 7
**



View Profile
« Reply #21 on: December 12, 2011, 02:30:10 AM »

a fair amount of server systems and backend stuff for games is coded in java. some recent successful games like "Spiral Knights" and especially "Minecraft" show that java is a valid very productive language for game development.
« Last Edit: December 13, 2011, 04:15:54 AM by Chromanoid » Logged
rivon
Level 10
*****



View Profile
« Reply #22 on: December 12, 2011, 03:42:50 PM »

Take a look at Jpcsp - a PSP emulator written in Java. Capable of running the top 3D commercial games like MGS:PW and that quite performantly (all the other emulators barely run homebrew and only 2D). When you know what you're doing then it doesn't matter what language you use.
Logged
Mikademus
Level 10
*****


The Magical Owl


View Profile
« Reply #23 on: December 13, 2011, 04:41:53 AM »

<Slightly OT>

"When you know what you're doing it doesn't matter what language you use". That is a Turing Tarpit argument: all languages are Turing-complete so you CAN do anything in any language. However, that doesn't mean that all languages are equally siutable for all tasks. I think the important part here is "when you know what you're doing", and to reach the level of the Jpcsp devs might take a fair time.

The reasons I advice against Java for games are not because the language is incompetent (as languge warriors of any side usually does) but principally because (1) it's relative lack of resources and help compared to game development in f.i. Python, C, or C++; (2) for beginners it has a lot of "don't ask why it is like that and just accept it" quirks; and as I said before (3) it teaches you bad habits that makes moving to other languages more painful.

</OT>
Logged

\\\"There\\\'s a tendency among the press to attribute the creation of a game to a single person,\\\" says Warren Spector, creator of Thief and Deus Ex. --IGN<br />My compilation of game engines for indies
Chromanoid
Level 7
**



View Profile
« Reply #24 on: December 13, 2011, 06:04:09 AM »

Language wars! Waaagh!

imo java is easy, teaches you good programming habits and has a very manageable amount of quirks. c++ with many compiler dependent quirks, include order cramps, header/code separation pest and diverse standard implementations is more than just "quirky", especially for beginners...

I can just advise to use a vm based easy to use language. that might be java, python, as3, lua, javascript, c#...

also: since android the amount of java resources for gamedev steadily increases...
« Last Edit: December 13, 2011, 06:19:10 AM by Chromanoid » Logged
Geeze
Level 5
*****


Totally.


View Profile
« Reply #25 on: December 13, 2011, 06:19:00 AM »

<Slightly OT>

"When you know what you're doing it doesn't matter what language you use". That is a Turing Tarpit argument: all languages are Turing-complete so you CAN do anything in any language. However, that doesn't mean that all languages are equally siutable for all tasks. I think the important part here is "when you know what you're doing", and to reach the level of the Jpcsp devs might take a fair time.

The reasons I advice against Java for games are not because the language is incompetent (as languge warriors of any side usually does) but principally because (1) it's relative lack of resources and help compared to game development in f.i. Python, C, or C++; (2) for beginners it has a lot of "don't ask why it is like that and just accept it" quirks; and as I said before (3) it teaches you bad habits that makes moving to other languages more painful.

</OT>
I do currently some java programming, and I'm interested what those quirks and bad habits are. A "short" list, please?
Logged

Chromanoid
Level 7
**



View Profile
« Reply #26 on: December 13, 2011, 06:21:00 AM »

i guess Mikademus thinks of string internalization, boxed types and problems like covered here http://forums.tigsource.com/index.php?topic=22054.0
« Last Edit: December 13, 2011, 06:48:01 AM by Chromanoid » Logged
st33d
Guest
« Reply #27 on: December 13, 2011, 11:57:53 AM »

I don't understand what these bad habits are either. Some of the inherently broken bits of Java make you a better programmer.

The garbage collection issue has never come up for me personally. This whole, "oh noes, it collects the garbage itself - that must be the bottleneck!" Usually indicates that there's a lot more fundamentally wrong with the code than memory usage.

You can actually perform housekeeping with a garbage collector running believe it or not, you just have to not be an idiot about the rate you consume memory and free it up again. Save those grinding bottlenecks for when there's no action happening.
Logged
Nix
Level 10
*****



View Profile
« Reply #28 on: December 14, 2011, 07:32:25 PM »

Buy the book Killer Game Programming in Java
Logged
xhunterko
Level 1
*



View Profile WWW
« Reply #29 on: December 14, 2011, 07:58:33 PM »

As a hobby and a way to make games for the Android market, I decided to try a little Java myself. Having previously used Flixel, It hasn't been that too much of a shock. I reccommend Programming Video Games For The Evil Genius book wise. It doesn't cover pixel perfect overlap, but that can be found easily else where.
Logged

Pages: 1 [2]
Print
Jump to:  

Theme orange-lt created by panic