Showing posts with label the galactic line. Show all posts
Showing posts with label the galactic line. Show all posts

Wednesday, March 15, 2017

Inside-Up: Space Ship Floorplans

The Galactic Line is a game about crews aboard space ships. It has one particularly glaring challenge: the camera.

Looking at the crew of a space ship is typically done via a birds-eye view with the roof stripped away, just like how you see people in The Sims, or FTL. This approach is particularly useful in games where you also build things or manage complex facilities, because this kind of "map" view is a natural fit with arranging pieces and laying floorplans.

Originally, I had planned to have The Galactic Line feature several different cameras, including a first-person or close-third-person for realtime events. However, I think I've changed my mind. Let's talk about the drawbacks of the birds-eye view, my workarounds, and why I'm leaning in that direction again.

Floors
One of the biggest limitations of the birds-eye camera is when things are stacked. You can see this even in The Sims: when you're looking at the ground floor, you can't see people in the basement or upstairs. This keeps you from having a good overview, despite having a literal over view.

The Galactic Line uses modular construction, rather than tiled construction. You click prefab rooms and sections together. This means we can arrange our modules so that they naturally click together in a manner that doesn't have overlapping rooms.

1) Multi-layer modules (stairs, atriums, etc) give us a good control point for how ships can be arranged vertically. If these modules have doors on each floor offset from the floor beneath, then the attached modules will also be offset, allowing us to naturally stagger our layouts.

2) Use of "gray" space such as storage and life support means that a habitation module can have lots of areas we can simply leave unrendered, allowing for rooms above or below to naturally fill that space. Moreover, hallways themselves are low-priority and could be rendered softly, if at all, allowing us to stack halls over rooms without blocking the rooms.

3) Larger modules for larger ships may have a dozen rooms in one package. If we make each of those modules largely vertical, we can arrange the rooms so they don't block each other vertically. Additional ship modules will generally snap on horizontally, meaning our large modules rarely vertically overlap with other large modules.

4) Sparse modules. Using a variety of layout tricks such as arbitrary angles, slopes, and gentle curves, we can make it difficult to tightly pack our modules. These work well if the modules have a number of windows or other external-facing elements to give an excuse as to why you don't want to pack them tightly. This would be, visually, fairly unique: most settings have tightly-packed hab areas.

5) Subsystem filters rather than floor filters. Instead of looking at "deck 6", we can look at "off-duty rooms" or "engineering rooms" or "command rooms". By arranging these rooms using the aforementioned techniques, we can show a spiderweb of rooms on several floors, none overlapping. The focus on functionality means we can also see the operations of the sort we care about, rather than the arbitrary "nth floor" filter.

People
In The Sims, you can't see everyone all the time - they might be on a different floor, or just far enough to the side that they're not on screen. So there's a bunch of portraits on the screen which show their faces and needs, letting you keep track of them no matter what you're looking at.

Our situation is a bit more complex. The Sims is about a few people, and the focus is on tending moods. In The Galactic Line, you could theoretically have a crew of thousands, and the focus is on the specific event that's unfolding rather than on moment-to-moment moods.

The good news is that the event focus means we are also able to focus on only a few of our potentially thousands of crew members: the ones involved in the event.

This means we can have a manageable number of portraits, but it also means we can have a manageable map presence. We can arrange our highlighted crewmembers to be in rooms with no overlap, so we'll always have a clear view of them. We can even build an adaptive interior view which highlights only the rooms they're in, making any potentially overlapping rooms invisible unless you manually walk into them for some reason.

Functionally, this means we don't need portraits. We can use portraits for a variety of things, especially when arranging or building the crew, but for the event scenes we don't need them. You can see everyone involved. You can see what they're involved with because they're standing at a specific place in a specific room. There's no need for floating heads to pump numbers into your eyes.

Faces
The reason I wanted to go with a more personal camera is easy: this is a game about people, so I wanted closeups of people. I planned to do some camera manipulation when you get near/start talking. Get a reasonable closeup of the face.

I need this because A) faces are distinct, and it's one of the important ways crew members are unique. B) The expressions they make are a critical part of empathizing with them and their situation.

