Java or C++ for an industry univeristy game project?

We (my team and I) have decided to do a game for the 3rd year university industry project.

I’m extremely comfortable with both, however members of my team have only used Java.
I’d be limiting others from coding by using C++.
Common sense tells me to use Java so it doesn’t pose a problem with team members in the future.

What do you guys recommend under such situations?

I would use the language that meant that I would get the most merits in the end.
So if you produce a better game, use Java.
If you get extra technical points for using C/C++ (unlikely?) - I would go with that.

Hi

This is just my opinion, and might not reflect reality, but, it’s not about the language. I suspect that the majority of your marks will come from the report, not the product. You will probably be able to accomplish more with Java than C++, but you will also be expected to accomplish more. I would have thought that the bigest deciding factor here was that other people know Java. There are a large number of commercial projects that may well have been better off in a different language, but with teams already knowing the caveats and short cuts with language ‘A’, the project gets done in that langauge.

Personally, I’d go with Java in your situation, and given complete freedom of choice, I’d go with Java anyway :).

HTH

Endolf

So there are members in your team that are not confortable with C++, and you’re asking on a java forum which language to use? What answer other than ‘Java of course!’ do you expect? ;D

Unless the goal would be to learn C++, I honestly don’t see a reason why not to use java.

I had a similar dillema before starting my own game for my final year university project. I recommend you actually try both to begin with. It won’t look good on your report if you have to say “We decided to go with Java because we asked some guys on a Java gaming forum what the best language was and they said Java was way better than C++”. It looks much better if you actually go through the process of weighing up each language’s advantages and disadvantages yourself. Then, depending on the type of game you intend to make, devise a test application that you can write in both languages that tests each of the language’s limitations. If it’s performance that you’re worried about then it should be pretty easy to test. If it’s speed of development then you can measure that too.

It helps as you go through your project if you plan each section of your report as you develop the project. At each stage think about how you’re going to answer the “We did this in this way because…” questions.

I would say that given java’s reputation, it would be more rewarding to use Java, that’s what I did last year, and got a pretty good mark :slight_smile:

I believe Java is the way to go!? I work with C/C++ & some Java in my job and Java at home. I get at least twice as many things done in Java than C/C++. But hey - I am biased too ;D

Well… I think you’ve pretty much got your answer.

C++ = not very productive and fun and too much bs involved (choose this if you want to spend twice as more time debugging than actually programming and seeing results)
Java = productive and fun

The easy decision is based on memory management. Find which languages requires that you do least and use that one. It’s a bastard and every optimisation it offers is lost in weeks of debugging.

I wonder if you’re thinking more of what will make you most employable in future, rather than what would give you the best project. I thought that with my MSc project, I figured the job ads all wanted C++ and I should use that. Instead of making sure that I developed some excellent development skills, as I thought it would, I just ended up not finishing the project and never gaining the qualification. An expensive mistake.

The aim of your final project is to make a show of the skills you have learned during your course. As a team project you need everyone’s skills to be pretty good.

OT but interesting thought- if you have an art or design department see if you can steal anyone from there to help out with the look of your project, you could probably wangle it for them to get accreditation for it also…

Under the circumstances I recommend you go for Java. If it was a commersial project I would say C++ instead. I would also recommed two objectives:

  1. You have a great opportunity to make a valuable “proof of concept” contribution, namely that Java is sufficiently efficient for games. So make the game so slick no one can even begin to guess it’s written in Java.

  2. Acknowledge that gaming today has a theoretical underpinning. Relate your game to the concepts in say Rules of Play by Salen/Zimmerman. It’s an academic project isn’t it.

I don’t know what focus the project has for your course, but what about doing something radical to prove that the language choice doesn’t really matter.

Create your art and gameplay for a VERY simple game. I’m talking tic-tac-toe, pacman or space-invaders.

Use the same art and implement the game in BOTH C++ and Java. Track development in both.

You should end up with the same game, but the more interesting facts will be the “behind the scenes” measurements, such as debugging time, productivity, etc…

In fact I should go back to school and make that my Master’s thesis!! ;D

well in my opinion it also depends on what kind of game you want to make. If you want to make a fastpaced first person shooter where FPS and graphics are of high importance, you’d best go with C++ and some middleware graphicsengine. If fps and graphics and all that isnt that important, and what you mainly want do is find out how programming games in general is working and just to get the experience of creating games, then i’d go for Java definately.

Heh, n00b :slight_smile: It is perfectly possible to use Java for FPS games with extremely fancy graphics that compete on exactly the same footing as C++. In fact, it’s already been done at least twice already.

Cas :slight_smile:

well ofcourse, and i admit immidiately that the gap between C++ and JAVA is really closing fast nowadays, but the only thing is that most commercial and opensource (graphics) engines are written in C++ still and have been under development longer than the java engines i guess :slight_smile:

Check out Jake. It’s a quake clone completely written in Java - and it’s super-fast!!! And the graphics rule.

http://bytonic.de/html/jake2.html

Just run it through the .jnlp.

You’ll run into the constraint of getting enough content for your game well before you run out of power in Java if you’re trying to do something awesome and 3d for a school project…

I’ll never understand you, uj.

note : not that that bother you :wink: