Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cargo, docks and drones #593

Closed
wants to merge 14 commits into from
Closed

Conversation

amir-arad
Copy link
Contributor

@amir-arad amir-arad commented Nov 16, 2018

this is a first draft for some new concepts we've been working on.

Docks and cargo (Inventory system)

docks are containers inside a ship that can hold cargo.
cargo can be many things: auxiliary reactor, trade goods, ammunition, special buffs or bonuses, go-fetch mission objectives etc. It can fit the latest pick-up feature nicely.

Drones

Drones are small spaceships that can be remotely controlled by an operator sitting in the mothership's bridge. they are fragile and have no reactor of their own, but they can dock inside the mothership (become cargo inside the ship's docks), there they can undergo maintenance (recharge, cool down etc.) and ultimately be launched to space again.

Player Stations (see under Extra)

two new player stations: the dockmaster and the drones operator.
drone operator can connect to any drone in range and drive it remotely.
dockmaster manages the inventory of the ship - move cargo between docks, launch drones, and recharge them (or - use them as batteries for the mothership's energy consumption!)

There's really much more work to be done to make this a final proposal. I know there are many details I haven't yet gotten into, but i wanted to get it out so that i can get some opinions and hopefully good pointers.

Currently the only cargo type is drones, and the only ship I've added docks and drones to is the "Atlantis" corvette.

allow ship to release drones (from relay currently)
allow drones to dock inside ships and re-set their state
@amir-arad amir-arad changed the title cargo, docks and drones cargo, docks and drones (playable first draft) Nov 16, 2018
@amir-arad
Copy link
Contributor Author

amir-arad commented Nov 17, 2018

Right now there are two kinds of docks: launching and energy.
Launching docks can launch the cargo they hold, and energy docks can connect their cargo to the energy grid of the ship.
I have thoughts about limitting the incoming to certain docks, adding a tractor beam for the docmaster to collect items (drones with no energy) and letting the dockmaster configue some automatic pipeline in the docks (when something lands in X it goes directly to Y to recharge, then to Z to be ready to launch)

@Xansta
Copy link
Contributor

Xansta commented Nov 18, 2018

This looks like an excellent addition!

Co-Authored-By: amir-arad <amira@wix.com>
@amir-arad
Copy link
Contributor Author

amir-arad commented Nov 24, 2018

I have this feature in my own fork, which also have other changes designed more for our LARP games than for LAN parties. So I can get if this doesn't balance well in the computer game product. However, if this approach is accepted by @daid , I'll be happy to put the extra effort maturing this idea in a designated branch so it can be some day merged to canon empty epsilon.
This is the current list of thoughts i have about maturing and leveraging the feature:

  • GM tweak APi for drones, docks and cargo.
  • LUA API for drones, dock and cargo.
  • Draw visual link between drone and carrier on radar screen
  • Science scan info
    • “Controlled by” for drones
    • cargo content for ships
  • Drones should not have their own visual range by default
  • Drones system
    • Multiple operators connected simultaneously
    • Second operator type? Power mgmt?
    • energy consumption and heat production by number of controlled drones
    • AI use drones as well
  • Dockmaster control over docking
    • manual Approve docking requests?
    • Control of open/closed for drone-initiated docking
  • More docks for dockmaster:
    • add filters / tabs (by dock type or cargo type) for left menu
    • Move to/from limited number of shafts/tubes instead of directly dock2dock
  • Space-cargo entities (Artifacts with pick-up to cargo and launch back to artifacts)
    • Aux. Reactor cargo
    • Ammo cargo(box of torpedos of all kinds), ammo dock (dock that can move ammo to/from cargo)
    • Loot drop on ship destroyed (cargo from docks have chance of being launched with heat 1)
  • use probes as "hotspots" for drones connection

amir-arad and others added 4 commits December 21, 2018 22:30
dont reset drone systems damage when docking
add tractor beam to dock master. beam can pull, push away and hold things. useful for docking drones that run out of energy, deflecting torpedoes, and collecting asteroids.
@amir-arad amir-arad changed the title cargo, docks and drones (playable first draft) cargo, docks and drones Jan 6, 2019
@amir-arad
Copy link
Contributor Author

@czenker I'd love to hear your opinion

@czenker
Copy link
Contributor

czenker commented Jan 12, 2019

@czenker I'd love to hear your opinion

Hey @amir-arad. Thanks for the invite.

I had a look these days... and what can I say: I love the idea!! This could really allow to have some new level of depth for the whole game. Also I like the idea of not having just a big space for storage, but actually having to do some inventory management – moving stuff around from the main storage to the loading bay or shifting drones from the hangar. And the tractor beam... 😍 I played around with it and it works great. Let's push some enemies into mines. :D

Drones

The idea for the drones is great! I have not thought of this one yet, but I can imagine a few uses for them that you have already implemented. Maybe they could even replace the ScanProbes for bigger ships. And if you can maneuver them manually I will script some reconnaissance missions. :) Also having them in battle is great. I like that they are using power and can't stay in the wild for ever. But I have the impression the batteries drain to fast right now. Especially when they are stationary.

