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
[comment]: # (start of autogenerated content, do not edit)
198 entries
206 entries
- **[Action games](games/action/_toc.md)** (1)
- **[Adventure games & Visual novels](games/adventure/_toc.md)** (15)
- **[Game frameworks](games/framework/_toc.md)** (47)
- **[Popular required libraries](games/library/_toc.md)** (22)
- **[Role Playing Games](games/rpg/_toc.md)** (61)
- **[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)
[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
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

View File

@ -1,12 +1,13 @@
"""
Counts the number of records each subfolder and updates the overview. Sorts the entries in the contents files of
each subfolder alphabetically.
each sub folder alphabetically.
This script runs with Python 3, it could also with Python 2 with some minor tweaks probably, but that's not important.
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 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
@ -72,7 +73,7 @@ def read_interesting_info_from_file(file):
def update_readme():
"""
Recounts entries in subcategories and writes them to the readme. Needs to be performed regularly.
Recounts entries in sub categories and writes them to the readme. Needs to be performed regularly.
"""
print('update readme file')
@ -104,7 +105,7 @@ def update_readme():
# combine titles, category names, numbers in one list
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])
# assemble output
@ -145,7 +146,7 @@ def update_category_tocs():
# combine name and file name
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])
# assemble output
@ -277,7 +278,7 @@ def check_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
category_paths = get_category_paths()
@ -376,7 +377,8 @@ def generate_statistics():
if number_inactive > 0:
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]
statistics += '##### Inactive State\n\n' + ', '.join(entries_inactive) + '\n\n'
@ -402,7 +404,8 @@ def generate_statistics():
unique_languages = set(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]
statistics += '##### Language frequency\n\n' + ''.join(unique_languages) + '\n'
@ -423,7 +426,8 @@ def generate_statistics():
unique_licenses = set(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]
statistics += '##### Licenses frequency\n\n' + ''.join(unique_licenses) + '\n'

View File

@ -1,17 +1,17 @@
[comment]: # (autogenerated content, do not edit)
# Statistics
analyzed 198 entries on 2017-12-13 13:41:30
analyzed 206 entries on 2018-01-29 16:25:05
## State
- mature: 103 (52.0%)
- beta: 49 (24.7%)
- inactive: 35 (17.7%)
- mature: 104 (50.5%)
- beta: 56 (27.2%)
- inactive: 41 (19.9%)
##### 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)
@ -19,43 +19,45 @@ dnt (2016), egoboo (2015), roguish (2015), sintel (2014), openrpgmaker (2014), r
## 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
##### Language frequency
- C++ (40.3%)
- C (24.3%)
- C++ (39.7%)
- C (24.1%)
- Java (8.4%)
- Python (8.4%)
- Lua (4.4%)
- Javascript (2.2%)
- Ren'py (1.8%)
- Lua (4.2%)
- Javascript (3.0%)
- Ren'py (1.7%)
- C# (1.3%)
- PHP (1.3%)
- Haxe (0.9%)
- Delphi (0.4%)
- D (0.4%)
- Typescript (0.4%)
- Angelscript (0.4%)
- Haxe (0.8%)
- ActionScript (0.4%)
- Text (0.4%)
- Objective C (0.4%)
- VB (0.4%)
- Pascal (0.4%)
- Basic (0.4%)
- Ada (0.4%)
- Angelscript (0.4%)
- Basic (0.4%)
- Clojure (0.4%)
- Kotlin (0.4%)
- GDScript (0.4%)
- D (0.4%)
- Delphi (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
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
@ -70,19 +72,19 @@ atrinik, camelia_girls, catch_challenger, clou, crimson_fields, digital, dragon_
- LGPL-2.0 (1.2%)
- LGPL-2.1 (1.2%)
- Mixed (1.2%)
- BSD (0.6%)
- AGPL-3.0 (0.6%)
- Artistic License (0.6%)
- Freeware (0.6%)
- BSD (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%)
- Proprietary (0.6%)
- Freeware (0.6%)
- GPl-3.0 (0.6%)
- ISC (0.6%)
- Public Domain (0.6%)
- LGPL-3.0 (0.6%)
- MPL-2.0 (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)
- **[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)
- **[Battle for Wesnoth](wesnoth.md)** (C++, mature)
- **[Birth of the Empires](birth_of_the_empires.md)** (C++)
@ -9,6 +11,7 @@
- **[Civil](civil.md)** (Python, beta, inactive since 2003)
- **[Crimson Fields](crimson_fields.md)** ()
- **[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)
- **[Free Orion](freeorion.md)** (C++, Python, beta)
- **[FreeCol](freecol.md)** (Java, mature)
@ -19,6 +22,7 @@
- **[Glest](glest.md)** (C++, mature, inactive since 2009)
- **[Globulation2](globulation2.md)** (C++, mature)
- **[Heroes of Wesnoth](heroes_of_wesnoth.md)** (C++, beta)
- **[Hexwar](hexwar.md)** (Ruby, Javascript, unknown, beta, inactive since 2012)
- **[LGeneral](lgeneral.md)** (C, mature)
- **[LordsAWar!](lordsawar.md)** (C++, mature)
- **[Mechanized Assault & eXploration Reloaded ](maxr.md)** (C++, C)
@ -32,15 +36,19 @@
- **[Pax Britannica](pax_britannica.md)** (Lua, C, 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)
- **[Sworsorc](sworsorc.md)** (Java, beta, inactive since 2014)
- **[Tanks of Freedom](tanks_of_freedom.md)** (GDScript)
- **[TripleA](triplea.md)** (Java, mature)
- **[UFO2000](ufo2000.md)** (C++)
- **[Ufo: Alien Invasion](ufo_alien_invasion.md)** (C, C++, mature)
- **[Unknown Horizons](unknown_horizons.md)** (Python, beta)
- **[War Of Kingdom](war_of_kingdom.md)** (C, C++, beta)
- **[Warzone 2100](warzone_2100.md)** (C++)
- **[Widelands](widelands.md)** (C++, Lua, mature)
- **[Xconq](xconq.md)** (mature)
- **[Xenowar](xenowar.md)** (C, C++, GPL-3.0, mature, inactive since 2014)
- **[Zero-K](zero_k.md)** (Lua)
- **[Zetawar](zetawar.md)** (Clojure, mature)
- **[Zone of Control](zoc.md)** (Rust, Apache-2.0, beta, inactive since 2017)
[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, ...
- Download: {URL}
{- Play: {URL}}
- State: beta, mature (inactive since) // 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
- 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, online
- Code: primary repository (type if not git), other repositories (type if not git)
- Language(s): {XX}
- License: {XX} // Only with respect to code! MIT, (L)GPL, BSD, zlib, Apache, Special (if other or modified)