However, we don't need to rely on the player camera. There's no reason we can't have a separate dialog system, like thousands of games of all sorts. A popup of some kind that shows their face up close.

There's loads of different approaches. For example, the full-screen dialog tree vs the chatroom-style messages with faces alongside. There are a fair number of distinct options - perhaps a sidebar element that folds out to show the ship's chat room would feel right... although the faces might be too small.

Any way I slice it, there's no big problem with having a separate dialog engine. It's common.

Advantages to the Bird
Birds-eye camera has a few distinct advantages. I've already mentioned that it fits well with the construction engine. It also shows a fair number of people and the state of the ship all at a glance, which is nice.

Another advantage is the low resolution required. Because the camera never gets too close, I can use relatively low-res assets for furniture, for bodies and rooms. I don't need to have high-res assets for books and posters.

The main problem I have with the camera angle is simply that it's not very personal. Moving a pawn around on a giant board game is not very immersive. Walking around inside the ship is a hugely immersive experience that I would love to focus on, especially because the experience of being stuck aboard the ship is the focus of the game.

Well, let me know what you think.

Thursday, February 02, 2017

Galactic Line Missions

The mission system in The Galactic Line is the foundation that supports the personal-level play. Missions give a reason for the ships to exist and travel, gives goals to the crew, and throws complications in that give texture to their daily lives.

Missions are built on the resource system. So let's talk resources.

The most fundamental resources are the tech level economy points. Currently called "T0", "T1", etc, these replace both generic materials and scientific research. You don't unlock a new kind of superconductor, you get a T2 economy point. And these points get spent on building colonies and space ships. Simple enough.

There are also a variety of resources used to balance the construction of ships and colonies. Things like power, administration points, etc. These create a terrain for the players to build a variety of different kinds of ships and bases in a variety of different circumstances. Mods or custom settings can easily alter the playing field here.

But that's local stuff. Why do ships run around the cosmos? Here are some small possibilities:

1) Local rare resources. However, mining or research colonies are a better long-term investment.
2) Temporary situations, such as negative space wedgies or plagues.
3) Freight. Shipping resources around.

But those are not really enough to sustain a proper mission system. They're very basic and either too boring or too unpredictable.

Instead, the most critical trick is that resources can be local.

Local resources are simply resources that are about or from a specific place. For example, if you scan planet X-9, you get cartography points for planet X-9 specifically. Not generic cartography points.

There are many facilities which convert resources. Normally this is generic resources, like a solar array converting administration points into power. But a residential block converts cartography points into colonists, and a trade center converts cartography points into investment. These conversions maintain the localness: feed X-9 cartography in, you get X-9 colonists and X-9 investments. It takes time: conversions take some time, gathering resources takes time.

If you want to build a colony on X-9, you use X-9 colonists and investments.

This means your chain is to spend time at X-9, then to spend time at a colony world (or start those conversions up and come back for them later), then back to X-9 to found a colony. This has a fair number of gaps in it that can be used by other kinds of missions, allowing for multitasking.

For example, a simpler use of local resources is scanning a sun or solar system in general. Solar readings of the star X take some time to gather. You might be able to do it simultaneously as mapping X-9, depending on your setup. Either way, those localized readings can be used in a variety of ways. For example, they can be baked down on-board, converted into generic astrophysics points over a month or two. This doesn't require you to be anywhere specific, and can therefore run in the background wherever else you go.

Astrophysics points and local solar readings can both be used on any colony with a lab to create T2 economy points. It requires either a lot of astrophysics points, or readings from a lot of different stars. Either approach will pay off in the long run, and can be used at any colony you think needs more T2 economy. Of course, it takes time. You could drop those things off at the colony you're gathering colonists and investments from, do all three missions at the same time. Or you could start the colony missions, leave a crewmember at each, and fly off to take more star readings.

You also don't have to use those mapping points to build a colony. You could convert them into T1 economy points in much the same way. So your overall methods and objectives are up to you.

This is called an "open resource chain": a variety of resources that can be knit together in a variety of ways. This allows for mods and alternate builds to integrate in at any level. The key, from the dev perspective, is that local resources create a reason for star ships to keep moving. Also, during the missions complications arise, which gives players an opportunity to have a personal scenario where they interact with a bunch of people.

