Challenge White Paper for the Coolest Scenario Ever!

Discussion in 'Suggestions' started by Lyikos, Jan 13, 2024.

  1. Lyikos

    Lyikos Ensign

    Joined:
    Jan 3, 2024
    Messages:
    2
    Likes Received:
    0
    I have a vision for a mod/scenario for EGS that I’d like to share, I might want to make it myself but my code skills are entry level and I don’t know how much of it I will personally be able to implement but I’m welcoming other to both take a crack at it with me or just plain steal the concept. I mainly just want to play this.

    The core concept is to make a game where each starter planet hosts a community of players who end up playing a group by emergent consequence of gameplay, with those players starting the game in a “caveman scenario” situation while gating space travel behind a long group grind. The end result is intended to be a Universe Building LARP, where each group and planet will feel like it’s own alien race. I want to accomplish this using the following game mechanics.


    Bullet Points on Core Mechanics

    -Each starting system has no POIs or structures, only basic materials.

    -No human playable characters, you player model will depend on your starting planet and is locked.

    -The system is only one playfield but the orbit is really big, with the nearest moon (and cobalt) being 20,000 to 200,000 game kilometers away, thus requiring an SV to travel with autobreak off for hours in order to reach it.

    -No gravity is bad for your health, with new debuffs accumulating on your character the longer you spend in low, eventually resulting in permanent damage.

    -Death is implied to be permanent, the cloning station has inventory for “crew” blocks. Every time you clone a crew block is consumed. The low tech alternative to the Cloner is the Homestead.

    -There will be a way for the player to produce crew blocks, for example you can place to “crew” into a Homestead block that has minimum requirements for space, door, etc in the building where it’s placed. Placing crew into Homestead causes an alien of your species to start walking near the building. Placing a stack of bread into the Homestead will cause you to have 3 crew instead of 2 two weeks later.

    -Ideally I want NPC aliens to start building bases around the player if the player triggers certain economic events, for example leaving an unattended homestead block with a critical mass of crew will cause two of the to disappear. Later the player will find a homestead he or she does not control as a result. That homestead can then gather resources according to need-based AI, and repeat the process without player interaction or control.



    The this scenario revolves around group play and community building, with space travel intended to be a bonding experience.



    -Vanilla warp and jump drive are late game content gated behind rare materials. Instead your first SV will have “Warp Field Drive” activating it takes you to an instanced play field, pentaxid is burned while in the instanced playfield. To reach the warp target you must remain in the warp instance, until you have traveled a scaled down net displacement that is dependent on the distance to the Warp target. There are both SV and CV Warp Field drives, both can reach nearby star systems but the SV drive will take several weeks of Real Life time to reach it.



    -The material to build and CV Warp Field drive will not be available in the starting system, meaning you and your friends will have to build a capital size SV, pack it with about 20,000 pentaxid and embark on a long space journey. During this time the players will deal with various space hazards and opportunities. Once a CV can be built, deep space can be explored at faster rate.



    Next, I want to completely overhaul the tech unlock system, so instead of individual characters leveling up, discovering new parts is a group effort. This means all technology is learned through scematics. Schematics will be extremely rare but can easily be copied and shared.



    Example: The Hamburger

    -The only way to initially get the schematic to have the food processor to make hamburgers is to kills something that drops meat for 1/10000 chance of schematic drop. That being said, the schematic is also rewarded for simply placing the hamburger in your inventory. That means the first player to share the Hamburger with his or her planet essentially unlocks it for everybody. This represents your fictional LARP culture discovering the hamburger.



    Then I want to expand the tech tree across every time era.


    -Your “suit constructor” is your opposeable thumb, it can make the following: Stone Shards, Stone Hammer, Wooden Club, Plant Twine.



    -The first tech tree era is the bronze age through medieval, things you will build are bronze itself, bronze weapons and armor, and building blocks for primitive bases (Planks, clay and stone bricks, farm plots that aren’t hydroponics pots), items that are implied to be “magic” or at least “psychic/telepathic” these will not be purely decorative but will instead tie into other game systems, for example Funerary Rites. Untended corpses will rot on the ground, attracting predators, spreading disease, and eventually spawns a “wraith” entity. Wraiths cannot be killed, but can be despawned by certain items.



    -During this time the player will unlock a new type of vehicle that can be termed “Rolling Vessel” these will be wagons, carts, chariots, and during later eras cars and tanks.



    -During the renaissance the tech tree is mostly about chemistry and improving the sophistication of RVs, think single shot muskets and canons.



    -Afterwards comes the industrial era, SVs can finally be built but only “Chemical Rocket Engine” is available as propulsion method. CRE’s are the size of Advanced Large Thrusters from Vanilla Empyrion but have less thrust that a Vanilla Small Thruster. The fuel tanks you will have access to during this era will be different, and cannot be filled with Promethium (not to be available in the starters system). Liquid Hydrogen and Fossil Fuel will be your early SV options, LH and the tanks that store it will weight significantly less that FF.



    Finally SV will have expanded CPU points. First, an SV using only basic CPU extenders can reach 26000 CPU. The base off 6000 can be expanded by adding 40 basic CPU extenders, which add 500 CPU each. That being said, a player occupied passenger seat will add 10,000 points. The player has to be sitting in the seat to get the benefit anywhere other than the warp field, where players can walk about (most likely float as Gravity Generators will be high technology) with the ship dropping 10k CPU.



    More Details on the Tech System:



    The hamburger is a rather crude example, only simple technology is unlocked by picking up the item. Each time era will have its own block that helps players share technology.



    Bronze Age: The Lectern

    Works like a pilot or passenger seat but in a base. When a player presses “F” the get a menu listing all the items they can craft that are considered simple enough to be learned from the Lectern, when the selection is made, another player can press “F” and this time instead of occupying the seat they instead unlock the schematic.



    Medieval and Renaissance: Printing Press

    Allows anyone to make copies of schematics then have unlocked, for distribution to other players.



    Industrial: Computer

    Allows you to learn any schematic that it “stores” it stores new schematic every time a player that has schematics the computer doesn’t already have sits at it. Inherits the abilities of Lectern and Printing Press



    Space Age: Holographic Display

    Works much like a computer but can be accessed remotely by anyone on the planet you’re on that also has a holo display, individual players have the ability to password protect their HD which prevents other players from learning their tech this way.



    Inside the Warp

    As you could have probably guessed a significant portion of the game will be spent in the warp. To make this worthwhile you need to be able to do things in the Warp instance.



    Anomalies:



    The main task will be anomaly analysis, various rifts, energy fields, black holes, and other hazards can be scanned by special classes of “detector” that are much bulkier than the original and unlocked during the industrial era. Doing this looks a lot like mining, only there isn’t a guaranteed reward, instead there something like 1/100 of getting a space age schematic like for example CV thrusters and most other blocks from Vanilla Empyrion. Basically all of Vanilla tech tree will be unlocked in the Warp.



    Space Junk Impact:



    In all likelyhood this will be a collision damage scenario, that means if you fail to see a small asteroid and don’t take evasive action, expect a hole in your ship. Force fields are the only blocks that can be placed inside the warp and entering it costs a huge amount of energy, that and dropping out too soon just leaves you in deep space with no way home.



    Entities:



    It will not be possible to encounter aliens until reaching a few start systems into deep space, but there are things that live inside the warp field that can cause mischief. Apart from actually battling the player, entities you can encounter this way will take over player characters, shut parts of the ship on and off, and corrupt the ship. Think alien blocks forming like inside a POI only as a consequence of gameplay.
     
    #1
  2. ravien_ff

    ravien_ff Rear Admiral

    Joined:
    Oct 22, 2017
    Messages:
    6,274
    Likes Received:
    11,936
    Unfortunately much of what you ask for is not possible to add via scenarios or API mods. Just trying to set your expectations here.
     
    #2
  3. Lyikos

    Lyikos Ensign

    Joined:
    Jan 3, 2024
    Messages:
    2
    Likes Received:
    0
    What would you say is completely impossible? I've been looking at what's possible through the config and API and a lot could probably be doable with workarounds.
     
    #3
  4. ravien_ff

    ravien_ff Rear Admiral

    Joined:
    Oct 22, 2017
    Messages:
    6,274
    Likes Received:
    11,936
    API mods aren't able to be included with scenarios. Those are added on the server.
    Most of what you are asking for are beyond what is technically possible or feasible to do within a scenario, the game, the modding API, or some combination thereof.

    It would take me too long to list what isn't feasible, as it's most of your list.
     
    #4
  5. ravien_ff

    ravien_ff Rear Admiral

    Joined:
    Oct 22, 2017
    Messages:
    6,274
    Likes Received:
    11,936
    Definitely can be done.

    Probably possible through an API mod, but would most likely be activated via chat command.

    Possible, sure.

    Yes using schematics to unlock tech is definitely possible. I use that in RE for some already.

    This example is possible through PDA and dialogue functions in a scenario.

    This is possible, but your suggestion for player occupied passenger seats is not.

    Cannot be a passenger seat, but possible to do with the dialogue system.

    Definitely could do.

    Potentially possible via C# scripting and using the API mods through dialogue, however it would need to be tested especially on a server.
    Might be possible through an API mod.
    Technically possible but not feasible to use with dialogue without C# scripting. And again, it might not work right at all. So this one is a longshot maybe.

    See previous.

    Potentially possible, you'd make them minable blocks that have a low drop chance.


    Those are the only things from your list that would most likely even be remotely feasible, and even then you're looking at hundreds, if not thousands of hours of work, including needing someone who knows C# and the Empyrion mod API.
     
    #5
    imlarry425 likes this.
  6. imlarry425

    imlarry425 Captain

    Joined:
    Jan 10, 2019
    Messages:
    464
    Likes Received:
    339
    For stuff that needs client-side mods (i.e. responding to in game events) as ravien says, getting strangers to install your unsigned code is a pretty significant barrier to entry. The "not yet ready for prime time" scripting interface (see the \Content\Scenarios\Default Base Attack\Extras\PDA\PDA.cs) potentially provides a way past some of that but got pulled shortly after coming out- I'm not sure why. I know based on what I've seen you need to trust that the mod dev is not doing stuff that compromises your system.

    In a multiplayer game you need to interact with the dedi server via the legacy API. ASTIC has a very solid wrapper for the request/response and event/handler interfaces there (EmpyrionNetAPIAccess) but having events that occur in the client trigger responses from the associated dedicated server adds a level of network complexity. Many events that occur at the client don't show up at the dedi unless you send them there and if they do they pass variants of similar but different data. Network classes and methods for this are provided but it's pretty bare metal- I think it's a wrap on Google's proto-buffers but not sure. The chat channel is another option. I've been working for almost a year pushing myself along on a publish/subscribe bus to do the same sort of thing using MQTT. The last few weeks I've been working on maintaining a normalized subset of the data from a games global.db on clients without needing to query the dedi; making something work in SP & MP & Coop often requires figuring out at least two ways to do most things and there are often edge cases.

    You can do some pretty fun stuff with the two APIs but the documentation is sparse, code over on github doesn't provide complete coverage to use for examples, some classes and methods simply don't work across the three (actually four) modes that mods run under. In some cases things do nothing quietly and in other cases they cause stack dumps (IPlayer.Teleport() when you're a pilot comes to mind) ... that's all a long way of saying you could be looking at spending a fair amount of time just black boxing your way, Zeno's paradox style, towards something that looked like it should easy (programmers are optimists) and if you need to cross boundaries between the client, dedi & playfield servers there's a hill to push a boulder up there as well. 8^)

    OTOH being a programmer means being comfortable with tedious and there are always folks who can do stuff faster/better so not dumping cold water, just suggesting that if you pick one thing and work through it until it's good enough for you you'll get dialed in to some of the challenges that ravien is describing-
     
    #6

Share This Page