further improvement of maintenance scripts

This commit is contained in:
Trilarion 2020-09-09 13:01:44 +02:00
parent c985780dc2
commit 60f9523906
77 changed files with 424 additions and 478 deletions

View File

@ -566,6 +566,7 @@
"https://github.com/dmecke/OpenSoccerStar.git", "https://github.com/dmecke/OpenSoccerStar.git",
"https://github.com/dogballs/cattle-bity.git", "https://github.com/dogballs/cattle-bity.git",
"https://github.com/dorkster/freeblocks.git", "https://github.com/dorkster/freeblocks.git",
"https://github.com/dougmencken/HeadOverHeels.git",
"https://github.com/doxygen/doxygen.git", "https://github.com/doxygen/doxygen.git",
"https://github.com/dreamchess/dreamchess.git", "https://github.com/dreamchess/dreamchess.git",
"https://github.com/dsallen7/ransack-python.git", "https://github.com/dsallen7/ransack-python.git",
@ -666,6 +667,7 @@
"https://github.com/ihofmann/open-websoccer.git", "https://github.com/ihofmann/open-websoccer.git",
"https://github.com/indyjo/Thunder-Lightning.git", "https://github.com/indyjo/Thunder-Lightning.git",
"https://github.com/inexorgame/inexor-core.git", "https://github.com/inexorgame/inexor-core.git",
"https://github.com/inexorgame/vulkan-renderer.git",
"https://github.com/infidel-/cult.git", "https://github.com/infidel-/cult.git",
"https://github.com/inolen/quakejs.git", "https://github.com/inolen/quakejs.git",
"https://github.com/instead-hub/instead.git", "https://github.com/instead-hub/instead.git",

View File

@ -1,298 +0,0 @@
import json
import textwrap
import os
import re
import utils.constants
from utils import constants as c, utils
def export_json(infos):
"""
Parses all entries, collects interesting info and stores it in a json file suitable for displaying
with a dynamic table in a browser.
"""
print('export to json for web display')
# make database out of it
db = {'headings': ['Game', 'Description', 'Download', 'State', 'Keywords', 'Source']}
entries = []
for info in infos:
# game & description
entry = ['{} (<a href="{}">home</a>, <a href="{}">entry</a>)'.format(info['Name'], info['home'][0],
r'https://github.com/Trilarion/opensourcegames/blob/master/entries/' +
info['file']),
textwrap.shorten(info['description'], width=60, placeholder='..')]
# download
field = 'download'
if field in info and info[field]:
entry.append('<a href="{}">Link</a>'.format(info[field][0]))
else:
entry.append('')
# state (field state is essential)
entry.append('{} / {}'.format(info['state'][0],
'inactive since {}'.format(info['inactive']) if 'inactive' in info else 'active'))
# keywords
field = 'keywords'
if field in info and info[field]:
entry.append(', '.join(info[field]))
else:
entry.append('')
# source
text = []
field = 'code repository'
if field in info and info[field]:
text.append('<a href="{}">Source</a>'.format(info[field][0]))
field = 'code language'
if field in info and info[field]:
text.append(', '.join(info[field]))
field = 'code license'
if field in info and info[field]:
text.append(info[field][0])
entry.append(' - '.join(text))
# append to entries
entries.append(entry)
# sort entries by game name
entries.sort(key=lambda x: str.casefold(x[0]))
db['data'] = entries
# output
json_path = os.path.join(c.entries_path, os.path.pardir, 'docs', 'data.json')
text = json.dumps(db, indent=1)
utils.write_text(json_path, text)
def git_repo(repo):
"""
Tests if a repo is a git repo, then returns the repo url, possibly modifying it slightly.
"""
# generic (https://*.git) or (http://*.git) ending on git
if (repo.startswith('https://') or repo.startswith('http://')) and repo.endswith('.git'):
return repo
# for all others we just check if they start with the typical urls of git services
services = ['https://git.tuxfamily.org/', 'http://git.pond.sub.org/', 'https://gitorious.org/',
'https://git.code.sf.net/p/']
for service in services:
if repo.startswith(service):
return repo
if repo.startswith('git://'):
return repo
# the rest is ignored
return None
def svn_repo(repo):
"""
"""
if repo.startswith('https://svn.code.sf.net/p/'):
return repo
if repo.startswith('http://svn.uktrainsim.com/svn/'):
return repo
if repo == 'https://rpg.hamsterrepublic.com/source/wip':
return repo
if repo.startswith('http://svn.savannah.gnu.org/svn/'):
return repo
if repo.startswith('svn://'):
return repo
if repo.startswith('https://svn.icculus.org/') or repo.startswith('http://svn.icculus.org/'):
return repo
# not svn
return None
def hg_repo(repo):
"""
"""
if repo.startswith('https://bitbucket.org/') and not repo.endswith('.git'):
return repo
if repo.startswith('http://hg.'):
return repo
# not hg
return None
def export_primary_code_repositories_json(infos):
"""
"""
print('export to json for local repository update')
primary_repos = {'git': [], 'svn': [], 'hg': []}
unconsumed_entries = []
# for every entry filter those that are known git repositories (add additional repositories)
field = 'code repository-raw'
for info in infos:
# if field 'Code repository' is available
if field in info:
consumed = False
repos = info[field]
if repos:
# split at comma
repos = repos.split(',')
# keep the first and all others containing "(+)"
additional_repos = [x for x in repos[1:] if "(+)" in x]
repos = repos[0:1]
repos.extend(additional_repos)
for repo in repos:
# remove parenthesis and strip of white spaces
repo = re.sub(r'\([^)]*\)', '', repo)
repo = repo.strip()
url = git_repo(repo)
if url:
primary_repos['git'].append(url)
consumed = True
continue
url = svn_repo(repo)
if url:
primary_repos['svn'].append(url)
consumed = True
continue
url = hg_repo(repo)
if url:
primary_repos['hg'].append(url)
consumed = True
continue
if not consumed:
unconsumed_entries.append([info['Name'], info[field]])
# print output
if 'code repository' in info:
print('Entry "{}" unconsumed repo: {}'.format(info['Name'], info[field]))
# sort them alphabetically (and remove duplicates)
for k, v in primary_repos.items():
primary_repos[k] = sorted(set(v))
# statistics of gits
git_repos = primary_repos['git']
print('{} Git repositories'.format(len(git_repos)))
for domain in (
'repo.or.cz', 'anongit.kde.org', 'bitbucket.org', 'git.code.sf.net', 'git.savannah', 'git.tuxfamily',
'github.com',
'gitlab.com', 'gitlab.com/osgames', 'gitlab.gnome.org'):
print('{} on {}'.format(sum(1 if domain in x else 0 for x in git_repos), domain))
# write them to code/git
json_path = os.path.join(c.root_path, 'code', 'archives.json')
text = json.dumps(primary_repos, indent=1)
utils.write_text(json_path, text)
def export_git_code_repositories_json():
"""
"""
urls = []
field = 'code repository'
# for every entry, get all git
for info in infos:
# if field 'Code repository' is available
if field in info:
repos = info[field]
if repos:
# take the first
repo = repos[0]
url = git_repo(repo)
if url:
urls.append(url)
# sort them alphabetically (and remove duplicates)
urls.sort()
# write them to code/git
json_path = os.path.join(c.root_path, 'code', 'git_repositories.json')
text = json.dumps(urls, indent=1)
utils.write_text(json_path, text)
def check_validity_backlog():
import requests
# read backlog and split
file = os.path.join(c.root_path, 'code', 'backlog.txt')
text = utils.read_text(file)
urls = text.split('\n')
urls = [x.split(' ')[0] for x in urls]
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64)'}
for url in urls:
try:
r = requests.get(url, headers=headers, timeout=5)
except Exception as e:
print('{} gave error: {}'.format(url, e))
else:
if r.status_code != requests.codes.ok:
print('{} returned status code: {}'.format(url, r.status_code))
if r.is_redirect or r.history:
print('{} redirected to {}, {}'.format(url, r.url, r.history))
def check_code_dependencies(infos):
"""
"""
# get all names of frameworks and library also using osg.code_dependencies_aliases
valid_dependencies = list(utils.constants.general_code_dependencies_without_entry.keys())
for info in infos:
if any((x in ('framework', 'library', 'game engine') for x in info['keywords'])):
name = info['Name']
if name in utils.constants.code_dependencies_aliases:
valid_dependencies.extend(utils.constants.code_dependencies_aliases[name])
else:
valid_dependencies.append(name)
# get all referenced code dependencies
referenced_dependencies = {}
for info in infos:
deps = info.get('code dependencies', [])
for dependency in deps:
if dependency in referenced_dependencies:
referenced_dependencies[dependency] += 1
else:
referenced_dependencies[dependency] = 1
# delete those that are valid dependencies
referenced_dependencies = [(k, v) for k, v in referenced_dependencies.items() if k not in valid_dependencies]
# sort by number
referenced_dependencies.sort(key=lambda x: x[1], reverse=True)
# print out
print('Code dependencies not included as entry')
for dep in referenced_dependencies:
print('{} ({})'.format(*dep))

