GithubHelp home page GithubHelp logo

endless-sky / endless-sky Goto Github PK

View Code? Open in Web Editor NEW
5.3K 165.0 972.0 401.33 MB

Space exploration, trading, and combat game.

Home Page: https://endless-sky.github.io/

License: GNU General Public License v3.0

C++ 96.82% C 0.13% Python 1.74% Roff 0.15% Shell 0.31% CMake 0.85%
2d-game game rpg c-plus-plus cpp free game-development gamedev multiplatform opensource

endless-sky's Introduction

Endless Sky

Explore other star systems. Earn money by trading, carrying passengers, or completing missions. Use your earnings to buy a better ship or to upgrade the weapons and engines on your current one. Blow up pirates. Take sides in a civil war. Or leave human space behind and hope to find some friendly aliens whose culture is more civilized than your own...


Endless Sky is a sandbox-style space exploration game similar to Elite, Escape Velocity, or Star Control. You start out as the captain of a tiny spaceship and can choose what to do from there. The game includes a major plot line and many minor missions, but you can choose whether you want to play through the plot or strike out on your own as a merchant or bounty hunter or explorer.

See the player's manual for more information, or the home page for screenshots and the occasional blog post.

Installing the game

Official releases of Endless Sky are available as direct downloads from GitHub, on Steam, and on Flathub. Other package managers may also include the game, though the specific version provided may not be up-to-date.

System Requirements

Endless Sky has very minimal system requirements, meaning most systems should be able to run the game. The most restrictive requirement is likely that your device must support at least OpenGL 3.

Minimum Recommended
RAM 750 MB 2 GB
Graphics OpenGL 3.0 OpenGL 3.3
Storage Free 350 MB 1.5 GB

Building from source

Development is done using CMake to compile the project. Most popular IDEs are supported through their respective CMake integration. SCons was the primary build tool up until 0.9.16, and some files and information continue to be available for it.

For full installation instructions, consult the Build Instructions readme.

Contributing

As a free and open source game, Endless Sky is the product of many people's work. Contributions of artwork, storylines, and other writing are most in-demand, though there is a loosely defined roadmap. Those who wish to contribute are encouraged to review the wiki, and to post in the community-run Discord beforehand. Those who prefer to use Steam can use its discussion rooms as well, or GitHub's discussion zone.

Endless Sky's main discussion and development area was once Google Groups, but due to factors outside our control, it is now inaccessible to new users, and should not be used anymore.

Licensing

Endless Sky is a free, open source game. The source code is available under the GPL v3 license, and all the artwork is either public domain or released under a variety of Creative Commons (and similarly permissive) licenses. (To determine the copyright status of any of the artwork, consult the copyright file.)

endless-sky's People

Contributors

amazinite avatar anarchist2 avatar arachi-lover avatar beccabunny avatar bene-dictator avatar flowers9 avatar gefulltetaubenbrust2 avatar guillochon avatar hurleveur avatar jafdy avatar marcelinevq avatar masterofgrey avatar mcofficer avatar nescio0 avatar petervdmeer avatar pointedstick avatar quantumshark avatar quyykk avatar risingleaf avatar roadrunner56 avatar samrocketman avatar saugia avatar tehhowch avatar terin avatar tibetiroka avatar tomgoodidea avatar unorderedsigh avatar warp-core avatar wrzlprnft avatar zitchas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

endless-sky's Issues

No sound on Windows 8.1

It's been reported that the game has no sound when running on Windows 8.1, at least for one user.

Make it possible to dump non mission-related cargo when boarding a ship

As always, this is only a suggestion and I leave it up to you to see if/how you want to implement this.
I've often found myself boarding pirate ships with a full hold, and therefore not being able to salvage anything from the boarded ship (provided I don't want to capture it). It would be nice to be able to dump some "lesser" cargo into space to make place for valuable outfits.

It's easy to fail rush job deadlines early on

Before you've done much exploring, it's easy to take on a rush job thinking that you can easily get to the destination on time, but to get lost along the way and fail to meet the deadline. This is particularly true with destinations in the Rim or the Deep where they may look nearby but where you can't reach them by a straight path.

