Joined: Tue Apr 04, 2006 7:02 pm Posts: 2718
Location: I escaped The Labyrinth with the assistance of my fledgling. After many battles, I'm in the Nexus.

Updated to 1.3.6 (beta on 5/8/09).

Version 1.3.6 (beta) contains a bug-fix for Mac Users.

The previous version of Random Hits contained a character in its descriptions.plist file, which is valid on Vista, but not on the Mac. This update fixes this (thanks to Eric Walsh for finding the needle in the haystack!). If you found that all the Bulletin Boards and other OXP messages came out as gobbledy-gook when you tried to play 1.3.5 then you should update to this version. No other new features are added by 1.3.6, so if 1.3.5 worked fine for you, then there is no need to update.

Version 1.3.6 is now on the Wikki Page for Random Hits. (Follow the link on my signature).

Updated to Beta Version 1.3.5 on 6th June 2008. This OXP requires Version 1.72.2 of Oolite. It should also work on the trunk build (although this is untested). It will NOT work properly on any version of Oolite lower than 1.72.2. If you are updating from an older version of Random Hits you MUST delete the old version from AddOns and install the new version. You won’t lose your progress and any mission you have running will remain unchanged, but you need to make sure you don’t have two different versions of the OXP installed!

Included in the download are two documents a ReadMe and a document called ‘Spoilers’. The Spoilers document details all the new features and explains exactly what the OXP does. As all missions are randomly generated you can read it without really knowing what’ll happen when you fire Oolite up, but it gives you the percentage chances and triggers for the different ‘events’ in the OXP.

Main Updates:-

1) All debug messages are removed. When you pay your bar bill you will however see some mission variables on this screen to make it easier to playtest.
2) Thargoids are now no longer always attacking the bars. (There is now a random chance of a battle, but not every time).
3) Relatives now no longer take revenge every time (It’s now a random chance).
4) Handing captives over to GalCop is now made more worthwhile, sometimes you’ll earn more than the contract price, sometimes less.
5) The ‘Bounty Hunter’s InfoNet’ is added. If you hold both an Elite rating of at least competent and a bounty hunter’s guild rating of at least a deputy, the you will be signed up for this service the first time you dock at any bar. Once signed up there is a chance of an in-system special mission being offered to you whenever you dock at a bar. In the final version there will be about 6 different types of special missions, but for this version only one is implemented. If you have joined the Bounty Hunters InfoNet there is an 11% chance of being asked to join a battle of Hunters v Super Criminals. Up to you of course whether you want to.
6) The Mining Hopers no longer have police scan class. (Shooting them is still a crime though!).
7) Mining Machines can now be destroyed and raided. (This is also a crime of course!).
8 ) The Mining Pods are now handled differently. You will not be charged any money for scooping one, but stealing GalMine property in this mannor is theft! Stealing them can be worthwhile though.
9) Most of the AIs are now greatly improved.
10) The Random Generortor is also improved.
11) The Reaper and the Liberator are added to the Level 3 Ships.
12) Criminal Hatered score is added. This score represents how you are regarded by the criminal community. In the final version this will have consequences for you. In this version, although the code to keep track of your ‘criminal hatred factor’ is done, nothing actually yet happens in consequence of it.
13) Several of the updated ship models by SimonB are added.

Although a Beta, this version should be fully playable. It’s a Beta because I haven’t finished adding all the features I’d like to. EDIT : The Wiki Page is now updated, so you can get it there or grab it here :-

Link to the latest update is here : http://www.box.net/shared/k7tcre7dt4. You can also download this from the Random Hits Wikki Page (link is on my signature). The documentation for the latest version is set out on the Wikki Page. This version requires V1.72.1 (or higher) of Oolite. If you are updating from an old version of Random Hits, you need to delete the old version of the OXP from AddOns and move the new version into AddOns. You won't lose your progress by doing so, but make sure you don't have two different versions of Random Hits installed!

Main Updates from 1.3 Beta:-

- AutoMiners and Mininer Hoppers now operate near bars.
- Big changes to AIs, Hunters and bars now recognise accidental friendly fire and won't get into fights with each other or the police.
- Lot of Bug fixes!
- Some improvements to the Random Generator.
- Distance to the Victim's system is now calaculated for Galaxies 1 -4 (still working on G5 - .
- Minesweepers updated to counter Thargoid Cascade Thargons.
- Fixed problems with Hunters making multiple Hyperspace jumps and the bars launching excessive numbers of them.
- Hunters should now stay near bars, so Anarchys should be no safer than normal except in the 25km safe zone that the Bars maintain.
- If families of your victims take revenge upon you, they may now ambush you anywhere rather than just at the Witch Point.
- Clean players will now recieve a warning from a helpfull fellow hunter if they are being tracked.

