As the subject's been raised I've been thinking about a dynamic Ooniverse and special events. Apologies in advance for the long post - if need be I'll resurrect the older threads on the same subject. So, some thoughts:
It's easy enough to pick a planet number at random using the d256_number. You can then roll a dice to decide what event you'd like to apply and then do a set specific planetinfo to replace the system's station with a clone that has an appropriate commodities plist. However, there are problems with this:
- I don't believe it's possible for a script to retrive system info based on the planet number, so while you can generate text that says 'Famine in system 156', you can't automatically make it say 'Famine in Isanla' for example. I've had a read through some of the latest variable-heavy OXPs (Random Hits, UPS) and I see that when it comes to names, we have to use some very convoluted and hard-coded methods in order to allow the script make use of these details. The information is all there somewhere, but we just need a way of accessing and using it.
- Following on, if you want to make the special events realistic then they should apply to relevant government or economy types. If the random planet is a poor industrial system it isn't really appropriate for the special event to be a bumper harvest resulting in cheap food. If you could get the planet number, find out what it's economy was and then apply the scenario, things would feel that bit more realistic.
- A semblance of randomness can be created by coding events for 25-30 systems in each galaxy. It's not ideal but at least the events will be relevant and the news briefings will contain planet names and other information. If the events are sufficiently spaced apart there shouldn't be too much repetition.
There is a more general approach that I think would be doable without any advanced scripting (which is lucky for me as I still haven't got to grips with javascript yet).
- We come up with some general scenarios that cover a range of financial implications and work out which kind of systems (government, economy, population) they would apply to. Then, assign the scenarios a range of numbers on a dice roll. For example, lets say a d100 number < 20 means Famine.
- When the player's in dock, roll the dice. If the resullt is less than 20 an appropriate briefing is diplayed and we do 'set: mission_specialevents FAMINE'. Also we start a timer, either using a jumpcount or a clock-based method.
- Set up a script to run on exiting witchspace. If mission_specialevents is FAMINE and the current system meets the right conditions (poor agricultural, whatever), do a set planetinfo and replace the station with a clone. Set planetinfo only works on the system you're in at the time, but that's OK as you can't see commodity prices from outside a system anyway.
- Once the timer's up the mission_specialevents variable is reset and so the planetinfo parts of the script will be inactive.
Now obviously these aren't going to be very specific events - instead the player would see market reports like: 'A widespread shortage of alloys has caused a rise in manufacturing costs across the galaxy's industrial sector. Machinery prices have been reported as high as 85c per ton in some systems.' It will then be up to the player to make the best use of this information using their own knowledge of the Ooniverse.
I guess the two approaches can be combined, i.e. have some general, market-wide events plus some hard-coded specific events. Personally I think it's more interesting having to find the opportunities yourself than being pointed towards lots of specific targets, but that's just me.
I haven't actually tried any of this out yet - so far it's just a thought experiment. However I've just taken delivery of a spanking new iMac so I'll be giving some of these ideas a go when I get the chance.