ID:757615
 
I was brainstorming and idea for what I thought might be a fun game. Basically, you have an unexplored sector in space. You get a very basic space station home base from which to find and explore procedurally generated planets and random space phenomena (asteroids, derelict crafts, etc.). You start with a simple shuttle, but can bring resources back to the station for rewards from your employer/government sponsor/whatever that can be used to upgrade the station, ship and your personal gear. In turn, as you find interesting stuff and develop the station, merchants, colonists and the like may start showing up. Of course, less friendly types like pirates and alien raiders may also decide to pay a visit. Which is where I ran into a design conundrum.

Whether you want to be a valiant protector or a villainous pirate, you will probably engage in some space combat. My idea was that when in space, you control the spaceship directly (basically setting the client mob to the ship while the base mob sits inside). But I thought a boarding element would be neat, too. The problem is how to do it. Perhaps have a map reflecting the ship interior? But then what do you do if someone damages the ship while you are on inside view? But then what about boarding? Stick the two maps together?

Any thoughts?
This sounds exactly like http://www.0x10c.com/

Except there will be programmable computers on the ships, and viruses will be possible within the game world.
BYOND's had a couple games with this "instanced ship interior & exterior" system, except for the interior taking damage as the exterior does. I've always wanted to have a spaceship and the player in the same map as the planets and the rest of the universe, like how Star Wars Battlefront III was going to be.

I dislike Notch because of his success with simple things I've seen on BYOND or earlier things. I try to design away from Minecraft's style, and now he's creating 0x10c, which doesn't help me much either.
I like the idea and would help you build it but atmosphere systems in byond = large lag because everything is nonstop updating and checking
That's because a lot of developers use terrible coding habits and bad design patterns. It really comes down to the developer and how he programs things.

Now there's a difference between good code and slow internet. Sure, if the server has to tell you about 1000 tiles right now, that's going to take a second. But if you design it so that 1000 of tiles can't be changed in a single tick, well then you're already ahead of the game. Its just a matter of making smart design choices and having well designed code.
In response to Zelda123 (#3)
Zelda123 wrote:
I like the idea and would help you build it but atmosphere systems in byond = large lag because everything is nonstop updating and checking

If done correctly, you can have a pretty advanced atmospheric simulator. BYOND has its limits in comparison to other engines, yes, but don't throw it under the bus just because you don't quite know how to create a system like that yet.
As to atmosphere, I figure if the life support goes out, you have a countdown until loss of breathable oxygen. Otherwise, you can breath. And if the ship's hull is ruptured, immediate (usually catastrophic) atmosphere loss. Hope you have a breather on!

As to Notch's project, see also ASCII Sector. But I am not looking to have you sitting around while the ship flies- you actively pilot the ship. And if it is a long, boring flight, you turn on hyperdrive and just skip it :-) I want to focus more on the action- space combat, planet exploration, etc.

But, my original issue was addressed at ship interior/exterior issues. One idea I had was that damage to the ship will then search the map and modify it based on the damage received. While shields are up, nothing should really get modified. If power goes down, all the ship maps lights should probably go out, a hull breach should make a section of wall go away (exposing you to space!), etc. In that vein, it would probably be neat if players who leave the ship's confines get ejected into space.....
In response to Jmurph (#6)
Jmurph wrote:

As to Notch's project, see also ASCII Sector. But I am not looking to have you sitting around while the ship flies- you actively pilot the ship. And if it is a long, boring flight, you turn on hyperdrive and just skip it :-) I want to focus more on the action- space combat, planet exploration, etc.

Notch has said you'll be able to do both of those haha.

I'm not trying to discourage you. There's plenty of room for plenty of space games in the universe and planet earth ;D
I had a similar idea but couldn't figure out how to make it interesting. Outer space is huge and almost completely empty. There's not much to explore so I was going to focus on what happens inside the ship - there wouldn't even be an external view for flying the ship.
What I figure is that you have to up the ratio of interesting things. Same for planets- real planets are huge with lots of empty space. Game planets would be much more compact and focus on interesting areas. And it's also why I think hyperdrives are a useful idea- it lets you fast travel between coordinates as long as you are not in close to something else (in which case the proximity sensors drop you out) or under attack.
It should be pretty easy to create a dynamic ship map; just create "placeholder" turfs to origionally represent walls and shields, then,when a placeholder is handled for the first time, replace it with a highly detailed version of the turf (to keep data cost low.) Then when a ship takes a hit, just start from the side where it took the hit (and general area if you want to really detailed) trace the projectiles path and use an explosion type search algorith to deal AoE damage to shields and walls destroying and damaging as is appropriate. Then run an algorithm to check if any internal tiles are adjacent to space tiles, and then algorithms to search the effected floorspace and handle the nessecary events. (The possible lag could be disguised by stunning the players character for a couple.seconds "because of the impact")
I was once actually thinking about a similar game concept, where there would be two opposing teams of players and each team operates a capital ship.

There would have been two parallel scales: Space scale where the two ships can be seen and projectiles and such and such fly about, and Ship Scale where players interact with a vessel's sub-systems and with eachother (especially so if there's boarding action)