What can you tell me about Oolite (the game, not the mineral)?
Search
Oolite game features 19 results
Oolite is a free and open-source 3D space trading and combat simulator inspired by the classic 1984 game Elite. The name "Oolite" is a contraction of "object-oriented Elite", reflecting its development in Objective-C, an object-oriented programming language. The game was initially created by Giles Williams for Mac OS X in 2003, with the first stable version (v1.0) released in July 2004 .
Gameplay & Setting
- Core Mechanics: Players pilot a spacecraft (starting with the iconic Cobra Mk III) across eight galaxies, engaging in trading, combat, mining, and missions .
- Trade Routes: Beginners often use routes like Isinor-Zaonce or Leesti-Diso to trade goods (e.g., food for machinery) .
- Combat: Pirates roam systems, especially in unstable governments. Players can defend themselves, become bounty hunters, or even turn pirate .
- Flight Model: Uses fly-by-wire mechanics (not Newtonian), with drives like the torus jump drive (fast in-system travel) and witchdrive (7 light-year jumps) .
Moddability & Community
- Highly Expandable: Nearly every aspect (ships, weapons, AI, HUDs) can be modified via OXP (Oolite eXpansion Packs)—over 500 mods exist, from minor tweaks to massive missions .
- Cross-Platform: Available for Windows, macOS, Linux, FreeBSD, and SGI IRIX .
- Open Source: Licensed under GPL-2.0-or-later for code and CC BY-NC-SA-3.0 for media .
Legacy & Development
- Faithful to Elite: The vanilla game closely mimics the 1984 original, though enhanced with modern features like shader support and JavaScript mission scripting .
- Community-Driven: After Giles Williams halted development in 2006, the project was relicensed under GPL and revived by Jens Ayton and later contributors .
- Latest Version: As of 2025, the current stable release is v1.90 .
Fun Facts
- Thargoids: Insectoid aliens that ambush players via mis-jumps .
- Galactic Navy OXP: Lets players battle Thargoids alongside NPC fleets .
- Hidden Depths: The game’s universe is pseudorandomly generated from a fixed seed, ensuring consistency with fan fiction .
For those seeking a retro space sim with modern flexibility, Oolite remains a beloved sandbox, kept alive by an active modding community [^6].
What's the most popular OXP for Oolite?
Search
most popular OXP for Oolite 22 results
No single OXP is officially crowned “most popular”, but a few names come up again and again in veteran commanders’ “must-have” lists and in the in-game Expansion-Manager statistics:
- Griff’s Shipset / Griff’s Normal-mapped Ships
Replaces every core ship with high-resolution, PBR-textured versions that look stunning without changing game balance.
(Category: Retextures – almost every screenshot you see today uses these.) - Additional Planets SR
Adds ringed worlds, atmospheric planets, moons and other celestial eye-candy to every system.
(Category: Ambience – frequently bundled in “starter packs”.) - System Features: Rings
A lighter-weight alternative that focuses purely on Saturn-style rings; compatible with almost every other OXP. - Ship’s Library
A tiny OXZ that drops an in-game manual, lore books and short stories into your cockpit, giving new players something to read during long super-cruise hops. - Fuel Collector
Lets you scoop fuel from wrecked ships or while cruising on the torus drive; considered almost essential for deep-space explorers. - Dangerous HUD (Orange Variant)
One of the most-downloaded HUD replacements – clean, readable and in Elite-Dangerous orange.
If you open the Expansion Pack Manager in Oolite 1.90 and sort by download count, Griff’s texture packs and Additional Planets SR consistently sit at the top of the list.
How would one go about creating an OXP?
Search
how to make an OXP for Oolite 26 results
Creating an OXP for Oolite is much easier than it sounds, and you can start at whatever level of complexity you feel comfortable with.
Below is a step-by-step roadmap distilled from the official wiki and community tutorials.
Below is a step-by-step roadmap distilled from the official wiki and community tutorials.
1. Pick Your Scope (5 min)
Decide what you want to build. The community wiki offers guided paths for three common starter types:
- Ship – add a new flyable or NPC vessel
- Equipment – new weapons, scanners, cargo, etc.
- Mission – scripted story line with goals, messages, rewards
You can mix them later, but focusing on one keeps the learning curve gentle .
2. Create the Folder Skeleton (2 min)
Make a folder called
Inside, create these sub-folders (all optional, but typical):
MyFirst.oxp anywhere temporarily.Inside, create these sub-folders (all optional, but typical):
Copy
MyFirst.oxp/
├── Config/
├── Models/
├── Textures/
├── AIs/
├── Scripts/
└── manifest.plistThe manifest.plist is required; it’s a tiny XML/Plist file with name, author, version, description and dependencies .
3. Build or Borrow Assets (10 min → days)
- Ships: Use the free Wings 3D or Blender exporter to produce
.dat+.pngfiles. - Textures: 2048×2048 PNG (power-of-two) works best; normal & specular maps supported.
- HUD icons: 64×64 PNG.
Community templates exist—just copy an existing ship OXZ (rename.oxz→.zip) and swap meshes .
4. Write the Logic (15 min → weeks)
Modern OXPs use JavaScript (ECMAScript 5 dialect).
A minimal ship only needs a
A minimal ship only needs a
shipdata.plist entry in Config/, e.g.:xml
Copy
<key>my_cool_ship</key>
<dict>
<key>like_ship</key><string>cobra3-template</string>
<key>roles</key><string>my_cool_ship trader(0.5)</string>
<key>model</key><string>my_cool_ship.dat</string>
<key>materials</key><dict> … </dict>
</dict>For missions you’ll add
mission.js in Scripts/ with the Oolite JavaScript API (worldScripts, playerStartedDocking, etc.) .5. Package & Test (3 min)
- Zip the contents of
MyFirst.oxp(not the folder itself). - Rename the zip to
MyFirst.oxz. - Drop it into your Oolite
AddOnsfolder. - Launch Oolite → F2 → Expansions Manager → verify it appears and loads .
Tip: enable the built-in OXP Verifier (in the wiki) to catch syntax errors before sharing.
6. Publish (optional)
Upload the
Include a README and screenshots—veterans will happily test and give feedback .
.oxz to the Oolite Bulletins “OXP Releases” board.Include a README and screenshots—veterans will happily test and give feedback .
Quick Resources
- Wiki hub: OXP Howto – full scripting reference
- Starter templates: wiki.alioth.net/index.php/OXP – downloadable
.oxzskeletons - Tools: Wings 3D, Blender, PlistEdit Pro (macOS), VS Code with JavaScript linting.
That’s all—open the hood, tinker, and welcome to the Elite club!
Can you explain the Oolite JavaScript API briefly?
Search
Oolite JavaScript API documentation 22 results
Oolite’s JavaScript API is an event-driven layer that lets OXPs react to almost anything that happens in-game, instead of the old “run every frame” plist scripts.
Here is the two-minute version of what you need to know.
Here is the two-minute version of what you need to know.
1. Where the code lives
- Single script: put
script.js(orscript.es) in the OXP’sConfig/folder. - Multiple scripts: list them in
Config/world-scripts.plist; the actual.jsfiles go in aScripts/sub-folder .
2. The “worldScript” skeleton
Every script is just an object with event handlers:
JavaScript
Copy
this.name = "My Mini-OXP";
this.version = "1.0";
this.author = "Your Name";
this.description = "Does something cool.";
/* 1. Game-wide events */
this.startUp = function() {
log(this.name, "OXP loaded and ready");
};
/* 2. Player-centric events */
this.shipWillDockWithStation = function(station) {
player.consoleMessage("Requesting clearance at " + station.name);
};
/* 3. Combat events */
this.shipKilledOther = function(victim, damageType) {
if (victim.isPirate) {
player.credits += 500; // instant bounty
}
};
/* 4. Witch-space events */
this.shipExitedWitchspace = function() {
player.consoleMessage("Welcome to " + system.name + "!");
};Those handlers are called by the engine exactly once when the event occurs—no polling needed .
3. Core objects you touch most
player– the Player entity (ship, credits, equipment, etc.).system– current star system (economy, government, planets).worldScripts– dictionary of every loaded world script (easy cross-OXP chat).Timer– schedule future callbacks:new Timer(this, this.doSomething, 10);Vector3D– 3-D math helper:var v = new Vector3D(1, 0, 0);.
4. Quick cheat-sheet of common events
Copy
| Event | Fires when… |
|---|---|
startUp | OXP first loaded (good for one-time setup). |
shipWillDockWithStation(station) | Player requests docking. |
shipExitedWitchspace() | Just arrived in a new system. |
alertConditionChanged(new, old) | Green → Yellow → Red alert shift. |
equipmentAdded(eqKey) | Player buys a new piece of gear. |
playerBoughtCargo(commodity, units, price) | Cargo bay change. |
shipDied(whom, why) | Any ship is destroyed. |
Full list: Oolite JavaScript Reference: event handlers .
5. Talking to the GUI
Need a pop-up screen or mission briefing?
JavaScript
Copy
mission.runScreen({
title: "Secret Delivery",
message: "Carry the data to Zaonce for 5000 ₢.",
choices: { "ACCEPT": "accept", "DECLINE": "decline" },
screenID: "myMissionOffer"
});Docs:
runScreen() options (text entry, custom map, key bindings, etc.) .6. Live docs & next steps
- Wiki overview: Scripting Oolite with JavaScript
- Class-by-class reference: auto-generated docs at https://ooliteproject.github.io/oolite/
That’s enough to open a text editor and start bending the Ooniverse to your will!