Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (686)
Games in Android Showcase (198)
games submitted by our members
Games in WIP (758)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
   Home   Help   Search   Login   Register   
  Show Posts
Pages: [1]
1  Discussions / General Discussions / Re: best way to learn java on: 2012-01-19 05:56:26
You could also try the tutorials at

Env3D is a 3D engine designed for people who wants to learn Java from ground up.  It allows even beginners to easily and quickly create 3D visualization and games that can be deployed as applet/webstart with a push of a button.

There are lots of student games under the showcase section.

2  Discussions / General Discussions / Re: Best/Easiest Way to Learn? on: 2011-07-18 21:38:34
You can also try the tutorials at

It teaches Java programming in the context of writing 3d games.
3  Discussions / General Discussions / Re: Eclipse vs. Netbeans on: 2011-03-24 17:29:00
Are you on drugs???  Nothing NOTHING NOTHING completes with emacs.  And this is from someone who can't stand Richard Stallman.  I tell myself that Guy Steele had to been the more important contributor.  (Joking...well, kinda.)

Got to agree with this one.  Emacs is awesome.... I never really got vi... 
4  Discussions / General Discussions / Re: separate_jvm for Applets on: 2011-03-23 15:32:32
One note on this topic, the separate_jvm parameter does not work very well on OS X -- it seems to work sometimes but not others, haven't had a chance to track it down yet.
5  Discussions / General Discussions / Re: Eclipse vs. Netbeans on: 2011-03-23 15:29:35
I think Eclipse is more popular among the enterprise java programmers (which accounts for most java developers).  IBM created the Eclipse platform back around 2001 to compete with NetBeans, and for the most part they have won.

Having said that, I have been using NetBeans since 2001 -- I was also one of the original user of Eclipse.  I ultimately stayed with NetBeans because I find it less confusing to navigate.  I still use Eclipse now since many of the google dev tools (android, gwt) has plugins for Eclipse, so you may want to take that into consideration.
6  Discussions / General Discussions / Re: Go on, ask me anything. on: 2011-03-15 23:30:22
Nice thread! Learned lots about indie development.

One question: What's the best way to market yourself without a marketing budget?
7  Game Development / Newbie & Debugging Questions / Re: Books are failing me! on: 2011-03-08 18:13:41
I personally don't think there is a "right" way to learn.  Everyone learns differently and you need to find a way that suits you.  Some people can learn from just reading, others can't understand the concept unless it is presented in code form.  Yet others learn from watching others.

If you find reading the book confusing, I think you should start search for online tutorials/exercises that are right for you.  Once you have some of the basics down, go back to the book and it will make more sense.
8  Game Development / Newbie & Debugging Questions / Re: If java3d's timer is deprecated, what should be used in it's place? on: 2011-03-08 02:31:18
I think it depends on what you kind of games you want to create?  Do you want 2D or 3D?  Hardware accelerated or not?  Puzzle or action?  Network?

Each of the above decision will affect how you create your game.  For example, if you want a simple 2D applet game, you will want to use the swing Canvas class and use the Graphics class to draw and paint stuff on screen.  If you want OpenGL hardware accelerated games, you'll want to look at OpenGL bindings like LWJGL or JOGL.  If you want hardware accelerated but don't want to deal with low-level OpenGL calls, you'll want to look at game engines such as Slick (for 2D), and JavaMonkeyEngine or JPCT (for 3D).

There are so many choices that it is very easy to get confused when you are just learning the basics of game programming.  Since I teach java programming and I have an interest in 3D accelerated games, I have created my own framework specifically to make it easy to learn the ins and outs of programming concepts in a gaming context.  You can find the tutorials at  The lessons are very easy to follow especially if you are a professional Java programmer.