The actual interface for this is via "missions". This is a dense and complex environment, especially when the player doesn't know precisely what capabilities are available in which places. Missions offer a method to organize that.

A selection of missions are offered whenever you go someplace new, by simply batching up possible resource transactions. You go to X-9, you see some missions for mapping X-9, some missions for scanning the sun or the solar system. You also see missions for refurbishing your engines, studying for promotion, and a bunch of other ship-centric missions.

You can create more missions if you wish to customize things. It involves interacting with people that represent mission options, I'll cover that some other day.

After mapping, you go back to a colony. The residential district can convert local mapping into colonists, so you get at least one mission about that... and you can choose to look for more if you want other options.

These methods allow the player to have pretty good options offered no matter where they go, and they'll quickly learn "gut instinct" mission chains when they see certain resources can be converted in certain ways.

...

Galactic Line's core gameplay is scenes where you get to interact with people in a rather open way. This gameplay about choosing destinations and missions is a setup to help that happen in a convincing way, because mission complications and alternatives offer a method to unify and connect characters, as well as give them something to care about and a background event the player cares about.

This allows us to sidestep the problem of so many continuous-interaction games like The Sims. The player becomes inured to the soft, indifferent day-to-day pressures and begins to aim at the edges of the simulation. That's why so many people try to murder their sims, or get a ghost baby, or whatever. It's also why Rimworld players tend to vivisect their prisoners.

But if every "day" the player actually plays through is centered around a specific mission complication, the player will have a goal, the characters will have goals, and everyone will have a reason to share the stage and connect with each other.

As a demonstration of this, think about The Sims. Think about those specific events where you were throwing a party. You were probably focused on your goals for the party. For some people, this might have been "drowning everyone in the pool", but for most parties it was about raising friendship ratings, providing enough food, achieving sims goals, and maybe hooking someone up. There's a drive to get the party "running smoothly".

Imagine if playing the sims was done with much lower time pressures, but you didn't play each day. Instead, you had a weekly planner and only played the days when something important happens. It's a bit like that.

In theory.

Monday, January 30, 2017

Galactic Line's Battle System

I've been vague about the battle system in The Galactic Line for a few reasons. I knew what I wanted it to include, but not how I wanted the pieces to come together. I don't want the game to devolve into yet another space ship battler. But I have worked it out now, and here's a quick description from the point of view of a commander.

Your ship and an enemy are stuck out in an asteroid field somewhere. You don't know where they are. When you zoom out, you can see a hex grid around your ship: a hex for your ship and six more neighbors. Three are above the horizon, three are below. As you rotate, the hexes do not.

As your sensors scan the skies, they pick up traces of your enemy. A bit of leftover exhaust, a bit of radiation, a glint of light. Dunno where they are at the exact moment, but we know what general part of the sky they're in, and some of those hexes darken. "Not that way". Which of the remaining hexes is the right direction? Who can tell?

Eventually it's down to two, then just one. You accelerate in that direction, trying to close. You don't have a solid lock, just a general knowledge that they're in that part of the sky.

Then lasers come crashing in, immediately blowing apart your armor and tearing through your systems. Yeah, it came from that part of the sky, but what the hell?

The sim ends and your competitor asks why you didn't launch any sensors or drones or anything.

So you start over.

This time you realize that those hexes are destinations as well as directions. You launch sensor drones into a hex, and in a few moments they arrive and begin scanning. You launch some missiles and have them wait quietly in another hex. You fire a spray of water in a direction you think the enemy might be: it turns into a cloud of ice, preventing scans from that direction from picking up your heat signature, breaking up your profile. Later that hex goes dark - the enemy isn't that way. You replace it with a pack of missiles, patiently waiting for a chance to attack.

You realize you can zoom out again. All seven hexes shrink into a central hex, and you're faced with six new, bigger hexes. Three high, three low. You send a sensor drone out into one of them, and notice it'll take quite a bit longer to reach.