View File

@ -9,9 +9,32 @@
import os import os
import re import re
import datetime import datetime
import json
import textwrap
from utils import osg, osg_ui, utils, constants as c from utils import osg, osg_ui, utils, constants as c
import requests import requests
def check_validity_backlog():
import requests
# read backlog and split
file = os.path.join(c.root_path, 'code', 'backlog.txt')
text = utils.read_text(file)
urls = text.split('\n')
urls = [x.split(' ')[0] for x in urls]
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64)'}
for url in urls:
try:
r = requests.get(url, headers=headers, timeout=5)
except Exception as e:
print('{} gave error: {}'.format(url, e))
else:
if r.status_code != requests.codes.ok:
print('{} returned status code: {}'.format(url, r.status_code))
if r.is_redirect or r.history:
print('{} redirected to {}, {}'.format(url, r.url, r.history))
def create_toc(title, file, entries): def create_toc(title, file, entries):
""" """
@ -89,6 +112,78 @@ class EntriesMaintainer:
print('{}: found {}'.format(os.path.basename(entry_path), check_string)) print('{}: found {}'.format(os.path.basename(entry_path), check_string))
print('checked for template leftovers') print('checked for template leftovers')
def check_inconsistencies(self):
"""
:return:
"""
if not self.entries:
print('entries not yet loaded')
return
# get all keywords and print similar keywords
keywords = []
for entry in self.entries:
keywords.extend(entry['Keywords'])
if b'first\xe2\x80\x90person'.decode() in entry['Keywords']:
print(entry['File'])
keywords = [x.value for x in keywords]
# reduce those starting with "multiplayer"
keywords = [x if not x.startswith('multiplayer') else 'multiplayer' for x in keywords]
# check unique keywords
unique_keywords = list(set(keywords))
unique_keywords_counts = [keywords.count(l) for l in unique_keywords]
for index, name in enumerate(unique_keywords):
for other_index in range(index+1, len(unique_keywords)):
other_name = unique_keywords[other_index]
if osg.name_similarity(name, other_name) > 0.8:
print(' Keywords {} ({}) - {} ({}) are similar'.format(name, unique_keywords_counts[index], other_name, unique_keywords_counts[other_index]))
# get all names of frameworks and library also using osg.code_dependencies_aliases
valid_dependencies = list(c.general_code_dependencies_without_entry.keys())
for entry in self.entries:
if any((x in ('framework', 'library', 'game engine') for x in entry['Keywords'])):
name = entry['Title']
if name in c.code_dependencies_aliases:
valid_dependencies.extend(c.code_dependencies_aliases[name])
else:
valid_dependencies.append(name)
# get all referenced code dependencies
referenced_dependencies = {}
for entry in self.entries:
deps = entry.get('Code dependencies', [])
for dependency in deps:
dependency = dependency.value
if dependency in referenced_dependencies:
referenced_dependencies[dependency] += 1
else:
referenced_dependencies[dependency] = 1
# delete those that are valid dependencies
referenced_dependencies = [(k, v) for k, v in referenced_dependencies.items() if k not in valid_dependencies]
# sort by number
referenced_dependencies.sort(key=lambda x: x[1], reverse=True)
# print out
print('Code dependencies not included as entry')
for dep in referenced_dependencies:
print('{} ({})'.format(*dep))
# if there is the "Play" field, it should have "Web" as Platform
for entry in self.entries:
name = entry['File']
if 'Play' in entry:
if not 'Platform' in entry:
print('Entry "{}" has "Play" field but not "Platform" field, add it with "Web"'.format(name))
elif not 'Web' in entry['Platform']:
print('Entry "{}" has "Play" field but not "Web" in "Platform" field'.format(name))
# javascript/typescript as language but not web as platform?
# if there is a @see-download there should be download fields...
def clean_rejected(self): def clean_rejected(self):
""" """
@ -548,10 +643,171 @@ class EntriesMaintainer:
print('statistics updated') print('statistics updated')
def update_html(self): def update_html(self):
pass """
Parses all entries, collects interesting info and stores it in a json file suitable for displaying
with a dynamic table in a browser.
"""
if not self.entries:
print('entries not yet loaded')
return
# make database out of it
db = {'headings': ['Game', 'Description', 'Download', 'State', 'Keywords', 'Source']}
entries = []
for info in self.entries:
# game & description
entry = ['{} (<a href="{}">home</a>, <a href="{}">entry</a>)'.format(info['Title'], info['Home'][0],
r'https://github.com/Trilarion/opensourcegames/blob/master/entries/' +
info['File']),
textwrap.shorten(info.get('Note', ''), width=60, placeholder='..')]
# download
field = 'Download'
if field in info and info[field]:
entry.append('<a href="{}">Link</a>'.format(info[field][0]))
else:
entry.append('')
# state (field state is essential)
entry.append('{} / {}'.format(info['State'][0],
'inactive since {}'.format(osg.extract_inactive_year(info)) if osg.is_inactive(info) else 'active'))
# keywords
keywords = info['Keywords']
keywords = [x.value for x in keywords]
entry.append(', '.join(keywords))
# source
text = []
field = 'Code repository'
if field in info and info[field]:
text.append('<a href="{}">Source</a>'.format(info[field][0].value))
languages = info['Code language']
languages = [x.value for x in languages]
text.append(', '.join(languages))
licenses = info['Code license']
licenses = [x.value for x in licenses]
text.append(', '.join(licenses))
entry.append(' - '.join(text))
# append to entries
entries.append(entry)
# sort entries by game name
entries.sort(key=lambda x: str.casefold(x[0]))
db['data'] = entries
# output
text = json.dumps(db, indent=1)
utils.write_text(c.json_db_file, text)
print('HTML updated')
def update_repos(self): def update_repos(self):
pass """
export to json for local repository update of primary repos
"""
if not self.entries:
print('entries not yet loaded')
return
primary_repos = {'git': [], 'svn': [], 'hg': []}
unconsumed_entries = []
# for every entry filter those that are known git repositories (add additional repositories)
for entry in self.entries:
repos = entry['Code repository']
repos = [x.value for x in repos]
# keep the first and all others containing @add
if not repos:
continue
repos = [repos[0]] + [x for x in repos[1:] if "@add" in x]
for repo in repos:
consumed = False
repo = repo.split(' ')[0].strip()
url = osg.git_repo(repo)
if url:
primary_repos['git'].append(url)
consumed = True
continue
url = osg.svn_repo(repo)
if url:
primary_repos['svn'].append(url)
consumed = True
continue
url = osg.hg_repo(repo)
if url:
primary_repos['hg'].append(url)
consumed = True
continue
if not consumed:
unconsumed_entries.append([entry['Title'], repo])
print('Entry "{}" unconsumed repo: {}'.format(entry['File'], repo))
# sort them alphabetically (and remove duplicates)
for k, v in primary_repos.items():
primary_repos[k] = sorted(set(v))
# statistics of gits
git_repos = primary_repos['git']
print('{} Git repositories'.format(len(git_repos)))
for domain in (
'repo.or.cz', 'anongit.kde.org', 'bitbucket.org', 'git.code.sf.net', 'git.savannah', 'git.tuxfamily',
'github.com',
'gitlab.com', 'gitlab.com/osgames', 'gitlab.gnome.org'):
print('{} on {}'.format(sum(1 if domain in x else 0 for x in git_repos), domain))
# write them to code/git
json_path = os.path.join(c.root_path, 'code', 'archives.json')
text = json.dumps(primary_repos, indent=1)
utils.write_text(json_path, text)
print('Repositories updated')
def collect_git_repos(self):
"""
for every entry, get all git
:return:
"""
git_repos = []
for entry in self.entries:
repos = entry['Code repository']
repos = [x.value for x in repos]
for repo in repos:
repo = repo.split(' ')[0].strip()
url = osg.git_repo(repo)
if url:
git_repos.append(repo)
# sort them alphabetically (and remove duplicates)
git_repos = sorted(list(set(git_repos)), key=str.casefold)
# write them to code/git
json_path = os.path.join(c.root_path, 'code', 'git_repositories.json')
text = json.dumps(git_repos, indent=1)
utils.write_text(json_path, text)
def special_ops(self):
"""
For special operations that are one-time and may change.
:return:
"""
if not self.entries:
print('entries not yet loaded')
return
# remove all downloads that only have a single entry with @see-home (this is the default anyway)
field = 'Download'
for entry in self.entries:
if field in entry:
content = entry[field]
if len(content) == 1 and content[0].value == '@see-home' and not content[0].comment:
del entry[field]
print('special ops finished')
def complete_run(self): def complete_run(self):
pass pass
@ -566,6 +822,7 @@ if __name__ == "__main__":
'Write entries': m.write_entries, 'Write entries': m.write_entries,
'Check template leftovers': m.check_template_leftovers, 'Check template leftovers': m.check_template_leftovers,
'Check external links': m.check_external_links, 'Check external links': m.check_external_links,
'Check inconsistencies': m.check_inconsistencies,
'Check rejected entries': m.clean_rejected, 'Check rejected entries': m.clean_rejected,
'Check external links (takes quite long)': m.check_external_links, 'Check external links (takes quite long)': m.check_external_links,
'Clean backlog': m.clean_backlog, 'Clean backlog': m.clean_backlog,
@ -573,6 +830,7 @@ if __name__ == "__main__":
'Update statistics': m.update_statistics, 'Update statistics': m.update_statistics,
'Update HTML': m.update_html, 'Update HTML': m.update_html,
'Update repository list': m.update_repos, 'Update repository list': m.update_repos,
'Special': m.special_ops,
'Complete run': m.complete_run 'Complete run': m.complete_run
} }