UPDATE 04/11/08 V1.3 Beta.

This update adds new features and is required if you are playing on 1.72 of Oolite. Please Note that this version requires V1.72 of Oolite. If you are using 1.72 of Oolite you must update to V1.3 (beta) of Random Hits as the old versions of Random Hits will not work properly on 1.72 of Oolite.

Thanks in particular to Eric Walch and Another Commander, for a lot of help with debugging Version 1.0, improvements to the AIs and help with Java Scripting.

V1.2 requires Version 1.71.2 of Oolite. V1.3 requires Version 1.72 of Oolite. If you install it on a lower version of Oolite then it won’t do anything at all. You do not however need a powerful system to play. If your system cannot support shaders, then these additional features are automatically turned off. If your system does support shaders you will see an animated neon sign adorning the space bars you encounter. If not, then the sign is left blank. This pack adds Missions, Ships, Stations and Features.

UPDATE TO VERSION 1.3 (beta).

- Code changes so that the OXP works on 1.72 of Oolite.
- Improved Script (the OXP now runs a lot faster).
- Names of Victims, Hunters and Henchmen now shown on the ID Computer.
- Bug fixs for the code to detect who killed a victim and how. Should now be a lot more reliable.
- Docking at a bar now costs you a couple of credits for you bar bill.
- Distance to the Victim's system now shown on the BB. (Note this is only yet implemented for Galaxies 1 and 2. The full version will do this for all Galaxies).
- Improved the AIs and behaviour of Escorts for Marks. The now fight more as a group. The ships escorting a mark are now also randomised.

UPDATE TO VERSION 1.2.

Version 1.2 of Random Hits is now on the Wiki (follow the link on my signature to download).

Please Note version 1.2 of Random Hits now requires version 1.71 (or higher) of Oolite. It will not run properly on a lower version (including 1.70). This new version takes account of several command name charges between Version 1.70 and Version 1.71 of Oolite. It will now run properly on Version V1.71 and higher. Changes :-

- All instances of “system.legacy_spawn” changed to “this.ship.spawn”.
- All instances of “this.beingAttacked” changed to “this.shipBeingAttacked”.
- All instances of “scriptActionOnTarget” changed to “safeScriptActionOnTarget”.
- Descriptions commented out from Java Scripts.
- Space Bars now have Station Scan Class (i.e. they show as green on the scanner).
- Couple of tweaks to the AIs.
- A few more typos, grammar errors and spelling mistakes fixed.

I've tested it on both 1.71 and 1.71.1 and seems to be working as intended. You MUST use this version if playing on 1.71 onwards as the old (1.1 Version) of Random Hits will not work on Version 1.71 of Oolite. Please note that the new V1.2 Version of Random Hits REQUIRES Version 1.71 of Oolite or higher.

If you do hit a problem with the game not recognising a kill or a pod not appearing, could you post the TYPE of ship (Python, Cobra III etc) where this happened?

List of Updates from Version 1.0:-

- Bug with Characters in Asp Explorers not appearing fixed.
- Bug with clones of dead Characters sometimes appearing fixed.
- Java Script added to check who killed or scooped Characters.
- Problem with low frame rate whist fighting a Character fixed.
- A lot of recursion bugs in the AIs fixed.
- Requires.plist added (ie the OXP won’t run on a version lower than 1.70)
- Prices of goods at a Bar will now not be quite the same as the prices of goods at the Main Station, some being cheaper or having greater quantities in stock, some will be more expensive or have less in stock.
- More depth added to the random generator (5,000 extra words added).
- Some Characters now have escorts and henchmen.
- Space Bars are now armed with Plasma Turrets.
- The Rank held by an NPC bounty hunter is now shown in brackets after the name of his ship when targeted with the Identification Computer.

Overview

The Ooniverse can be a lawless place with all manor of beings on the run for hideous crimes from simple piracy to committing the most unspeakable acts with edible poets. GalCop’s resources are frequently stretched thinly and thus the Galactic Authorities often rely upon private individuals to bring criminals to justice.