You zoom out again. Those seven hexes shrink into one central hex, and a new six appear. Now you're looking at a fair chunk of the asteroid field - there's actually an asteroid in one of those hexes. Deploying sensors to it looks like it'll take half a day, and you think about setting course, but get the warning that turning on your engines will more than triple your profile.

And then you notice there's a glowing red perimeter around those hexes. Mouseover: "Enemy scan warning". The enemy has figured out you're in this volume of space, although it's obviously a pretty weak lock given the scales involved.

Now you're starting to get a handle on this. You've deployed some offensive and defensive systems, you're winnowing down the enemy's direction. This time, you get a lock first. You have to decide whether to open fire or refine your firing solutions: if you open fire, the enemy's gonna detect you pretty much immediately.

Well, you fire those missiles you set aside. The enemy shoots most of them down, but you get a much better firing solution from them and fire your own laser barrage. This time you win.

The next fight begins to unfold the same way, but when you start to get a good lock-on, you realize the two of you are within the same hex space. Your systems overlap, things become a mess, and then there are bombers on top of you.

As you progress, you learn a lot more tactics. ECM drones specifically calculate enemy scan patterns and help you avoid detection. Anti-missile interceptors. "Buzzers" that draw off the enemy sensors and incoming missiles. Sensor drones arrayed in "shotgun" lines along different scales of hexes. Weapon drones. Moving drones to new locations, or retrieving them. Radiation storms or ice clouds to mask your profile and the profile of your drones.

All of this is on top of managing your own profile. The higher your profile, the quicker the enemy will narrow down their search. You have these fancy high-tech deflector shields, but if you use them, your profile spikes so high the enemy will immediately detect you. You find out through experimentation that you're better off actually leaving them off even while you're under fire, if the range is long. A low profile helps more than a barrier.

Then you get to fleet logistics, and begin to struggle with the idea of deploying a ship to a distant hex and then having them have local hexes within that hex... and you begin to work with noncombatants and fixed fortifications, requisitioning or hacking for sensor logs, resources, triangulation help.

And that's how The Galactic Line's battles work.

Even a one-on-one, ship-on-ship battle takes place at great ranges, on a strategic map. There are moments when someone warps in right on top of someone else and a slugfest starts, but no matter how epic that feels, ships are expensive. Hugely expensive. And the people who die? They're people. Your people.

You begin to appreciate the art of getting a hard lock and then pinging the target with targeting lasers, forcing them to surrender without firing a shot. You begin to appreciate the art of convincing a local politician to get the enemy fleet to stand down.

Hopefully.

Anyway, the same system is used outside of combat, especially when scanning planets or assisting colonists.

... the same system is used for building colonies, actually. That's what gave me the idea.

I haven't settled on this 100%, but it plays well on paper. I can't really justify arcade-style action.

Thursday, May 19, 2016

Tech Economies in The Galactic Line

(This is an essay about a specific, in-development game.)

In most space games, you have science and money. You discover gravitic sensors, now everyone in your space nation has access to them, and you can slap them onto ships as fast as your money allows.

In The Galactic Line, it's a bit different. Every colony has a tech economy, basically a bunch of different economies stacked up. Each one represents a specific level of technology.

You never "research computers" or "research gravitic sensors". If you have an economy capable of producing them, you are producing them. If not, you aren't. To simplify this, individual technologies are clumped into "tech tiers" - you don't track 10,000 different specific production lines, you just have a few "economies" that produce that tier.

This gives us a lot of potential play.

Let's say you start a game as 1960s Earth. The planet has a tech level 0 economy of 100. This represents all the mining, smelting, truck-building, pipe-laying, glass-making, food-growing, etc. The earth economy is more complex than that, of course, especially because the planet is divided against itself. But that 100 represents it.

When we decide to build a space station (say, the ISS) or a space ship (say, a moon landing mission), we assemble it out of ship components using the construction system. Each component has a cost attached to it. So we build a small crew cabin (0.5 T0), the solar panels (0.2 T0 each), the cooling system (0.2 T0), the docking elements (0.1 T0), scanners and comm rigs (0.3 T0), medical chamber (0.2 T0) etc, etc. At the end of it, we have a final cost, something like 3.5 T0.