I'm not sure how to avoid this: warning the player about taking rush jobs to unmapped systems, or having rush jobs not be available for the first few months of game time, or making it possible to buy larger maps, or starting the player off with a wide local map, or maybe just having the rush job descriptions mention how far away the destination is.

Allies are merciless toward disabled ships

This is especially jarring when I'm specifically instructed to disable ships rather than kill them, like the early Free Worlds battles. The gameplay and the story seem to contradict one another, since the text talks about how reluctant everyone is to go to battle and how every death is regrettable on both sides, but in actual gameplay they will go out of their way to slaughter any disabled enemy on the map (even ones I'm currently boarding).

Hallucinated ships can be captured

Drug-induced fake ships can be captured. That will put a crew member aboard, and you can even choose such a fake ship to be your flagship. Using the jump drive and infinite fuel, this allows for instantaneous travel across the galaxy.

Suggestion for targeting

The autopilot is better than a human pilot can ever be when it comes to hitting 
a moving target. Instead of having the player always operate at a disadvantage, 
why not introduce autotargeting, like we do for landing and boarding?

Specifically, if the PRIMARY key is held down, and no turning keys are held, 
and a target was selected, the ship would point toward that target like the AI. 
In AI::MovePlayer(), before handling turning keys, we would add:

if((keyHeld & Key::Bit(Key::PRIMARY)) && !ship.GetTargetShip().expired() &&
                (keyHeld & (Key::Bit(Key::BACK) | Key::Bit(Key::RIGHT) | Key::Bit(Key::LEFT))) == 0)
        control.SetTurnCommand(TurnToward(ship, TargetAim(ship)));
else ...

Original issue reported on code.google.com by [email protected] on 30 Aug 2014 at 3:33

Automatic snapshot lost my hyperdrive

After loading the most recent snapshot of my game (i.e. the automatic snapshot done when I left the last station I was landed on), it looks like my ship's hyperdrive disappeared. I don't see it listed in my ship's info, and I can't jump to a new system because I don't have a hyperdrive.

As I'm on a system without outfitter, that's pretty blocking :)

No idea what triggers the bug, but here is the corresponding save file if it might help:
http://remi.verschelde.fr/files/misc/Akuus%20Sargenn.txt

No way to get rid of a captured drone

If you capture a drone in a system without a shipyard, there is no way to get rid of it. The Republic will keep fining you over and over.

As the messages during boarding talk about fighting humans, I guess drones should simply be uncaptureable. It's unobvious how to do that drone hunting mission already.

Fleet management: how to refill secondary ship's fuel?

This might not be an issue strictly speaking, but as I'm struggling with this point, it might mean that it needs to be better documented in the game (unless it's an actual bug that needs to be fixed).

I have two Star Barges, and the second one seems to be stuck in a world without colonised system. I can't seem to find a way to make it ask other ships for fuel, so it's just stuck in this world. What am I missing?

crashes when running in Wine on Linux

One tester, running 0.7.11 in Wine on Linux Mint, encountered intermittent crashes, including a divide by zero error and a page fault (when taking off from a planet, and when making a hyperspace jump). Since I haven't seen this when testing any native builds, it's possible that this bug is unique to Wine.

Crash when calling up map

It seems to only ever happen after I've failed to meet a delivery or escort deadline. I arrive in a system, receive notification that I've missed a deadline, I press 'm' to bring up my map, and the game immediately disappears. This happens pretty consistently, both with 0.7.11 and with git version fd119b4.

Here's the gdb output:

(gdb) run
Starting program: /home/john/endless-sky-git/endless-sky 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py", line 63, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named 'libstdcxx'
[New Thread 0x7fffefca3700 (LWP 16671)]
[New Thread 0x7fffef4a2700 (LWP 16672)]
[New Thread 0x7fffeeca1700 (LWP 16673)]
[New Thread 0x7fffee4a0700 (LWP 16674)]
[New Thread 0x7fffea67a700 (LWP 16675)]
[New Thread 0x7fffe9e79700 (LWP 16676)]
[Thread 0x7fffe9e79700 (LWP 16676) exited]
[New Thread 0x7fffe9e79700 (LWP 16677)]
[New Thread 0x7fffe9678700 (LWP 16678)]
[New Thread 0x7fffe8e77700 (LWP 16679)]
[Thread 0x7fffe8e77700 (LWP 16679) exited]
[New Thread 0x7fffcf20f700 (LWP 16681)]

