EmptyEpsilon Mission Generator

edited December 2015 in EmptyEpsilon
I'm working on a random mission generator for EmptyEpsilon. Right now my main task is to isolate snippets of code from my previous missions, to provide "building bricks" for the mission generator. Here is how I envision the differents bricks :

- A main mission (sector under attack, convoy escort, ...) that is pretty much the "story"

- Events/Side missions (transport ship tailed by pirates, resolve dispute, ...). They are randomly generated and provide random perks (reputation, energy, system upgrade, ...).

- Common functions (terrain generation, randomization)

Where I'm not sure where I'm heading is on my approach to implement it correctly : even if the LUA script capacities are very good for mission randomization, I would prefer rather have an external program to do the heavy lifting (assembling code snippets) in order not to have a monster single LUA scenario.

I started to do both a script generator and its very simple GUI, and I plan it to be available for Linux and Windows later. I don't know when I will release a first version, my objective is to be able to generate a single type of "main mission" with a few events.

What are your thoughts on this ?
- Are you interested by such a tool ?
- What would be better in you opinion : a program generating scripts or a all-in-one script ? (I'm more biaised towards the former)


  • What language are you using for this program? I'd suggest Python as it's being used for other things like XML to LUA conversions as well as Script Documentation generation.

    It is possible that you might be able to do something like this using the Game Master screen with the new button functionality. You will just need to make the main generation script in LUA. Once the map is generated how you like, press F5 to copy it to the clipboard and paste it into a empty text editor.
  • I've started in C, using GTK+ for the "GUI" (more really a few boxes ^^). It's far from optimal for LUA, but since it's the only true programming language I have significant experience with, it will be much easier for me to code :)

    For me, using the GM screen (for now) would be limited in terms of random event generation and gestion.

    Right now I'm working on reward generation for random events : rewards are divided in 3 tiers (for now), here are some images :
    (please disregard any grammatical inconsistencies since I'm not a native speaker ^^')

    The event associated with this is just flying to an idle transport for now.
  • With the additions of the GM->Script feature:

    You could pretty much code this all up ingame in the lua scripts ;-)

    Still, it's great to see someone putting effort in more missions. Lack of more missions and the limited dialog options are the two biggest missing things in the game I think. But I'm not that good in adding those.
  • While I agree with you, I think the bulk of the work will be the LUA script/event database, not the tool itself (it's only there to patch together scripts in a Frankenstein-like fashion, to caricature ^^), so how we will do it is almost a secondary question (others can either adapt/reuse these scripts for their missions or easily add scripts to the database either way).

    Another point to my tool is that it will be for self-contained (GM-less) missions.

    The scripting system is very solid and I think the possibilities for now are good.
  • If you are missing any functions in the scripting engine, let me know. I discovered a few things that where missing when I build my first mission.
  • Thank you :)
    I've only 2 remarks :
    • I cannot seem to get the standard Lua "require" to work (it gives me : attempting to call a nil value on scenario launch). Is it normal ?
    • Is there any way to point the main_menu comm script to a function inside the same file instead of another script ?
  • Yes, require is disabled due to how I implemented the scripting engine.
    Currently it's not possible to define complex comm scripts inside the scenario. It's on my list to add functionality for this, but it's complex due to how the scripting engine is bound to the game.
  • edited December 2015
    Ok, for now I'm mostly seeing where I can go and populating the random reward generator.

    Having a very limited coding experience (mostly in C), I'm afraid I cannot help with the game's code :(

    I also started to write down a few ideas for side missions (and a main mission) involving the Ghost faction.
  • Fouindor
    I'm working on a random mission generator for EmptyEpsilon. Right now my main task is to isolate snippets of code from my previous missions, to provide "building bricks" for the mission generator.
    excellent initiative! did this ever saw the light? I am very interested in this tool!
  • Hello,
    I've ported the mission generation to a custom mission. It has been a great while since I've worked on it.

    It was pretty basic and buggy... it selected a few events from a list and once all are done, it spawns a big attack.

    I've since moved 850 km away (far, far away from my regular EE crew), so most of my stuff is a bit scattered. I think it may be in my old laptop... I'll see over the weekend if I can find it again.
  • @Fouindor was this ever finished?
Sign In or Register to comment.