So uh, I'm cloning Nova.

With a little help from my friends

...Okay not really cloning, but that got your attention. It's just a very similar-styled game, hopping from system to system buyin' new ships and upgrades, and doing missions for the cause of 1 of 3 xenophobic governments bent on domination of the galaxy.

It's being developed in Java, by three people, using the jmonkey engine for a bunch of the stuff. But yeah, we've got a working AI with a steerable ship that can shoot stuff, run around a starfield, minimap, landable planets, and PARTICLE EFFECTS OOOOHH!

I am the spriter and director, my friend from college is the coder, and my girlfriend is doing concept and splash art. Once school starts up again for the fall semester we'll be roping in a sound guy and hopefully (PLEASE GOD) a scripter to help us with creating missions and NPC response strings.

We're gonna try and submit it to some indie festivals, as a PC and mobile platform game, but I'll be sure to let you guys know when it's out for playin'.

The working title right now is Space Empires, but that's subject to change.

I'll drop some screenshots all up in this topic later, although the HUD looks a bit poop at the moment, and our asteroids resemble crumpled packing peanuts. Hooray filler sprites!

Magnus, summon the lawyers!

But seriously, that's cool. And let me ask the question that I know is on everyone's mind:

WILL IT BE MULTIPLAYER?

j/k

Good luck. Seriously. As with all projects of this scope i wish you all the dedication and smoothness of Real Life that these things demand.

@lobster, on 07 August 2011 - 07:47 AM, said in So uh, I'm cloning Nova.:

Magnus, summon the lawyers!

But seriously, that's cool. And let me ask the question that I know is on everyone's mind:

WILL IT BE MULTIPLAYER?

j/k

I don't care if it's multiplayer, just so long as it comes with a set of steak knives.

xander

@hamster, on 07 August 2011 - 07:43 AM, said in So uh, I'm cloning Nova.:

It's being developed in Java

Why.

@qaanol, on 07 August 2011 - 10:26 AM, said in So uh, I'm cloning Nova.:

Why.

This. Java is a terrible language for games, and it's a shame games like Minecraft use it. They could be so much better...

Moving this to EVDC.

@qaanol, on 07 August 2011 - 10:26 AM, said in So uh, I'm cloning Nova.:

Why.

As much as I loathe Java, and as awful as I believe it to be for game development... wait, I'm trying to defend Java? slaps self

@jacabyte, on 07 August 2011 - 10:38 AM, said in So uh, I'm cloning Nova.:

This. Java is a terrible language for games, and it's a shame games like Minecraft use it. They could be so much better...

It's not like the game changes based on what language you code in, or?

Not really a Java fanatic, but what are your main objections and obvious alternatives?

Good luck with your game Hamster, looking forward to the screenshots.

This post has been edited by Modesty Blaise : 07 August 2011 - 04:22 PM

The common JVM implementations (Oracle's HotSpot, OpenJDK, IBM's JVM) use a lot of memory due to being lazy on the garbage collection, which itself leads to unpredictable performance at times due to extra overhead or lack thereof from the garbage collector doing its thing. The language itself has some fundamental inelegancies: like the autoboxing magic which causes confusing behaviour particularly when nulls are around; like the separation between arrays, primitives, and objects; like the exception handling model which leads to tacking on 'throws' declarations on large numbers of methods; like the 'transient' hack which should have been an annotation. The standard library itself is bloated and makes even the most basic tasks take large amounts of boilerplate code - compare the necessary objects to read in a file as a UTF-8 encoded string compared with, as an example, Cocoa's own NSString +stringWithContentsOfFile:encoding:error: functionality. The model for doing GUIs by trying to look like the native platform rendered with its own engine leads to inferior interfaces on all platforms, or at least the platforms for which the program itself was not originally developed, although this is less of an issue for games which tend to do their own thing as far as interfaces go. The default JVM, at least on Darwin, uses many extra background threads rather than multiplexing onto a smaller thread pool, which leads to an increased number of context switches and thus lower overall speed. To use OpenGL for rendering, there is no native interface in Java, thus one must use either the LWJGL or JOGL bindings, neither of which are (in my own personal experience) particularly pleasant.

My recommended cocktail of choice for game development - one which I've used for multiple projects, as well as what Adam, Scott and I are using on Xsera - would be C++ and Lua, although obviously substituting in C in C++'s place works too, as would substituting in the scripting language of your choice for Lua (Python in particular may work well).

I'm eagerly awaiting Space Empires, Alec. I hope you can drop us some tasty screenshots soon πŸ™‚

Sweet! Sprite art! I'd settle for some sweet concept/sprite are instead of screen shots! πŸ˜›

Also looking forward to this!

EV Developer's Corner for a game that isn't EV ... hmm ...