Good luck and have lots of fun!
9  Game Development / Newbie & Debugging Questions / Re: Game Loop question: Which way is better? on: 2011-03-03 06:04:08
If you use a fixed sleep time (option 2), you may need to worry about interpolation as the execution time for each step may be different.   For a simple game, I would go with fix time-step (option 3).
10  Game Development / Game Mechanics / Re: Enhancing game engine with scripting capabilities on: 2011-02-24 18:00:58
I'm not too familiar with Groovy, but I am familiar with Jython.  May I ask why do you think Groovy is more attractive that Jython?  One advantage of Jython that I can think of is that Python is very popular among the developer community and if you use Jython, you can leverage a lot of existing developer resources that may or may not exist with Groovy.

Regarding the actual mechanism in embedding a interpreter into your engine, what I found is that once you have a scripting engine, the possibilities are limitless in terms of what you can do with external scripts vs. what you can do in your codebase.   As long as you pass the relevant objects to your scripts, the scripts can take over the entire execution of your game if you like. 

I created an experiment just to explore this possibility a while back, is it called whalechat and you can find it at  I have the vision of teaching computer programming using an online collaborative model within a 3D environment.  When you launch the whalechat client, you can issue the "/editor" command which will bring up an editor for you to type in jython scripts, which is then uploaded to the server and executed in a shared environment. 

The architecture that I went with is that I try to keep the core engine code as small as possible, with the engine focusing on the infrastructure stuff, and have the scripts handle all of the interaction logic etc.   It works amazingly well and I managed to create a couple of mini-games inside the environment in this way.  One such example is a little zombie game which you can access directly using the following URL:

The script to the entire game can be found at

Maybe this will give you some ideas on what is possible. 
11  Discussions / Business and Project Management Discussions / Re: Browser/Applet games on: 2011-02-22 18:15:36
Instead of advising a particular technology, I rather advise you to choose the one that fits the best your needs. IzPack is a good solution for polished softwares that need no or a very few updates and/or that are very big (several GBs). Java WebStart (+ some workarounds to install/deinstall your software correctly and add shortcuts) is a good solution for softwares in alpha, beta or RC phase that need frequent updates. GetDown is a good replacement of Java WebStart and has some additional features. Some critics about Java WebStart on the GetDown pages are not true anymore even though I would like Java WebStart to become more reliable...

Isn't that the truth.  Each deployment tech has its own advantages and disadvantages.  Webstart in particular is extremely easy to setup -- it requires no special libraries, simply upload (and sign if you are using native libs) and create a jnlp file and you are ready to go.  The idea has so much potential yet the current implementation seems incomplete.  Hopefully, webstart will get some more love in the future.
12  Discussions / Business and Project Management Discussions / Re: Browser/Applet games on: 2011-02-19 19:57:11
Interesting deployment technology.  Seems much more slick that java webstart. 
13  Game Development / Game Mechanics / Re: Organising and scheduling collision detection in good OO on: 2011-02-18 23:15:16
I disagree, the decentralized approach you suggest has more coupling, it's just hidden in a sneaky way.  If you have a rocket or missile, that missile must be coupled with every type of thing that it should collide with or damage.  That means that any time you want to add a new entity type or player type, you have to update a lot of existing classes.  This turns into spaghetti code.  If you leave the entities as POJO objects so they only store pure data, you can have handler types for each type of interaction.  Then adding collision between new types only requires updating a handler.

Good point, although I think that it all depends on the size of your project and the inheritance hierarchy.  For example, if you divide your entities into Weapon and Player, and you can have the Weapon class to only know about the Player class as follows:

