Singularity Singularity Versions Save

A simulation of a true AI. Survive, grow, and learn.

v1.00

3 years ago

V1.00 (2020.07.02):

GAME CONTENT CHANGES:

  • Locations with higher risk are now highlighted provided the relevant techs have been researched. (nthykier)
  • Add a new power state Offline, which applies to all bases under construction until they can become Active. Bases in the Offline state currently behave like they are in the Sleep state. Based on an idea from Wuzzy2 (Closes: #239, #245) (Xenega)
  • The thrift modification from locations now also applies to CPU maintenance. (Xenega)

USER-VISIBLE CHANGES:

  • Support better translations of strings involving numbers such as "X Days" or "Y Hours". (Closes: #262) (gunchleoc)
  • Fix a visual glitch in the ResearchScreen if the AI had no available CPU because all bases are asleep. (nthykier)
  • It is now possible to convert old savegames to the new format via the Upgrade button on the Load menu. This avoids the hassle of having to manually load and save each game. (nthykier)
  • Implement lexicographic sorting of strings by using Python's locale.strxfrm. This provides better sorting order for non-English languages on all platforms where locale.strxfrm works. Notable exception being MacOS, where Python is reported to have issues still. (Closes: #271) (gunchleoc)
  • Add support for mouse-wheel scrolling in pygame 2 with SDL 2, which re-enables scrolling in lists. (nthykier)
  • Rewrite handling of "holding down key" to repeat a key press. This avoids false "key-repetition" with accented characters. Note that pygame2 with SDLv2 is needed to be able to repeat accented characters by holding down the key. (Closes: #281) (nthykier)
  • Change layout of Knowledge screen. Among other things, this makes more room for concept names. (Closes: #270, #279) (Xenega)
  • Location screen now disables buttons that have no effect. Previously, they would just do "nothing" but where still clickable. (nthykier)
  • Ensure that singularity can start when installed and loaded via pkg_resources.load_entry_point. (Closes #272) (nthykier)
  • Improve savegame dialog to use a translated version of the difficulty as default savegame and reject some invalid path names with a simple error message rather than an exception. Furthermore, the "OK" button is now disabled when the savegame name in invalid. (Closes #267) (gunchleoc)
  • Disable Load and Delete buttons in the load savegame dialog when there are no savegames. (nthykier)
  • Avoid a crash when clicking Load or Delete in the load savegame dialog where no savegames are available. (Closes: #274) (Xenega)
  • Add number separators in statistics screen. (Closes: #266) (gunchleoc)
  • Give text fields a distinct background color to make it easier to see if something is a text field and make title visible in darktheme. (Closes #260) (gunchleoc)
  • Add Scottish Gaelic translation. (Closes: #256, #268, #263, #286, #287) (gunchleoc)
  • Text resizing and layout changes to better accommodate for translations that need more space than the English text. (Closes: #258, #259, #263, #264, #269) (gunchleoc)
  • Minimum resolution has been reduced to 100x100. (rofl0r, nthykier)
  • Enable the game window to be resized like any other window e.g. by dragging in the edges of the game window. (nthykier)
  • Reliably redraw the singularity screen if another window was moved over the game. When singularity was run with pygame 2, this behaviour introduced visible artifacts until something in the game triggered a complete redraw. (nthykier)
  • Fix a number of bugs related to the Power state of bases under construction - like being able to change the power state of an incomplete base. Thanks to Wuzzy2 for reporting the issue. (Closes: #238, related to: #239, #245) (Xenega)
  • Limit resolution input fields in the Options screen to digit characters only. Thanks to Wuzzy2 for reporting the issue. (related to: #236) (Xenega)
  • Show the correct CPU maintenance cost for bases in the base screen. Thanks to Wuzzy2 for reporting the issue. (Closes: #243) (Xenega)
  • Fix a crash with "ridiculously" small resolutions by setting a minimum resolution (during startup and in the options screen). Thanks to Wuzzy2 for reporting the issue. (Closes: #240) (Xenega)
  • Add an OK button next to the custom resolution fields in the Options screen. Previously, there was a confusingly named button labelled Custom, which people mistook for a label rather than a button. Thanks to Wuzzy2 for reporting the issue. (Closes: #236, #242) (Xenega)
  • Fix focus handling in the Knowledge screen, making keyboard and mouse-wheel actions much more predictable. Thanks to Wuzzy2 for reporting the issue. (Closes: #220) (Xenega)
  • Fix bug where choosing Cancel in the Options menu would not roll back changes to the selected theme. (nthykier)
  • Fix some minor color issues with the Nightmode theme, where the default color was used or text became unreadable. Thanks to Wuzzy2 for reporting the issue. (Closes #225, #227) (nthykier)
  • Make room for longer tech names in the Knowledge screen to account for some tech names being significantly longer in translations. Thanks to Wuzzy2 for reporting the issue. (Closes #219) (nthykier, Xenega)
  • Fix a regression where changing the language in game would fail to update the tech names and descriptions. (Closes: #232) (nthykier)
  • Fix crash in the Load dialog when clicking Load if no game was selected. (nthykier)
  • When building bases or CPU for a base, show the correct CPU provided when the base/CPU is constructed. Previously it would not take location and base modifiers into account. Thanks to Wuzzy2 for reporting the issue. (Closes: #230) (nthykier)
  • Fix bug where clicking Cancel in the Options menu would still commit changes to selected warnings. Thanks to Wuzzy2 for reporting the issue. (Closes: #230) (nthykier)
  • Use correct number separator for money under non-English locales (e.g. comma in German) when measured in millions or more. Thanks to Wuzzy2 for reporting the issue. (Closes: #226) (nthykier)
  • Ensure that the about menu text is extracted for translations Thanks to Wuzzy2 for reporting its absence. (Closes: #218) (nthykier)
  • Fix a bug where part of the tech description in the Knowledge menu was not translatable. Thanks to Wuzzy2 for reporting it. (Closes: #217) (nthykier)
  • Fix overly precise durations due to missing rounding when displaying construction times in Python3. Thanks to Wuzzy2 for reporting it. (Closes: #222) (nthykier)
  • Make scrollbar arrows visible in "Nightmode" theme. Thanks to Wuzzy2 for reporting it. (Closes: #221) (nthykier)
  • Add updated German translation. (Closes: #215, #223, #288) (Wuzzy2)
  • Fix bug where "Concepts" in the "Knowledge" menu was not translatable. (Closes: #216) (nthykier)

OTHER CHANGES:

  • Update path name for AUTHORS.txt and Changelog.txt in MANIFEST.in (Closes: #275) (nthykier)
  • Update the URLs to the music to reflect their new location. (MestreLion)
  • In debug mode (--debug), highlight which part of the screen has been redrawn by drawning a box around it. (nthykier)
  • Fix some internal bugs that lead to unnecessary redraws of some of the text panels in the map screen. (nthykier)

Thanks to Wuzzy2, rofl0r, gunchleoc, and LW-archlinux, Quix0r for filing bugs, play testing and moral support.

v1.0b1

4 years ago

v1.0b1 (2020.02.16):

USER-VISIBLE CHANGES:

  • Show a summary of the bases under the CPU and money display. (Closes: #155, #196) (nthykier)
  • Fix a bug where Australia would never get a modifier if the game was created with python3. (nthykier)
  • Fix a crash when accessing the Log menu when playing a game loaded from a 1.0a1 (or later) game.

OTHER CHANGES:

  • Documented known issues with running singularity on MacOS in the README. Please see #197 for more details. Thanks to yiwangwuqian for reporting and Diegus83 for debugging it and finding a possible solution. (nthykier)
  • All translations are now done via ".po" files (GNU Gettext) to ensure everything uses the same work flow for translators. (nthykier)
  • Refactor handling of regional modifiers. This caused a bump in the savegame format, which means games saved by 1.0b1 cannot be loaded in earlier versions of singularity. (nthykier)

v1.0a2

4 years ago

v1.0a2 (2019.12.28):

GAME CONTENT CHANGES:

  • The location Antarctic is now considered as safe as the Ocean location and can therefore be used to research certain dangerous technologies. (Closes: #173) (Xenega, nthykier)
  • Several key technologies can no longer be researched in Urban areas. (Closes: #173) (Xenega, nthykier)

USER-VISIBLE CHANGES:

  • Fix hotkey clash between "PAUSE" and "PREV". (Closes: #212) (danuker, nthykier)
  • Improve keyboard + focus handling for most dialogs by passing keyboard events on to lists, sliders and text fields in the dialog. This enables most dialogs to be handled entirely using keyboard only. (Closes: #209, #211) (nthykier)
  • Replace the GUI click sound to be softer. (Closes: #201, #210) (danuker)
  • Fix crash when loading an old savegame, where the player was researching something that is now not possible due to balancing changes. The game would be often be playable for a short while until something triggered a recalculation of CPU usage. (nthykier)
  • Fix incomplete substitution in log messages about bases being lost due to lack of maintenance. (nthykier)
  • Fix a crash when loading a 1.0alpha1 savegame and opening the log. (Closes: #208) (nthykier)
  • Reduced the default size for text to ensure that most text fields have a consistent text size. (Closes: #200) (nthykier)
  • Text fields now respond to the HOME + END keys and they move the cursor to the start and end of the text field. (nthykier)
  • Show the correct warning when attempting to load unsupported savegames. Previously, it would silently be omitted. (nthykier)
  • Support loading old savegames with a particular corruption where the number of items in a base were sometimes set to the invalid value of 0. The only sane fix is to reset the counter to 1 at the expense of some bases "losing" CPU. (Closes: https://bugs.launchpad.net/ubuntu/+source/singularity/+bug/931037, https://code.google.com/p/endgame-singularity/issues/detail?id=107) (nthykier)
  • Using the arrow keys on the research slider no longer trips "two" clicks rather than one. (Closes: #207, https://bugs.launchpad.net/ubuntu/+source/singularity/+bug/531871) (nthykier)
  • Buttons to construct base items are now disabled when the player cannot built any item of that particular item.
  • Fixed a crash in the build dialog for a base if you tried to build a security item but had not researched any for that particular base. (Closes: #206) (nthykier)
  • Added savegame compat for some older development savegames known as "0.31pre" by discarding the log entries from them. (Closes: #198, #199) (nthykier)
  • Fixed a bug where trigger times of events where reset on loading the game leading them to last longer than they should. (nthykier)

OTHER CHANGES:

  • Include version information in the error log to simplify reporting of bugs and crashes. (nthykier)

singularity-1.0a1

4 years ago

v1.0a1 (release 2019.12.07):

GAME CONTENT CHANGES:

  • Endgame requires a lot less grinding (emh, Xenega)
  • New early-midgame bases to make the progression into the midgame more smooth (Xenega)
  • All CPUs have been rebalanced. Notably midgame CPUs have a much better cost/effeciency ratio and endgame CPUs have been nerfed considerably (Xenega)
  • New security and reactor items are now available (Xenega)

USER-VISIBLE CHANGES:

  • Show standard costs and detection chances of items and bases in the Knowledge screen excluding any location modifiers (Xenega)
  • Show location modifiers more prominently in the location screen and the dialog for constructing a new base (Xenega)
  • Show difficulty setting and in-game time for new savegames (Xenega)
  • Loading an old savegame (e.g. from 0.30c) will now retroactively apply the game data from the latest version of Singularity - including making new game content researchable (Closes: #56, #122, #145) (nthykier)
  • Unify multiple messages into a single dialog with multiple pages. This new dialog also supports resuming the game instead of forcing the game to be paused (Xenega)
  • Events can now expire and two non-unique events now do. Previously, they could reappear continously possibly making the game almost impossible (or completely neutering the affected group) (nthykier)
  • The cash display now shows the expected cash change over the next 24 hours next to the current cash. Likewise, the CPU display includes how much spare CPU there is after maintenance and construction. These numbers also include purchases currently under consideration (Closes: #21, #100) (nthykier)
  • Support searching for a savegame by name in the Load dialog (nthykier)
  • Make the base type and its total CPU visible in the list of bases at a given location (Closes: #64) (nthykier)
  • Fix a crash when savegame names contained non-ASCII UTF-8 characters (Closes: https://bugs.debian.org/718447) (nthykier)
  • Fix visual lag at the highest game speed due to recalculating the "day/night" layers (nthykier)
  • It is now possible to use double-click as a short-cut for "Open base" when viewing the list of bases at a Location. (nthykier)
  • Base purchase screen now provides more details about the base, including accurate purchase and maintenance cost plus detection rates (at the level the player is allowed to see them) (Xenega)
  • Ensure that CPU allocations are re-allocated properly when the player loses too much CPU at a given danger level (Closes: #103) (Xenega)
  • Have a separate volume bar for music and sounds (Closes: #90) (Xenega)
  • Use the XDG Base Directory Specification on relevant platforms (Closes: #53) (Xenega)
  • Support deleting existing savegames via the Load screen (Closes: #48) (Xenega)
  • Select the amount of CPU at the same dialog as the CPU selection dialog (Xenega)
  • Add new "nightmode" theme (Closes: #119) (cryptarch)
  • Theming support to change background image, colors, fonts, etc. The themes can have language specific content (e.g. fonts better suited for the given language) (MestreLion, Xenega)
  • Support changing language without restarting the game (Xenega)
  • Add warnings for some common issues such as when the player only has one base left or that when changing CPU of a base will remove existing CPU (Closes: #17) (Xenega)
  • Support renaming bases (Xenega)
  • Add a 24-hour finance report (Xenega)
  • Fix various bugs in the shown detection rates (juise)
  • The game now records a log of the latest events that happened (Xenega, nthykier)
  • Fix issue where build times were affected by game speed (Closes: #18) (Xenega)
  • Singularity no longer proposes resolutions larger than the detected display size and now defaults to 1024x768 as the new default (MestreLion)
  • Persisting changes in the Options is now automatic on "OK" (MestreLion)
  • Limit total amount of cash to avoid overflow (Closes: #110) (MestreLion)
  • Use 2 decimal places when displaying cash or CPU for large numbers (MestreLion)
  • Reset music when starting a new or loading an existing game (Closes: #100) (MestreLion)
  • Fixed techs being reset if language is changed mid-game (Closes: #99) (MestreLion)
  • Saved games list now sorted in in-game load dialog (MestreLion)
  • Fixed events not being translated when language changes in-game (Closes: #128) (MestreLion)
  • Fixed --singledir and --multidir being ignored for saves, preferences, music and error log. Also, if possible (Python >= 2.6), error.log is now created only when (and if) an error actually occurs (MestreLion)
  • Added Brazilian Portuguese (pt_BR) translation (Closes: #130)(MestreLion)
  • Updated es_AR translation (Closes: #20)(justapawn)
  • Try to use user's locale, or a similar language, as game language (MestreLion)
  • Launcher for Linux is now "singularity"
  • Revamped Options screen, including new resolutions (MestreLion, Xenega)

OTHER CHANGES:

  • Refactored code into a top-level module called singularity instead of using generic top-level python modules nad improve setup.py to be setuptools compatible (Closes: #12) (rardiol)
  • New savegame format based on JSON to avoid a savegame format that can include arbitrary code execution via Python's pickle module. Please note that any old style savegame will still trip the picke-based codepaths already in the savegame listing to simplify the process for players upgrading from 0.30c (Closes: #52) (nthykier)
  • Add basic documentation of the data files in the docs/ folder of the Github repo (nthykier)
  • Work around a file descriptor "leak" in Pygame. This fix requires Pygame 1.9.2 or later to fully plug the leak (Closes: #156) (nthykier, Xenega)
  • Add a small test suite and CI testing to catch trivial mistakes earlier (nthykier)
  • Port the game to run on Python3 (Closes: #15, #169) (Rardiol, nthykier)
  • Include a singularity.desktop file (Matthias Mailänder)
  • Fix crash related to large font sizes (MestreLion)
  • Created .gitignore and .gitattributes files to aid development (Mestrelion)
  • New i18n and hotkey approach. E:S is now fully translatable (MestreLion)
  • New tools under utils/ dir (MestreLion)
  • Use ~/.config/singularity for preferences dir, in a backward-compatible way with previous releases: if ~/.endgame is found it is used instead (MestreLion)
  • Added ~/.local/share/singularity/music as additional source for music, with a symlink in preferences folder pointing to it (MestreLion)

Thanks

Thanks to (in no particular order) for filing bugs, play testing and moral support:

Quix0r, dwentz89, rofl0r, PeterJust, cryptarch, Musickiller, smiley1983,
osjc, ardapekis, quantuumsnot, sbosshardt