View File

@ -17,6 +17,7 @@ developer_file = os.path.join(root_path, 'developers.md')
backlog_file = os.path.join(code_path, 'backlog.txt') backlog_file = os.path.join(code_path, 'backlog.txt')
rejected_file = os.path.join(code_path, 'rejected.txt') rejected_file = os.path.join(code_path, 'rejected.txt')
statistics_file = os.path.join(root_path, 'statistics.md') statistics_file = os.path.join(root_path, 'statistics.md')
json_db_file = os.path.join(root_path, 'docs', 'data.json')
# local config # local config
local_config_file = os.path.join(root_path, 'local-config.ini') local_config_file = os.path.join(root_path, 'local-config.ini')

View File

@ -505,3 +505,54 @@ def all_urls(entries):
if is_url(subvalue): if is_url(subvalue):
urls[subvalue] = urls.get(subvalue, []) + [file] urls[subvalue] = urls.get(subvalue, []) + [file]
return urls return urls
def git_repo(repo):
"""
Tests if a repo URL is a git repo, then returns the repo url.
"""
# everything that starts with 'git://'
if repo.startswith('git://'):
return repo
# generic (https://*.git) or (http://*.git) ending on git
if (repo.startswith('https://') or repo.startswith('http://')) and repo.endswith('.git'):
return repo
# for all others we just check if they start with the typical urls of git services
services = ['https://git.tuxfamily.org/', 'http://git.pond.sub.org/', 'https://gitorious.org/',
'https://git.code.sf.net/p/']
if any(repo.startswith(service) for service in services):
return repo
# the rest is not recognized as a git url
return None
def svn_repo(repo):
"""
Tests if a repo URL is a svn repo, then returns the repo url.
"""
# we can just go for known providers of svn
services = ('svn://', 'https://svn.code.sf.net/p/', 'http://svn.savannah.gnu.org/svn/', 'https://svn.icculus.org/', 'http://svn.icculus.org/', 'http://svn.uktrainsim.com/svn/', 'https://rpg.hamsterrepublic.com/source/wip')
if any(repo.startswith(service) for service in services):
return repo
# not svn
return None
def hg_repo(repo):
"""
Tests if a repo URL is a hg repo, then returns the repo url.
"""
if repo.startswith('https://bitbucket.org/') and not repo.endswith('.git'):
return repo
if repo.startswith('http://hg.'):
return repo
# not hg
return None

View File

@ -10,6 +10,4 @@
- Code license: MIT - Code license: MIT
- Developer: Jan-Otto Kröpke, Ozan Kurt, Hilarious001 - Developer: Jan-Otto Kröpke, Ozan Kurt, Hilarious001
Space browsergame framework.
## Building ## Building

View File

@ -3,12 +3,10 @@
- Home: http://www.newbreedsoftware.com/3dpong/ - Home: http://www.newbreedsoftware.com/3dpong/
- State: beta, inactive since 2004 - State: beta, inactive since 2004
- Platform: Linux, macOS - Platform: Linux, macOS
- Keywords: arcade, online - Keywords: arcade, online, 3D
- Code repository: @see-home - Code repository: @see-home
- Code language: C - Code language: C
- Code license: GPL-2.0 - Code license: GPL-2.0
- Developer: New Breed Software - Developer: New Breed Software
Three dimensional sports game.
## Building ## Building

View File

@ -2,7 +2,7 @@
- Home: https://packages.debian.org/sid/3dchess, http://www.ibiblio.org/pub/Linux/games/strategy/3Dc-0.8.1.tar.gz - Home: https://packages.debian.org/sid/3dchess, http://www.ibiblio.org/pub/Linux/games/strategy/3Dc-0.8.1.tar.gz
- State: mature, inactive since 2000 - State: mature, inactive since 2000
- Keywords: board, puzzle, chess, open content - Keywords: board, puzzle, chess, open content, 3D
- Code repository: @see-home - Code repository: @see-home
- Code language: C - Code language: C
- Code license: GPL-2.0 - Code license: GPL-2.0
@ -10,6 +10,4 @@
- Assets license: GPL-2.0 - Assets license: GPL-2.0
- Developer: Paul Hicks, Bernard Kennedy - Developer: Paul Hicks, Bernard Kennedy
Chess game on 3 boards.
## Building ## Building

View File

@ -1,9 +1,10 @@
# 3d.city # 3d.city
- Home: http://lo-th.github.io/3d.city/index.html, https://github.com/lo-th/3d.city - Home: http://lo-th.github.io/3d.city/index.html, https://github.com/lo-th/3d.city
- Inspirations: SimCity - Inspirations: SimCity, micropolis
- State: mature, inactive since 2016 - State: mature, inactive since 2016
- Play: http://lo-th.github.io/3d.city/index.html - Play: http://lo-th.github.io/3d.city/index.html
- Platform: Web
- Keywords: simulation, clone, open content - Keywords: simulation, clone, open content
- Code repository: https://github.com/lo-th/3d.city.git - Code repository: https://github.com/lo-th/3d.city.git
- Code language: JavaScript - Code language: JavaScript

View File

@ -3,6 +3,7 @@
- Home: http://www.allureofthestars.com/ - Home: http://www.allureofthestars.com/
- State: beta - State: beta
- Play: http://www.allureofthestars.com/play/ - Play: http://www.allureofthestars.com/play/
- Platform: Web
- Keywords: role playing, strategy, open content, roguelike, turn-based - Keywords: role playing, strategy, open content, roguelike, turn-based
- Code repository: https://github.com/AllureOfTheStars/Allure.git - Code repository: https://github.com/AllureOfTheStars/Allure.git
- Code language: Haskell - Code language: Haskell

View File