public class Weapon {
   public void hit(List<Player> players) {
      for (Player p: Players) {
         if (this.closeTo(p)) {

The above Weapon class executes without having to know the specific player subclass.  You can further define a Player.damage() method as an abstract method so that every player subclass can handle it differently.  The coupling, in the above design, is restricted to Weapon and Player classes only, and not to any of the subclasses.

In general, a centralized logic handling class is good if the logic code is not too complex.  As the logic becomes complex and you have to handle lots of classes, you'll end up having a very complex class with a lot of data only classes, which is more "Procedural Programming" than "Object Oriented Programming".

Having said all that, I think there is no one generic "best" approach, as each problem is unique. 
14  Discussions / General Discussions / Tutorial: Learn Java programming in 3D using the Env3D library on: 2011-02-18 22:13:51
Hi all,

I'm a computer science instructor who is also interested in video gaming.  For many years now, I have been trying to develop a way to integrate 3D gaming into my introduction to Java course. 

The result is Env3D (, a 3D engine that is focused on education.  It integrates with BlueJ, a Java IDE for students, and features easy applet creation so students can be deploy their work online very easily (you can deploy your 3D applets directly from the IDE itself). 

Along with the engine is a set of lessons ( on basic OO concepts, but also touch on game design issues.  I have been using these lessons internally in my own classroom for many years, and I feel that it has evolved to a point where both the 3D engine and the lessons are ready for public consumption. 

Feel free to poke around the site and let me know if you have any comments or suggestions.
15  Game Development / Game Mechanics / Re: Organising and scheduling collision detection in good OO on: 2011-02-18 21:49:27
I have recently written a tutorial on a similar topic.  It is at and scroll down to "simulation logic".

The gist of my lesson is that if each object handles its own collision with other objects, it makes the main game loop easier to understand (no need to incorporate the game logic into the game loop).  It also decouples adding of new object types from the game loop.

Of course, it all depends on what you want to do, and each approach has advantages and disadvantages.  For example, in this "decentralized" approach, if you have a bug in your collision logic, you'll need to look at multiple classes, instead of just one class.

I would argue that the decentralize approach is more "OO", since the idea of OOP is reduce coupling by moving the relevant code into multiple classes.
16  Discussions / Business and Project Management Discussions / Re: Browser/Applet games on: 2011-02-17 23:50:22
What I find is that java applets don't integrate with browsers very well, especially on non-windows platform.  For example, on the mac, re-loading of an lwjgl applet don't always work, as the java implementation is not very complete.  Also, if you want javascript->java communication, it doesn't work on safari (the last time I checked).

17  Discussions / General Discussions / Re: Lots of doors are being closed for Java on: 2011-02-15 18:00:05
This is pretty awesome stuff.  I don't have much experience with GWT, but I believe that it essentially translates your java code into javascript so that it can execute in the browser.  What are the restrictions?  I suppose it only implements a subset of the java libraries?
18  Discussions / General Discussions / Re: Hi! Is this real life? on: 2011-02-14 07:05:54
A tight integration with more famous IDE like Eclipse and Netbeans would be more useful.

The only reason for the BlueJ integration is because BlueJ is a very popular student environment, where env3d is designed for originally.  If there is demand, it is very doable to integrate env3d with Eclipse and NetBeans.  Could be a very fun project for me to work on  Smiley
19  Discussions / General Discussions / Re: Lots of doors are being closed for Java on: 2011-02-14 07:00:32
Its not a rumour, it was confirmed by Adam Messinger, VP of Java Development at Oracle.

Interview can be found here (MP3 at 21:18) or transcript here.

Pretty cool idea!  The implication is that we have a compiled language running on top of an interpreted language running inside of web browsers... my mind is spinning just thinking about it.  I just don't see this working in the short term (3-5 years).  Although this could be a very good strategic direction in the long term.
20  Discussions / General Discussions / Re: Lots of doors are being closed for Java on: 2011-02-12 16:37:50
Dzzd, could you make the source available. I'll have to write an integration wrapper to make it render to iPhone. Though tbh, it'd be a better test if it used OpenGL Smiley


Kev, can xmlvm cross-compile lwjgl calls?  Or maybe opengl es?  I have a small android library in pure opengl es, maybe that would be suitable?
21  Discussions / General Discussions / Re: Ads Providers on Java on: 2011-02-12 06:10:16
I haven't looked at this closely, but from looking at the sample code, it seems like the it is geared towards server side HTML/javascript code generation, and not really suitable for in-game ads.

You could always pop-up a browser window inside your app, but I suppose that is not very elegant.
22  Discussions / General Discussions / Re: Lots of doors are being closed for Java on: 2011-02-12 05:53:59
This is what I was saying. I have seen Java pushed only by amateurs with a few exceptions. I don't know about J2ME.

Well with android, this could be changing.  The causal mobile games market is huge, so this could be good news for Java.  The way I see it, android is the last hope to see Java deployed on the client-side.  Hopefully Oracle would work out a deal with Google soon.
23  Discussions / General Discussions / Re: Chrome Web Store on: 2011-02-12 00:13:35
AFAIK I have never met a non-developer who has installed Java (JDK or JRE) on any OS.

I personally think Java will probably make it into ChromeOS, maybe in a year or so. But tbh I don't think it would harm ChromeOS in any way if it didn't make it as I would expect very few users would be affected.

That's the main problem with Java on the desktop, unless it is packaged with the OS, it will always be an uphill battle.
24  Discussions / General Discussions / Re: Hi! Is this real life? on: 2011-02-12 00:03:37
jME could be a little difficult if you are just starting out in Java.  The env3d environment works with the BlueJ IDE and is based on jME.  It offers Java lessons for beginners and a path to move forward once you have your basics down. 

After working with jME for a while, I really like all the "bells and whistles"  Cool
25  Discussions / General Discussions / Re: Lots of doors are being closed for Java on: 2011-02-11 20:02:24
This is such an interesting thread I just thought I'd throw in my 2c worth of rant...

My background is in academics (I teach first and second year computer science).  Java is still the dominate language here, mostly because of external pressures during the early 2000. As I have an interest in gaming and I was forced to use Java, I decided to create a simple 3D gaming library in Java for my students (using lwjgl for rendering).  Since then, the library has evolved into something rather useful and I am interested in the Java client-side deployment options.

During my research, it seems that Java is indeed very popular in the big shops on the server side, but almost non-existent on the client side until Android comes along.

This is very discouraging and frustrating at times, as I keep running into walls when I tried to create applets that run reliably on all platforms, windows seems to run fine, os x is a pain (their own Java version does not play well with applets), linux is ok but not great.  When apple come out with their App store for macs, they outright reject all Java apps, making distribution of Java games on the mac desktop impossible.  Android is the new hope for large scale Java deployment but Oracle is now suing Google over it, further hampering the potential of Java.

It seems to me that Oracle should invest into Java technologies (webstart, applet, etc.) instead of litigation.
Pages: [1]
roseslayer (393 views)
2016-08-06 11:43:29

roseslayer (362 views)
2016-08-06 09:43:11

xTheGamerCodes (436 views)
2016-08-04 15:40:59

xTheGamerCodes (429 views)
2016-08-04 15:40:24

orrenravid (780 views)
2016-07-16 03:57:23

theagentd (855 views)
2016-07-11 14:28:54

Hydroque (953 views)
2016-07-06 05:56:57

Hydroque (981 views)
2016-07-03 08:52:54

GrandCastle (793 views)
2016-07-01 09:13:47

GrandCastle (634 views)
2016-07-01 09:09:45
Rendering resources
by Roquen
2016-08-08 05:55:21

Rendering resources
by Roquen
2016-08-08 05:52:42

Rendering resources
by Roquen
2016-08-08 05:50:38

Rendering resources
by Roquen
2016-08-08 05:49:53

Rendering resources
by Roquen
2016-08-08 05:32:39

Making a Dynamic Plugin System
by Hydroque
2016-06-25 00:13:25

Java Data structures
by BinaryMonkL
2016-06-13 21:22:09

Java Data structures
by BinaryMonkL
2016-06-13 21:20:42 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‑
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!