More Life in the Galaxy

Hi all.

I only started having a look at Empty Epsilon a few months back, and I really like the plugin system a lot (probably like every one who has worked with Artemis before ;) )

As I enjoyed games like X and Freelancer when I was younger – I started writing a plugin framework to allow scripters to fill the universe with artificial life easily. It is named – drum rollLively Epsilonba-da-tsching. It includes a demo scenario which is pretty lame to play, but intriguing to watch. :D It shows all of the concepts currently implemented. So give it a try.

Right now you can configure stores for SpaceStations, production cycles and merchants on those stations (not yet usable by the player, but the concept is there). You can also assign ships as traders and mining ships to your stations. So there is everything you need to build a simple economic cycle.
There is also a concept for Side Missions (like the ones you might know from X). Right now there is only a transport mission, but this will be extended.
I also added a concept recently for randomly generated ships that fly around not doing much besides having a partially ship description.

Right now I am not sure where this project will be going. Right now I am working together with Tolotos to write a scenario for our local group. So the first priority is to write the things that we need for that scenario. Next up is to fill the universe with more life. I'm thinking of police, raiders, communication between NPCs, etc. I'm also thinking of things for the player ship - like a simple upgrade system.

I would appreciate your feedback. If you got any ideas how the universe could become more life like please let me know. My strengths are in the coding domain and far less in the story telling. Let's help each other out here for the benefit of all.



PS: Please note that I have a background in programming – so don't be confused by the code. The code you are looking for (if you are interested) will most likely be found in src/lively_epsilon/domain/trait. ;)