@ -3,7 +3,6 @@
- Home: https://arescentral.org/antares - Home: https://arescentral.org/antares
- Inspirations: Ares - Inspirations: Ares
- State: beta - State: beta
- Download: @see-home
- Keywords: remake, strategy, real time, shooter - Keywords: remake, strategy, real time, shooter
- Code repository: https://github.com/arescentral/antares.git - Code repository: https://github.com/arescentral/antares.git
- Code language: C++ - Code language: C++

View File

@ -2,7 +2,6 @@
- Home: https://www.atrinik.org/, https://github.com/atrinik - Home: https://www.atrinik.org/, https://github.com/atrinik
- State: mature, inactive since 2016 - State: mature, inactive since 2016
- Download: @see-home
- Keywords: role playing - Keywords: role playing
- Code repository: https://github.com/atrinik/atrinik.git - Code repository: https://github.com/atrinik/atrinik.git
- Code language: C, Python - Code language: C, Python

View File

@ -4,6 +4,7 @@
- Media: https://en.wikipedia.org/wiki/BrowserQuest - Media: https://en.wikipedia.org/wiki/BrowserQuest
- State: mature - State: mature
- Play: @see-home - Play: @see-home
- Platform: Web
- Keywords: role playing, multiplayer online + massive - Keywords: role playing, multiplayer online + massive
- Code repository: https://github.com/mozilla/BrowserQuest.git - Code repository: https://github.com/mozilla/BrowserQuest.git
- Code language: JavaScript - Code language: JavaScript

View File

@ -2,7 +2,6 @@
- Home: https://castle-engine.io/ - Home: https://castle-engine.io/
- State: mature - State: mature
- Download: @see-home
- Keywords: framework, game engine - Keywords: framework, game engine
- Code repository: https://github.com/castle-engine/castle-engine.git - Code repository: https://github.com/castle-engine/castle-engine.git
- Code language: Pascal - Code language: Pascal

View File

@ -4,6 +4,7 @@
- Inspirations: Castle of the Winds - Inspirations: Castle of the Winds
- State: beta, inactive since 2016 - State: beta, inactive since 2016
- Play: http://game.castleofthewinds.com/ - Play: http://game.castleofthewinds.com/
- Platform: Web
- Keywords: remake, role playing - Keywords: remake, role playing
- Code repository: https://github.com/mordrax/cotwmtor.git - Code repository: https://github.com/mordrax/cotwmtor.git
- Code language: JavaScript - Code language: JavaScript

View File

@ -3,7 +3,6 @@
- Home: https://www.michaelfogleman.com/projects/craft/ - Home: https://www.michaelfogleman.com/projects/craft/
- Inspirations: Minecraft - Inspirations: Minecraft
- State: mature, inactive since 2017 - State: mature, inactive since 2017
- Download: @see-home
- Platform: Windows, Linux, macOS - Platform: Windows, Linux, macOS
- Keywords: puzzle, clone, multiplayer online, open content, sandbox, voxel - Keywords: puzzle, clone, multiplayer online, open content, sandbox, voxel
- Code repository: https://github.com/fogleman/Craft.git - Code repository: https://github.com/fogleman/Craft.git

View File

@ -4,6 +4,7 @@
- Inspirations: Flappy Bird - Inspirations: Flappy Bird
- State: mature, inactive since 2017 - State: mature, inactive since 2017
- Play: @see-home - Play: @see-home
- Platform: Web
- Keywords: puzzle, remake - Keywords: puzzle, remake
- Code repository: https://github.com/varunpant/CrappyBird.git - Code repository: https://github.com/varunpant/CrappyBird.git
- Code language: JavaScript - Code language: JavaScript

View File

@ -3,7 +3,6 @@
- Home: http://www.descent2.de/, https://sourceforge.net/projects/d2x-xl/ - Home: http://www.descent2.de/, https://sourceforge.net/projects/d2x-xl/
- Inspirations: Descent, Descent II - Inspirations: Descent, Descent II
- State: mature, inactive since 2015 - State: mature, inactive since 2015
- Download: @see-home
- Platform: Windows, Linux, macOS - Platform: Windows, Linux, macOS
- Keywords: remake, non-free content, shooter - Keywords: remake, non-free content, shooter
- Code repository: https://svn.code.sf.net/p/d2x-xl/code (svn) - Code repository: https://svn.code.sf.net/p/d2x-xl/code (svn)

View File

@ -5,7 +5,7 @@
- State: mature - State: mature
- Download: https://www.dfworkshop.net/projects/daggerfall-unity/live-builds/ - Download: https://www.dfworkshop.net/projects/daggerfall-unity/live-builds/
- Platform: Windows, Linux, macOS - Platform: Windows, Linux, macOS
- Keywords: remake, role playing, requires additional content - Keywords: remake, role playing, requires original content
- Code repository: https://github.com/Interkarma/daggerfall-unity.git - Code repository: https://github.com/Interkarma/daggerfall-unity.git
- Code language: C# - Code language: C#
- Code license: MIT - Code license: MIT

View File

@ -2,7 +2,7 @@
- Home: http://www.darkdestiny.at/, http://www.thedarkdestiny.at/portalApp/#/, https://sourceforge.net/projects/darkdestiny/ - Home: http://www.darkdestiny.at/, http://www.thedarkdestiny.at/portalApp/#/, https://sourceforge.net/projects/darkdestiny/
- State: mature, inactive since 2016 - State: mature, inactive since 2016
- Keywords: strategy, multiplayer online + massive, turn based - Keywords: strategy, multiplayer online + massive, turn-based
- Code repository: https://gitlab.com/osgames/darkdestiny.git (import of svn), https://svn.code.sf.net/p/darkdestiny/code (svn) - Code repository: https://gitlab.com/osgames/darkdestiny.git (import of svn), https://svn.code.sf.net/p/darkdestiny/code (svn)
- Code language: Java, JavaScript - Code language: Java, JavaScript
- Code license: ? (GPL version?) - Code license: ? (GPL version?)

View File

@ -3,7 +3,6 @@
- Home: http://scoutshonour.com/digital/ - Home: http://scoutshonour.com/digital/
- Media: https://web.archive.org/web/20160507142946/https://lgdb.org/game/digital_love_story - Media: https://web.archive.org/web/20160507142946/https://lgdb.org/game/digital_love_story
- State: mature - State: mature
- Download: @see-home
- Platform: Windows, Linux, macOS - Platform: Windows, Linux, macOS
- Keywords: adventure, visual novel - Keywords: adventure, visual novel
- Code repository: https://gitlab.com/osgames/digitalalovestory.git (copy of version 1.1) - Code repository: https://gitlab.com/osgames/digitalalovestory.git (copy of version 1.1)

View File

@ -2,7 +2,6 @@
- Home: http://emhsoft.com/dh.html, http://savannah.nongnu.org/projects/dragon-hunt - Home: http://emhsoft.com/dh.html, http://savannah.nongnu.org/projects/dragon-hunt
- State: mature - State: mature
- Download: @see-home
- Keywords: role playing - Keywords: role playing
- Code repository: https://gitlab.com/osgames/dragon-hunt.git (backup of cvs), http://savannah.nongnu.org/cvs/?group=dragon-hunt (cvs) - Code repository: https://gitlab.com/osgames/dragon-hunt.git (backup of cvs), http://savannah.nongnu.org/cvs/?group=dragon-hunt (cvs)
- Code language: Python - Code language: Python

View File

@ -2,7 +2,6 @@
- Home: http://www.emhsoft.com/singularity/ - Home: http://www.emhsoft.com/singularity/
- State: beta - State: beta
- Download: @see-home
- Keywords: strategy - Keywords: strategy
- Code repository: https://github.com/singularity/singularity.git - Code repository: https://github.com/singularity/singularity.git
- Code language: Python - Code language: Python

View File

@ -4,6 +4,7 @@
- Inspirations: Enduro - Inspirations: Enduro
- State: mature - State: mature
- Play: https://rafaelcastrocouto.github.io/enduro/ - Play: https://rafaelcastrocouto.github.io/enduro/
- Platform: Web
- Keywords: remake, open content - Keywords: remake, open content
- Code repository: https://github.com/rafaelcastrocouto/enduro.git - Code repository: https://github.com/rafaelcastrocouto/enduro.git
- Code language: JavaScript - Code language: JavaScript

View File