Program received signal SIGFPE, Arithmetic exception.
0x00000000004a7047 in MapPanel::DrawMissions() const ()
(gdb) bt
#0  0x00000000004a7047 in MapPanel::DrawMissions() const ()
#1  0x00000000004a76a7 in MapPanel::Draw() const ()
#2  0x000000000049ef59 in MapDetailPanel::Draw() const ()
#3  0x000000000051cc9d in UI::DrawAll() ()
#4  0x000000000040b1ae in main ()

screenshot from 2015-06-19 18 11 43

Delivery missions allow exceeding cargo limit

It appears that it is sometimes possible to exceed the cargo capacity on a ship by purchasing goods and then taking on delivery missions. After accepting the mission the Cargo Space Free indicates a negative value. The bug doesn't seem to occur if the mission is taken first: I can't buy goods beyond my listed free space.

Suggestions for combat cashflow

Some ideas to make combat less insanely lucrative in the midgame (when you can 
repeatedly capture Leviathans and sell them for $11M), and more viable in the 
early game.

Original issue reported on code.google.com by [email protected] on 29 Aug 2014 at 10:19

Attachments:

credit for beta testers

@akien-mga and @kilobyte: you've both given me a lot of really helpful feedback, and in the next release I'd like to add you to the game credits as beta testers. If that's okay with you, would you prefer to be listed by your GitHub name, by your real name, or something else?

No second chance after failing a mission in a main quest

I've been playing around in the Free Worlds and doing the first missions, but then I failed the second mission where a bunch of freighters have to be escorted to a distant world, because one freighter was shot down by pirates just before I landed on a planet (and thus saved the game with the mission failed).

I was hoping the Free Worlds guys would propose me to retry this mission after a while, but it looks like I'm out of the Free Worlds quests due to this failure.

It would be nice if the mission was proposed again after a little while, or at least if this very mission could be made slightly easier by allowing losing one freighter (the reward could then drop substantially if it's not too hard to implement).

Doesn't run on Linux

In git 5d28449 on Arch Linux 64 bit ES compiles but doesn't run.

Starting program: /home/qubodup/src/git/endless-sky/endless-sky 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7ffff1451700 (LWP 8978)]
[New Thread 0x7ffff1c52700 (LWP 8977)]
[New Thread 0x7ffff2453700 (LWP 8976)]
[New Thread 0x7ffff2c54700 (LWP 8975)]
bt
[New Thread 0x7fffebccd700 (LWP 8980)]

Program received signal SIGILL, Illegal instruction.
[Switching to Thread 0x7ffff2c54700 (LWP 8975)]
0x000000000047fe3d in (anonymous namespace)::ReadPNG(std::string const&) ()
(gdb) bt
#0  0x000000000047fe3d in (anonymous namespace)::ReadPNG(std::string const&) ()
#1  0x00000000004804e3 in ImageBuffer::Read(std::string const&) ()
#2  0x0000000000504d78 in SpriteQueue::operator()() ()
#3  0x00007ffff6a35df0 in execute_native_thread_routine () from /usr/lib/libstdc++.so.6
#4  0x00007ffff6c91374 in start_thread () from /usr/lib/libpthread.so.0
#5  0x00007ffff61a527d in clone () from /usr/lib/libc.so.6

Installed packages:

$ sudo pacman -Q | grep -e gcc -e scons -e libpng -e libjpeg -e mesa -e glew -e openal
gcc-libs-multilib 4.9.2-4
gcc-multilib 4.9.2-4
gcc-objc 4.9.2-4
glew 1.12.0-1
lib32-gcc-libs 4.9.2-4
lib32-glew 1.12.0-1
lib32-libjpeg-turbo 1.4.0-1
lib32-libpng 1.6.16-1
lib32-libpng12 1.2.52-1
lib32-mesa 10.5.3-1
lib32-mesa-libgl 10.5.3-1
lib32-openal 1.16.0-1
libjpeg-turbo 1.4.0-1
libpng 1.6.16-1
libpng12 1.2.52-1
mesa 10.5.3-1
mesa-demos 8.2.0-4
mesa-libgl 10.5.3-1
openal 1.16.0-1
scons 2.3.4-1

