Skip to main content
GameDev.net gamedev.net
🔒 Locked

Spaceship Interiors

Started by Hawkblood Feb 27, 2014 at 11:20 PM 9 replies 3.9k views
Original Post
Hawkblood
Hawkblood

This topic may be a little late in my development, but I thought I should ask anyway...

I have various objects in my game (ships, space stations, and buildings on planets). Each one has a reference to an "interior" made for that specific object type. Each ship type has an interior. Each space station type has an interior. Each planet side building type has an interior. You get the picture....

I'm still in the process of making the editor for "interiors" and I would like to know what you think I should have. This is a first person/space simulation game. While in first person, the player will be able to walk around his ship, or space station, or planet side building and interact with NPCs, collect objects, fight, etc.....

Currently, I have (in the works):

-the visible meshes with lighting

-collision meshes (simplified versions of the visible ones)

-interactions with panel objects like door activators, elevator controls, etc....

-a waypoint system for NPCs

-"workstations" for NPCs

Can anyone think of ANYTHING else I am missing?

xenobrain
xenobrain

Are the interiors separate levels or in the main world space? If the latter, I would recommend a zone (aka VisArea/VisZone) / portal system both for culling efficiency and lighting so each zone can have it's own ambient lighting. Actually I would recommend that even if they are separate levels since it is still useful for the same reasons.

Hawkblood
Hawkblood

Sorry, I posted this in the wrong section. Could a moderator move it to Creative->Game Design....

To answer your multi-question: no. The interiors are part of the main structure. I have separated them from the main (like the outside of a ship) to keep the render costs low. I only render the inside of the ship (or whatever) if the interior is "visible"-- this could mean the player is inside or certain sections of the interior are exposed to the player while he is outside.

Example:

The player is in his space suit outside his ship. If the cargo bay door is open, he will be able to see "inside" and therefore the cargo bay (a section of the interior) is rendered as part of the ship. If the cargo bay doors are closed, the player can't see inside the cargo bay and therefore it isn't rendered.

This would also work in this example:

The player is on the bridge of his ship (a small cargo ship) while docking on a carrier class ship with an enclosed hanger bay. This means the player will see the interior of his ship, part of the exterior of the carrier, and the interior of the carrier all at the same time.

This game has NO transitions like levels or zones so everything will be rendered as needed. I know this sounds like a lot, but I have made great efforts to minimize the amount rendered at any given time.

The question is more about what kinds of things I may be missing. I made the "interior" class generic to be able to use it for multiple types of exteriors as mentioned above.

Hawkblood
Hawkblood
Is there noone with some input? No opinion? No interest?
LittleVikings
LittleVikings

Your design tells you what objects you need - I don't see how we can help.

Is this a programming question, or are you looking for help with designing a game around your engine?

Hawkblood
Hawkblood

It's a "do you think I'm missing something?" kind of question......

kseh
kseh

It's tough to tell if you're asking a technical question or one about what rooms should be in a spaceship.

I'm not sure about the rooms themselves but some high level stuff I can think of to maybe consider:

Doors (teleporters?)

Windows

Material of walls / other thigns (if relevant for combat or otherwise destructible)

Light sources

System conduits

You've already identified "interactions with panel objects". It sounds as though you're intending to make this as flexible as possible which should allow you to handle things you haven't thought of as they're discovered. It also sounds as though this could be about the same as an NPC work station.

Hawkblood
Hawkblood

I have doors and light sources. I don't know what you mean by "system conduits". I won't have "destructible" objects though. Windows would be simple enough. I mean, I already have the cockpit "window".

kseh
kseh

"System conduits" meaning wiring or general connection of systems. Stuff like electrical wire, network cables, fuel lines. I was thinking something like if a ship were to take damage in some area and a connection for something is severed, that functionality is lost accordingly.

TechnoGoth
TechnoGoth

I'm not really sure what you asking but it sounds like you asking for what features are needed for a level editor. Some random ideas from others

  • Events and Triggers
  • Lighting and Particle effects
  • Movable and destructible objects
  • Multiple layers (floor, wall, floor prop, wall prop)

Really take a look at any level editor and see that sorts of things they allow.

Hawkblood
Hawkblood
kseh, I like the ideas about various system interactions with respect to damage. I hadn't thought of that.


TechnoGoth, I don't use level editors, but perhaps I should have a look. I already have multiple levels. These levels are simply a part of the system. I break up the render on a "can see" basis so levels that aren't "visible" from a perticular space won't be rendered.
What do you mean "floor prop", "wall prop"?

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.