Gaming Gathering design ideas for a spaceship builder

HarvesteR

Member
Joined
Apr 22, 2008
Messages
386
Reaction score
15
Points
18
Hello again,

I thought I'd start this thread to gather ideas on a Spaceship Builder...

Long story short, I'm working on a game that will allow you to create any kind of spaceship, and later, fly it.

There is a functioning builder already in, but I fear it's usability is rather shallow and limited... So I decided to gather input from other space geeks as myself, about what kind of workflow, feedback and user inputs are expected from such a thing.

So, this is what I have now:

The left portion of the screen contains a list of ship parts, which you can drag and drop into the building pad.

The building pad already has the first part, which is the command pod.

Parts from the list can only be attached to the pod, or other parts previously attached (that is, no 'flying', disconnected parts allowed)

On attaching, the part snaps to the closest part found (given that it's close enough to attach in the first place), so it doesn't protrude through other parts or hovers unconnected.

Attaching a part means that it will become a hierarchical child of the part it's been attached to. The pod, thus, becomes the root if the hierarchy tree, and all other parts are it's children. This also means that dual-linking isn't possible.

Staging is done through a special part called a Stage Separator, which, when activated, breaks the structural link that connects it to the rest of the ship. All other parts connected to it will go along when it breaks off.

deleting a part is done just by dragging it off the ship, and dropping it somewhere else. The game detects that the parts are too far away to be reattached, so they're deleted.

If you have played Spore, you'll have a good idea of how this works.


So, why is this not working?
I've found that this method of building parts, is too limited for some applications... for one thing, the parts don't rotate, so there's no way to adjust which way a part is facing...
Another thing, the staging process is too strict, and right now won't allow for parallel staging...

I want a more involved process for building the ship... right now, it's just too basic... I want to give players the ability to tweak and re-tweak their creations so that they can fine-tune their ships for better performance...
I want it to be possible to spend hours building the ship, without getting bored of it, or frustrated by limitations.

Another problem... this approach works for rockets, which are built vertically, but what if you want to build a space plane, that takes off from a runway?

So, that's a pretty high goal I've set for myself it seems... I'm hoping to make some design decisions here that will facilitate that process...


So, these are some changes I came up with:

- Instead of just attaching parts by proximity, align them with the surface normal of the parent part, so that things are always placed perpendicular to the surface.

This sounds nice at first, but it brings up a number of other problems...
For one, this works well for parts like winglets or strap-on boosters... but doesn't for parts that connect from the top, like liquid engines...

It would be necessary to create different attachment modes for the several different parts...

This still doesn't solve the problem of building a ship that lies on it's belly, like a shuttle-type thing...

I thought about the possibility of creating a gizmo, like the ones in 3D modelling packages, like Maya or 3Ds Max... but that seems a little too cumbersome for a game... it's practical, but isn't fun.

another idea would be to be able to rotate the command pod around, so that all attachments and alignments will be in relation to it's own orientation. This would make it possible to build a ship that does lie on it's belly, and attach wings and stuff to it.

The final design problem, then, lies in the pod itself. While it's very useful to have it as a mandatory, unique part of the ship, it's also a little limiting...
What if you want a different command pod? How would you go about changing it?
One option would be to just select a new one from the list, and instead of dragging it like other parts, you just click on it and it will change...
Another option is to present the choice of command pod as a first step prior to actually building... this would facilitate some things a bit...

Also planned is a symmetry mode, in which you select a degree of radial symmetry, like mirroring (180 deg), tri-axial, (120deg), quad-axial (90deg), hex (60deg) and so on...
With any mode of symmetry engaged, dragging a part will also position it's corresponding symmetrical counterparts... Much like in Spore, only configurable. (Spore had mandatory mirror symmetry)

Alt-dragging a placed part will copy it, instead of moving the original one, like in Photoshop or Flash...

So, what do you think? I know it must be kinda hard to visualize how it works, but try to imagine yourself playing such a game.

As some encouragement, we are planning to put up a first WIP release of the game by the end of next month. Hopefully, we should have the builder part a little better squared out. :thumbup:

So, as always, thanks in advance for any contribution. Be it ideas, rants, insults or random brainfarts, they're welcome! :tiphat:

Cheers :cheers:

HarvesteR
 
Top