Graphical glitches on Linux in fullscreen mode with Intel HD Graphics

As shown in this screenshot:
fullscreen

I also saw it once in windowed mode, but it's a lot easier to reproduce in fullscreen.

My system: Mageia 5, 64 bits
Linux 3.19.4
X.org 1.16.4
Intel HD Graphics with the latest X.org driver (2.99.917)
Mesa 10.4.7

I'll see if I can reproduce with my Nvidia GPU too.

No image on FreeBSD in fullscreen mode

When I first ran the game, there was nothing than black screen. Turned out that this problem only exists in fullscreen mode, when I've created config file with fullscreen=0 line by hand everything went fine. I use nvidia driver and 2 monitor configuration.

PS. This is the last problem I see on FreeBSD, otherwise it works great!

Boarding is unreliable

In 0.7.10, pressing the 'b' key once was enough. In 0.7.11, though, there is only a small chance it will actually board, most of the time it comes to the target then abandons its efforts. Only after repeatedly trying (easiest by holding down 'b') I can get to board a ship.

Feature: display profit in the trading menu

For the greedy ones who want to know exactly how many credits they gained by buying equipment at a very low price to sell it on a planet of spoiled rich people for a high price, it would be nice to have the initial buy price of the price difference displayed in the trading menu.

Liberated Shiver has government: pug

In one of last Pug missions, the planet that you liberated and are defending still has its government set to "pug". This means, it keeps demanding bribes (hmm... and why would Pugs even accept them?). That's inconvenient especially as I found no other way to complete Pug missions other than massive land-scumming.

Republic still fines you after you've defected

As a Free Worlds rebel, when I visit Republic space during a cease-fire, probes and gunboats still fine me for having an unlicensed ship or illegal nerve gas. It seems to me that if I'm a rebel, I should not not willingly surrender my money.

Sound glitches on FreeBSD

It runs fine on FreeBSD, however the only sounds I hear are creaking and scraping. openal-soft-1.16.0 is used.

"FW Plasma Testing 1B" talks about the wrong ship

When you complete "FW Plasma Testing 1B" and return to Kraz, the message if you haven't waited for the Walloping Window-Blind says that you need to wait for the Red Nile instead (Red Nile at that moment is an expanding cloud of vapour).

A minor issue, but trivial to fix. The former is a "npc accompany save", the latter "npc kill", and the tag doesn't discriminate between them, so the message should hard-code the name of your escort.

SConstruct: Add support for DESTDIR parameter