In the space lanes of Anarchy Systems throughout the eight Galaxies, professional hunters gather aboard speedy space bars. Over a pint of fabled Riedquatian brown ale and a side-order of fried Laveian tree grubs, Commanders may view the local Bounty Hunters’ Bulletin Boards. Do you have what it takes to capture an unpleasant blue-feathered avian wanted for committing unnatural acts with a long-eared frog? Will your combat skills be good enough to destroy the dastardly fiend who set fire to the Onriraian Pontiff’s priceless artificial leg?

Difficulty Rating

"Easy to Hard". The OXP does not add any new ships to the game generally; all ships only appear when a mission relating to a Character is running. Even a Harmless Jameson can safely install the OXP, as the space bars do not present a threat to Clean Commanders. Indeed, if you are passing a space bar and come under attack by pirates, hunters aboard the Bar are likely to put down their drinks and launch to eliminate the brigands. Remember though that these guys are mercenaries not cops. If you are being harassed by three ‘Offender’ pirates, the hunters may well decide to collect the larger bounty on a passing non-hostile ‘Fugitive’ slave trader before coming to your aid! Approaching a space bar if you yourself have a price on your head could prove extremely hazardous to your health.

Missions vary in difficulty, depending on the Credits being offered for a successful kill or capture. None of the ships in the OXP are uber; if a Character is flying a Cobra Mk III then his ship is just the standard Cowell & McRath model available in all good shipyards. The equipment fitted to a Character’s ship will vary. A scheming horned solicitor wanted for tax
evasion may only have equipped his craft with the most basic equipment. On the other hand a homicidal blood-sucking goat, suspected of industrial espionage against Voltaire Stinger Pulse Drives Limited, will be likely to have blinged her vessel out as a fully equipped iron ass.

Whilst any Commander is welcome to view the Bulletin Boards and offer his services for a mission, the advertisers are looking for a skilled liquidator and will refuse the offer if the applicant has too few kills to his name. You need more kills to be accepted for the difficult missions than the easier missions, so you will find that you can’t bite off more than you can chew. It is advisable though to have a reasonably well equipped ship before taking on any of these missions. An E.C.M. System, Witch fuel injectors and a Beam Laser or better should be regarded as the minimum kit necessary for a would-be bounty hunter. If you intend to take any of your victims alive rather than killing them outright, Fuel Scoops will be necessary in order to scoop up the rotter’s escape craft.

Main Features

Every Bulletin Board entry, mission description, incoming message, communications hail and mission briefing screen is procedurally generated using a similar method to that used to create all the crazy planet descriptions in Oolite.

The messages are created using a database of over 30,000 words, generating over one trillion different missions and bulletin board entries. The missions are therefore effectively never-ending, rather like the Bulletin Board in Frontier. Every time you visit a space bar a new set of bulletin board messages are generated. Due to the way Oolite’s 'dice' work though, new missions are usually generated when you enter a system from hyperspace. For example if you jump from Lave to Riedquat and dock at the Worlds End Bar, a new set of Bulletin Board entries will be displayed. If you launch, flip over and re-dock, the missions will generally be the same as the ones you have just seen. This is not always the case though and sometimes the missions will change whilst you are browsing the boards. Jumping out of the system and returning later will always cause a new set of missions to be generated.

I have included in the database all the words from Classic Elite (so watch out for killer arts graduates, lesser spotted yaks and so on), but I have also added to the call list a lot of other references to the Elite series of games. Procedurally generated organizations and companies also feature in the OXP and the names of the Characters include the names of most of the regular posters on the Oolite Bulletin Boards. If you are a poster on the real life Oolite Bulletin Boards, you may find a contract on your own life being advertised here!

Characters will use tactics not used by typical pirates. They may have (and use) Q-Mines and aft mounted weapons. Don’t expect them to always fight to the death, they may just run away on injectors or make a hyperspace jump, requiring you to pursue them through the wormhole. You are being paid to terminate the scoundrel not merely his ship, so if your victim manages to abandon ship in an escape pod, you must kill or capture the pod to complete the mission.

Don’t expect to catch a ruffian napping with a Q-Mine, most are smart enough to hit the injectors as soon as one is launched. Although you can complete a mission by using an Energy Bomb (or whilst cloaked like a cowardly custard), you will be fined for using such dishonorable tactics and you will not earn any titles or improve your reputation as a bounty hunter by resorting to such low-spirited means!