@ -3,7 +3,6 @@
- Home: https://fanwor.tuxfamily.org/ - Home: https://fanwor.tuxfamily.org/
- Inspirations: Legend of Zelda - Inspirations: Legend of Zelda
- State: mature - State: mature
- Download: @see-home
- Keywords: adventure, remake - Keywords: adventure, remake
- Code repository: https://git.tuxfamily.org/fanwor/fanwor.git - Code repository: https://git.tuxfamily.org/fanwor/fanwor.git
- Code language: C - Code language: C

View File

@ -4,6 +4,7 @@
- Inspirations: Plasma Pong - Inspirations: Plasma Pong
- State: mature, inactive since 2013 - State: mature, inactive since 2013
- Play: http://anirudhjoshi.github.io/fluid_table_tennis/ - Play: http://anirudhjoshi.github.io/fluid_table_tennis/
- Platform: Web
- Keywords: arcade, remake, multiplayer competitive + local, open content - Keywords: arcade, remake, multiplayer competitive + local, open content
- Code repository: https://github.com/anirudhjoshi/fluid_table_tennis.git - Code repository: https://github.com/anirudhjoshi/fluid_table_tennis.git
- Code language: JavaScript - Code language: JavaScript

View File

@ -3,7 +3,6 @@
- Home: https://freeablo.org/ - Home: https://freeablo.org/
- Inspirations: Diablo - Inspirations: Diablo
- State: beta - State: beta
- Download: @see-home
- Platform: Windows, Linux, macOS - Platform: Windows, Linux, macOS
- Keywords: action, remake, role playing, commercial content, requires original content - Keywords: action, remake, role playing, commercial content, requires original content
- Code repository: https://github.com/wheybags/freeablo.git - Code repository: https://github.com/wheybags/freeablo.git

View File

@ -2,7 +2,6 @@
- Home: http://sheep.art.pl/Fujo - Home: http://sheep.art.pl/Fujo
- State: mature, inactive since 2014 - State: mature, inactive since 2014
- Download: @see-home
- Keywords: role playing - Keywords: role playing
- Code repository: https://gitlab.com/osgames/fujo.git - Code repository: https://gitlab.com/osgames/fujo.git
- Code language: Python - Code language: Python

View File

@ -3,7 +3,6 @@
- Home: https://geshl2.com/ - Home: https://geshl2.com/
- Inspirations: GoldenEye 007 - Inspirations: GoldenEye 007
- State: mature - State: mature
- Download: @see-home
- Keywords: action, remake, requires original engine (?), shooter - Keywords: action, remake, requires original engine (?), shooter
- Code repository: https://github.com/goldeneye-source/ges-code.git - Code repository: https://github.com/goldeneye-source/ges-code.git
- Code language: C, C++ - Code language: C, C++

View File

@ -4,6 +4,7 @@
- Inspirations: Flag Catcher - Inspirations: Flag Catcher
- State: mature - State: mature
- Play: https://ceva24.github.io/ - Play: https://ceva24.github.io/
- Platform: Web
- Keywords: puzzle, remake - Keywords: puzzle, remake
- Code repository: https://github.com/Ceva24/ceva24.github.io.git - Code repository: https://github.com/Ceva24/ceva24.github.io.git
- Code language: JavaScript - Code language: JavaScript

View File

@ -3,7 +3,6 @@
- Home: http://www.goblincamp.com/, https://web.archive.org/web/20151106001905/https://bitbucket.org/genericcontainer/goblin-camp - Home: http://www.goblincamp.com/, https://web.archive.org/web/20151106001905/https://bitbucket.org/genericcontainer/goblin-camp
- Inspirations: Anno 1404, Dungeon Keeper, Dwarf Fortress - Inspirations: Anno 1404, Dungeon Keeper, Dwarf Fortress
- State: beta, inactive since 2012 - State: beta, inactive since 2012
- Download: @see-home
- Keywords: strategy - Keywords: strategy
- Code repository: https://gitlab.com/osgames/goblin-camp.git, https://github.com/y2s82/goblin_camp.git @add - Code repository: https://gitlab.com/osgames/goblin-camp.git, https://github.com/y2s82/goblin_camp.git @add
- Code language: C++ - Code language: C++

View File

@ -2,7 +2,6 @@
- Home: http://grobots.sourceforge.net/, https://sourceforge.net/projects/grobots/ - Home: http://grobots.sourceforge.net/, https://sourceforge.net/projects/grobots/
- State: mature, inactive since 2014 - State: mature, inactive since 2014
- Download: @see-home
- Platform: Windows, Linux, macOS - Platform: Windows, Linux, macOS
- Keywords: simulation, programming - Keywords: simulation, programming
- Code repository: http://hg.code.sf.net/p/grobots/trunk (hg), https://gitlab.com/osgames/grobots.git @add - Code repository: http://hg.code.sf.net/p/grobots/trunk (hg), https://gitlab.com/osgames/grobots.git @add

View File

@ -3,7 +3,6 @@
- Home: https://harfbuzz.github.io/, https://web.archive.org/web/20200616182117/https://www.freedesktop.org/wiki/Software/HarfBuzz/ - Home: https://harfbuzz.github.io/, https://web.archive.org/web/20200616182117/https://www.freedesktop.org/wiki/Software/HarfBuzz/
- Media: https://en.wikipedia.org/wiki/HarfBuzz - Media: https://en.wikipedia.org/wiki/HarfBuzz
- State: mature - State: mature
- Download: @see-home
- Keywords: library - Keywords: library
- Code repository: https://github.com/harfbuzz/harfbuzz.git - Code repository: https://github.com/harfbuzz/harfbuzz.git
- Code language: C++ - Code language: C++

View File

@ -3,7 +3,7 @@
- Home: https://inexor.org/ - Home: https://inexor.org/
- Inspirations: Cube 2: Sauerbraten - Inspirations: Cube 2: Sauerbraten
- State: beta, inactive since 2018 - State: beta, inactive since 2018
- Keywords: remake, first person, shooter - Keywords: remake, first-person, shooter
- Code repository: https://github.com/inexorgame/vulkan-renderer.git, https://github.com/inexorgame/inexor-core.git @add (@archived) - Code repository: https://github.com/inexorgame/vulkan-renderer.git, https://github.com/inexorgame/inexor-core.git @add (@archived)
- Code language: C++, JavaScript - Code language: C++, JavaScript
- Code license: zlib - Code license: zlib

View File

@ -4,6 +4,7 @@
- Inspirations: Fallout 2 - Inspirations: Fallout 2
- State: beta, inactive since 2017 - State: beta, inactive since 2017
- Play: http://ajxs.github.io/jsFO/ (demo) - Play: http://ajxs.github.io/jsFO/ (demo)
- Platform: Web
- Keywords: remake, role playing, commercial content, requires original content - Keywords: remake, role playing, commercial content, requires original content
- Code repository: https://github.com/ajxs/jsFO.git - Code repository: https://github.com/ajxs/jsFO.git
- Code language: JavaScript, Python - Code language: JavaScript, Python

View File

@ -2,7 +2,6 @@
- Home: http://anttisalonen.github.io/kingdoms/ - Home: http://anttisalonen.github.io/kingdoms/
- State: beta, inactive since 2014 - State: beta, inactive since 2014
- Download: @see-home
- Platform: Linux - Platform: Linux
- Keywords: strategy - Keywords: strategy
- Code repository: https://github.com/anttisalonen/kingdoms.git - Code repository: https://github.com/anttisalonen/kingdoms.git

View File

@ -4,7 +4,6 @@
- Media: https://en.wikipedia.org/wiki/Panzer_General#LGeneral - Media: https://en.wikipedia.org/wiki/Panzer_General#LGeneral
- Inspirations: Panzer General - Inspirations: Panzer General
- State: mature, inactive since 2017 - State: mature, inactive since 2017
- Download: @see-home
- Platform: Android - Platform: Android
- Keywords: remake, strategy, turn-based - Keywords: remake, strategy, turn-based
- Code repository: https://github.com/AndO3131/lgeneral.git (mirror), https://svn.code.sf.net/p/lgeneral/code (svn), http://lgeneral.cvs.sourceforge.net (cvs) - Code repository: https://github.com/AndO3131/lgeneral.git (mirror), https://svn.code.sf.net/p/lgeneral/code (svn), http://lgeneral.cvs.sourceforge.net (cvs)

