new entries

This commit is contained in:
Trilarion 2018-01-29 14:27:13 +01:00
parent 0f8339ba7a
commit 8e77dcf609
14 changed files with 158 additions and 47 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/.idea

View File

@ -1,14 +1,14 @@
# Open Source Games # Open Source Games
[comment]: # (start of autogenerated content, do not edit) [comment]: # (start of autogenerated content, do not edit)
198 entries 206 entries
- **[Action games](games/action/_toc.md)** (1) - **[Action games](games/action/_toc.md)** (1)
- **[Adventure games & Visual novels](games/adventure/_toc.md)** (15) - **[Adventure games & Visual novels](games/adventure/_toc.md)** (15)
- **[Game frameworks](games/framework/_toc.md)** (47) - **[Game frameworks](games/framework/_toc.md)** (47)
- **[Popular required libraries](games/library/_toc.md)** (22) - **[Popular required libraries](games/library/_toc.md)** (22)
- **[Role Playing Games](games/rpg/_toc.md)** (61) - **[Role Playing Games](games/rpg/_toc.md)** (61)
- **[Simulation games](games/simulation/_toc.md)** (10) - **[Simulation games](games/simulation/_toc.md)** (10)
- **[Strategy games](games/strategy/_toc.md)** (41) - **[Strategy games](games/strategy/_toc.md)** (49)
- **[Tools & Manuals](games/misc/_toc.md)** (1) - **[Tools & Manuals](games/misc/_toc.md)** (1)
[comment]: # (end of autogenerated content) [comment]: # (end of autogenerated content)
@ -16,7 +16,7 @@ A collection of open source games sorted by genre. The projects are at least in
into an executable demo. Related infos and tips geared toward building the games are collected here. Emphasis is on into an executable demo. Related infos and tips geared toward building the games are collected here. Emphasis is on
support for Windows, Linux and Android. support for Windows, Linux and Android.
See also the list of [popular games on Github](https://github.com/leereilly/games) by Lee Reilly. See also the list of [popular games on Github](https://github.com/leereilly/games) by Lee Reilly or [List of open-source video games](https://en.wikipedia.org/wiki/List_of_open-source_video_games) on Wikipedia.
## Contributing ## Contributing

View File

@ -7,6 +7,7 @@
TODO get number of games with github or bitbucket repository and list those who have neither TODO get number of games with github or bitbucket repository and list those who have neither
TODO Which C, C++ projects do not use CMake TODO Which C, C++ projects do not use CMake
TODO for those games with github repositories get activity, number of open issues, number of merge requests and display in a health monitor file TODO for those games with github repositories get activity, number of open issues, number of merge requests and display in a health monitor file
TODO search for ?? and replace with either nothing or missing information
""" """
import os import os
@ -104,7 +105,7 @@ def update_readme():
# combine titles, category names, numbers in one list # combine titles, category names, numbers in one list
info = zip(titles, [os.path.basename(path) for path in category_paths], n) info = zip(titles, [os.path.basename(path) for path in category_paths], n)
# sort according to title # sort according to sub category title (should be unique)
info = sorted(info, key=lambda x:x[0]) info = sorted(info, key=lambda x:x[0])
# assemble output # assemble output
@ -145,7 +146,7 @@ def update_category_tocs():
# combine name and file name # combine name and file name
info = zip(titles, [os.path.basename(path) for path in entry_paths], more) info = zip(titles, [os.path.basename(path) for path in entry_paths], more)
# sort according to title # sort according to entry title (should be unique)
info = sorted(info, key=lambda x:x[0]) info = sorted(info, key=lambda x:x[0])
# assemble output # assemble output
@ -277,7 +278,7 @@ def check_template_leftovers():
""" """
Checks for template leftovers. Checks for template leftovers.
""" """
check_strings = ['# {NAME}', '_{One line description}_', '- Home: {URL}', '- Media: {URL}', '- Download: {URL}', '- State: beta, mature (inactive since)', '- Keywords: SP, MP, RTS, TBS (if none, remove the line)', '- Code: primary repository (type if not git), other repositories (type if not git)', '- Language(s): {XX}', '- License: {XX} (if special, include link)', '{XXX}'] check_strings = ['# {NAME}', '_{One line description}_', '- Home: {URL}', '- Media: {URL}', '- Download: {URL}', '- State: beta, mature, inactive since', '- Keywords: SP, MP, RTS, TBS (if none, remove the line)', '- Code: primary repository (type if not git), other repositories (type if not git)', '- Language(s): {XX}', '- License: {XX} (if special, include link)', '{XXX}']
# get category paths # get category paths
category_paths = get_category_paths() category_paths = get_category_paths()
@ -376,7 +377,8 @@ def generate_statistics():
if number_inactive > 0: if number_inactive > 0:
entries_inactive = [(x['file'], x['inactive']) for x in infos if 'inactive' in x] entries_inactive = [(x['file'], x['inactive']) for x in infos if 'inactive' in x]
entries_inactive.sort(key=lambda x: -x[1]) # sort by inactive year (more recently first) entries_inactive.sort(key=lambda x: x[0]) # first sort by name
entries_inactive.sort(key=lambda x: -x[1]) # then sort by inactive year (more recently first)
entries_inactive = ['{} ({})'.format(*x) for x in entries_inactive] entries_inactive = ['{} ({})'.format(*x) for x in entries_inactive]
statistics += '##### Inactive State\n\n' + ', '.join(entries_inactive) + '\n\n' statistics += '##### Inactive State\n\n' + ', '.join(entries_inactive) + '\n\n'
@ -402,7 +404,8 @@ def generate_statistics():
unique_languages = set(languages) unique_languages = set(languages)
unique_languages = [(l, languages.count(l) / len(languages)) for l in unique_languages] unique_languages = [(l, languages.count(l) / len(languages)) for l in unique_languages]
unique_languages.sort(key=lambda x: -x[1]) unique_languages.sort(key=lambda x: x[0]) # first sort by name
unique_languages.sort(key=lambda x: -x[1]) # then sort by occurrence (highest occurrence first)
unique_languages = ['- {} ({:.1f}%)\n'.format(x[0], x[1]*100) for x in unique_languages] unique_languages = ['- {} ({:.1f}%)\n'.format(x[0], x[1]*100) for x in unique_languages]
statistics += '##### Language frequency\n\n' + ''.join(unique_languages) + '\n' statistics += '##### Language frequency\n\n' + ''.join(unique_languages) + '\n'
@ -423,7 +426,8 @@ def generate_statistics():
unique_licenses = set(licenses) unique_licenses = set(licenses)
unique_licenses = [(l, licenses.count(l) / len(licenses)) for l in unique_licenses] unique_licenses = [(l, licenses.count(l) / len(licenses)) for l in unique_licenses]
unique_licenses.sort(key=lambda x: -x[1]) unique_licenses.sort(key=lambda x: x[0]) # first sort by name
unique_licenses.sort(key=lambda x: -x[1]) # then sort by occurrence (highest occurrence first)
unique_licenses = ['- {} ({:.1f}%)\n'.format(x[0], x[1]*100) for x in unique_licenses] unique_licenses = ['- {} ({:.1f}%)\n'.format(x[0], x[1]*100) for x in unique_licenses]
statistics += '##### Licenses frequency\n\n' + ''.join(unique_licenses) + '\n' statistics += '##### Licenses frequency\n\n' + ''.join(unique_licenses) + '\n'

View File

@ -1,17 +1,17 @@
[comment]: # (autogenerated content, do not edit) [comment]: # (autogenerated content, do not edit)
# Statistics # Statistics
analyzed 198 entries on 2017-12-13 13:41:30 analyzed 206 entries on 2018-01-29 16:25:05
## State ## State
- mature: 103 (52.0%) - mature: 104 (50.5%)
- beta: 49 (24.7%) - beta: 56 (27.2%)
- inactive: 35 (17.7%) - inactive: 41 (19.9%)
##### Inactive State ##### Inactive State
dnt (2016), egoboo (2015), roguish (2015), sintel (2014), openrpgmaker (2014), rpge (2014), argentum_online (2014), hale (2014), lips_of_suna (2014), open_tibia (2014), summoming_wars (2014), openrpg (2013), trinity_reign (2013), vegatrek (2013), c_evo (2013), dark_city (2012), parpg (2012), dawn (2011), kobolds_quest_2 (2011), kq_lives (2011), project_diaspora (2011), world_of_phaos (2011), star_control_2 (2011), radakan (2010), singularity (2010), annchienta (2009), fall_of_imiryn (2009), goblin_hack (2009), glest (2009), silvertree (2007), crown_and_cutless (2006), geewhiz (2004), openglad (2004), civil (2003), umbra (2002) zoc (2017), dnt (2016), egoboo (2015), roguish (2015), argentum_online (2014), hale (2014), lips_of_suna (2014), open_tibia (2014), openrpgmaker (2014), rpge (2014), sintel (2014), summoming_wars (2014), sworsorc (2014), xenowar (2014), c_evo (2013), openrpg (2013), trinity_reign (2013), vegatrek (2013), dark_city (2012), hexwar (2012), parpg (2012), dawn (2011), kobolds_quest_2 (2011), kq_lives (2011), project_diaspora (2011), star_control_2 (2011), world_of_phaos (2011), radakan (2010), singularity (2010), 8kingdoms (2009), annchienta (2009), fall_of_imiryn (2009), glest (2009), goblin_hack (2009), a_planets_revenge (2008), silvertree (2007), crown_and_cutless (2006), geewhiz (2004), openglad (2004), civil (2003), umbra (2002)
##### Without state tag (46) ##### Without state tag (46)
@ -19,43 +19,45 @@ dnt (2016), egoboo (2015), roguish (2015), sintel (2014), openrpgmaker (2014), r
## Languages ## Languages
Without language tag: 16 (8.1%) Without language tag: 16 (7.8%)
crimson_fields, dragon_history, evol_online, imperium, land_of_fire, meritous, murder_in_the_public_domain, open_general, openal, openrpgmaker, parpg, solaris, space_station_13, star_maiden_rio, vegatrek, xconq crimson_fields, dragon_history, evol_online, imperium, land_of_fire, meritous, murder_in_the_public_domain, open_general, openal, openrpgmaker, parpg, solaris, space_station_13, star_maiden_rio, vegatrek, xconq
##### Language frequency ##### Language frequency
- C++ (40.3%) - C++ (39.7%)
- C (24.3%) - C (24.1%)
- Java (8.4%) - Java (8.4%)
- Python (8.4%) - Python (8.4%)
- Lua (4.4%) - Lua (4.2%)
- Javascript (2.2%) - Javascript (3.0%)
- Ren'py (1.8%) - Ren'py (1.7%)
- C# (1.3%) - C# (1.3%)
- PHP (1.3%) - PHP (1.3%)
- Haxe (0.9%) - Haxe (0.8%)
- Delphi (0.4%)
- D (0.4%)
- Typescript (0.4%)
- Angelscript (0.4%)
- ActionScript (0.4%) - ActionScript (0.4%)
- Text (0.4%)
- Objective C (0.4%)
- VB (0.4%)
- Pascal (0.4%)
- Basic (0.4%)
- Ada (0.4%) - Ada (0.4%)
- Angelscript (0.4%)
- Basic (0.4%)
- Clojure (0.4%) - Clojure (0.4%)
- Kotlin (0.4%) - D (0.4%)
- GDScript (0.4%) - Delphi (0.4%)
- Delphi Pascal (0.4%) - Delphi Pascal (0.4%)
- GDScript (0.4%)
- Kotlin (0.4%)
- Objective C (0.4%)
- Pascal (0.4%)
- Ruby (0.4%)
- Rust (0.4%)
- Text (0.4%)
- Typescript (0.4%)
- VB (0.4%)
## Code licenses ## Code licenses
Without license tag: 28 (14.1%) Without license tag: 36 (17.5%)
atrinik, camelia_girls, catch_challenger, clou, crimson_fields, digital, dragon_hunt, evol_online, freerails, geewhiz, heroes_of_wesnoth, imperium, kobolds_quest_2, kq_lives, land_of_fire, meritous, open_general, openglad, openrpg, openrpgmaker, other_life, parpg, sintel, solaris, space_station_13, star_maiden_rio, warzone_2100, wastes_edge 8kingdoms, a_planets_revenge, atrinik, camelia_girls, catch_challenger, clou, crimson_fields, digital, dragon_hunt, epoh, evol_online, freerails, geewhiz, heroes_of_wesnoth, hexwar, imperium, kobolds_quest_2, kq_lives, land_of_fire, meritous, open_general, openglad, openrpg, openrpgmaker, other_life, parpg, sintel, solaris, space_station_13, star_maiden_rio, sworsorc, war_of_kingdom, warzone_2100, wastes_edge, xenowar, zoc
##### Licenses frequency ##### Licenses frequency
@ -70,19 +72,19 @@ atrinik, camelia_girls, catch_challenger, clou, crimson_fields, digital, dragon_
- LGPL-2.0 (1.2%) - LGPL-2.0 (1.2%)
- LGPL-2.1 (1.2%) - LGPL-2.1 (1.2%)
- Mixed (1.2%) - Mixed (1.2%)
- BSD (0.6%) - AGPL-3.0 (0.6%)
- Artistic License (0.6%) - Artistic License (0.6%)
- Freeware (0.6%) - BSD (0.6%)
- Boost-1.0 (0.6%) - Boost-1.0 (0.6%)
- LGPL-3.0 (0.6%)
- GPl-3.0 (0.6%)
- zlib (core) (0.6%)
- None found (0.6%)
- Different, see file Copying, liblzma is public domain (0.6%) - Different, see file Copying, liblzma is public domain (0.6%)
- Proprietary (0.6%) - Freeware (0.6%)
- GPl-3.0 (0.6%)
- ISC (0.6%) - ISC (0.6%)
- Public Domain (0.6%) - LGPL-3.0 (0.6%)
- MPL-2.0 (0.6%) - MPL-2.0 (0.6%)
- Ms-MPL MIT (0.6%) - Ms-MPL MIT (0.6%)
- AGPL-3.0 (0.6%) - None found (0.6%)
- Proprietary (0.6%)
- Public Domain (0.6%)
- zlib (core) (0.6%)

View File

@ -0,0 +1,12 @@
# 8 Kingdoms
_3D turn-based fantasy strategic game in which players become kings, build their empires and conquer enemy kingdoms._
- Home: https://sourceforge.net/projects/kralovstvi/
- Download: https://sourceforge.net/projects/kralovstvi/files/Legacy/8%20Kingdoms%201.1.0/
- State: beta, inactive since 2009
- Code: https://svn.code.sf.net/p/kralovstvi/code/
- Language(s): C++
## Building

View File

@ -2,6 +2,8 @@
[comment]: # (start of autogenerated content, do not edit) [comment]: # (start of autogenerated content, do not edit)
- **[0AD](0ad.md)** (C++, beta) - **[0AD](0ad.md)** (C++, beta)
- **[8 Kingdoms](8kingdoms.md)** (C++, beta, inactive since 2009)
- **[A Planet's Revenge](a_planets_revenge.md)** (Python, beta, inactive since 2008)
- **[Advanced Strategic Command](asc.md)** (C++, mature) - **[Advanced Strategic Command](asc.md)** (C++, mature)
- **[Battle for Wesnoth](wesnoth.md)** (C++, mature) - **[Battle for Wesnoth](wesnoth.md)** (C++, mature)
- **[Birth of the Empires](birth_of_the_empires.md)** (C++) - **[Birth of the Empires](birth_of_the_empires.md)** (C++)
@ -9,6 +11,7 @@
- **[Civil](civil.md)** (Python, beta, inactive since 2003) - **[Civil](civil.md)** (Python, beta, inactive since 2003)
- **[Crimson Fields](crimson_fields.md)** () - **[Crimson Fields](crimson_fields.md)** ()
- **[Crown and Cutless](crown_and_cutless.md)** (C++, beta, inactive since 2006) - **[Crown and Cutless](crown_and_cutless.md)** (C++, beta, inactive since 2006)
- **[EPOH](epoh.md)** (Javascript, MIT, beta)
- **[Endgame: Singularity](singularity.md)** (Python, beta, inactive since 2010) - **[Endgame: Singularity](singularity.md)** (Python, beta, inactive since 2010)
- **[Free Orion](freeorion.md)** (C++, Python, beta) - **[Free Orion](freeorion.md)** (C++, Python, beta)
- **[FreeCol](freecol.md)** (Java, mature) - **[FreeCol](freecol.md)** (Java, mature)
@ -19,6 +22,7 @@
- **[Glest](glest.md)** (C++, mature, inactive since 2009) - **[Glest](glest.md)** (C++, mature, inactive since 2009)
- **[Globulation2](globulation2.md)** (C++, mature) - **[Globulation2](globulation2.md)** (C++, mature)
- **[Heroes of Wesnoth](heroes_of_wesnoth.md)** (C++, beta) - **[Heroes of Wesnoth](heroes_of_wesnoth.md)** (C++, beta)
- **[Hexwar](hexwar.md)** (Ruby, Javascript, unknown, beta, inactive since 2012)
- **[LGeneral](lgeneral.md)** (C, mature) - **[LGeneral](lgeneral.md)** (C, mature)
- **[LordsAWar!](lordsawar.md)** (C++, mature) - **[LordsAWar!](lordsawar.md)** (C++, mature)
- **[Mechanized Assault & eXploration Reloaded ](maxr.md)** (C++, C) - **[Mechanized Assault & eXploration Reloaded ](maxr.md)** (C++, C)
@ -32,15 +36,19 @@
- **[Pax Britannica](pax_britannica.md)** (Lua, C, mature) - **[Pax Britannica](pax_britannica.md)** (Lua, C, mature)
- **[Spring RTS engine](spring.md)** (C++, C, Lua, mature) - **[Spring RTS engine](spring.md)** (C++, C, Lua, mature)
- **[Star Control II: The Ur-Quan Masters](star_control_2.md)** (C, mature, inactive since 2011) - **[Star Control II: The Ur-Quan Masters](star_control_2.md)** (C, mature, inactive since 2011)
- **[Sworsorc](sworsorc.md)** (Java, beta, inactive since 2014)
- **[Tanks of Freedom](tanks_of_freedom.md)** (GDScript) - **[Tanks of Freedom](tanks_of_freedom.md)** (GDScript)
- **[TripleA](triplea.md)** (Java, mature) - **[TripleA](triplea.md)** (Java, mature)
- **[UFO2000](ufo2000.md)** (C++) - **[UFO2000](ufo2000.md)** (C++)
- **[Ufo: Alien Invasion](ufo_alien_invasion.md)** (C, C++, mature) - **[Ufo: Alien Invasion](ufo_alien_invasion.md)** (C, C++, mature)
- **[Unknown Horizons](unknown_horizons.md)** (Python, beta) - **[Unknown Horizons](unknown_horizons.md)** (Python, beta)
- **[War Of Kingdom](war_of_kingdom.md)** (C, C++, beta)
- **[Warzone 2100](warzone_2100.md)** (C++) - **[Warzone 2100](warzone_2100.md)** (C++)
- **[Widelands](widelands.md)** (C++, Lua, mature) - **[Widelands](widelands.md)** (C++, Lua, mature)
- **[Xconq](xconq.md)** (mature) - **[Xconq](xconq.md)** (mature)
- **[Xenowar](xenowar.md)** (C, C++, GPL-3.0, mature, inactive since 2014)
- **[Zero-K](zero_k.md)** (Lua) - **[Zero-K](zero_k.md)** (Lua)
- **[Zetawar](zetawar.md)** (Clojure, mature) - **[Zetawar](zetawar.md)** (Clojure, mature)
- **[Zone of Control](zoc.md)** (Rust, Apache-2.0, beta, inactive since 2017)
[comment]: # (end of autogenerated content) [comment]: # (end of autogenerated content)

View File

@ -0,0 +1,12 @@
# A Planet's Revenge
_A text-based, turn-based strategy game set in space. It is similar to a 4X game and is inspired by Space Federation: Galactice Conquest._
- Home: https://sourceforge.net/projects/aplanetsrevenge/
- Download: https://sourceforge.net/projects/aplanetsrevenge/files/aplanetsrevenge/apr-1.0-alpha/
- State: beta, inactive since 2008
- Code: see download
- Language(s): Python
## Building

13
games/strategy/epoh.md Normal file
View File

@ -0,0 +1,13 @@
# EPOH
_Multiplayer turn-based browser strategy game._
- Home: http://www.epoh.io/
- State: beta
- Keywords: online
- Code: https://github.com/tautvilas/epoh
- Language(s): Javascript
- License: MIT
## Building

13
games/strategy/hexwar.md Normal file
View File

@ -0,0 +1,13 @@
# Hexwar
_Simple turn based, hexagon map, strategy game in the tradition of Panzer General, Uniwar, and Battle for Wesnoth._
- Home: https://github.com/mgfreshour/hexwar
- State: beta, inactive since 2012
- Keywords: TBS, online
- Code: https://github.com/mgfreshour/hexwar
- Language(s): Ruby, Javascript
- License: unknown
## Building

View File

@ -0,0 +1,11 @@
# Sworsorc
_Online, turn-based epic swords and sorcery strategy game._
- State: beta, inactive since 2014
- Keywords: online
- Code: https://github.com/cjeffery/sworsorc
- Language(s): Java
## Building

View File

@ -0,0 +1,10 @@
# War Of Kingdom
_Turn-based tactical strategy game._
- State: beta
- Code: https://github.com/freeors/War-Of-Kingdom
- Language(s): C, C++
## Building

13
games/strategy/xenowar.md Normal file
View File

@ -0,0 +1,13 @@
# Xenowar
_Turned based strategy game for Win32 and Android OS influenced by X-COM._
- Home: http://xenowar.net
- State: mature, inactive since 2014
- Keywords: TBS
- Code: https://github.com/leethomason/unflobtactical
- Language(s): C, C++
- License: GPL-3.0
## Building

12
games/strategy/zoc.md Normal file
View File

@ -0,0 +1,12 @@
# Zone of Control
_Turn-based hexagonal strategy game written in Rust._
- Download: https://github.com/ozkriff/zoc/releases
- State: beta, inactive since 2017
- Code: https://github.com/ozkriff/zoc
- Language(s): Rust
- License: Apache-2.0
## Building

View File

@ -6,8 +6,8 @@ _{One line description}_
- Media: {URL} // Wikipedia, ... - Media: {URL} // Wikipedia, ...
- Download: {URL} - Download: {URL}
{- Play: {URL}} {- Play: {URL}}
- State: beta, mature (inactive since) // no need to be more fine grained than beta, mature - State: beta, mature, inactive since XX // no need to be more fine grained than beta, mature
- Keywords: SP (single-player), MP (multi-player), MMO (multi massive online), RTS (real time strategy), TBS - Keywords: SP (single-player), MP (multi-player), MMO (multi massive online), RTS (real time strategy), TBS, online
- Code: primary repository (type if not git), other repositories (type if not git) - Code: primary repository (type if not git), other repositories (type if not git)
- Language(s): {XX} - Language(s): {XX}
- License: {XX} // Only with respect to code! MIT, (L)GPL, BSD, zlib, Apache, Special (if other or modified) - License: {XX} // Only with respect to code! MIT, (L)GPL, BSD, zlib, Apache, Special (if other or modified)