* A Space Bar with its own individual name is added to every Anarchy System.
* Over one trillion different missions and Bulletin Board advertisements.
* Any given mission will have at least eight different endings.
* A Statute Book of over 20,000 different crimes and misdemeanors.
* Over 10,000 different Companies, Organizations and Powers.
* A cast of over one million different Characters from over 7,000 different species.
* Characters fly over 50 types of space craft.
* Over 5,000 new hails and messages.
* Employers keep in contact with the player by Galactic E-Mail.
* New AIs, using tricks not included in the unexpanded game.
* New and customized escape craft.
* Titles and Ranks to be won.
* Hidden features and easter eggs.

Bug Reporting

If you find a bug could you tell me:-

• If a bug happened at a space bar, the name of the Bar and the system in which it was.

• If a bug happened when you were chasing a victim, his name, the ship he was flying and the System where he was (or should be).

• If a bug happened when you were trying to scoop or kill his pod, the type of pod he ejected in.

As there are literally trillions of missions running in all 8 galaxies, I really will need to know this in order to find a bug. I think they’re all squashed by V1.1, but just in case!

Installing and Playing

To play the OXP, unzip the download file. This will create a folder called "RandomHitsV1_2". Open this folder and you will see a folder named "RandomHits.oxp" and this readme. Move the RandomHits.oxp folder to Oolite's AddOns folder.

If you are updating from Version 1.1, just move the new RandomHits.oxp folder in the usual way and overwrite the old version. Remember to hold down the SHIFT key whilst Oolite loads up for the first time after updating. You need to do this so that Oolite updates its cache. If you don’t do it, Oolite will continue to use the code from the OLD version of Random Hits and so you won’t get the benefit of the updates!

You are now ready to play, so slip an Ingram hand laser into your shoulder holster and set your course for the nearest Anarchy System. Upon entering the system set your Advanced Space Compass to ‘B’ in order to locate the local space bar.

If you do not have an Advanced Space Compass, not to worry, the bars are constructed inside large hollowed out asteroids amongst fair sized clusters. Set your course for the planet and keep your eyes open. Before you get too near the bar, remember to check your Legal Status. Once you come within 25 kilometers, the Bar’s Sentinel Satellites will perform an automatic scan of your legal records. You don’t want to be within striking range of the bar if you are anything less than squeaky clean!

Target the Bar with your Identification Computer and either turn the docking over to the auto-pilot or dock manually. Upon docking, check that your hand weapon is fully charged (these places can be a little rough) and head for the bar area. Try not to give yourself away as a newcomer by ogling the furry feline pole dancers and take care not to spill the pint of
the large amour-clad treeoid standing next to you.

Order yourself a shot of Geteveian evil brew and log in to the Bulletin Board. You are free to browse through all advertisements before deciding which, if any, you wish to offer your
services. If none take your fancy, log off and pay your bar bill.

If you offer your services for an assignment you will receive a reply from the poster of the advertisement. Assuming your offer was accepted, the mission details will be stored on your Status Screen and your destination will be marked on the local Galactic Chart. Once a mission is accepted, the unique transponder code of your victim will be downloaded to your
onboard computer, allowing you to identify your mark. When a mark is targeted with an ID computer the fact that he is marked for death is shown in brackets by the name of his ship. Eg:- "Cobra Mk III (Contract Target)". This ensures you won't accidentally shoot down the wrong ship!

The missions offered by the OXP are compatible with all other missions in Oolite, so you can, if you wish, play missions from Random Hits at the same time as other missions. For example, if you are trekking across the Galaxy to deliver a package for the U.P.S. Courier Company, feel free to stop by a space bar and see whether you can eliminate a bandit or two
on the way. If you accept a mission and leave the Galaxy in which it was offered, the mission will be abandoned. There is no penalty for doing so and you will be able to take a new assignment in the new Galaxy.

Good Luck with your career as a bounty hunter and remember, lets be careful out there…

Joined: Tue Apr 04, 2006 7:02 pm Posts: 2718
Location: I escaped The Labyrinth with the assistance of my fledgling. After many battles, I'm in the Nexus.

Doh! In my haste to upload it before Christmass I forgot to put one in. Will include for V1.1. I'm faily confident the code is without any major bugs, but some gramatical problems and typos are bound to crop up. Loging off now though for X-mass.

Joined: Tue Apr 04, 2006 7:02 pm Posts: 2718
Location: I escaped The Labyrinth with the assistance of my fledgling. After many battles, I'm in the Nexus.