For the scripting aspect: I would prefer to not have to much behavior logic implemented for them in the core. There are many ways you could use drones in scripting. I would like to have them commanded from the Relay Officer, but this should not be something the core engine offers. I assume the drones are ShipTemplateBased objects, maybe even CpuShips? Having support for the order* functions would be great if you are playing without drone operator and want to command them with the Relay Officer (with custom scripts).

Cargo Management

As already said I like the idea of having cargo in the core engine. I think an officer there would have lots to do.

What I found a bit confusing is the slot based approach. I think having the slots for the loading bay itself is a good idea, because it discourages storing everything there. And it makes sense to think of it as "a crate with 10 red herrings ready to be thrown into space".

But there should be a general storage area where you can store unlimited amounts of cargo as long as they don't exceed a certain metric (like volume or weight[1]). And I think similar items there should stack. If I already have 10 red herrings in my storage and add another five I should have 15. And I should be able to load 7 of them in the loading bay.

As for the repair, recharge and cooldown areas. I am not convinced that it makes sense to have three distinct areas for those. First of all it would make the cargo management to much focused on Drone Management, but I think it should be Cargo Management more generally. Secondly I found the interface a bit confusing. Why not have a hangar (aka the Drone Officer Screen) with 4 spots and 1 repair unit, 1 recharger and 1 cooler that you can "plug-into" the drones. So you could repair, recharge and cool at the same time. I would probably need to sketch something to make understandable what I think, do I?
In order to launch the drones the Cargo Officer needs to send them to the Loading Bay.

[1] Weight might probably be the better measure that volume. Let's just say we have some Space-Compression-Technology (SCT) installed on our ship that allows us to have practically unlimited space. ;) This way we are always able to collect and store mission critical items. But there is only a certain weight the ship can carry without problems. If we exceed the maximum weight our ship gets more clumsy and slower and the drives overheat faster and take damage. And if we exceed the limit by 20% it will stop completely.

Closing words

I hope this feedback helps. ;)

I would really love to have a concept for managing cargo in general that is fit for scripting. And it should be generic enough to allow trading, gathering ore you obtained from mining and mission items. Installing upgrades would be a second step from my point of view.

Thanks for the work you already invested in it! I'm really impressed with the complexity there. And please keep on pushing this topic. This is something that can enrich the gameplay of EE.

@amir-arad
Copy link
Contributor Author

amir-arad commented Jan 13, 2019

@czenker thanks for the kind feedback

you've raised good points. the idea of a big storage bay for virtually unlimited storage is probably something that's going to happen sooner or later. Other suggestions are very interesting and I'll definitely look into them. the numbers (amount of energy, energy consumptions etc.) are indeed very rough yet.

I want to address some points - just sharing my thoughts.

The drones are (currently) simply PlayerSpaceShips that are not selectable in the main player stations menu. The goal is to increase the number of different "seats" in a single bridge. however, giving the drones some short-term autonomy ("go there", "attack that" commands like the GM has) can significantly increase drone operator's ability to manage multiple drones simultaneously. Incidentally, I want to add ability for a GM to manually operate a CPU ship for a time (just like the drone operator does with drones), so I might look at ways to combine the two once i wrap my head around it.

Instead of replacing probes with drones, I was thinking about turning probes into "hotspots" for the drones connection. so that the ship can leave a probe and two drones to defend a spot, or lay a path of probes to allow drones to approach a target (perhaps a supply-train to recharge and restock the ship from a distant space station)

I hear what you say about the drone management taking over the dockmaster focus, but For me the new game vibe here is the war front logistics, during combat the dock master is mainly in charge of drones delivery and re-entry, and re-charging the ship's energy reserve (and in the future, torpedoes ammo). I'd love to hear ideas of how to split the responsibilities during battle with another officer.

I'm planning on significantly simplifying the dockmaster screen, though. however, drones can't really be stacked as counters, as they are individually identifiable, with their own unique properties (model, callsign, health, heat, energy etc.). In addition, I'm planning on having more cargo types that are not drones, which will have heat, health, and energy properties. so that other incoming cargo (i.e loot dropped from destroyed ships) will require repairing, or cooling down in the thermic dock , and possibly might be charged or discharged in the energy dock. the next interesting cargo types I think about are an auxiliary reactor, power cells, ammo box, and different power-ups (super speed, shield recharge etc.) and of course, the goods you have in lively epsilon.

What I can't figure out is a good API for cargo item scripting. I want to allow defining templates for things that can be either cargo or space object, and functions to translate one to the other.

@daid
Copy link
Owner

daid commented Oct 18, 2021

Cleaning up old pull requests. Feel free to reply/reopen if you think this is still relevant.

@daid daid closed this Oct 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants