Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

Porting to Java

Information, contacts and source code for ports to Linux, Windows, etc.

Moderators: another_commander, winston

Post Reply

Do you want such port?

Yeah, more better!
5
26%
Yes (support mobile phones too!)
3
16%
Not interested, but good idea anyway
4
21%
Not interested
4
21%
No, join another project instead
3
16%
Keep you hands of (E)(Oo)lite!
0
No votes
 
Total votes: 19

Sardar
Average
Average
Posts: 9
Joined: Tue Dec 11, 2007 5:49 pm

Porting to Java

Post by Sardar »

The main idea to completely rewrite Oolite in Java using jMonkey game engine.
http://www.jmonkeyengine.com/

The game engine, physics (yeah, inertia, better explosions, deformations etc), input handling and lots of other routine is already written. The only effort is needed to assemble all components into Oolite world. Most of the "universe rules/laws" should be scripted. Of course rendering is accelerated (currently OpenGL only), allowing complex meshes and eye-candy if someone wishes to create such content.

The project is intended to re-create Oolite as closely as possible, preserving OXP and resources compatibility. The already available game assets is the main reason I think the project will be completed soon enough.

Although this game is announced as Oolite port, I will try to implement new features like better physics, short hyper-jumps (good in combat) etc. Your concepts, thoughts, ideas and criticism are welcome.


P.S. please, keep your "java is to slow" if you haven't written any java program in the past 2 years :)
User avatar
Cmdr James
Commodore
Commodore
Posts: 1357
Joined: Tue Jun 05, 2007 10:43 pm
Location: Berlin

Post by Cmdr James »

I am (professionally) a java developer, so I am kind of biased in favour. It would allow me to contribute more, and it would broaden the number of people able, and willing to contribute.

However, I really dont see the point, oolite works really quite well, has an extensive oxp library and really, if it isnt broken, dont fix it.
I think there are a lot of cool games that could be written, and I see it as something of a waste to create another elite-alike.

In all seriousness, as a java guy with about 10 years experience, I am motivated to learn some objective c and help on oolite. I have no motivation at all to start again on a java version. I know this is putting a lot of faith in my judgement, and, as anyone who knows me will tell you, that is a grave mistake to make. But I think that its not worth the effort.

That said, good luck -- Id love it if there were a better, more portable, more extensible, more stable, more er, other stuff version.

The one argument in favor of a java version, is that there are quite a few areas of the code which are spaghetti, and I have a feeling starting again, *in some areas* might be easier than sorting it out into a well documented understandable system.
Sardar
Average
Average
Posts: 9
Joined: Tue Dec 11, 2007 5:49 pm

Post by Sardar »

Thanks for comment. Actually my plan is not to create a good game, but rather to get myself used to jMonkey/Java3D.

I can't create my own game assets, no skills/talents :| So creating a fresh new game is not an option. Currently I'm not interested in sound, so a cosmo-sim appears to be a good choice. The scenes and models need not to be complex, however loading a highly detailed, hairy, murky, bloomy, slippery, bump/parallax-mapped moving spider, shouting all kinds of particles into space - is my desire.

If you think there is another project, that suits better as learning base, then please hint me with a link :)
dajt
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 365
Joined: Tue Aug 17, 2004 7:05 am
Location: Orange, NSW, Australia

Post by dajt »

Sardar wrote:
Thanks for comment. Actually my plan is not to create a good game, but rather to get myself used to jMonkey/Java3D.
That is not a good start... if you don't care about creating a good game, you won't put enough effort into it. Just porting Oolite to a different platform using the same language was a huge effort.

Don't just port Oolite to Java, that would miss a big opportunity to improve upon it. The biggest problem with Oolite is that the original Elite algorithms/ideas are hard-coded in the game engine and the making it pretty well unmoddable except for trival things like new ships/missles/extra planet here or there - ie more of the same.

The JavaScript work was started as a possible solution to this, but can only provide so much extra flexibility - you'll never be able to change the galaxy layout to any useful extent, or make 3D star maps, or change the navigation, etc, etc.

If you're going to do that much work, redesign it so it is a bit more flexible.

Note this is not a criticism of Oolite - it meets it design goals perfectly. It just means it can't be anything else.

Regards,
David.
Regards,
David Taylor.
User avatar
Cmdr James
Commodore
Commodore
Posts: 1357
Joined: Tue Jun 05, 2007 10:43 pm
Location: Berlin

Post by Cmdr James »

Not that this is a superhelpful idea, but I always wished there was a modern version of (ie one I can run without nasty emulators) of Tau-Ceti. Maybe you could write an oo-ceti :)

Its the same kind of vintage as elite, and similar, simpler I guess, vector graphics, and only 2d (3d first person universe with no real up-down, kind of like doom).
Sardar
Average
Average
Posts: 9
Joined: Tue Dec 11, 2007 5:49 pm