More likley with 240 systems to script bars at I missed one out. The type of bar is set by planet number (ie planetnumber = 1 to 5 add spacebartype1, planetnumber 6 to 11 add spacebartype2 etc). So if you post the name of the System where it should have been I can check it. OXP clashes usally only occour when two writers have given a ship, variable, model or texture the same name. As all the variables and roles start with "random_hits_", I'm pretty sure it won't clash with anything elses. More likley is I've mistyped the name of the bar in script so there's no bar of that name to add.

Joined: Tue Apr 04, 2006 7:02 pm Posts: 2718
Location: I escaped The Labyrinth with the assistance of my fledgling. After many battles, I'm in the Nexus.

Ooops! Will Credit you for V.1.1 (Giff has sent me some turrets for the bar, so these will stuck on along with some code and AI optimisations suggested by Eric) . In flying around I have found one bug in V1.0 - Charcters flying Woolfwood's Asp Explorers are not being added (this was due to me typing random_hits_mark_aspsexp in script rather than random_hits_mark_aspexp!) is fixed for V1.1 but on V1.0 don't take a mission where the Charcter is in an Explorer. Also fixed a lot of gramar problems and added a load more crimes (about 1,000 extra words). Used a lot more recursion to improve variety (eg if a character is described as "horned" the dice a rolled again to make him "long-horned" "sharp-horned" etc).

I don't think there is a way of displaying the distance to the Mark's system on the Bulletin Board. Although this is done on the native cargo / taxi runs, I think this is hard coded rather than somthing that can be done with an OXP. On average a system will be 20 ly away, but you can be lucky and its right on your doorstep or unlucky and its on the other side of the galaxy.

If you exit the board, check the F6 screen then launch and redock the board is displayed again. Usually the missions will be the same, but this is not guaranteed. I could add a script command to bring the board back up if you spend more than 10 seconds on (say) the F6 screen but I didn't do it in the end as this could be annoying and the random nature of the OXP means that you cannot bank on the same system being chosen again when you review the board.

I just wanted to inform that Cmd Balmaha is history so others don't have to chase him anymore. I already collected the reward.

On doing this I noticed that the AI of the target ship really sucks. On my 700 MHz iMac with a lot of OXP's installed, I normally reach a FPS value of 40 to 50 (Frames per second). During chasing the victim this lowered and then he tried to escape into an escape vehicle. Specially this last one crippled my machine. My speed went down to 4 frame per second. I could really count the frames. At this speed aiming becomes impossible as one short keystroke moves the cross-hair over a long distance. After several minutes of aiming I just managed to hit the target twice. Desperately I tried to hit him with a simple missile. I probably was just lucky he had no EMC aboard.

Without defining a pause, the system tries to UPDATE 8 times per second. In that time he calls the far most time consuming AI command Oolite has: scriptActionOnTarget. It makes no sense to run that loop that often. Once every few seconds would be far enough. And as the oxp is 1.70 only, it is better to abandon the command scriptActionOnTarget completely from a loop. 1.70 has a good alternative command that calls a JS script from within an AI. Complicated, but far faster than scriptActionOnTarget.

At this speed is chasing a victim no fun. Even on faster machines this speed impact must be very noticeable.

Joined: Tue Apr 04, 2006 7:02 pm Posts: 2718
Location: I escaped The Labyrinth with the assistance of my fledgling. After many battles, I'm in the Nexus.

I'll put pauses in for v1.1. Suprised it is causing such a slow down though. On my system (XP Windows - 0.7G of ram) with all the OXPs installed fighting the mark is the same as fighting any other ship and I'm running at 32 fps with his AI active. The real slow down is comming from the fact as you say that the scriptActionOnTarget is causing Oolite to rescan all the installed OXP scripts. I use the alternative method you PMed me for V1.1. Although this does mean using some Java script!

The reason the Pod's AI is franticaly scanning for the player is to avoid an oddity. If anybody (including an NPC) scoops the pod then his script_actions get activated, so I need to make sure the player scooped him. If the pod escapes the player (is possible as some of the special escape vehicles have injectors), he'll invariabley get scooped up by an NPC (once he's out of fuel he's just another bit of loot as far as NPCs are concerned!) before the player docks and the OXP congratuales the player for caching him! To avoid this I need to check that the player was present at the scooping! Bunging in a 5 second pause between scanns will still do this though.