Comments

  • This would be excellent for the LARP Im building! Lemme play around with what youve got and give you some feedback over the next week :)
  • Can you show me how to add custom goods to SupplyDrops ?
  • Make an Issue at his GitHub ;)
  • thats a great project xopn !
    we will test the scenario next weekend
  • Hey LHolst.

    Sorry - I did not see your comment earlier. Great you like it and want to give it a test run.

    The mission in the repo is unfortunately not for playing, just for demoing features. But I am working on a scenario using the framework. It's not feature complete yet, changes almost daily and currently only has a german localisation, but it is playable and hopefully enjoyable already: You can take on different types of missions (fighting and non-violent), earn rep and buy upgrades for your ship. So this is probably more the sandbox you are looking for. Just throw in some enemies as GM and you got a real mission. :)

    If you want I can release a preview for you to test. I would really appreciate your and your crews feedback!

    From your Github account I guess the german text would not be a problem for you!?
  • Hey xopn,
    Unfortunately, yesterday all players were beginners. Therefore we first had to focus on our crew coordination. Starting from Basic to Wave we ended with the 'Birth of Atlantis' Scenario. We had a great time. Now, after flying through space , I know that it is important that everyone is kept busy.

    And i really like to test a scenario with lively-epsilon. Maybe next flight we have the opportunity to test a scenario build with it. German text is no problem, indeed :D .

    As in the role of the relay officer i liked to manage the support CpuShips. Somehow i missed the feature to setup new stations, maybe with an mission to gather resources and securing a sector, or setting up trader routes / escorting them to advance the human navy territory. Maybe it's to much RTS like thinking, but writing an exciting and challenging plot is not that easy.

    Im reading EE's and lively's code in the hope to help out at somepoint.


    BTW github.com/LHolst/ee-hardware worked great to enhance the atmosphere , very WIP project that builds an hardware.ini to control 300 neopixel leds.
  • edited February 2018
    To anyone interested I dumped the current WIP state into a branch: https://github.com/czenker/lively-epsilon/tree/mission

    A few pointers on the current state
    • It is mostly German at the moment. :( Sorry for that. This will change, but not yet. If you got questions or don't speak German and want to give it a try – please ping me.
    • Relay will be very busy most of the time. That position needs to contact stations constantly to get new missions and find the best trading deals.
    • If Relay does not take on missions – the crew will be bored ;)
    • The code is in an Alpha State, so I can't guarantee its stability. It should be fit to play though.
    • There are 7 types of missions at the moment, 4 peaceful and 3 that involve fighting
    • The crew can buy and sell stuff to earn Rep
    • The crew can upgrade their ship with Rep
    • There is no main story yet
    • I'm not sure if the mission rewards and upgrade prices are fair yet
    • The Scenario is randomized, so it will be a little different each time you play it. Don't expect big changes though.
    How to play it at the moment

    Download the zip from github, extract into your scripts folder (utils.lua has to be in the same path or it will fail to start) and start the Scenario called "Krepios".

    You can use it as a sandbox for your crew: They select the missions and their difficulty themselves, earn Rep and upgrade their ship.

    Or you integrate a simple plot via GM Screen, like an Invading Fleet or Destroy Station once you think your crew is prepared to take the enemy on.

    Where will it go

    There will be a main story – that's the next big part to work on. I already have a plan (there is even a story why the system looks the way it does), but I don't want to spoil it for you just yet. :)

    Once the scenario is finished I will invest time into documenting the framework so it will hopefully help you writing scenarios too.

    Final words

    I'm really proud that you guys are interested in the project. If you got any questions or feedback whatsoever, please contact me. :)
  • I just had a quick look so far, but what I saw was pretty cool.

    What I noticed is that 3-Player setup has some more issues then the full setup, but I understand that this is probably not a priority yet. That said, I hope 3/4Player will fully work at some point (the only games I had so far were with that setup). And as a weapons officers might have more downtime than usual due to more peaceful missions, I think tactical (and therefore engineering +) might also be more feasible.

    Some quick notes:
    - I found some small typos in the german part of the text. Shall I post it here or through a githup ticket/PR? Or do you think it's not worth it as you said you will change it completly to english (or are you planning to maintain two versions?)
    - On engineering, the button "Upgrade" works as expected without upgrades and shows an empty list, but after an upgrade is installed, it does nothing except flickering (tested with the jump engine)
    - On engineering+, both buttons "Storage" and "Upgrades" don't work from the beginning.

    But the overall system is pretty impressive so far and brings in a lot of variety.
    Keep up the great work!
  • Thanks for giving it a test drive, Blue. Good to see that it does run on other machines too. ;)
    And as a weapons officers might have more downtime than usual due to more peaceful missions
    That's true. It's hard to come up with cool things for Wepons to do. But maybe I could put inventory management on that screen, so at least someone needs to talk to weapons for trading missions ;)
    I found some small typos in the german part of the text.
    I would highly appreciate a Pull Request, but a bug report would also be fine.
    as you said you will change it completly to english (or are you planning to maintain two versions?)
    I plan on having two translations that you can select from eventually.
    On engineering, the button "Upgrade" works as expected without upgrades and shows an empty list, but after an upgrade is installed, it does nothing except flickering
    The pop up is not intended to be left open. It only displays the current state when it was opened. Or am I missunderstanding here?
    On engineering+, both buttons "Storage" and "Upgrades" don't work from the beginning
    I have not yet payed attention to the 3/4 player setup. But showing those buttons on multiple screens is a no-brainer. I put that on the todo list.
  • edited February 2018
    That's true. It's hard to come up with cool things for Wepons to do. But maybe I could put inventory management on that screen, so at least someone needs to talk to weapons for trading missions
    Or maybe something like security team management (so the weapons officer would double as security chief, like often seen in Star Trek), or environmental control for sensitive cargo. But that would be probably pretty complex to script and more like something to add in the game core.

    Another way would be simply using a mixed 3/4 and 5/6 setup. Tactical, Engineering+, Science and Relay, + additional crew or single ship if you have spare players. (So the weapons officer could escort the main vessel in a fighter)
    Compared to a full 5/6 setup, you will only loose functions that are weapons related, so for less combat-heavy missions that would be fine.
    The pop up is not intended to be left open. It only displays the current state when it was opened. Or am I missunderstanding here?
    What I did:
    - right after the start of the scenario, I click on "Upgrade". A message appears: "Upgrade
    You currently have no upgrades installed"
    - Then I close that message
    - then I dock to the next station and buy the jump drive
    - when I now click on "Upgrade", no message is shown.
  • Cool stuff. I will be looking into playing with this at our next EE session in Pittsburgh. We'll let you know what we think!
  • One and a half year later it is time for an update. I just released the mission I mentioned above. :relieved:

    If you are scripting missions yourself, you might still consider having a look Lively Epsilon – the framework behind the mission.

    Lots of the concepts from the mission went into the framework, like:
    • inventory management
    • missions, mission brokers and a mission tracker
    • products, trading and production
    • ship upgrades
    • an easy interface to create complex menus and communications
    • a concept for fleets
    • the possibility to chain and loop orders (fly along three waypoints, then defend that location, after 5 minutes return to the station and restock, and repeat)
    • and much more
    Also, if you are a coder, there are some library functions to ease your life:
    • Cron helps to execute code at certain intervals or after a delay
    • an event handler to decouple your code
    • a translator to make handling translations easier
    • an object-oriented approach to build complex and dynamic menus and communications
    All of the features are opt-in. It is totally possible to write your code the same way like before and use Lively Epsilon for just a part.

    I would say it is now fit to be used by the public. :smiley: The download location stays the same. I have also added lots of documentation – I hope it is helpful to you.

    Let me know if I can help you. :)
  • Very cool! Haven't tried the latest iteration of your framework or mission, but the documentation alone is absolutely impressive!
    This seems to be a mighty tool for building and refining missions, without re-inventing the wheel all over again.
  • edited July 2019
    I just see one problem to become a wide-spread basis for scenarios, although it has a really great potential to do so IMHO . Right now, scenario writers are encouraged to do a PR and just include it into the base game that way. So I guess to become a frequently used basis, that would either mean to integrate it into EE (wich may or may not be a good idea, concerning its complexity) or someone would need to set up a repository for 3rd-party missions.
  • Thanks for your thoughts, Blue.

    My intention was never to fully integrate this into EE.

    Some of the concepts are just simplifications for things that have already been proposed, like Inventory Management or Fleets. I would rather do those "right" and maybe use LE to validate if these concepts are actually intriguing to players. For instance the concept of upgrades sounds nice (+200 energy), but today, I personally would go for an outfit concept (remove the 500 battery and install a 700 battery instead). Its possible to have both concepts in LE side by side without forcing any on a mission creator.

    I consider other concepts not general enough. Not sure if every mission would benefit from a mission tracker, chatter or merchants or miners. So I would rather not integrate them.

    But then there are other parts that I think would really benefit mission scripting in EE. First and foremost Cron. I think those where the first 100 lines of code and it became invaluable to me. It really simplifies things a lot. EventHandler or Translator might be other good candidates for migration. But I would not overdo it and definitely keep the "old way" of mission scripting. From what I know, lots of mission scripters are having their first contact with programming through EE and forcing functional programming on them might be too demanding. :confused:



    So what is the way to go? I don't think all scenarios have to fit in the base game. EE already has a mod parameter that is (almost) working. Installation of a mod is as simple as downloading a scenario (which includes the right version of LE), extract it in the mod folder and start EE with the mod selected. So the base game and multiple complex scenarios could easily live side by side.
  • Thanks for writing that up, it's interesting to see. I have similar things as cron and eventhandler built into Space Nerds In Space, although the implementation is a little different. The guts of mine are built into the SNIS binary, and written in C.

    For events, there is a lua callable function register_callback() to register for events, which have predefined strings for names, and predefined sets of arguments. There is currently no way to fire an event from lua, or define new events from lua, though perhaps there should be, as it would be easy enough to implement I think.

    For "cron", I have a lua-callable function register_timer_callback(), which is a one-shot, but if you want a function to be called periodically, you can just have it register itself again before returning.

    And since it is such a common case, I also have a dedicated lua-callable function, register_proximity_callback(), which allows calling a lua function whenever two specified objects come within a specified distance of each other. It's a one-shot, so it only fires once when the objects first come within the threshold distance of each other.
  • Do I just download this and drop it in the scripts folder? Is it a separate EE install that each player needs?
  • As it's just scenario scripts, it only needs to live on the server.

    https://czenker.github.io/lively-epsilon/guide.html
    Is quite good as documentation goes. Except that it lacks the download link https://github.com/czenker/lively-epsilon/archive/master.zip
  • Hi,

    Does Lively Epsilon work with EE version 20220107?

    And forgive my newbie question: how to I install it? I´ve downloaded a zip file but I don't know where to extracted it. And once extracted into the right folder, the game automatically finds it? What else I need to do?

  • Hey Richard_Dantas.

    I hope my late answer is still helpful. I gave the scenario a quick test drive with the current version of EE (20220316) and it seems to run fine. I have not checked every mission, so there might be things that don't work anymore, but I did not see any big changes in the Lua API, so this should be fine.

    About the installation: The repo contains a Readme (https://github.com/czenker/lively-epsilon-missions/blob/1.2/Readme.md) that explains where to install. I hope this works for you.

  • Hi @xopn, I wanted to know if your scenario Lasers of Leixtra was compatible with the latest version of EE? knowing that there has been a lot of evolution in 2 years. It is very original with several autonomous vessels and makes you want to. If you come back in the area, thank you for your answer.Thanks

Sign In or Register to comment.