Friday, September 24, 2010

Project 7 - GUI Object oriented languages

Comparing BlueJ, GUI Alternatives and Visual Basic.

Since the comparison base is the creation of a simple game the first thing to do is lay down what is in a simple game. When I hear that term I think games like Asteroids or Pong.
So a few things are needed:
  • Movement of an object (non-player controlled) (Asteroids/Ball)
  • Movement of player controlled object (Space Ship/Paddle)
  • AI (for Pong, opposing paddle moving)
  • Numerical Counter
  • Controls (Movement/Fire)
  • Object interaction
All fairly basic things, and I will be discussing which of the various GUI OO languages would (In my opinion) best accomplish these.

First off to throw out some ones that don't look good or are stated to be for some other purpose.

The BuoyBuilder link on the GUI Alternatives site appears to have been taken over by someone else so I'm going to throw that out right off the bat. The Jaxx link also seems to have lost it's domain since the writing of the GUI Alternatives page (2006). As well as the Matisse in Netbeans link.

JFormDesigner is stated to be primarily for the creation of professional looking forms, so that one gets thrown out.

Visual Basic is "primarily used to develop Windows applications and to interface to database systems", not really what we're looking for here so going to set that aside.

There are a lot more but most of the others fall under the same reasons to be thrown out for this case as the above so I won't bore you with every one.

BlueJ I have some experience with, and I believe it would also be a viable one to use, so I'm going to go ahead and check it out as our solution.


http://upload.wikimedia.org/wikipedia/commons/5/50/BlueJ_screenshot.png
BlueJ is, at it's heart, Java with a GUI interface for dealing with classes.To the right is a picture of the interface (source) to give you an idea of what it looks like. Inside of each of those classes it has a typical text code. This makes BlueJ good for keeping in line how classes interact with or build off of each other etc. This is helpful for determining object interaction between different things inside of your game.




Some other programs/languages that aren't brought up on those pages but are definitely work mentioning are Flash and C# Microsoft Visual Studio.

Flash is a program that you've most likely seen in many places on the internet and it's designed for both making videos and games. There are a lot of sites with games made entirely from flash on them, and it's a good place for beginning programmers to start making some basic games.

If you've been around on the XBOX Live Arcade at all, than it's likely you've run into games made with Microsoft's Microsoft Visual Studio which uses C#. This is a good place to go to after you feel you have a firm grasp of game programming concepts with Flash. It's got more power to it, and it's much more complex, however it's much better suited for creation of more professional level games.

So which is best? You're likely to do best getting your foot in the door with flash, and getting your game published on some popular flash game sites (armorgames.com kongregate.com and addictiongames.com for a few examples). If you want to publish on XBLA or make a standalone game for PC it's worth your time to learn C# and use Microsoft Visual Studio (though I'm fairly certain you'll need to use another language if you wish to publish on Mac OS X, however I imagine the code for that would be similar). As for BlueJ... well I wouldn't personally use it for game creation, however it is good for other purposes.

No comments:

Post a Comment