When packaging RPMs, files are installed in a temporary directory called buildroot (similar to Debian's debian/tmp), and it's pretty usual to rely on the DESTDIR parameter to achieve that.

Currently to install in a tmp directory one should use PREFIX=${mytmpdir}/usr, but that's not really the "proper" way of doing it. It would be more accurate to be able to install Endless Sky with:
scons install DESTDIR=${mytmpdir} PREFIX=/usr,
i.e. you should edit the install script so that it puts stuff in ${DESTDIR}${PREFIX}, with DESTDIR potentially being undefined.

In your case adding support for DESTDIR would be mostly an added convenience for packagers (many distros have macros that include this DESTDIR, e.g. on Mageia we have %scons_install that does the same as the above command without the PREFIX part.

If in the future you need to pass installation parameters as constants during the build time (e.g. to tell the game where the data will be installed), the usual way would be to define the PREFIX (and potentially data installation directory) at build time, and only add the DESTDIR at install time to be able to generate a package.

No way to view the map during a random event dialog

Probably the most frequent random event offers you an extra rush mission. Too bad, you get told only the planet name and deadline, without a chance to view the map to see where the destination is.

It would be great if the "m" key worked while in the dialog.

Handling of absent escorts carrying mission cargo

The handling of mission cargo being loaded onto escorts has to be thought through more carefully to handle cases where an escort is not present in system. This can lead, for example, to a mission being completed even if the ship carrying the cargo for it is not in system. It also means that if an escort is still en-route, your available cargo capacity is smaller, which can cause you to automatically sell cargo or abort missions.

Load/save feature misbehaves until there is actually saved content

When you create a new pilot without having saved pilots already, the load/save menu is not working properly and might even trigger a segmentation fault.

To reproduce:
From a clean environment (no saves), create a new pilot, then press Esc and open the load/save menu. You can then see no pilot listed, no snapshot, and the info window is initialised to empty values. If one clicks in the empty snapshot list, the game segfaults.

To workaround this, the player has to first quit the game (which saves a snapshot it seems, even if it's not straightforward for new players), and then when starting the game again the load/save menu works fine, snapshots can be added for the previously created pilot, etc.

In "FW Pug 3B", Geminus demands a massive bribe.

In some earlier missions, hostile planets required a bribe even for doing something required -- this can make sense. But not in a case where I'm trying to land on a friendly planet that's about to give me a fleet. Also, a fully hostile Republic planet used to demand mere 40k from a "terrorist", while Geminus wants 478k from a friend.

Better support for French AZERTY (and other keyboards)

There are two issues currently when trying to input numbers (e.g. to define how many credits one wants to borrow from the bank):

  • Numpad keys do not seem to be recognised (on Linux at least)
  • Normal number keys can't be used with a French azerty keyboard. The azerty keyboard [1] is always in bother in video games, as the number keys are accessed using the Shift key modifier. Pressing the number keys without Shift inputs a custom character: & é " ' ( - è _ ç à.
    But Shift + one of the character keys listed above does not produce the numbers as it should in Endless Sky, instead I get:
    • 7 for Shift+1 (a.k.a. Shift+&)
    • Nothing for Shift+2 / Shift+é (which seems consistent with the fact that the "é" key does not input the "é" character either)
    • ' for Shift+3 / Shift+"
    • " for Shift+4 / Shift+'
    • 9 for Shift+5 / Shift+(
    • _ for Shift+6 / Shift+-
    • Nothing for Shift+7 / Shift+è (same issue as for 2)
    • - for Shift+8 / Shift+_
    • Nothing for Shift+9 / Shift+ç
    • Nothing for Shift+0 / Shift+à

Hope this helps :-)

[1] http://fr.wikipedia.org/wiki/AZERTY#mediaviewer/Fichier:Clavier-Azerty.svg

No feedback that cloaking device couldn't be installed

If you don't have 10 free outfit space (and almost always, you won't), it will land in your cargo instead. There's no feedback that this happened and you need to install it manually (after squeezing some free space somehow).

This problem doesn't apply to the jump drive, as that replaces a hyperdrive that's at least as big, rather than being an addition.

Pug outfits lack a description

Pug ships can be captured in only a few missions, and such capture causes quite large casualties, but is still perfectly possible. Your crew has typically mere +1.3 fragmentation grenades vs +250 pug biodefenses, but on the other hand a Dreadnought's 89 crew is more than enough to overpower a Zibruka's 4 ("nec Hercules contra plures").

Thus, Pug gear can end up in the player's hands, and needs to be described.

A related issue: instead of reusing the graphics for human gear, you may want to draw generic "alien weapon", "alien power plant", "alien thruster", "alien steering" and use that for all such outfits. While they're not as likely to be seen (not sure how many players do the "Korath hunting" pasttime), seeing a mundane laser or ion thruster seems out of place.

Segmentation fault on fresh build due to non-existent config files

I created fresh build on Ubuntu 14.04 (but I assume same would go for other plaforms) and I got segfaults due to recent.txt and keys.txt (the one inside config directory) not existing.

Fixing the recent.txt part is pretty easy. Just check inside PlayerInfo::LoadRecent() if creating ifstream was successful.

Fixing the keys.txt part would either require check before actually trying to load them or modifying, so that it can handle file not existing and either return error value or throw exception?

Btw. installing game from ppa didn't result in segfaults. I assume the config files are already created in those.

Mission "FW Syndicate Capture 1B" requires too much luck

I had to retry the mission after you capture a Syndicate guy over seventy times (not sure about the exact count). All but 7-8 times I got destroyed in the first system, where a massive horde with particle cannons makes it impossible to jump (particle cannons and missiles give the ship some momentum, causing it to repeatedly try to stop). The remaining times, I got destroyed by insta-kill missiles in the second system. Only after that many tries somehow the missiles flew some other way (a heavy anti-missile turret was never enough). This was with a Dreadnought with atomic engines, so most other ships would die sooner.

While many other missions are luck-based, odds that low are excessive. Am I doing something wrong? If not, I think the first welcome party should be reduced.

Check OpenGL version and print a clear error message

Launching the game through both the PPA and building from source causes the following error:

#version 120
uniform vec2 scale;
uniform vec2 position;
uniform int glyph;
in vec2 vert;
in vec2 corner;
out vec2 texCoord;
void main() {
texCoord = vec2((glyph + corner.x) / 96.f, corner.y);
gl_Position = vec4((vert + position) * scale, 0, 1);
}
0(7) : error C5060: out can't be used with non-varying texCoord
Shader compilation failed.
terminate called without an active exception
Aborted (core dumped)

Relevant hardware:

  • Intel i7 920
  • GeForce GTX 650 Ti Boost

OS: Linux 3.13.0-49-generic #83-Ubuntu x86_64

Re-allow taking mission cargo with lesser cargo full

There's an usability regression: in 0.7.9, the missions screen considered space taken by lesser cargo to be available for missions. The overage, if any, was automatically sold when you departed. This is no longer the case in 0.7.10: if you're travelling with a full hold (ie, most of the time), all cargo missions will be shown in dark brown and you can't take them unless you empty the hold first. This requires you to make an additional step, of first selling all cargo, then viewing missions, and then finally re-buying the cargo. This is merely an usability problem as there's no penalty for re-buying cargo back and forth.

Related: if your hold is overfull (due to a mission you took from a random event rather than the missions screen), even passenger missions are darked out until you sell the overage.

Make missions with deadlines more prominent

Missions with deadlines could perhaps be made more prominent by blinking the mission pointer, and the rate of blinking could increase as you approach the deadline so it is obvious what the highest priority mission is.

IF/ELSE IF evaluations for mission scripting conditions?

I'm currently building a series of pre-war Republic cargo missions, and the first one starts by obtaining the PC's first civilian contract with the Republic Navy. I am planning on having the act of actually learning about the contract be split into two possibilities:

  1. While in the spaceport of a Republic world, the player learns of a contract opportunity with one of the Navy's engineering squads on Chiron.
  2. The player, not having heard of the opportunity already, learns of the opportunity from a sponsored hail while landing on Chiron.

What I want to be able to do is have the mission representing the player actually acquiring the contract have an "if/else if" evaluation in the "to offer" section. If the player accepted the contract in possibility 1, then the mission is offered; otherwise, the player has a random chance of being offered the mission. Furthermore, there would be different dialogue via branching so the player can actually decline the mission if this is their first time hearing of the contract opportunity.

Does the mission scripting language support this kind of logic? The mission scripting documentation seems to say it doesn't.

Intro quest [1 Transport] (escort to New China) not triggered if not enough passenger space

In the main quest, after taking James onboard and landing to New Greenland, he tells the pilot to meet him in the space port for a potential other special job. First time I arrived at this point I had taken some passengers on my shuttle, so the event was not triggered it seems.

There should probably be a mini event with James telling the pilot that he found an interesting job, but that it requires 5 free passenger bunks.

You get repeatedly fined on game reload

When landing with something illegal, you're likely to get fined. The game is saved, but the next time you reload, the fine triggers again, and the game is saved again. If for whatever reason you reload once more, you get hit by the same fine yet again... (this doesn't work every time as there's a chance to avoid a fine).

I see code specifically to avoid this (Politics::Reset()), but for some reason it doesn't work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.