I suppose one could argue that Just Tech was more appropriate, but at the moment I think the thread is probably more in tune with the sort of discussions we have here, even though it isn’t about our engine.

@modesty-blaise, on 07 August 2011 - 03:36 PM, said in So uh, I'm cloning Nova.:

It's not like the game changes based on what language you code in, or?

What Prophile said. This is an unfair comparison, but I've played with C and AppleScript, and typically C is many, many times faster. (This comparison is unfair because AppleScript is a scripting language and is at the mercy of the operating system in terms of speed, while C and C++ are typically run at a lower level than AppleScript.)

This post has been edited by JacaByte : 07 August 2011 - 08:46 PM

@jacabyte, on 07 August 2011 - 08:45 PM, said in So uh, I'm cloning Nova.:

What Prophile said. This is an unfair comparison, but I've played with C and AppleScript, and typically C is many, many times faster. (This comparison is unfair because AppleScript is a scripting language and is at the mercy of the operating system in terms of speed, while C and C++ are typically run at a lower level than AppleScript.)

What prophile is thinking looking at this, I'm sure, is "languages do not have speed". Here's what I mean*:

A language has no property of speed. A language is what defines keywords, statements, loops, and the like. Let's take two languages that are commonly thought to be "slower" for example: Java and Ruby. I've had quite a bit of experience in both. If you were to calculate digits of pi with both Java and Ruby, the program might look quite similar and go through similar processes, but if you're running a Ruby JIT compiler versus Java 1.0, Ruby will blow it out of the water. Yet I'll never forget what my professor (a professional in the industry with decades of experience, who's worked at Amazon for years and had several successful startups) said the first night of our introductory Ruby class: "Ruby is over forty times slower than Java".

What! If you think about it, it doesn't make any sense. That's like saying that Ford is faster than Ferrari - to which you should immediately ask "which models?". Sure a high-end, brand-new Ford Mustang should beat the pants off a broken-down, abused '69 Ferrari. But "Ford" is not faster than "Ferrari" - and it is inaccurate to make such a claim.

Similarly, C is not faster than Java. Perhaps an implementation of GCC beats the native JVM on OS X, but that doesn't mean that the reverse could be true with different compilers.

As to why C and C++ are the industry standard for speed - well, they've been around for long enough that a compiler can optimize them so that if you looked at the assembly that was generated, you might never be able to weed out your original program. Wait long enough, and Java might catch up, though in different ways I believe (JIT compiling being one of them).

*yes, I've said that languages have speed in the past and prophile corrected me for it. That's pretty much where the basis of this comes from

@adam_0, on 07 August 2011 - 10:59 PM, said in So uh, I'm cloning Nova.:

<snip>

sniff I'm so proud of you... πŸ˜‰

I read that first sentence and facepalm'd at myself, because I immediately knew what you were saying, but I still think about it in layman's terms.

Yes, it's possible to write a C program into the ground so it takes longer to, say, calculate the 200th digit of Pi than a highly optimized Java program. But really, when you consider the only programming experience I have is the stuff I've taught myself, (and the stuff you've taught me...) you should expect no better from me when I say "C is faster than Java." πŸ˜‰

This post has been edited by JacaByte : 08 August 2011 - 12:42 AM

@jacabyte, on 08 August 2011 - 12:42 AM, said in So uh, I'm cloning Nova.:

Yes, it's possible to write a C program into the ground so it takes longer to, say, calculate the 200th digit of Pi than a highly optimized Java program.

I'm not talking about programs. I'm talking about compilers. Compilers are what make the programs "faster" or "slower", essentially. If you were to compile a program with a Borland C compiler from the 90s and GCC 4.2, then the latter would probably create a faster program. Those are both C compilers, mind you. Just one knows how to make a more optimized executable program for the machine.

Now, back on track... pics or it didn't happen, Hamster πŸ˜›

This is exciting news, Hamster! I'm really looking forward to seeing what you come up with.

Now for an unsolicited offer of help:

I'm not going to have a huge amount of time, but I would be eager to help with one thing: editing your various descriptions and storylines. Now obviously I haven't seen any of your script so far, but one thing I've noticed about various TCs/plugins/various other amateur-made expansions and games is that the quality of the writing is by far the weakest part. It seems people are perfectly willing to spend hours learning Blender or coding to a high level of skill, but I've seen little evidence that people have spent as much time working on the writing for their games. If you're making a game like Nova, there will be a lot of text. It should be good, and that means it has to be edited. If your game has as much text as Nova, this will be a sizable job that could even be divided between several people (although for consistency's sake it might be better if just one person did it.) If you already have someone in mind to do this, then great. But it should be done somehow.

(Can you tell that bad writing in games is kind of a pet peeve of mine? :))

Space Empires is pretty generic, but I think you'll come up with something better once you have your theme/style/story and game mechanics worked out.

Then again, Star Wars is pretty generic too.