Post by Sardar »

dajt wrote:
If you're going to do that much work, redesign it so it is a bit more flexible.
Thanks for comment. I was thinking about this... Things I miss in (E)Oolite are:
  • To some degree persistent game world. If you or other trader have dropped stuff at the station, then selling prices will be lower for the next few weeks. Persistent constantly moving asteroids, space stations and perhaps large ships (eg. Black Monks etc).
  • More interaction with others, so you can at least ask for help.
  • Separate ratings for different planets/races. This may affect prices, possibly quests and degree of offered protection.
  • Better physics, so dropping you cargo will result in better maneuvering and accelerating abilities. You may purchase a magnetic bay, which can hold you stuff together, so you can get everything back quickly. Of course another smart guy could take you stuff while you are fighting :)
This and similar things is basically simple to implement. The things that bring more challenge are:
  • Really persistent world. NPC's live in (simplified, probability based) real-time world together with the player (and possibly other players connected to that machine). Lots of data.
  • AI with learning abilities. Could be to heavy to compute in real-time for multiple ships.
  • Realistic damage calculations.
  • Multi-player.
These features are standing last in my features list.
The first step is to bring some sense of dynamics/kinematics into the world. Of course something like Orbiter is overkill :)
Then graphics rendering. After that I will try to merge all good ideas, possibly as pluggable modules and scripts.
Cmdr James wrote:
but I always wished there was a modern version of (ie one I can run without nasty emulators) of Tau-Ceti
Sorry, I don't have the game assets (graphics, sound, models etc) and I don't want to disassemble the ZX Spectrum executable just to get these... And it is little to no challenge from programming perspective :)
krombart
Competent
Competent
Posts: 52
Joined: Tue May 20, 2008 9:25 am

Post by krombart »

I would like a redesign of oolite in c++ / ogre / sdl and with lua as extension language.
User avatar
stevesims
Dangerous
Dangerous
Posts: 78
Joined: Wed Jun 23, 2004 4:07 am
Location: London, England

Post by stevesims »

I would like a redesign of oolite in c++ / ogre / sdl and with lua as extension language.
It's open source.

Nobody's stopping you. Go ahead.

Seems like a pointless exercise to me though.
krombart
Competent
Competent
Posts: 52
Joined: Tue May 20, 2008 9:25 am

Post by krombart »

Seems like a pointless exercise to me though.
Hmm, maybe it's because it could be a lot faster,
or maybe it's because with luabind you can publish a whole class and your objects with
minimal fuss to the scripting interface
or ....
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6559
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

Terrific. Looking forward to a playable demo whenever you have it ready.
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8501
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Post by DaddyHoggy »

"Terrific" - to instill Terror.

Interesting choice of word...

(Converting any program from one language to another is definitely my idea of sitting bolt upright in the middle of the night screaming) :)
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
krombart
Competent
Competent
Posts: 52
Joined: Tue May 20, 2008 9:25 am

Post by krombart »

LOL.

You seem to be upset about the idea? Why?
User avatar
Cmdr James
Commodore
Commodore
Posts: 1357
Joined: Tue Jun 05, 2007 10:43 pm
Location: Berlin

Post by Cmdr James »

Well, I cant speak for anyone else, but I have been on technology change projects, where someone spends millions of dollars to reimplement stuff in a new language. It is generally slow and painful, with lots of things you never get to understand, and at the end of it, if you did it right, you are exactly where you started.

There can be good reasons to rewrite code in a new language, but my experiences tell me that its not something to go into lightly.
krombart
Competent
Competent
Posts: 52
Joined: Tue May 20, 2008 9:25 am

Post by krombart »

As I don't have a *ck** clue about real programming projects, you should take me with a grain of salt.

I wouldn't like to see a simple oolite clone in a new language, but a whole redesign, aka a new game.
User avatar
Frame
---- E L I T E ----
---- E L I T E ----
Posts: 1477
Joined: Fri Mar 30, 2007 8:32 am
Location: Witchspace

Post by Frame »

krombart wrote:
As I don't have a *ck** clue about real programming projects, you should take me with a grain of salt.

I wouldn't like to see a simple oolite clone in a new language, but a whole redesign, aka a new game.
There are 100s of MySpaceSimulatorGame´s in development right now..
Some are online, some are not...

But for them all counts... They develop very slow, cause, it is usually a one man project, maybe with a few assistants...

Oolite developed into a Release because while it does look very complex, most of it is pretty simple, however still time consuming to write and debug..

More Advanced features like shader support and java scripting is reasent additions, thanks to Ahruman... Who have not developed "Coders Block" yet ;-)...
Bounty Scanner
Number 935
Post Reply