Skip to main content

Guest Post: Is Java the best language to meet my needs?

Posted by sonyabarry on January 31, 2012 at 7:08 AM PST

This email came into our site feedback alias this morning, and I thought this would be a great topic to ask the community.  I'm a big believer in using the right tool for the job, even if it's not Java at the moment.  I asked his permission to post it here, so please meet Mike: 

To whom it may concern,

I need your advice.  Back in 2000 I was a post-doctor at the University of Caledonia in Berkeley.  While there, I became ill with a type of brain cancer called a medulloblastoma, and was forced out of research.

After release from the hospital, I started programming rehabilitation games similar to the ones used in brain injury rehabilitation.  I decided to do this because these types of games, although a medical tool, are quite expensive.  I wanted to produce my own version of these games that were free.  The results of my efforts can be seen at http://www.msty-neurotraining.com and are registered at the Brain Injury Association of America (http://www.biausa.org/) as a rehabilitation tool.

However, I have a serious problem.  These programs were made using Microsoft’s Visual Basic 6, and the programs made with it will soon become obsolete and no longer run modern versions of Windows computers. Therefore, I am looking for an alternative.  Preferably one which is open source (like Java) to keep in spirit that the games are a free medical tool.   Do you have any suggestions as to what open source programming language would be appropriate for my needs? I need something that can produce programs capable to manipulate 2D graphics, save and retrieve files and use a joystick.  I am not restricted to using a programming similar to Visual Basic; I can also program in C++ (the programming language we predominantly used at Berkeley).

Would Java be a good alternative to Microsoft’s Visual Basic?  If not, what other programming tool would you advise using?

Also, how do I go about starting an Open Source project to create a rehabilitation tool like the one the I created with VB6?  Starting such a project would be preferable to working alone, because I feel that a team working together always gets better results than an individual working alone.

Sincerely,

Michael Tarsitano (PhD)
Bruchsal, Germany

 

Related Topics >>

Comments

If it is currently written in VB6 and you know C++, you ...

If it is currently written in VB6 and you know C++, you could import the code into Visual Studio, compile to missile and then back to c++ and continue developing from there in the .net framework. Microsoft's CLR is actually a nice tool. Also its hard for me to suggest migrating code to Java if you do not know the language and already know C++ since that language is quite developed and has many tools at your disposal. Also if the focus is just 2D games there are a lot of new SDKs and frameworks you can use in either HTML5/JS, C++, or Python; LimeJS, gameQuery, panda3D, Sencha, and many more. Also some non free ones like Torque2D (C++ and their torqueScript), or some in LUA like CroronaSDK.

That being said, if you want to learn Java or JavaFX this would be a good opportunity to do so and there are many books and resources available to help get you started. In my opinion there will be no harm in adding Java to the languages you can program in. If you are moving to Java just because you feel like you are out of options, there are actually many at your disposal.

As for your open source project, I would look into github or google code for repository hosting, wiki, forms, etc to help get you started. Then just advertise it in places on the web that wouold share the same interest.

Hope this helps.

William Shaw

If I was in your situation I would look into the possibilty ...

If I was in your situation I would look into the possibilty of using JavaFX for this. The biggest problem with Java, I suspect, will be joystick support. If you are looking for other language suggestions, take a look at Python. It's an easy language to learn but surprisingly powerful. The PyGame library is designed specifically for writing games and seems to have quite an active community around it.

I wouldn't bother rewriting games that work, that were ...

I wouldn't bother rewriting games that work, that were written on VB6. I will assume even if Windows 8 does not support VB6, libraries will exist that could be downloaded to make VB6 apps run on Windows 8. Additionally, a user could run the applications on Linux in an X11 Wine enviroment, or another emulator. Nobody here can say which technology will be best to use when/if Windows 8 finally gets released. That said it is probably in your best interest to write your applications as one of three technologies to support compatability on multiple platforms.

Web technology - This is likely the best choice for the long run, and Flash another item on the list happens to be the best web platform for writing multimedia games in the web browser. Its likely with the large push for Cloud Computing Java J2EE could be your best bet on a web backend, however, in my opinion there are PHP game frameworks for the level of interaction you are doing in the applications that would have a lower overhead to maintain and shorter development cycle by far.

Flash - Excellent tools, however, these will cost you a pretty penny.

Java - Open Source and Free, but writing to the Java 2D API's is tedious at the least, and dealing with event timing is even more of a pain. That said, this is your primary best option if you plan to implement an installable application to their system, and would work well for easy migration to Android applications.

Seriously though I've seen your photo on the java.net blogs before so I suspect you already had your mind made up to use Java in the first place;)

Good luck on your conversion:)

Thanks,

Aaron

Thank-you Aaron (asims?) for your response.  I have a ...

Thank-you Aaron (asims?) for your response. I have a few questions about your response, but I first want to test if you get this reply from me. I've never blogged before, so I am feeling my way around; learning something new. If you do get this, please tell me, so that I know I'm "blogging" correctly.

Take care,

Mike

Michael, I think Java is well suited, but have no clue how ...

Michael,

I think Java is well suited, but have no clue how the Joystick will get adressed. Does it send keys?

I possibly can help you with all Java questions and maybe am helpful in organizational things like setting up paypal etc., as I am located rather near to you...

Regards

Markus Karg (www.headcrashing.eu)

Pforzheim / Germany

I think both slick and jmonkeyengine use jinput ...

I think both slick and jmonkeyengine use jinput http://java.net/projects/jinput/ for controller interaction.

I took a quick look at your games, although not all of them. ...

I took a quick look at your games, although not all of them. Java is a fine language to write games in. Minecraft is an example of a successful commercial game but there *are* others so it's not unheard of for games to be written in Java. If you want to stick to 2d you might take a look at slidk2d http://slick.cokeandcode.com/. If you have 3d asperations then monkeyengine http://jmonkeyengine.com/ really is the way to go.

You need 4 things to start an open source project.

1. A idea

2. A source code repository

3. people

4. license

Everything else is optional but recommended, bug tracking etc.

If you need help I' d be happy to join your project. This sounds great, simple games that have a real reason to exist. I think thats just fantastic.