View File

@ -3,7 +3,6 @@
- Home: http://libpng.org/pub/png/libpng.html, https://libpng.sourceforge.io/ - Home: http://libpng.org/pub/png/libpng.html, https://libpng.sourceforge.io/
- Media: https://en.wikipedia.org/wiki/Libpng - Media: https://en.wikipedia.org/wiki/Libpng
- State: mature - State: mature
- Download: @see-home
- Keywords: library - Keywords: library
- Code repository: https://github.com/glennrp/libpng.git, https://sourceforge.net/p/libpng/code/ci/master/tree/ - Code repository: https://github.com/glennrp/libpng.git, https://sourceforge.net/p/libpng/code/ci/master/tree/
- Code language: C - Code language: C

View File

@ -4,7 +4,6 @@
- Media: https://en.wikipedia.org/wiki/Lincity - Media: https://en.wikipedia.org/wiki/Lincity
- Inspirations: SimCity - Inspirations: SimCity
- State: mature, inactive since 2005 - State: mature, inactive since 2005
- Download: @see-home
- Keywords: simulation, clone - Keywords: simulation, clone
- Code repository: https://gitlab.com/osgames/lincity.git (backup of cvs), http://lincity.cvs.sourceforge.net/ (cvs) - Code repository: https://gitlab.com/osgames/lincity.git (backup of cvs), http://lincity.cvs.sourceforge.net/ (cvs)
- Code language: C - Code language: C

View File

@ -4,7 +4,6 @@
- Media: https://en.wikipedia.org/wiki/Warlords_(game_series)#LordsAWar! - Media: https://en.wikipedia.org/wiki/Warlords_(game_series)#LordsAWar!
- Inspirations: Warlords II - Inspirations: Warlords II
- State: mature - State: mature
- Download: @see-home
- Keywords: strategy, turn-based - Keywords: strategy, turn-based
- Code repository: https://git.savannah.nongnu.org/git/lordsawar.git - Code repository: https://git.savannah.nongnu.org/git/lordsawar.git
- Code language: C++ - Code language: C++

View File

@ -2,7 +2,6 @@
- Home: https://love2d.org/ - Home: https://love2d.org/
- State: mature - State: mature
- Download: @see-home
- Platform: Windows, Linux, macOS, Android, iOS - Platform: Windows, Linux, macOS, Android, iOS
- Keywords: framework - Keywords: framework
- Code repository: https://github.com/love2d/love.git - Code repository: https://github.com/love2d/love.git

View File

@ -3,7 +3,6 @@
- Home: http://www.asceai.net/meritous/ - Home: http://www.asceai.net/meritous/
- Media: https://libregamewiki.org/Meritous - Media: https://libregamewiki.org/Meritous
- State: mature, inactive since 2008 - State: mature, inactive since 2008
- Download: @see-home
- Keywords: role playing - Keywords: role playing
- Code repository: https://github.com/Nop90-Switch/Meritous-Switch.git (import of version 1.2) - Code repository: https://github.com/Nop90-Switch/Meritous-Switch.git (import of version 1.2)
- Code language: C - Code language: C

View File

@ -4,6 +4,7 @@
- Inspirations: Minesweeper - Inspirations: Minesweeper
- State: mature - State: mature
- Play: https://minesweeper.zone/ - Play: https://minesweeper.zone/
- Platform: Web
- Keywords: puzzle, remake, open content - Keywords: puzzle, remake, open content
- Code repository: https://github.com/reed-jones/minesweeper_js.git - Code repository: https://github.com/reed-jones/minesweeper_js.git
- Code language: JavaScript, PHP - Code language: JavaScript, PHP

View File

@ -3,7 +3,6 @@
- Home: http://oitofelix.github.io/mininim/ - Home: http://oitofelix.github.io/mininim/
- Inspirations: Prince of Persia - Inspirations: Prince of Persia
- State: beta, inactive since 2017 - State: beta, inactive since 2017
- Download: @see-home
- Platform: Windows, Linux - Platform: Windows, Linux
- Keywords: action, remake, open content - Keywords: action, remake, open content
- Code repository: https://github.com/oitofelix/mininim.git - Code repository: https://github.com/oitofelix/mininim.git

View File

@ -3,7 +3,6 @@
- Home: https://github.com/Ancurio/mkxp - Home: https://github.com/Ancurio/mkxp
- Inspirations: RPG Maker - Inspirations: RPG Maker
- State: mature - State: mature
- Download: @see-home
- Keywords: framework, clone - Keywords: framework, clone
- Code repository: https://github.com/Ancurio/mkxp.git - Code repository: https://github.com/Ancurio/mkxp.git
- Code language: C++, C - Code language: C++, C

View File

@ -3,8 +3,7 @@
- Home: https://www.netrek.org/, https://sourceforge.net/projects/netrek/, http://mactrek.sourceforge.net/Welcome.html - Home: https://www.netrek.org/, https://sourceforge.net/projects/netrek/, http://mactrek.sourceforge.net/Welcome.html
- Media: https://en.wikipedia.org/wiki/Netrek - Media: https://en.wikipedia.org/wiki/Netrek
- State: mature, inactive since 2009 - State: mature, inactive since 2009
- Play: https://www.playnetrek.org/ - Download: https://www.netrek.org/downloads/, https://www.playnetrek.org/
- Download: https://www.netrek.org/downloads/
- Platform: Windows, Linux, macOS - Platform: Windows, Linux, macOS
- Keywords: action, multiplayer, online - Keywords: action, multiplayer, online
- Code repository: http://netrek.cvs.sourceforge.net (cvs) - Code repository: http://netrek.cvs.sourceforge.net (cvs)

View File

@ -9,8 +9,8 @@
- Code repository: https://gitlab.com/osgames/night-hawk.git (conversion of cvs), http://night-hawk.cvs.sourceforge.net (cvs) - Code repository: https://gitlab.com/osgames/night-hawk.git (conversion of cvs), http://night-hawk.cvs.sourceforge.net (cvs)
- Code language: C++ - Code language: C++
- Code license: GPL-2.0 - Code license: GPL-2.0
- Developer: Jason Nunn, Eric Gillespie - Developer: Jason Nunn, Eric Gillespie (brickviking@GH)
Remake of Paradroid. Remake of Paradroid. May be uploaded in the future under https://github.com/brickviking
## Building ## Building

View File

@ -3,7 +3,6 @@
- Home: https://davidgow.net/keen/omnispeak.html - Home: https://davidgow.net/keen/omnispeak.html
- Inspirations: Commander Keen Series - Inspirations: Commander Keen Series
- State: mature - State: mature
- Download: @see-home
- Keywords: remake, commercial content, requires original content - Keywords: remake, commercial content, requires original content
- Code repository: https://github.com/sulix/omnispeak.git - Code repository: https://github.com/sulix/omnispeak.git
- Code language: C - Code language: C

View File

@ -3,7 +3,6 @@
- Home: https://runescapeclassic.dev/, https://web.archive.org/web/20200510133848/https://openrsc.com/ - Home: https://runescapeclassic.dev/, https://web.archive.org/web/20200510133848/https://openrsc.com/
- Inspirations: Runescape Classic - Inspirations: Runescape Classic
- State: mature - State: mature
- Download: @see-home
- Platform: Windows, Linux, macOS, Android - Platform: Windows, Linux, macOS, Android
- Keywords: remake, role playing, multiplayer online + massive - Keywords: remake, role playing, multiplayer online + massive
- Code repository: https://gitlab.com/open-runescape-classic/core.git, https://gitlab.com/open-runescape-classic/single-player.git @add, https://github.com/Open-RSC/Core-Framework.git (mirror) - Code repository: https://gitlab.com/open-runescape-classic/core.git, https://gitlab.com/open-runescape-classic/single-player.git @add, https://github.com/Open-RSC/Core-Framework.git (mirror)

View File

@ -2,7 +2,6 @@
- Home: http://metasepia.icecavern.net/OurPersonalSpace/index.html - Home: http://metasepia.icecavern.net/OurPersonalSpace/index.html
- State: mature - State: mature
- Download: @see-home
- Keywords: simulation, visual novel - Keywords: simulation, visual novel
- Code repository: https://github.com/qirien/personal-space.git - Code repository: https://github.com/qirien/personal-space.git
- Code language: Ren'Py - Code language: Ren'Py

