From 691136ea46b7ac59108402970cd61e157e3f292c Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sat, 5 Mar 2016 23:26:08 +0100 Subject: Homogenized documentation files throughout the different projects. --- doc/GAMEPLAY | 209 ++++++++++++++++++++++++ doc/PROTOCOL | 20 +++ doc/ROADMAP | 219 +++++++++++++++++++++++++ doc/STORYLINE | 512 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ doc/TASKS | 97 +++++++++++ doc/TODO | 109 +++++++++++++ 6 files changed, 1166 insertions(+) create mode 100644 doc/GAMEPLAY create mode 100644 doc/PROTOCOL create mode 100644 doc/ROADMAP create mode 100644 doc/STORYLINE create mode 100644 doc/TASKS create mode 100644 doc/TODO (limited to 'doc') diff --git a/doc/GAMEPLAY b/doc/GAMEPLAY new file mode 100644 index 0000000..dc8f6ee --- /dev/null +++ b/doc/GAMEPLAY @@ -0,0 +1,209 @@ + + ------------------------------------------------------------------ + + The Osirion Project - GAMEPLAY + + ------------------------------------------------------------------ + + This document describes what the gameplay of Project::OSiRiON should + eventually become. This document is a work in progress and is subject + to change. Many features haven't been implemented yet. + +Overview + + Project::OSiRiON is a multiplayer space game with persistent player + statistics. By trading goods, obtained through lawful purchase or + otherwise, a player can earn the necessary credits to buy bigger + guns and faster ships, and explore the universe in the search + for better deals. + + A single player mode with a compelling story is a secondary objective + but the storyline serves as background for the multiplayer universe. + + The player can not change the game world itself: he can not purchase + planets or starbases, nor destroy existing ones. + +Guidelines + + Project::OSiRiON is a 'serious' game. Names of objects, people and + places should be considered generic for the universe and should not + be rightout silly or offensive. Names should feel 'natural' in their + context. + + Models for ships, space stations and other objects should be designed + with the same philosphy in mind. It is acceptable to make references + to exisiting objects (real or fiction), as long as they are subtle + or inconspicuous. + + Names of planets, systems and areas are usually references to exisiting + places on earth. Astronomical objects or mythological personae are + also great sources of good names. + +Universe + + A basic description of the universe, how it is organised and who lives there. + + The universe is a collection of stand-alone star systems. Each star system + is a small world on its own. The only direct interaction between systems + is a player traveling between them. The background story should provide + (most of the) star systems and their relations. + + The Project::OSiRiON universe is an open universe. This means players are + free to travel around and visit the places they want, but this does not + mean the player will be welcomed anywhere he goes. + + Destructable objects are probably part of a mission, will respawn later or + have some other special meaning. + + Non-player characters (NPCs) populate the universe to act as trading + partners or target practice. + +The Player + + Who is the player in the universe. + - Friends + - Enemies + - Background + - How the player interacts with the universe. + + The player enters the universe as a typical out-of-luck person + who decided to start a new life. With a small ship he tries to become + the Richest Man in the Known Universe. The player earns money by shipping + cargo that can be bought at discount prices at one place and sold + at a premium on a second location. *mining *fighting *wrecks/looting. + + The goal is to become filthy rich and show it. Besides, with a particle + cannon and a target lock, nobody cares where your money comes from. + + True roleplaying is outside the scope of the game itself. The universe + (might/will) provide factions, friendly and hostile NPCS an strategic area's + but the game engine itself will not force true roleplaying. For example, + players will not be limited to certain ships and weapons depending on + their allegiances. + + Players can be hostile or friendly towards each other regardless + of their allegiances. + + Flying missions, mercenary, military or mercantile in nature. + +Ships + + The player starts the game with single small spacecraft and starts the + game docked at a planet or space station. When he has earned sufficient + money he can spend it on ship upgrades like weapons, armor, shields + and various other components. + + *gameplay idea + various 'useless' fancy upgrades that increase player status + +Traveling + + How the traveling happens in the universe, how the player will travel. + + Every ship is equipped with thrusters. The maximum thruster speed depends + on the ship type, small merchant vessels will have lower maximim trhuster + speed then a scout ship. + + Ships can also be equiped with a sublight kinetic impulse drive. This drive will + enable the ship to accelerate to a high speed without crossing the threshold + at which relativistic effects would affect structural cohesion. Kinetic impulse + drive speed is the same for most types of ships. Due to the enormous power + requirements a ship will not be a able to fire weapons while the impulse drive + is enabled. + + Neither of these engines will allow the player the leave the star system. + Interstellar travel is only possible using a hyperdrive. A hyperdrive is an + expensive piece of equipment with a massive power requirement. Only very + large ships will be capable of carrying a hyperspace jump drive. + + Interstellar travel for the common men is possible through the use + of commercial or government owned hyperspace gates. These gates create + on-demand hyperspace connections between star systems and provide a safe + and easy way to travel. + + Hyperspace travel is almost instantanious, hyperspace jump would be a more + accurate term to describe it. + + Current hyperspace technology works by making use of weak points in hyperspace, + known as hyperspace intersection faults. It takes only takes a reasonable amount + of energy to fold local space into such an intersection fault, to create a conduit + between both sides of the hyperspace intersection. All a ship has to do is enter + the event horizon of the hyperspace conduit (or 'jump hole', as it is commonly called) + to travel almost instantaniously to to other side, usualy several lightyears away. + + Jump gates are built in the vicinity of stable intersection faults and thus have a fixed + destination. + + Ships equiped with a hyperdrive work on the same principle. They seek out a sensitive + spot in the hyperspace field and fold local space to punch a hole through the other side. + This has several major consequences: a pilot has to determine has destination by finding + a good departure point in local space. Also, only a small number of connections between + systems will be possible. + + Hyperspace intersection faults are large (planetary orbit scale) and while they are attracted + to gravity wells like a star, they do not like to share their space. + + Note that is theoreticly possible to fold normal space deep enough into hyperspace to + create jumps holes on intergalactic scales. It would probably take a generator the size of a + large moon to achieve it. + +Capital Ships + + As the player earns money, he will eventually be able to buy very large capital ships. + Apart from beeing large and powerful, capship can be docked by other players and + used like any other dockable planet or station. + + A ship docked at the capship is able to use it as a carrier, and launch + when the carrier has reached its destination, or circumstances require it. + + A capship can be setup as a trading vessel, allowing smaller ships to dock + and buy and sell items at prices set by the owner. The capship would become + a moveable trading outpost. + +Planet and Stations + + Star systems are inhabited with planets and stations. + ... + Dockable planets or stations are bases + ... + Some bases provide storage facilities where players + can put items like weapons or spare parts in storage. + +Objects in space + +Weapons + + What kind of weapons are there. how do they work. + - Lasgun technology + - Pulse rifle technology + +Fighting + + How does fighting work? Aim weapon at enemy. Pull trigger. + + Fleeing from battle. + +Economy + + Money makes the Universe tick. + - Buying + - Selling + - Trading + +Cargo + - Transporting / Beaming + - Mining + - (Spare) parts + - Fuel + - Economy + +Missions + + - Search and Destroy + - Transport / Delivery + - Courier missions + +Fleets & Wingmen (secondary goal) + + About owning multiple ships and adding strategy elements. + diff --git a/doc/PROTOCOL b/doc/PROTOCOL new file mode 100644 index 0000000..92a345b --- /dev/null +++ b/doc/PROTOCOL @@ -0,0 +1,20 @@ + +The Osirion Project - Network Protocol Overview + +Connection sequence + + + +Client State Server State + + Connecting + +"connect [protoversion]" --------> Pending + + <------- "msg info [sv_hostname" + + <------- ... world data ... + + <------- "connect" + +"pif[.. player info ...]" -------> Connected diff --git a/doc/ROADMAP b/doc/ROADMAP new file mode 100644 index 0000000..eb25778 --- /dev/null +++ b/doc/ROADMAP @@ -0,0 +1,219 @@ + + ------------------------------------------------------------------ + + The Osirion Project - ROADMAP + + This document is superseded by http://osirion.org/tracker + + ------------------------------------------------------------------ + + General: + + This document describes the gameplay objectives for each + milestone of the project. Currently, milestone 0.1 has been + reached and the game universe is ready to be refined and + expanded. + + Features of the engine itself, like support for new file + formats, rendering options and game server commands + are implemented along the way and, unless required, + happen independent of the gamplay roadmap. + + This roadmap is not to be used as a roadplanner but as a + gentle guide to reach a playable game. + + ------------------------------------------------------------------ + + version 0.1.0 - The Universe (done) + + Description: + + The game world is divided into zones, the zones can be populated + with entities. Players can use their impulse drive or jump to + different zones. + + Multiple players can connect to the dedicated server. They can + fly around and see each other. They can use chat to communicate, + they can use private chat or global chat. + + Players can dock at a space station or planets. Docking + a jumpgate enables hyperspace travel. + + Requires: + + client console (ok) + entities (ok) + ship instances (ok) + network subsystem (ok) + entities (ok) + camera handling (ok) + keyboard bindings (ok) + zones (ok) + basic travelling: impulse drive, jump engine (ok) + basic docking (ok) + + ------------------------------------------------------------------ + + version 0.2.0 - Items and Trading + + Description: + + Ships and stations have inventories, players can buy and sell + cargo at a space station. Each item can have a text description + and a model. + + Requires: + + player credits (ok) + item info + lazy server-client exchange (ok) + trading (ok) + inventories (ok) + map entity descriptions (ok) + eject cargo/tractor beam (ok) + + Related: + + beam particles + player-to-player trading + equipment trading + + Optional: + + fuel system + economy + per-item adjustabe depletion rate (won't do) + + Implementation: + + inventory + ship statistics window (ok) + handle inventory transfer on ship aquisition (ok) + eject/destroy cargo (ok) + base inventory depletion (ok) + + docking player ships should require owner permission + player-to-player trading + player shops + player must be capable of setting the kind and price of items to sell + item 'tradeable' flag + shop allows multiple buyers, p2p trading just one + player factory ships + base factories, per-item adjustabe conversion rate and ratio + e.g. 2 units of niobum to 1 superconductor per 30 seconds + + + Features: + + collision physics (ok) + collision meshes (ok) + dockable player ships (ok) + zone chat (ok) + player saving (ok) + + improved network authentication + + + ------------------------------------------------------------------ + + version 0.3.0 - Weapons and Equipment + + Description: + + Players can buy and sell weapons. + Players can buy and sell ship upgrades like armor and scanners, + + Requires: + + cannons and turrets + cannon and turret models + model weapon slots and positioning + targetting + explosions, weapons fire and related sounds + equipment + weapon dealers and equipment traders + + improved particle systems + + Features: + + ------------------------------------------------------------------ + + version 0.4.0 - User Interface + + Description: + + The game has a consistent and usable user interface and the game + can be played without having to use the console. + + Requires: + + player saving + improved menus, options menu, controls menu + + Features: + + soundtracks + + Related: + + native keyboard layout support. + + ------------------------------------------------------------------ + + version 0.5.0 - Public alpha + + version 0.5.1 - Bugfix release + + Description: + + All the general large features of the engine are implemented. + Create a somewhat polished release with a playable universe + to create a platform for bug-fixes and improvements. + + The main goal if the alpha is to create interest for the project + and to attract an initial playerbase. At this point, a dedicated + 'Official' server is necessary. + + Requires: + + playable, consistent universe + general polishing + master server + player guid + player saving + + ------------------------------------------------------------------ + + version 0.6.0 - NPC's + + Requires: + + factions + allegiance + computer-controlled opponents + + ------------------------------------------------------------------ + + version 0.7.0 - Missions + + + ------------------------------------------------------------------ + + version 0.9.0 - public beta + + Description: + + Requires: + stable network protocol + background story + zip archive support + http downloads + + ------------------------------------------------------------------ + + version 1.0.0 - public release + + Requires: + + + ------------------------------------------------------------------ + + version 2.0.0 - rewrite of the engine, singleplayer diff --git a/doc/STORYLINE b/doc/STORYLINE new file mode 100644 index 0000000..7aff528 --- /dev/null +++ b/doc/STORYLINE @@ -0,0 +1,512 @@ + + ------------------------------------------------------------------ + + The Osirion Project - STORYLINE + + ------------------------------------------------------------------ + + This file contains ideas for the universe background, the factions and + the storyline. + + SPOILER ALERT! + + + ------------------------------------------------------------------ + PLACES AND FACTIONS + + + HOUSE LINDBLADE (protected by the Lindblade military) + + - Lindblade system + planet Lindblade + + - Burton system + planet Burton + Trent outpost + Lindblade shipyards + + - Dover system + + HOUSE PRAETORIA (protected by the Praetorian Guard) + + - Praetoria system + planet Praetoria + planet Lovanium + + HOUSE DAGON + + - Dagon system + - Ashir-Dan system + - Zensunni system + + COUNCIL CAPITAL (protected by the Ordinators) + + The seat of the Council and the capital of the central planets. + Location of the Allied Intelligence Network headquarters. + + - Council Capital + planet Corona /find a better name/ + + INDEPENDENT COLONIES (protected by the Colonial Militia) + + An alliance of systems independent from the central planets. + + - Ghant system + planet Ghant + Alexandria outpost + Battleship custodian + + planet Seymour + Regula station + + - Brogha system + planet Brogha + Cantor observatory + + - Antwerp system + planet Antwerp + starbase Helianthos (guards the border) + Buccaneer's Den pirate base + + - Kronenbaden + planet Baden + planet Krone + + - Khorsand system + + - Warsaw system + + NEUTRAL SYSTEMS + + - Finnmark (Joint Miners Association headquarters) + planet Finnmark + mining operations + + - East End + Trident core + + ORGANIZATIONS AND CORPORATIONS + + - Micron Corporation + - AMTEL Tech Conglomerate + - Joint Miners Association + + BORDERWORLDS (not claimed by any lawfull faction) + + Worlds destroyed during the war. + + - Kor Glaven + + - Kor Telos + planet Andros + planet Corthio + battlefield remains + + - Anarian system + Anarian nebula + Galileo research station + battlefield remains + + - Karelian system + no Planets + Karelian nebula + border station + + TSU-KHAN EMPIRE + + - Kiana system + Kiana Prime + + - Alpha Kosiya + + - Beta Kosiya (dissapeared and/or destroyed) + + - Gamma Kosiya + + + DERELICTS + + The Kadriant + + + Note on names: + + Before the war, the systems controlled by the Great Houses were + referred to as the 'Colonies'. The term 'borderworlds' was used + to refer to independent systems. + + Since the war, the term 'Borderworlds' is used to indicate + systems destroyed during the war, while the term 'colonies' + is generally used as abreviation for the 'Independent Colonies'. + The Protectorate and the systems controled by The Great Houses + are usually referred to as 'the central planets'. + + ------------------------------------------------------------------ + TIMELINE + + Exodus 0 AE (After Exodus) + The Year of War 480 AE + The Karelian Incident 510 AE + Today 545 AE + + + ------------------------------------------------------------------ + HISTORY OF THE YEAR OF WAR + from the House Lindblade historical records + + +Reaching for the Stars + + History of mankind is a tale mostly written in blood and fire. Although + there are few written accounts of the events before the Exodus, it wouldn't + be hard to imagine why the Homeworld would have been abandoned in the first + place: wars for power, territory and resources would be commonplace + for almost five centuries to come. + +The Year of War + + For the Tsu-Khan, this war was no different. About a century ago, + The Empire had depleted most of its natural resources and had launched + an ambitious project to find a suitable new homeworld. + + At the time, most of the human population was ignorant about the presence + of alien lifeforms in their galaxy. The scant pieces of evidence that did + exist were kept secret by the political leaders. The Colonies were controlled + by several Major Houses, each with their own agenda's and changing alliances. + None of the House Lords had the motivation to order a thorough investigation + into a mad man's testimony of outer world creatures. + + The war came without warning. Near Kor Telos, on the edge of known space + and outside the jurisidiction of the great houses, two new colonies + had been founded. The settlers were finishing the construction of their + hyperspace jump gate, to connect the system to allied borderworld systems. + Unfortunatly, the Tsu-Khan Empire had located a suitable planet just + a few parsec away. + + The Andros colony was the first to fall. It didn't take the Tsu-Khan + battle group very long to destroy the defenceless setlement. + By the time they arrived at the Corthio colony, the colony had scrambled + any battleship it could find to fend the invasion. The Colonial fleet was + no match for the superior Tsu-Khan ships. In a few hours, the battle was over, + and the Corthio colony had been reduced to ashes. + + The story repeated itself across the Borderworlds. These independent worlds were + usually inhabited by pacifist who had escaped the turmoil of the central planets + or had a mutual understanding with one or more of the great houses. The Tsu-khan + did not care, and the majority of the Bordesworlds was utterly obliterated. What + remained was a few primitive settlements scattered across the smoldering remains + of the Borderworld planets. + + The relations between the Borderworlds and the Major Houses were strained with + conflicts of interest. The central planets usually didn't care unless some economical + or strategical advantage was involved. Slowly the Houses got drawn into the the war, + and after almost a year of hostilities most of the House Lords found their armies + involved in a full-scale war. A war, they realised, they couldn't win. + + With the Borderworlds out of the way, and the Tsu-Khan fleet at the border of every + Major House, there wasn't much they could do to oppose the Empire. In this darkest + of hours a secret meeting took place that turned the fate of history. On a small, + neutral planet, near the centre of the Colonies, a number of small ships met in secret, + each ship carrying one of the remaining House Lords. + +The Alliance + + This small planet used to be the stage for the House Council, by then a long forgotten + tradition, where the Lords of the Major Houses used to work out their differences + with dialog, or discuss current events. In the years before the Great War, this + tradition had been neglected and oposing views were usually solved with a friendly + border skirmish followed by a royal monetary compensation. + + These times were over. This war wasn't about money, power or territory. + It was about survival and it was clear by now that none of the Major Houses possessed + sufficient strength to fight the Empire on its own. A new alliance was formed and it + was decided that it should not only include the Major Houses, but also any independent + system that was still capable of fighting. The Lord of House Lindblade, who's + territory had been on the front line since the beginning of the war, and considered + as moderate amongst the House Lords, proposed to assemble a fleet in the Lindblade + system to prevent the Empire from gaining a foothold in the Central Systems. + + Within days, the largest fleet in human history had united under one banner. Out of fear, + out of hope, but most of all, out of desperation. A news reporter from the era described + it as ".. an overwhelming sight of the End of Times, but unlike the descriptions of + Armegeddon in the Ancient Scripture, a sight with a sense of honour and dignity ..." + and ended his report with the question if they really had any chance against such + a formidable enemy. Battleship after battleship graciously drifted in formation, + and everyone on board, from crewman to captain, knew this had to be the final stand. + + When the Empire's vast intelligence informed the Tsu-Khan Emperor of this unexpected + turn of events, humanity's fate seemed sealed. The orders where quick and decisive: + regroup the fleet and prepare to engage the humans. Once dispatched it would + take care of the alliance fleet and end human opposition once and for all. The war + would be over soon and the Alliance's systems would under the Empire's control. + + It is said that even the smallest person can change the course of the future, and in + this case, it was a lonely scientists in the Anara system. His work involved + the meaning of life, the universe and related subjects, and ignoring the dangers + of the war was his way of dealing with the situation. His latest experiment required + him to pilot a tiny and almost unpowered vessel into the Anarian nebula, where + he could conduct measurements of the small variations in the local hyperspace field. + + He was performing another scan of the sector when suddenly his instruments went off + the scale. To his amazement he suddenly found himself on the edge on area where the + alien fleet had decided to regroup and refuel before they sneaked into Alliance Territory. + The small vessel, barely powered and only slightly larger than an emergency life + support pod, used the high levels of radiation in the nebula to elude the Tsu-Khan + sensors and send a warning message the Alliance Fleet. + + With the help of the detailed scientific information about the nebula, the Alliance + managed to jump right on top of the unsuspecting Tsu-Khan fleet. Within minutes, + the Imperial Flagship, primary target of the assault, had taken massive damage and was + burning in the flames of explosive decompression. It was at the heart of the fleet + when it exploded, and most of the heavy fighters and cruisers were hit by the shockwave + and the massive rain of high-speed metallic debris behind it. Some managed to retreat + to Tsu-Khan space, most fell victim to the united firepower of the Alliance fleet. + + News of the victory spread through the Colonies like fire, and the battle became legendary + before the Alliance fleet had even returned home. + + + ------------------------------------------------------------------ + PROJECT::OSIRION + Allied Intelligence Network classified documents + + +Project Osirion + + During the war, many great houses conducted experiments in search for + advanced technologies to aid in defeating the enemy. One of these + experiments was called 'Project Osirion', an experiment involving + a new type of hyperjumpdrive, which could work independent of hyperspace + jumps holes and cross enormous distances in the blink of an eye. + + The requirments on ship design for this experimental drive unit were + outrageous to say the least. But facing imminent defeat, no effort + was spared to gain even the slightest advantage. In less than 6 months + a new ship was constructed and equiped with the experimental drive unit. + + The ship was an impressive sight: several hundred meters of neutronium-enforced + carbosteel, thousands of metric tonnes of superconductors and optronics, + a monument to human ingenuity and an instrument to survival. + + This ship was christened 'Osirion'. + + The ship's first test flight was a major event. Most secret projects did not + generate a lot of attentention, but this flight was a higly anticipated by + the top brass from all parties involved: military, political and corporate alike. + + The ship had left the construction yard as planned and had almost arrived at + departure point on the edge of the star system when suddenly all communication + was lost. Extensive investigations after the incident have never revealed the + source of the malfunction, and everything that happened after this point is the + result of long-range sensor telemetry. + + Sensors hat detected the ship arriving at the departure point and the flight continued as planned. + A few moments later a massive energy discharge was registered, indicating + the experimental jump drive was activated. Unfortunatly, the order + to return to the point of departure after the initial jump, seems to be a part of + the plan that never got executed. The ship had literally vanished into thin air. + + The top brass was very upset. + + +The Karelian Incident + + +The Tsu-Khan Empire + + + ------------------------------------------------------------------ + PROJECT::OSIRION + Protectorate Top-Secret documents + +What really happed to the Osirion + +What really happed after the death of the Tsu-Khan Emperor + +Tsu-Khan Empress and the War Generals + +The Empress' niece + + ------------------------------------------------------------------ + PROJECT::OSIRION + STORY + +I. Business + + Alexandria outpost, jewel of the south, or queen of the wasteland, + as some higher placed officials like to call it off-the-record. + They were probably right too. The wasteland probably referred to + planet Ghant, a lifeless chunk of rock holding the outpost in + a stationary orbit. Unless you had some pressing matters to handle, + this was a part of space you would rather avoid. The only kind of + people you could find here were people doing business and people + who needed to dissapear from public appearance. Or both. + + The local custom was to mind your own business, and that was exactly + what I was looking for: minding my own business. My life on the central + planets had become far more complicated than I had planned for and it + was time for a change: I managed to get a loan from the local + planetary bank and spend it on the aquisition of a small transport + vessel. + + The first day of my new life as a spaceship captain. Not the glorious + life I had gotten used to, but at least a decent one with its small pleasures + once in a while. The small room I rented above the local bar almost felt like + home. After I left the central planets, I ended up on Alexandria outpost where + the local bartender was kind enough to offer me a job in his modest establishment. + He probably did it more out of sympathy then anything else, but as it turned + out, I'm great at doing the dishes and I always enjoyed our conversations. + That is, until last week, when I ran into Mister Brent. + + Ages ago, we used to work in the same building and he must have recognized me. + I was sitting at the bar when he suddenly tapped on my shoulder. My memories + of him were vague, but as he sat down, I ordered him a drink. We had some chit-chat, + shared a few memories of distant times, but it didn't take hime very long to come + to the point. + + Mister Brent was the business type. "The rising star of the Regula mining operations, + overseeing all shipments of niobium in the Ghant system", to quote his words. + His phrases like "A smart man could make a fortune" sounded rather hollow to me, + but he did have a point. 500 runs to Regula to pay the loan for the ship. + Another 1500 more to get myself a ship big enough to hold a small cabin with all the + luxuries a simple life would need. + + Repetetive? Boring? Perfect! Add an autopilot and this life could be more relaxing + then a luxury vacation on an exotic planet. With this simple business but rock-solid plan + laid out in front of me I managed to convince the manager of the local planetary + bank to provide me with the necessary funds for my operation, which I quickly + exchanged for Micron Corporation's latest Vector model. It's a small ship: + the cockpit, a living compartment with a sleeping corner and a cargo hold + just big enough to hold a few metric tons of whatever the owner had in mind. + All it missed was a pair of blasters to shoot the mosquitos from the windshield. + + That would have added another 50 runs to the price. + + The first two runs went smooth. Nothing unexpected. Pick up supplies at Alexandria, + fly all the way to the Regula mining operation station, exchange the supplies + for a shipment of karpax ore and head back. I had just hit the impulse drive with + the third load in my cargo hold when I noticed something out of place. + + A blip. And a big one too. No civilian vessel had an EM radar signature that powerful. + I peered through the windows and as planet Ghant grew bigger on me I could clearly + distinguish a second bright spot next to the familiar one Alexandria had become to me. + I quickly requested the computer for an identification and it didn't take it very long + to come up with an answer. Battleship Custodian. Colonial Militia registration number + CM-2542. It must have jumped in when I was docked at Regula. + + Curious. While the Ghant system was officialy under the jurisdiction of the + colonies, nobody had any real business here. Niobium was without doubt a valuable + commodity, but since there was no real shortage of the oremy guess was that the + military's interests would lie elsewhere. For now, I decided to ignore the matter. + I wasn't about to meddle into military affairs and let unfortunate circumstances ruin + my life again. + + Nevertheless it was hard to ignore the massive battleship looming over the outpost, + but I docked and went straight to the bar. The bartender looked at me as I walked in + and pointed me to my regular place at the bar. "I'll be right back", he said, + and disappeared into the kitchen compartment. As on most quiet evenings, the + regular customers were kind enough to leave my seat unocupied and it didn't + take the familar surroundings long to ease my exited mind into a more relaxes state. + "Here you are, one cup of steaming hot chocolate milk. I'm not sure how or where + you got it, but I am sure it is the real deal. No one would get it into his mind + to synthesize anything without having an actual market for it." + + As usual, my bartender was right, and that was exactly why I liked this stuff, even if it + costed a small fortune. "But then again", he continued and turned has eyes towards the large + space window at the other end of the bar, "life can be full of surprises." + +II. Surprises + + It was hard for him to hide his unsettledness. "I just had a talk with the station supervisor + and the commander of that battleship floating out there". "The Custodian", I replied. "I had + the ship computer run an ID on it". "You'd better take care of that fancy new ship of yours", + he said. "They were here to inform me that the Colonial Militia has decided to assign a detachment + to the Ghant system, effective immediately. All fleet operations in the system will be under the + command of the battleship Custodian. They also dropped some kind of communication sattelite + in the center of the system. God knows what these guys are up to." + + The military is always involved in business the common man would rather not know about, but I had + to admit, it just didn't sound right. A battleship in the Ghant system was curious, but a + more permanent presence didn't make any sense at all. I picked up the small metal spoon lying + next to my cup and stirred my hot milk. "I wouldn't worry too much. They've probably discovered + some interesting radiation in the neighbourhood and now they want to turn it into a weapon. You + know these kind of people, if it goes kabooom, they immediately like it." "Besides", I continued, + "the system has been quiet for months. I haven't seen a pirate in ages". + + The tone in my voice couldn't hide my longing for more dangerous and exiting times, + but those days were over. I had chosen a new path, and I was not about to ruin my plans + because of a few curious events. I emptied my cup and wished the bartender good night. + + I couldn't sleep that evening. I didn't know what troubled me more: the prospect + of my new life, the memories of the old one, or the strange events of today. When a man + is troubled, he has to start walking and with the silence of the night as a blanket, + I got out of bed and went out on a stroll. + + 2 am standard colonial time. Nights in space are something to get used to: without + the sun to rise and set, dusk and dawn become rather hollow definitions and + only the clock dictates when it is time to go to sleep. Nevertheless, the atmosphere + of the night still permiated the station: most of the establishments were closed and + the sound of busy peoples voices was replaced by the quiet hum of the electrical + installations. + + I wandered aimless through the empty corridors until I reached one of the large + space windows on the upper level. It was almost like the vast, empty space + behind it was reaching out, trying to stir something in the back of my mind. + I wasn't sure why but I could not shed the feeling that some event was about + to unfold. I turned around to head back to bed when suddenly felt a faint + tremor going through the station. It was hardly noticable and most people + would probably ignore it, but I knew exactly what it was. + + When a ship drops from hyperspace into normal space, it will send a small shockwave + into the surrounding area. This is not a shockwave of something traveling through space, + but rather a disturbance of the fabric of space itself, with a distinct rythmn + an experienced pilot can easily recognize. I could have ignored it too and + go back to sleep, but the intoxicating effect of the mystery dragged me back to the window. + + A ship had arrived, and it had to be close. Hyperspace-tremors do not travel very far + and it would take one hell of a pilot to make a jump this close to a gravitational well. + The slightest miscalulation would have spread out his atoms over the face of planet Ghant. + The bright moving spot between the stars had proven he was either very good, or very lucky. + + The design of the ship was unfamiliar. It looked like some kind of a patrol craft, + armed to the teeth and ready to defend itself if it were necessary. Fortunatly, + it looked like the pilot had a more quiet evening in mind. In a gracious arc, + he approached the station and soaring like a an eagle he started the final approached + to the docking bay. A pleasant sight for anyone who could appreciate the finer arts of + space flight. + + By now it was almost 3 am and I was almost certain I was going to regret this nightwandering + episode when my alarm clock would obnoxiously announce the next morning. Almost, because + by now I had also learned that having no regrets and a strong focus on the task at hand + was usually the wiser course of action. Right now, the task was finding some sleep. + + I turned around, walked to the elevator at the end of the corridor and pressed the button. + After a few seconds the doors opened with a joyfull chime and I stepped inside. "Level 3". + The elevator seemed to consider my request when the doors finaly closed and it started + moving down. I leaned casually against the back wall while my right hand was trying to catch + the yawn escaping my mouth while the elevator control panel continued to count down the current + level in large friendly letters. "5"... "4"... almost there... "3"... "2"... + + It took a moment for reality to trickle through the veil of sleepyness, but it was quite obvious + the elevator had passed my level and continued its journey downwards. There was only one thing down + there: the docking bay, and I couldn't shed the awkward feeling it was a place I'd rather avoid + at this particular moment. I pressed the emergency stop button on the control panel, to no avail. + + "1"... "0" ..."-1, Docking Bay". The low, humming noise of the elevator ended abruptly and the doors + opened again. + +III. The Docking Bay + + The warm arid air of the docking bay filled the elevator. Contemporary generator technology + tends to ionize the atmosphere and the distinct smell of a recently landed ship was + noticably present //..more//. + +Temporary notes: + + III about getting stunned in the cargo bay + + IV about waking up on Starbase Helianthos + + V about Linblade and 'they've hidden it' + + VI about the Kadriant diff --git a/doc/TASKS b/doc/TASKS new file mode 100644 index 0000000..e655689 --- /dev/null +++ b/doc/TASKS @@ -0,0 +1,97 @@ + + ------------------------------------------------------------------ + + Project::OSiRiON - TASKS + + ------------------------------------------------------------------ + + This file contains a list of reasonable easy tasks than can + be done by anyone who is interested in contributing to + the project. No programming skills are required to + do any of these. + +Create skyboxes + + The program Spacescape is a freely available tool to + create skyboxes with stars and nebulas. + + http://alexcpeterson.com/spacescape + + Note that this tool only works on windows, attempts to run + it in linux with wine have been unsuccessful. + + I wrote a small shell script to rename its output to osirion + conventions: + + http://ingar.satgnu.net/osirion/files/util/rename-sky.sh + +Ship definitions + + A lot of ship definitions in base/ini/ships.ini are incomplete: + price, cargo hold size, jump drive, dockable and engine + specifications have to be added and tweaked where necessary. + +Cargo definitions + + Add cargo definitions to ini/cargo.ini. + +Cargo models + + Each cargo definition needs a model to represent the type of cargo in-game. + + Required models: + - Crystals + - Diamonds + - Iron (ore) + - Niobium (ore) + - Liquor (bottles?) + - Carbosteel (plating / blocks?) + - Superconductors (fancy magnet thing?) + - Optronics (optical chips) + +Trade definitions + + Add trade definitions to the world ini files. + + The easiest way to do this is by thinking in trade routes: + + - A base resource is sold at the source location, with unlimited supply + amount = -1 + price = low + e.g. iron is mined and sold at an iron mining installation + + - The resource can be sold at a good price at a target location that probably needs the resource + amount = 0 + price = high + e.g. a carbosteel forge will buy the iron at a good price + + - On the route from source to destination, the resource can be sold along the way. The price + increases with distance from the source location. + amount = 0 + price = medium + e.g. the iron ore can be traded on a supply station along the route + + After finishing a route, traders like to take back other profitable goods, + therefor it is generally a good idea to provide a trade route in the opposite + direction to the same area. + +Models + + Required objects + + - Iron mining facility (Finnmark system) + - Carbosteel forge + - AMTEL optronics production plant + - Border Guard station (Karelian system) + +Documentation + + The list of attributions needs updating + + Most of the documentation needs updating: + doc/attribution.html List of attributions + doc/guide.html Player guide + doc/manual.html Engine user manual + doc/world.html Editing the world + + Hints from this document can probably be added to the main documentation. diff --git a/doc/TODO b/doc/TODO new file mode 100644 index 0000000..bd20551 --- /dev/null +++ b/doc/TODO @@ -0,0 +1,109 @@ + + ------------------------------------------------------------------ + + Project::OSiRiON - TODO + + ------------------------------------------------------------------ + +general: + documentation cleanup -> wiki + finish player guide -> wiki + update user manual-> wiki + + server-client event system, hit-once lightweight entities + explosion events + sound events + world sounds + weapons + ship improvements (radars, shield, armor) + +filesystem: + write a filesystem based on streams + write handlers for zip + write handlers for gz + fs_homedir, to define the writeable directory + fs_datadir, readonly package datadir + fs_base, fs_mod, fs_game, to be used by modules + +model: + .md3 support + +core: + add EntityControlable::control_flags() to group on/off controls (Impulse, AutoPilot?) + - afterburner is a -1/0/1 control and can't be added + - replace the impulse command with a control flag + - think about AutoLevel + + find an elegant solution for /say and /shout on the dedicated server console, verify private chat + fix game.ini load/save sequence + fx events: jump events, tracktor beams, weapons fire + pause game loop when there are no players + support for entities like nebulas and asteroid fields + +network: + protocol description (incomplete) + group chat (requires player groups) + rcon authentication, rcon command, servers must be able to disable rcon + rconpassword: send md5sum instead of plaintext + player authentication (player guid), admin rights + detect and disconnect clients behaving badly + let server track Entity::State changes + + add server-side distance check before sending entity updates + client prediction, replace SUP network frames with PHYS frames + fix lag/client interpolation + + EXT messages, update extended property "ext id prop value prop value etc", type checking/seperator etc.. + EXT zone/color/shield/armor/health + + reliable network messages (e.g. entity create/die) + +client: + beam and eject cargo (commands implemented, needs UI and general FX) + add map window target model + tracking camera absolute speed/position + SLERP + correct hud target/target hoover inconsistencies + reset info text scroll when showing buy/trade menu + enable chat window player list selection, add global chat buttons + create hud concept artwork + + fix camera frustum clip (size issue, postponed) + +render: + fix skybox envmapping -> cube map + star light strenght + general globe texture stretching, coordinates seem to be off + multitexture materials + +ui: + unify event handlers, expand Event class and make derived event classes + +sound: + entity/event positional sounds + jump drive sound events + client-side control of impulse initiate / impulse loop sound sequence + +game: + add Ship::ship_dock, making docking independent of player->view() -> relates to player-to-player trading + have the goto command check the target's Docked state -> ties into ship dock awereness + move Ship::dock() functionality into core::EntityControlable + + ship health/shield/armor + add fleet support + +singleplayer: + think about a single player format and potential required core features + +documentation: + update starsystem roadmap + add starsystem roadmap to the user documentation + add a yaw/pitch/roll image to the modelling documentation + +data: + rename skies (lindblade1, lindblade2, ...) + +automake: + perform a library link test after each header test + replace OpenGL header test with SDL_opengl.h + link test with GL_HOST_LIBS (and other host libs) + make install and installation of data/ -- cgit v1.2.3