Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

City Simulation Game

License

GPL-2.0 and 3 other licenses found

Licenses found

GPL-2.0
COPYING
Unknown
COPYING-data.txt
Unknown
COPYING-dll.txt
Unknown
COPYING-fonts.txt
NotificationsYou must be signed in to change notification settings

lincity-ng/lincity-ng

https://github.com/lincity-ng/lincity-ng

Introduction

LinCity-NG is a city simulation game. It is a polished and improvedversion of the classic LinCity game. In the game, you are requiredto build and maintain a city. You can win the game either bybuilding a sustainable economy or by evacuating all citizens withspaceships.

See the in-game help [F1] for how to play.

Building and Installation

Note:For best results, follow the instructions included in your version of thesource. That is, consult your local version of README.md. Following instructionsfor a different version than what you are building can cause build failures.

Run Dependencies

Build Dependencies

Building

To clone, configure, build, and install:

git clone https://github.com/lincity-ng/lincity-ng.gitcd lincity-ngcmake -B build -DCMAKE_BUILD_TYPE=Release  # configurecmake --build build --parallel             # buildsudo cmake --install build                 # install

To create a package:

cmake -B build -DCMAKE_BUILD_TYPE=Release --install-prefix <expected install path>cmake --build build --parallel --target package

CMAKE_BUILD_TYPE

The-DCMAKE_BUILD_TYPE=<build-type> option at configure time selects whichdebug features and optimization level to use. Values are case-insensitive.

Allowed values are:

  • Release: This is for regular users or anyone not interested in debugging.This enables the highest optimization level (-O3), and disables all featuresthat are only for development and/or testing. This is the default.
  • MinSizeRel: This tries to make the binary as small as possible.It is the same asRelease except the -Os optimization level is used.
  • RelWithDebInfo: This is for debugging issues in theRelease build typethat may not be present with lower optimization levels. It is also useful forrunning performance analysis. It is the same asRelease except debug symbolsare included in the binary and compile-time warnings are enabled.
  • BetaTest: This is for beta-testing.This enables the highest optimization level (-O3), includes debug symbols inthe binary, and enables runtime assertions. Use this only if you intend toreport issues that you find. The runtime assertions will cause the gameto crash when they fail, so this is just unnecessary inconvenience if youdon't report the failed assertion anyway.
  • Debug: This is for general development.This enables the lowest optimization level (-O0) and all development and testingfeatures. This includes debug symbols, runtime-assertions, and debug loggingto the console. The low optimization level is used to shorten build times asmuch as possible
  • DebugOpt: This is for development when a faster binary is useful.This is the same asDebug except the -O2 optimization level is used.
  • Specifying any other build type not listed above will preventper-configuration build flags from being used. This may be useful whensupplying flags viaCMAKE_<LANG>_FLAGS.

Running

To run the game from the source directory without installing:

./build/bin/lincity-ng --app-data build/share/lincity-ng

When the game is installed, you may run it with:

lincity-ng

Loading games from versions prior to 2.13.0

LinCity-NG 2.13.0 comes with a completely new load/save system that is,unfortunately, not backward compatible. (Some old code just needed to go.) Thegood news is all your hard work toward your super-city-utopia is not lost.

You can use the script located atcontrib/ldsv-format-convert/1328-to-2130.shin the source code (or/usr/share/lincity-ng/1328-to-2130.sh on GNU/Linuxsystems) to convert your game to the new format. The script converts games savedwith Lincity-NG 2.12.x. And the script is likely to also work with games createdwith earlier versions if you had "binary saving" and "seed saving" optionsdisabled.

Before using the script, first make a backup of the games you want to convert:

mv ~/.local/share/lincity-ng/<my-lincity-ng-game>.gz{,.orig}

Then use use the script by passing the old game as standard input, and savingthe new game to standard output:

./contrib/ldsv-format-convert/1328-to-2130.sh \  < ~/.local/share/lincity-ng/<my-lincity-ng-game>.gz.orig \  > ~/.local/share/lincity-ng/<my-lincity-ng-game>.gz

If your game isvery old, you may find it in the~/.lincity-ng directoryinstead.

If the script gives an error, then most likely the game was saved in a formatthat is incompatible with the script. To fix this, fire up a compatible versionof LinCity-NG (2.12.x recommended, but prior versions may work if"binary saving" and "seed saving" are disabled), and load then save your game.Once you do this, the recently-saved game should work with the script.

After using the script to convert your game, upon loading it with version2.13.x, you should not see any warnings in the console -- particularly warningsabout unexpected elements. If you see any warnings, then pleasereport theissue and include the fileyou were trying to load. Such warnings could be indicative of critical errors inthe conversion script.

Contact

View the project on GitHub:https://github.com/lincity-ng/lincity-ng.

Report bugs and suggest features:https://github.com/lincity-ng/lincity-ng/issues.


[8]ページ先頭

©2009-2025 Movatter.jp