View File

@ -3,7 +3,6 @@
- Home: http://quakeone.com/proquake/ - Home: http://quakeone.com/proquake/
- Inspirations: Quake - Inspirations: Quake
- State: mature, inactive since 2018 - State: mature, inactive since 2018
- Download: @see-home
- Keywords: remake - Keywords: remake
- Code repository: @see-home (and https://web.archive.org/web/20200211052147/http://quakeone.com/proquake/older_sources/) - Code repository: @see-home (and https://web.archive.org/web/20200211052147/http://quakeone.com/proquake/older_sources/)
- Code language: C - Code language: C

View File

@ -3,7 +3,6 @@
- Home: https://sourceware.org/pthreads-win32/ - Home: https://sourceware.org/pthreads-win32/
- Media: https://en.wikipedia.org/wiki/POSIX_Threads#POSIX_Threads_for_Windows - Media: https://en.wikipedia.org/wiki/POSIX_Threads#POSIX_Threads_for_Windows
- State: mature - State: mature
- Download: @see-home
- Keywords: library - Keywords: library
- Code repository: https://github.com/GerHobbelt/pthread-win32.git (for cvs see home) - Code repository: https://github.com/GerHobbelt/pthread-win32.git (for cvs see home)
- Code language: C - Code language: C

View File

@ -3,7 +3,6 @@
- Home: http://www.colm.net/open-source/ragel/ - Home: http://www.colm.net/open-source/ragel/
- Media: https://en.wikipedia.org/wiki/Ragel - Media: https://en.wikipedia.org/wiki/Ragel
- State: mature - State: mature
- Download: @see-home
- Keywords: library - Keywords: library
- Code repository: git://git.colm.net/ragel.git - Code repository: git://git.colm.net/ragel.git
- Code language: C++ - Code language: C++

View File

@ -4,7 +4,6 @@
- Media: https://en.wikipedia.org/wiki/Rigs_of_Rods - Media: https://en.wikipedia.org/wiki/Rigs_of_Rods
- Inspirations: BeamNG.drive - Inspirations: BeamNG.drive
- State: mature - State: mature
- Download: @see-home
- Platform: Windows - Platform: Windows
- Keywords: simulation, cars, multiplayer online, open content - Keywords: simulation, cars, multiplayer online, open content
- Code repository: https://github.com/RigsOfRods/rigs-of-rods.git - Code repository: https://github.com/RigsOfRods/rigs-of-rods.git

View File

@ -4,7 +4,6 @@
- Media: https://en.wikipedia.org/wiki/RuneScape - Media: https://en.wikipedia.org/wiki/RuneScape
- Inspirations: Old School RuneScape - Inspirations: Old School RuneScape
- State: mature - State: mature
- Download: @see-home
- Keywords: remake, role playing, client, commercial content, multiplayer competitive + online + co-op - Keywords: remake, role playing, client, commercial content, multiplayer competitive + online + co-op
- Code repository: https://github.com/runelite/runelite.git - Code repository: https://github.com/runelite/runelite.git
- Code language: Java - Code language: Java

View File

@ -4,14 +4,13 @@
- Media: https://en.wikipedia.org/wiki/Ryzom - Media: https://en.wikipedia.org/wiki/Ryzom
- Inspirations: Ryzom - Inspirations: Ryzom
- State: mature - State: mature
- Play: https://www.ryzom.com/ (commercial)
- Keywords: remake, role playing, multiplayer massive + online, requires server (?) - Keywords: remake, role playing, multiplayer massive + online, requires server (?)
- Code repository: https://github.com/ryzom/ryzomcore.git, https://gitlab.com/ryzom/ryzom-core.git (mirror) - Code repository: https://github.com/ryzom/ryzomcore.git, https://gitlab.com/ryzom/ryzom-core.git (mirror)
- Code language: C++ - Code language: C++
- Code license: AGPL-3.0 - Code license: AGPL-3.0
- Assets license: CC - Assets license: CC
MMORPG with open world play. MMORPG with open world play. Play at https://www.ryzom.com/ (commercial)
## Building ## Building

View File

@ -2,7 +2,6 @@
- Home: http://scrabble.sourceforge.net/wiki/, https://sourceforge.net/projects/scrabble/ - Home: http://scrabble.sourceforge.net/wiki/, https://sourceforge.net/projects/scrabble/
- State: mature, inactive since 2015 - State: mature, inactive since 2015
- Download: @see-home
- Platform: Windows, Linux, macOS - Platform: Windows, Linux, macOS
- Keywords: board, strategy - Keywords: board, strategy
- Code repository: https://gitlab.com/osgames/scrabble3d.git (conversion of svn), https://github.com/HeikoTietze/scrabble3d.git @add, https://svn.code.sf.net/p/scrabble/code (svn) - Code repository: https://gitlab.com/osgames/scrabble3d.git (conversion of svn), https://github.com/HeikoTietze/scrabble3d.git @add, https://svn.code.sf.net/p/scrabble/code (svn)

View File

@ -3,7 +3,6 @@
- Home: https://web.archive.org/web/20200114185344/http://www.linuxmotors.com/SDL_bomber/ - Home: https://web.archive.org/web/20200114185344/http://www.linuxmotors.com/SDL_bomber/
- Inspirations: Bomberman - Inspirations: Bomberman
- State: mature, inactive since 2012 - State: mature, inactive since 2012
- Download: @see-home
- Platform: Linux - Platform: Linux
- Keywords: action, remake - Keywords: action, remake
- Code repository: @see-download - Code repository: @see-download

View File

@ -2,7 +2,6 @@
- Home: https://pyweek.org/e/np8g/ - Home: https://pyweek.org/e/np8g/
- State: mature - State: mature
- Download: @see-home
- Keywords: adventure - Keywords: adventure
- Code repository: https://github.com/blakeohare/pyweek-sentientstorage.git (JavaScript version) - Code repository: https://github.com/blakeohare/pyweek-sentientstorage.git (JavaScript version)
- Code language: Python - Code language: Python

View File

@ -2,7 +2,6 @@
- Home: https://stendhalgame.org/, https://sourceforge.net/projects/arianne/ - Home: https://stendhalgame.org/, https://sourceforge.net/projects/arianne/
- State: mature - State: mature
- Download: @see-home
- Keywords: role playing, multiplayer, online - Keywords: role playing, multiplayer, online
- Code repository: https://github.com/arianne/stendhal.git, https://git.code.sf.net/p/arianne/stendhal @add - Code repository: https://github.com/arianne/stendhal.git, https://git.code.sf.net/p/arianne/stendhal @add
- Code language: Java - Code language: Java

View File

@ -3,7 +3,6 @@
- Home: https://tof.p1x.in/, https://w84death.itch.io/tanks-of-freedom - Home: https://tof.p1x.in/, https://w84death.itch.io/tanks-of-freedom
- Inspirations: Advance Wars - Inspirations: Advance Wars
- State: mature - State: mature
- Download: @see-home
- Keywords: strategy, clone, multiplayer hotseat + online, open content - Keywords: strategy, clone, multiplayer hotseat + online, open content
- Code repository: https://github.com/w84death/Tanks-of-Freedom.git - Code repository: https://github.com/w84death/Tanks-of-Freedom.git
- Code language: GDScript - Code language: GDScript

View File

@ -4,7 +4,7 @@
- Media: https://en.wikipedia.org/wiki/William_Shatner%27s_TekWar - Media: https://en.wikipedia.org/wiki/William_Shatner%27s_TekWar
- Inspirations: TekWar - Inspirations: TekWar
- State: beta - State: beta
- Keywords: action, remake, commercial content, first person, shooter - Keywords: action, remake, commercial content, first-person, shooter
- Code repository: https://gitlab.com/m210/TekwarGDX.git - Code repository: https://gitlab.com/m210/TekwarGDX.git
- Code language: Java - Code language: Java
- Code license: Custom (see buildlic.txt + GPL-3.0) - Code license: Custom (see buildlic.txt + GPL-3.0)

View File

@ -3,7 +3,7 @@
- Home: http://www.terminal-overload.org/ - Home: http://www.terminal-overload.org/
- Inspirations: Revenge Of The Cats: Ethernet - Inspirations: Revenge Of The Cats: Ethernet
- State: beta, inactive since 2016 - State: beta, inactive since 2016
- Keywords: framework, firstperson, open content, shooter - Keywords: framework, first-person, open content, shooter
- Code repository: https://github.com/fr1tz/terminal-overload.git - Code repository: https://github.com/fr1tz/terminal-overload.git
- Code language: C++, C, C# - Code language: C++, C, C#
- Code license: GPL-3.0 - Code license: GPL-3.0

View File

@ -3,12 +3,12 @@
- Home: https://sourceforge.net/projects/epicheroes/ - Home: https://sourceforge.net/projects/epicheroes/
- State: beta, inactive since 2015 - State: beta, inactive since 2015
- Download: https://sourceforge.net/projects/epicheroes/files - Download: https://sourceforge.net/projects/epicheroes/files
- Keywords: strategy - Keywords: strategy, turn-based, role playing
- Code repository: https://git.code.sf.net/p/epicheroes/code, https://gitlab.com/osgames/epicheroes.git @add - Code repository: https://git.code.sf.net/p/epicheroes/code, https://gitlab.com/osgames/epicheroes.git @add
- Code language: C++ - Code language: C++
- Code license: GPL-3.0 - Code license: GPL-3.0
A cooperative turn-based RPG and Strategy Game where the main goal is to defeat the evil empire. A cooperative game where the main goal is to defeat the evil empire.
## Building ## Building

View File

@ -4,7 +4,7 @@
- Media: https://en.wikipedia.org/wiki/Star_Wars:_Dark_Forces - Media: https://en.wikipedia.org/wiki/Star_Wars:_Dark_Forces
- Inspirations: Dark Forces, Outlaws - Inspirations: Dark Forces, Outlaws
- State: beta - State: beta
- Keywords: action, game engine, remake, commercial content, first person, requires original content, shooter - Keywords: action, game engine, remake, commercial content, first-person, requires original content, shooter
- Code repository: https://github.com/luciusDXL/TheForceEngine.git - Code repository: https://github.com/luciusDXL/TheForceEngine.git
- Code language: C++ - Code language: C++
- Code license: GPL-2.0 - Code license: GPL-2.0

View File

@ -9,6 +9,4 @@
- Code language: C - Code language: C
- Code license: GPL-2.0 - Code license: GPL-2.0
2D platform game.
## Building ## Building

View File

@ -3,7 +3,6 @@
- Home: https://powdertoy.co.uk/ - Home: https://powdertoy.co.uk/
- Inspirations: Powder Game - Inspirations: Powder Game
- State: mature - State: mature
- Download: @see-home
- Platform: Windows, Linux, macOS, Android - Platform: Windows, Linux, macOS, Android
- Keywords: simulation, clone, open content - Keywords: simulation, clone, open content
- Code repository: https://github.com/The-Powder-Toy/The-Powder-Toy.git - Code repository: https://github.com/The-Powder-Toy/The-Powder-Toy.git

View File

@ -10,8 +10,7 @@
- Code language: C++, AngelScript, JavaScript - Code language: C++, AngelScript, JavaScript
- Code license: GPL-3.0 - Code license: GPL-3.0
Similar of Spore. Similar of Spore. Only the Microbe stage is playable now. Really open content?
Only the Microbe stage is playable now. Really open content?
## Building ## Building

View File

@ -4,7 +4,6 @@
- Media: https://en.wikipedia.org/wiki/Total_Annihilation - Media: https://en.wikipedia.org/wiki/Total_Annihilation
- Inspirations: Total Annihilation - Inspirations: Total Annihilation
- State: beta, inactive since 2017 - State: beta, inactive since 2017
- Download: @see-home
- Platform: Windows, Linux, macOS - Platform: Windows, Linux, macOS
- Keywords: remake, strategy, real time - Keywords: remake, strategy, real time
- Code repository: https://github.com/zuzuf/TA3D.git - Code repository: https://github.com/zuzuf/TA3D.git

View File

@ -4,7 +4,6 @@
- Media: https://en.wikipedia.org/wiki/Mad_TV_(video_game)#Remakes - Media: https://en.wikipedia.org/wiki/Mad_TV_(video_game)#Remakes
- Inspirations: Mad TV - Inspirations: Mad TV
- State: mature - State: mature
- Download: @see-home
- Keywords: remake, strategy - Keywords: remake, strategy
- Code repository: https://github.com/TVTower/TVTower.git - Code repository: https://github.com/TVTower/TVTower.git
- Code language: BlitzMax, Lua - Code language: BlitzMax, Lua

View File

@ -3,7 +3,6 @@
- Home: http://ufo2000.sourceforge.net/ - Home: http://ufo2000.sourceforge.net/
- Inspirations: UFO: Enemy Unknown, X-COM: Apocalypse, X-COM: Terror from the Deep, X-COM: UFO Defense - Inspirations: UFO: Enemy Unknown, X-COM: Apocalypse, X-COM: Terror from the Deep, X-COM: UFO Defense
- State: mature, inactive since 2012 - State: mature, inactive since 2012
- Download: @see-home
- Keywords: remake, strategy - Keywords: remake, strategy
- Code repository: https://github.com/ufo2000/ufo2000.git (mirror of svn), https://svn.code.sf.net/p/ufo2000/code (svn) - Code repository: https://github.com/ufo2000/ufo2000.git (mirror of svn), https://svn.code.sf.net/p/ufo2000/code (svn)
- Code language: C, C++, Lua - Code language: C, C++, Lua

View File

@ -3,7 +3,6 @@
- Home: https://vcmi.eu/, https://sourceforge.net/projects/vcmi/ - Home: https://vcmi.eu/, https://sourceforge.net/projects/vcmi/
- Inspirations: Heroes of Might and Magic III - Inspirations: Heroes of Might and Magic III
- State: mature - State: mature
- Download: @see-home
- Keywords: remake, strategy, commercial content, requires original content - Keywords: remake, strategy, commercial content, requires original content
- Code repository: https://github.com/vcmi/vcmi.git, https://svn.code.sf.net/p/vcmi/code (svn) - Code repository: https://github.com/vcmi/vcmi.git, https://svn.code.sf.net/p/vcmi/code (svn)
- Code language: C++ - Code language: C++

View File

@ -2,7 +2,6 @@
- Home: http://vdrift.net/, https://sourceforge.net/projects/vdrift/ - Home: http://vdrift.net/, https://sourceforge.net/projects/vdrift/
- State: mature, inactive since 2014 - State: mature, inactive since 2014
- Download: @see-home
- Platform: Windows, Linux, macOS - Platform: Windows, Linux, macOS
- Keywords: simulation, cars, racing - Keywords: simulation, cars, racing
- Code repository: https://github.com/VDrift/vdrift.git, https://svn.code.sf.net/p/vdrift/code (svn) - Code repository: https://github.com/VDrift/vdrift.git, https://svn.code.sf.net/p/vdrift/code (svn)

View File

@ -2,7 +2,6 @@
- Home: http://adonthell.nongnu.org/download/index.html - Home: http://adonthell.nongnu.org/download/index.html
- State: beta - State: beta
- Download: @see-home
- Keywords: role playing - Keywords: role playing
- Code repository: https://git.savannah.gnu.org/git/adonthell/adonthell-wastesedge.git - Code repository: https://git.savannah.gnu.org/git/adonthell/adonthell-wastesedge.git
- Code language: Python - Code language: Python

View File

@ -3,7 +3,6 @@
- Home: https://tukaani.org/xz/ - Home: https://tukaani.org/xz/
- Media: https://en.wikipedia.org/wiki/XZ_Utils - Media: https://en.wikipedia.org/wiki/XZ_Utils
- State: mature - State: mature
- Download: @see-home
- Keywords: library - Keywords: library
- Code repository: https://git.tukaani.org/xz.git (https://git.tukaani.org/?p=xz.git) - Code repository: https://git.tukaani.org/xz.git (https://git.tukaani.org/?p=xz.git)
- Code language: C - Code language: C

File diff suppressed because one or more lines are too long