So our T0 economy drops from 100 to 96.5. If we wanted to, we could have built a much larger station and ground our economy to a halt funding it, but that's generally not a great idea. This also reduces the number of gainfully employed people - a bunch of people now have jobs as advertising execs, instead.

What's the point? Building space ships and space stations actually harms your economy! Why would you build them?

Well, the space station has a number of missions it can take. For example, monitoring the astronauts for medical changes due to micrograv, radiation exposure, and so on. This mission arises from and is enabled by our medical chamber. This mission, if successful, teaches Earth to make more advanced medicines. Functionally, it exchanges 5 T0 economy for 1 T1 economy.

If you spend some time and take that mission ten times in a row, you'll end up with 46.5 T0 economy and 10 T1 economy.

The T1 economy represents computers, phones, lasers, industrial robots, plastics, particle accelerators, magnets, and so on. We are now capable of building a much more advanced space station, if we want, or maybe a new ship.

Of course, losing that much T0 is pretty bad. We probably wouldn't want to just have that one mission running over and over. Mix in a few Earth-scanning sensors - their missions help to bolster T0 economies by finding new resources, monitoring dangerous weather or pollutants, providing phone/TV signal relays, and so on. Each of these is also a mission which has specific constraints and difficulties.

So we might provide signal relays. This is a relatively easy, short mission. So we cycle those while we do our medical research, and in the end we have 100 T0 and 5 T1.

I'm simplifying the actual gameplay process, because we're discussing the back end. In terms of the player experience, these missions are similar to the "day jobs" in The Sims. While they affect the world, the real purpose is to give your crew something important to do while they live their lives. So the explanation I just gave is very similar to having a house in the sims and saying "this guy works a day job as a cop to earn cash for the house, this guy is trying to be a musician."

The missions have limits on how strong they can make the local economy. If you're trying to increase the T1 economy, then the difficulty is based on the current T1 economy. Same with the T0 economy and improving it. Higher difficulties not only increase the amount of effort required to complete the mission, but also increases the chance of failure when you do finish the mission. Every time we repeat our medical study, it takes longer and is more likely to fail. Basically, there's an upper limit on how effective these techniques can be.

There are a lot of things that can increase these limits. More people and more medical bays will make the missions go by faster. Adjunct missions can increase your chance of success - for example, a computer core can have a mission to correlate and organize the data, a residential hub can have a mission to account for secondary variables, etc. These also take people and facilities, so you'll need larger and larger space stations. Of course, more expensive facilities have less difficult missions: the T1 medical facility has a lower-difficulty version of the T0 medical bay research.

This is like in The Sims, how your jobs pay more but require more skill as you rank up.

But the scaling isn't linear, and it doesn't makes sense to simply build bigger and bigger stations. Instead, colonization is an impetus.

That crappy T0 medical bay might not be able to get your homeworld above a T1 economy of 10, but it could get fifty asteroid bases up to a T1 economy of 10. Since they all belong to Earth, Earth's local T1 economy might only be 10, but it has a total T1 economy of 510 thanks to 50 asteroid bases. This is like if your Sims houses could share their bank accounts with each other.

"But", you say "that's at least 50 space stations. And if we want more efficiency, we'll have to build hundreds of ever-more-expensive space stations-"

Yeah. Did I mention that The Galactic Line is mostly a space ship game?

Build one expensive space ship, send it to each asteroid in turn, bring their T2 economies up. Or their T1 economies to 50. Whatever you need. And the whole time, the people on the ship have lives and look out the window at the asteroid below and chat with whoever is on the asteroid, talking about how mnamnamumblemna and moomumblemoomum.

Space ships have a lot more capabilities than that, too, because a lot of missions are only available in specific situations. For example, building to T3 economies is really rough. The easiest way to do it is to analyze space wedgies. But space wedgies are temperamental. You might be able to find one or two permanent ones and build colonies nearby, but usually you'll want to send out a well-equipped science ship when a temporary space wedgie pops up. They do the mission, return to a planet for the finale, and that colony gets some T3 economy even though it's nowhere near a space wedgie.

Now, this is the simple version. In practice, there are many things I could do to make things more complex and interesting. But don't you think it's already complex and interesting enough?