rename of entries fields to get only singular field names

This commit is contained in:
Trilarion 2020-09-28 22:19:01 +02:00
parent 2d52caf518
commit 873679fcc6
1453 changed files with 2944 additions and 2943 deletions

View File

@ -28,9 +28,6 @@ http://icculus.org/jugglemaster/
http://icculus.org/pyddr/
http://icculus.org/toby/
http://iichantra.ru/en/
https://github.com/armory3d/iron
https://github.com/AxioDL/urde
https://github.com/Gramps/GodotSteam
http://insideastarfilledsky.net/
http://lazerbears.wixsite.com/lazerbears/cr-editor
http://libagar.org/agar/index.html.en
@ -51,7 +48,6 @@ http://roguebasin.roguelikedevelopment.org/index.php?title=Main_Page
http://sam.zoy.org/monsterz/
http://senseis.xmp.net/?GoPlayingPrograms
http://sio2interactive.com/
https://github.com/EasyRPG/Editor-Qt
http://slick.ninjacave.com/
http://snowstorm.sourceforge.net/cgi-bin/site.cgi
http://sol.gfxile.net/ambrose3d/index.html
@ -208,6 +204,7 @@ https://github.com/adriengivry/Overload
https://github.com/aloisdeniel/awesome-monogame
https://github.com/Alzter/TuxBuilder
https://github.com/amerkoleci/Vortice.Windows
https://github.com/armory3d/iron
https://github.com/arturkot/the-house-game
https://github.com/asweigart/PythonStdioGames
https://github.com/AtomicGameEngine/AtomicGameEngine
@ -275,6 +272,7 @@ https://github.com/GNOME/quadrapassel
https://github.com/godot-extended-libraries/godot-next
https://github.com/godot-mega-man/Mega-Man-Engine
https://github.com/godotengine/godot-design
https://github.com/Gramps/GodotSteam
https://github.com/grantjenks/free-python-games (check all)
https://github.com/guillaumechereau/goxel
https://github.com/H-uru/Plasma

View File

@ -7,29 +7,28 @@ Uses Jinja2 (see https://jinja.palletsprojects.com/en/2.11.x/)
# TODO index.html tiles, content
# TODO index.html image (maybe downloaded and assembled from osgameclones)
# TODO index.html only count games
# TODO Font awesome 5 (icons for OS, for Github, Gitlab and maybe others)
# TODO contribute.html tiles? content
# TODO games pages links to licenses (wikipedia)
# TODO Font awesome 4 or others (icons for OS, for Github, Gitlab and maybe others like external link)
# TODO contribute.html tiles? content?
# TODO games: links to licenses (wikipedia)
# TODO indexes: make categories bold that have a certain amount of entries!
# TODO everywhere: style URLs (Github, Wikipedia, Internet archive, SourceForge, ...)
# TODO developers pages links to games and more information, styles
# TODO inspirations pages, add link to games and more information, styles
# TODO navbar add is active
# TODO developers: links to games and more information, styles
# TODO inspirations: add link to games and more information, styles
# TODO statistics page: better and more statistics with links where possible
# TODO meaningful information (links, license, last updated with lower precision)
# TODO singular, plural everywhere (game, entries, items)
# TODO background and shadow for the boxes
# TODO line breaks and spaces in html source and output
# TODO rename fields (Home to Homepage, Inspirations to Inspiration)
# TODO developers contact expand to links to Github, Sourceforge
# TODO games keywords as labels (some as links)
# TODO games links to licenses and languages
# TODO platforms as labels and with links
# TODO split games in libraries/tools/frameworks and real games
# TODO developers: contact expand to links to Github, Sourceforge
# TODO games: keywords as labels (some as links)
# TODO games: links languages
# TODO games: platforms as labels and with links
# TODO split games in libraries/tools/frameworks and real games, add menu
# TODO statistics with nice graphics (pie charts in SVG) with matplotlib, seaborn, plotly?
# TODO statistics, get it from common statistics generator
# TODO optimize jinja for line breaks and indention
# TODO @notices in entries
# TODO optimize jinja for line breaks and indention and minimal amount of spaces
# TODO replace or remove @notices in entries (maybe different entries format)
# TODO icons: for the main categories (devs, games, statistics, home, ...)
# TODO SEO optimizations, google search ...
import os
import shutil
@ -49,7 +48,7 @@ inspirations_path = 'inspirations'
developers_path = 'developers'
plurals = {k: k+'s' for k in ('Assets license', 'Contact', 'Code language', 'Code license', 'Developer', 'Download', 'Inspiration', 'Game', 'Home', 'Organization', 'Platform')}
for k in ('Media', 'Play', 'Keywords'):
for k in ('Media', 'Play', 'Keyword'):
plurals[k] = k
for k in ('Code repository', 'Code dependency'):
plurals[k] = k[:-1] + 'ies'
@ -308,10 +307,10 @@ def convert_entries(entries, inspirations, developers):
developer_references = {developer['Name']: developer['href'] for developer in developers}
for entry in entries:
fields = []
for field in ('Home', 'Inspirations', 'Media', 'Download', 'Play', 'Developer', 'Keywords'):
for field in ('Home', 'Inspiration', 'Media', 'Download', 'Play', 'Developer', 'Keyword'):
if field in entry:
e = entry[field]
if field == 'Inspirations':
if field == 'Inspiration':
field = 'Inspiration' # TODO this is a bug, rename in entries
if isinstance(e[0], osg.osg_parse.ValueWithComment):
e = [x.value for x in e]
@ -331,12 +330,12 @@ def convert_entries(entries, inspirations, developers):
if 'Note' in entry:
fields.append({'entries': [{'href': '', 'name': entry['Note']}]})
fields.append({'title': 'Technical info', 'entries': []})
for field in ('Platform', 'Code language', 'Code license', 'Code repository', 'Code dependencies', 'Assets license'):
for field in ('Platform', 'Code language', 'Code license', 'Code repository', 'Code dependency', 'Assets license'):
if field in entry:
e = entry[field]
if not e:
continue
if field == 'Code dependencies':
if field == 'Code dependency':
field = 'Code dependency' # bug, rename field
if isinstance(e[0], osg.osg_parse.ValueWithComment):
e = [x.value for x in e]
@ -386,7 +385,7 @@ def generate(entries, inspirations, developers):
developers_by_alphabet = sort_into_categories(developers, extended_alphabet, lambda item, category: category == item['letter'])
genres = [keyword.capitalize() for keyword in c.recommended_keywords]
games_by_genre = sort_into_categories(entries, genres, lambda item, category: category.lower() in item['Keywords'])
games_by_genre = sort_into_categories(entries, genres, lambda item, category: category.lower() in item['Keyword'])
games_by_platform = sort_into_categories(entries, c.valid_platforms, lambda item, category: category in item.get('Platform', []), 'Unspecified')
games_by_language = sort_into_categories(entries, c.known_languages, lambda item, category: category in item['Code language'])

View File

@ -122,8 +122,8 @@ class EntriesMaintainer:
# 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']:
keywords.extend(entry['Keyword'])
if b'first\xe2\x80\x90person'.decode() in entry['Keyword']:
print(entry['File'])
keywords = [x.value for x in keywords]
@ -142,7 +142,7 @@ class EntriesMaintainer:
# 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'])):
if any((x in ('framework', 'library', 'game engine') for x in entry['Keyword'])):
name = entry['Title']
if name in c.code_dependencies_aliases:
valid_dependencies.extend(c.code_dependencies_aliases[name])
@ -152,7 +152,7 @@ class EntriesMaintainer:
# get all referenced code dependencies
referenced_dependencies = {}
for entry in self.entries:
deps = entry.get('Code dependencies', [])
deps = entry.get('Code dependency', [])
for dependency in deps:
dependency = dependency.value
if dependency in referenced_dependencies:
@ -376,10 +376,10 @@ class EntriesMaintainer:
tocs_text = ''
# split into games, tools, frameworks, libraries
games = [x for x in self.entries if not any([y in x['Keywords'] for y in ('tool', 'framework', 'library')])]
tools = [x for x in self.entries if 'tool' in x['Keywords']]
frameworks = [x for x in self.entries if 'framework' in x['Keywords']]
libraries = [x for x in self.entries if 'library' in x['Keywords']]
games = [x for x in self.entries if not any([y in x['Keyword'] for y in ('tool', 'framework', 'library')])]
tools = [x for x in self.entries if 'tool' in x['Keyword']]
frameworks = [x for x in self.entries if 'framework' in x['Keyword']]
libraries = [x for x in self.entries if 'library' in x['Keyword']]
# create games, tools, frameworks, libraries tocs
title = 'Games'
@ -405,7 +405,7 @@ class EntriesMaintainer:
# create by category
categories_text = []
for keyword in c.recommended_keywords:
filtered = [x for x in self.entries if keyword in x['Keywords']]
filtered = [x for x in self.entries if keyword in x['Keyword']]
title = keyword.capitalize()
name = keyword.replace(' ', '-')
file = '_{}.md'.format(name)
@ -506,7 +506,7 @@ class EntriesMaintainer:
# Keywords
statistics += '## Keywords\n\n'
field = 'Keywords'
field = 'Keyword'
# get all keywords together
keywords = []
@ -556,7 +556,7 @@ class EntriesMaintainer:
# Code dependencies
statistics += '## Code dependencies\n\n'
field = 'Code dependencies'
field = 'Code dependency'
# get all code dependencies together
code_dependencies = []
@ -653,7 +653,7 @@ class EntriesMaintainer:
return
# make database out of it
db = {'headings': ['Game', 'Description', 'Download', 'State', 'Keywords', 'Source']}
db = {'headings': ['Game', 'Description', 'Download', 'State', 'Keyword', 'Source']}
entries = []
for info in self.entries:
@ -676,7 +676,7 @@ class EntriesMaintainer:
'inactive since {}'.format(osg.extract_inactive_year(info)) if osg.is_inactive(info) else 'active'))
# keywords
keywords = info['Keywords']
keywords = info['Keyword']
keywords = [x.value for x in keywords]
entry.append(', '.join(keywords))

View File

@ -64,7 +64,7 @@ class InspirationMaintainer:
print('Entry "{}" listed in inspiration "{}" but this entry does not exist'.format(entry_name, inspiration_name))
else:
entry = x[0]
if 'Inspirations' not in entry or inspiration_name not in entry['Inspirations']:
if 'Inspiration' not in entry or inspiration_name not in entry['Inspiration']:
print('Entry "{}" listed in inspiration "{}" but not listed in this entry'.format(entry_name, inspiration_name))
print('missed inspirations checked')
@ -90,7 +90,7 @@ class InspirationMaintainer:
# loop over all entries and add to inspirations of entry
for entry in self.entries:
entry_name = entry['Title']
for inspiration in entry.get('Inspirations', []):
for inspiration in entry.get('Inspiration', []):
inspiration = inspiration.value
if inspiration in self.inspirations:
self.inspirations[inspiration]['Inspired entries'].append(entry_name)

View File

@ -42,12 +42,12 @@ def get_config(key):
generic_comment_string = '[comment]: # (partly autogenerated content, edit with care, read the manual before)'
# these fields have to be present in each entry (in this order)
essential_fields = ('File', 'Title', 'Home', 'State', 'Keywords', 'Code repository', 'Code language', 'Code license')
valid_properties = ('Home', 'Media', 'Inspirations', 'State', 'Play', 'Download', 'Platform', 'Keywords', 'Code repository', 'Code language',
'Code license', 'Code dependencies', 'Assets license', 'Developer')
essential_fields = ('File', 'Title', 'Home', 'State', 'Keyword', 'Code repository', 'Code language', 'Code license')
# only these fields can be used currently (in this order)
valid_properties = ('Home', 'Media', 'Inspiration', 'State', 'Play', 'Download', 'Platform', 'Keyword', 'Code repository', 'Code language',
'Code license', 'Code dependency', 'Assets license', 'Developer')
valid_fields = ('File', 'Title') + valid_properties + ('Note', 'Building')
url_fields = ('Home', 'Media', 'Play', 'Download', 'Code repository')
@ -55,7 +55,7 @@ url_fields = ('Home', 'Media', 'Play', 'Download', 'Code repository')
valid_url_prefixes = ('http://', 'https://', 'git://', 'svn://', 'ftp://', 'bzr://')
extended_valid_url_prefixes = valid_url_prefixes + ('@see-', '@not-', '?')
valid_building_properties = ('Build system', 'Build instructions')
valid_building_properties = ('Build system', 'Build instruction')
valid_building_fields = valid_building_properties + ('Note',)
# these are the only valid platforms currently (and must be given in this order)

View File

@ -3,9 +3,9 @@ Specific functions working on the games.
"""
import re
import os
from difflib import SequenceMatcher
from utils import utils, osg_parse
from utils.constants import *
from utils import utils, osg_parse, constants as c
regex_sanitize_name = re.compile(r"[^A-Za-z 0-9-+]+")
regex_sanitize_name_space_eater = re.compile(r" +")
@ -21,11 +21,11 @@ def entry_iterator():
"""
# get all entries (ignore everything starting with underscore)
entries = os.listdir(entries_path)
entries = os.listdir(c.entries_path)
# iterate over all entries
for entry in entries:
entry_path = os.path.join(entries_path, entry)
entry_path = os.path.join(c.entries_path, entry)
# ignore directories ("tocs" for example)
if os.path.isdir(entry_path):
@ -57,8 +57,8 @@ def read_developers():
:return:
"""
grammar_file = os.path.join(code_path, 'grammar_listing.lark')
developers = osg_parse.read_and_parse(developer_file, grammar_file, osg_parse.ListingTransformer)
grammar_file = os.path.join(c.code_path, 'grammar_listing.lark')
developers = osg_parse.read_and_parse(c.developer_file, grammar_file, osg_parse.ListingTransformer)
# now developers is a list of dictionaries for every entry with some properties
@ -72,15 +72,15 @@ def read_developers():
# check for essential, valid fields
for dev in developers:
# check that essential fields are existing
for field in essential_developer_fields:
for field in c.essential_developer_fields:
if field not in dev:
raise RuntimeError('Essential field "{}" missing in developer {}'.format(field, dev['Name']))
# check that all fields are valid fields
for field in dev.keys():
if field not in valid_developer_fields:
if field not in c.valid_developer_fields:
raise RuntimeError('Invalid field "{}" in developer {}.'.format(field, dev['Name']))
# url fields
for field in url_developer_fields:
for field in c.url_developer_fields:
if field in dev:
content = dev[field]
if any(not (x.startswith('http://') or x.startswith('https://')) for x in content):
@ -101,7 +101,7 @@ def write_developers(developers):
developers = list(developers.values())
# comment
content = '{}\n'.format(generic_comment_string)
content = '{}\n'.format(c.generic_comment_string)
# number of developer
content += '# Developer [{}]\n\n'.format(len(developers))
@ -131,7 +131,7 @@ def write_developers(developers):
content += '\n'
# write
utils.write_text(developer_file, content)
utils.write_text(c.developer_file, content)
def read_inspirations():
@ -143,8 +143,8 @@ def read_inspirations():
# read inspirations
# read and parse inspirations
grammar_file = os.path.join(code_path, 'grammar_listing.lark')
inspirations = osg_parse.read_and_parse(inspirations_file, grammar_file, osg_parse.ListingTransformer)
grammar_file = os.path.join(c.code_path, 'grammar_listing.lark')
inspirations = osg_parse.read_and_parse(c.inspirations_file, grammar_file, osg_parse.ListingTransformer)
# now inspirations is a list of dictionaries for every entry with some properties
@ -158,15 +158,15 @@ def read_inspirations():
# check for essential, valid fields
for inspiration in inspirations:
# check that essential fields are existing
for field in essential_inspiration_fields:
for field in c.essential_inspiration_fields:
if field not in inspiration:
raise RuntimeError('Essential field "{}" missing in inspiration {}'.format(field, inspiration['Name']))
# check that all fields are valid fields
for field in inspiration.keys():
if field not in valid_inspiration_fields:
if field not in c.valid_inspiration_fields:
raise RuntimeError('Invalid field "{}" in inspiration {}.'.format(field, inspiration['Name']))
# url fields
for field in url_inspiration_fields:
for field in c.url_inspiration_fields:
if field in inspiration:
content = inspiration[field]
if any(not (x.startswith('http://') or x.startswith('https://')) for x in content):
@ -188,7 +188,7 @@ def write_inspirations(inspirations):
inspirations = list(inspirations.values())
# comment
content = '{}\n'.format(generic_comment_string)
content = '{}\n'.format(c.generic_comment_string)
# updated number of inspirations
content += '# Inspirations [{}]\n\n'.format(len(inspirations))
@ -218,7 +218,7 @@ def write_inspirations(inspirations):
content += '\n'
# write
utils.write_text(inspirations_file, content)
utils.write_text(c.inspirations_file, content)
def read_entries():
@ -227,7 +227,7 @@ def read_entries():
"""
# setup parser and transformer
grammar_file = os.path.join(code_path, 'grammar_entries.lark')
grammar_file = os.path.join(c.code_path, 'grammar_entries.lark')
grammar = utils.read_text(grammar_file)
parse = osg_parse.create(grammar, osg_parse.EntryTransformer)
@ -267,9 +267,9 @@ def check_and_process_entry(entry):
index = 0
for e in entry:
field = e[0]
while index < len(valid_fields) and field != valid_fields[index]:
while index < len(c.valid_fields) and field != c.valid_fields[index]:
index += 1
if index == len(valid_fields): # must be valid fields and must be in the right order
if index == len(c.valid_fields): # must be valid fields and must be in the right order
message += 'Field "{}" either misspelled or in wrong order\n'.format(field)
# order is fine we can convert to dictionary
@ -281,7 +281,7 @@ def check_and_process_entry(entry):
entry = d
# check for essential fields
for field in essential_fields:
for field in c.essential_fields:
if field not in entry:
message += 'Essential property "{}" missing\n'.format(field)
@ -296,7 +296,7 @@ def check_and_process_entry(entry):
# check valid fields in building TODO should also check order
for field in building.keys():
if field not in valid_building_fields:
if field not in c.valid_building_fields:
message += 'Building field "{}" invalid\n'.format(field)
entry['Building'] = building
@ -316,12 +316,12 @@ def check_and_process_entry(entry):
message += 'State must be one of <"beta", "mature">'
# check urls
for field in url_fields:
for field in c.url_fields:
values = entry.get(field, [])
for value in values:
if value.value.startswith('<') and value.value.endswith('>'):
value.value = value.value[1:-1]
if not any(value.startswith(x) for x in extended_valid_url_prefixes):
if not any(value.startswith(x) for x in c.extended_valid_url_prefixes):
message += 'URL "{}" in field "{}" does not start with a valid prefix'.format(value, field)
# github/gitlab repositories should end on .git and should start with https
@ -339,30 +339,30 @@ def check_and_process_entry(entry):
if 'Platform' in entry:
index = 0
for platform in entry['Platform']:
while index < len(valid_platforms) and platform != valid_platforms[index]:
while index < len(c.valid_platforms) and platform != c.valid_platforms[index]:
index += 1
if index == len(valid_platforms): # must be valid platforms and must be in that order
if index == len(c.valid_platforms): # must be valid platforms and must be in that order
message += 'Platform tag "{}" either misspelled or in wrong order'.format(platform)
# there must be at least one keyword
if not entry['Keywords']:
if not entry['Keyword']:
message += 'Need at least one keyword'
# check for existence of at least one recommended keywords
keywords = entry['Keywords']
if not any(keyword in keywords for keyword in recommended_keywords):
keywords = entry['Keyword']
if not any(keyword in keywords for keyword in c.recommended_keywords):
message += 'Entry contains no recommended keywords'
# languages should be known
languages = entry['Code language']
for language in languages:
if language not in known_languages:
if language not in c.known_languages:
message += 'Language "{}" is not a known code language. Misspelled or new?'.format(language)
# licenses should be known
licenses = entry['Code license']
for license in licenses:
if license not in known_licenses:
if license not in c.known_licenses:
message += 'License "{}" is not a known license. Misspelled or new?'.format(license)
if message:
@ -370,6 +370,7 @@ def check_and_process_entry(entry):
return entry
def is_inactive(entry):
state = entry['State']
phrase = 'inactive since '
@ -386,6 +387,7 @@ def extract_inactive_year(entry):
else:
return None
def write_entries(entries):
"""
@ -406,7 +408,7 @@ def write_entry(entry):
# TODO check entry
# get path
entry_path = os.path.join(entries_path, entry['File'])
entry_path = os.path.join(c.entries_path, entry['File'])
# create output content
content = create_entry_content(entry)
@ -427,23 +429,23 @@ def create_entry_content(entry):
# we automatically sort some fields
sort_fun = lambda x: str.casefold(x.value)
for field in ('Media', 'Inspirations', 'Code Language'):
for field in ('Media', 'Inspiration', 'Code Language'):
if field in entry:
values = entry[field]
entry[field] = sorted(values, key=sort_fun)
# we also sort keywords, but first the recommend ones and then other ones
keywords = entry['Keywords']
a = [x for x in keywords if x in recommended_keywords]
b = [x for x in keywords if x not in recommended_keywords]
entry['Keywords'] = sorted(a, key=sort_fun) + sorted(b, key=sort_fun)
keywords = entry['Keyword']
a = [x for x in keywords if x in c.recommended_keywords]
b = [x for x in keywords if x not in c.recommended_keywords]
entry['Keyword'] = sorted(a, key=sort_fun) + sorted(b, key=sort_fun)
# now properties in the recommended order
for field in valid_properties:
# now all properties in the recommended order
for field in c.valid_properties:
if field in entry:
c = entry[field]
c = ['"{}"'.format(x) if ',' in x else x for x in c]
c = [str(x) for x in c]
content += '- {}: {}\n'.format(field, ', '.join(c))
e = entry[field]
e = ['"{}"'.format(x) if any(y in x.value for y in (',', ' (')) else x for x in e]
e = [str(x) for x in e]
content += '- {}: {}\n'.format(field, ', '.join(e))
content += '\n'
# if there is a note, insert it
@ -455,15 +457,15 @@ def create_entry_content(entry):
# building properties if present
has_properties = False
for field in valid_building_properties:
for field in c.valid_building_properties:
if field in entry['Building']:
if not has_properties:
has_properties = True
content += '\n'
c = entry['Building'][field]
c = ['"{}"'.format(x) if ',' in x else x for x in c]
c = [str(x) for x in c]
content += '- {}: {}\n'.format(field, ', '.join(c))
e = entry['Building'][field]
e = ['"{}"'.format(x) if ',' in x else x for x in e]
e = [str(x) for x in e]
content += '- {}: {}\n'.format(field, ', '.join(e))
# if there is a note, insert it
if 'Note' in entry['Building']:
@ -479,7 +481,7 @@ def is_url(str):
:param str:
:return:
"""
if any(str.startswith(x) for x in valid_url_prefixes) and not ' ' in str:
if any(str.startswith(x) for x in c.valid_url_prefixes) and not ' ' in str:
return True
return False
@ -494,7 +496,7 @@ def all_urls(entries):
# iterate over entries
for entry in entries:
file = entry['File']
for field in url_fields: # TODO there are other fields, maybe just regex on the whole content
for field in c.url_fields: # TODO there are other fields, maybe just regex on the whole content
for value in entry.get(field, []):
if value.comment:
value = value.value + ' ' + value.comment

View File

@ -46,9 +46,9 @@
- Games: Maxit
## Amer Koleci [7]
## Amer Koleci [2]
- Games: Vortice
- Games: Alimer, Vortice
## Anders Svensson [1]
@ -91,7 +91,7 @@
- Games: Advanced Strategic Command
- Contact: armin906@SF
## Armin Rigo [18]
## Armin Rigo [1]
- Games: The Bub's Brothers
@ -192,7 +192,7 @@
- Games: Advanced Strategic Command
- Contact: Ed-von-Schleck@GH
## Chua Kong Sian [9]
## Chua Kong Sian [1]
- Games: GNU Chess
@ -791,7 +791,7 @@
- Games: Trip on the Funny Boat
## Kriss [8]
## Kriss [1]
- Games: GameCake
@ -864,7 +864,7 @@
- Games: Tactics Squad
## Lukas Geyer [9]
## Lukas Geyer [1]
- Games: GNU Chess
@ -1017,7 +1017,7 @@
- Games: GJID
## Mike Strobel [9]
## Mike Strobel [1]
- Games: Supremacy
@ -1145,9 +1145,9 @@
- Games: Runfield
## Paul Wise [2]
## Paul Wise [3]
- Games: Alex the Allegator 4, Hex-a-hop
- Games: Alex the Allegator 4, Chromium B.S.U., Hex-a-hop
- Contact: pabs3@SF
## Pedro Izecksohn [1]
@ -1377,7 +1377,7 @@
- Games: Simon Tatham's Portable Puzzle Collection
## Simon Waters [9]
## Simon Waters [1]
- Games: GNU Chess
@ -1443,7 +1443,7 @@
- Games: Blinken
## Stuart Cracraft [9]
## Stuart Cracraft [1]
- Games: GNU Chess
@ -1610,7 +1610,7 @@
- Games: Necklace of the Eye
## Андрей Питько [13]
## Андрей Питько [1]
- Games: Wizards Magic

View File

@ -2,15 +2,15 @@
- Home: https://play0ad.com/, https://sourceforge.net/projects/zero-ad/
- Media: https://en.wikipedia.org/wiki/0_A.D._(video_game)
- Inspirations: Age of Empires
- Inspiration: Age of Empires
- State: beta
- Download: https://play0ad.com/download/
- Platform: Windows, Linux, macOS
- Keywords: strategy, multiplayer online + LAN, open content, real time
- Keyword: strategy, multiplayer online + LAN, open content, real time
- Code repository: https://github.com/0ad/0ad.git (mirror), https://svn.wildfiregames.com/public/ps/ (svn)
- Code language: C, C++, JavaScript
- Code license: GPL-2.0
- Code dependencies: libogg, libvorbis, libxml2, OpenAL, SDL2, zlib
- Code dependency: libogg, libvorbis, libxml2, OpenAL, SDL2, zlib
- Assets license: CC-BY-SA-3.0
- Developer: Erik Johansson, Ben Brian, Nicolas Auvray, Philip Taylor, Lancelot de Ferrière, s0600204, Kieran Pilkington, leper, Pureon
@ -19,7 +19,7 @@ Engine part is called Pyrogenesis.
## Building
- Build system: Custom
- Build instructions: https://trac.wildfiregames.com/wiki/BuildInstructions
- Build instruction: https://trac.wildfiregames.com/wiki/BuildInstructions
See [instructions](https://trac.wildfiregames.com/wiki/GettingStartedProgrammers)

View File

@ -1,18 +1,18 @@
# 1oom
- Home: https://kilgoretroutmaskreplicant.gitlab.io/plain-html/
- Inspirations: Master of Orion
- Inspiration: Master of Orion
- State: mature
- Download: https://gitlab.com/KilgoreTroutMaskReplicant/1oom/-/tags
- Platform: Windows, Linux
- Keywords: remake, strategy, commercial content, engine recreation
- Keyword: remake, strategy, commercial content, engine recreation
- Code repository: https://gitlab.com/KilgoreTroutMaskReplicant/1oom.git
- Code language: C
- Code license: GPL-2.0
- Code dependencies: Allegro, SDL, SDL2
- Code dependency: Allegro, SDL, SDL2
- Developer: Kilgore Trout Mask Replicant
## Building
- Build system: Make
- Build instructions: https://gitlab.com/KilgoreTroutMaskReplicant/1oom/blob/master/INSTALL
- Build instruction: https://gitlab.com/KilgoreTroutMaskReplicant/1oom/blob/master/INSTALL

View File

@ -1,10 +1,10 @@
# 2006-rebotted
- Home: https://rsrebotted.com/, https://web.archive.org/web/20200211143757/http://2006rebotted.tk/
- Inspirations: Runescape Classic
- Inspiration: Runescape Classic
- State: mature
- Download: https://github.com/2006rebotted/2006rebotted/releases
- Keywords: remake, role playing, commercial content, multiplayer online + co-op
- Keyword: remake, role playing, commercial content, multiplayer online + co-op
- Code repository: https://github.com/2006rebotted/2006rebotted.git
- Code language: Java
- Code license: 2-clause BSD

View File

@ -4,7 +4,7 @@
- State: mature
- Play: https://play2048.co/
- Platform: Web
- Keywords: puzzle, sliding blocks
- Keyword: puzzle, sliding blocks
- Code repository: https://github.com/gabrielecirulli/2048.git, https://github.com/tpcstld/2048.git @add
- Code language: JavaScript
- Code license: MIT

View File

@ -1,14 +1,14 @@
# 2H4U
- Home: https://sourceforge.net/projects/toohardforyou/
- Inspirations: Tetris
- Inspiration: Tetris
- State: mature, inactive since 2007
- Download: https://sourceforge.net/projects/toohardforyou/files/
- Keywords: puzzle, skill
- Keyword: puzzle, skill
- Code repository: https://svn.code.sf.net/p/toohardforyou/code (svn)
- Code language: C++
- Code license: GPL-2.0
- Code dependencies: SDL
- Code dependency: SDL
- Developer: Piwai, Kayl
Mix between a Tetris-like game and a wall breaker.

View File

@ -4,7 +4,7 @@
- State: mature
- Download: https://github.com/jkroepke/2Moons/releases
- Platform: Web
- Keywords: framework, simulation, strategy, space
- Keyword: framework, simulation, strategy, space
- Code repository: https://github.com/jkroepke/2Moons.git (archived), https://github.com/steemnova/steemnova.git @add
- Code language: PHP, JavaScript
- Code license: MIT

View File

@ -3,7 +3,7 @@
- Home: http://www.newbreedsoftware.com/3dpong/
- State: beta, inactive since 2004
- Platform: Linux, macOS
- Keywords: arcade, online, 3D
- Keyword: arcade, 3D, online
- Code repository: @see-home
- Code language: C
- Code license: GPL-2.0

View File

@ -2,11 +2,11 @@
- 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
- Keywords: board, puzzle, chess, open content, 3D
- Keyword: board, puzzle, 3D, chess, open content
- Code repository: @see-home
- Code language: C
- Code license: GPL-2.0
- Code dependencies: libx, libxpm, xaw3dg
- Code dependency: libx, libxpm, xaw3dg
- Assets license: GPL-2.0
- Developer: Paul Hicks, Bernard Kennedy

View File

@ -1,15 +1,15 @@
# 3d.city
- Home: http://lo-th.github.io/3d.city/index.html, https://github.com/lo-th/3d.city
- Inspirations: SimCity, micropolis
- Inspiration: micropolis, SimCity
- State: mature, inactive since 2016
- Play: http://lo-th.github.io/3d.city/index.html
- Platform: Web
- Keywords: simulation, clone, open content
- Keyword: simulation, clone, open content
- Code repository: https://github.com/lo-th/3d.city.git
- Code language: JavaScript
- Code license: GPL-3.0 (with additional terms)
- Code dependencies: SEA3D, Three.js
- Code dependency: SEA3D, Three.js
- Developer: lo-th
WebGL version of micropolisJS.

View File

@ -1,14 +1,14 @@
# 4D-TRIS
- Home: https://sourceforge.net/projects/dtris/
- Inspirations: Tetris
- Inspiration: Tetris
- State: mature, inactive since 2012
- Platform: Windows, Linux, macOS
- Keywords: puzzle, clone, open content
- Keyword: puzzle, clone, open content
- Code repository: https://gitlab.com/osgames/dtris.git (conversion of bzr), https://code.launchpad.net/4dtris (bzr)
- Code language: C
- Code license: GPL-2.0
- Code dependencies: OpenGL, SDL
- Code dependency: OpenGL, SDL
- Developer: Simon Laszlo
Tetris game extended to 4 dimension.

View File

@ -2,7 +2,7 @@
- Home: http://www.urticator.net/maze/
- State: mature, inactive since 2008
- Keywords: puzzle, 4D, maze navigation (educational?), open content
- Keyword: puzzle, 4D, maze navigation (educational?), open content
- Code repository: @see-home
- Code language: Java
- Code license: Public domain

View File

@ -2,11 +2,11 @@
- Home: http://old.nklein.com/products/54321/
- State: mature, inactive since 2001
- Keywords: puzzle, open content
- Keyword: puzzle, open content
- Code repository: @see-home
- Code language: C++
- Code license: Custom (a very simple copyleft see http://old.nklein.com/etc/copyright.php)
- Code dependencies: libpng, SDL, zlib
- Code dependency: libpng, SDL, zlib
- Assets license: Custom (see code license)
- Developer: Patrick Fleckenstein

View File

@ -3,11 +3,11 @@
- Home: http://a7xpg.sourceforge.net/, http://www.asahi-net.or.jp/~cs8k-cyu/windows/a7xpg_e.html
- State: beta, inactive since 2005
- Download: https://sourceforge.net/projects/a7xpg/files/a7xpg/
- Keywords: arcade
- Keyword: arcade
- Code repository: @see-home
- Code language: D
- Code license: 2-clause BSD
- Code dependencies: libvorbis, SDL
- Code dependency: libvorbis, SDL
- Developer: Kenta Cho
Arcade space flier.

View File

@ -3,11 +3,11 @@
- Home: https://sourceforge.net/projects/aplanetsrevenge/
- State: beta, inactive since 2008
- Download: https://sourceforge.net/projects/aplanetsrevenge/files/aplanetsrevenge/apr-1.0-alpha/
- Keywords: strategy, text-based
- Keyword: strategy, text-based
- Code repository: https://gitlab.com/osgames/aplanetsrevenge.git (copy of last source release)
- Code language: Python
- Code license: GPL-3.0
- Code dependencies: curses
- Code dependency: curses
A text-based, turn-based strategy game set in space. It is similar to a 4X game and is inspired by Space Federation: Galactic Conquest.

View File

@ -4,11 +4,11 @@
- State: mature, inactive since 2005
- Download: https://sourceforge.net/projects/abe/files/
- Platform: Windows, Linux, macOS
- Keywords: platform, side-scrolling
- Keyword: platform, side-scrolling
- Code repository: https://gitlab.com/osgames/abe.git (import of cvs), http://abe.cvs.sourceforge.net (cvs)
- Code language: C
- Code license: GPL-2.0
- Code dependencies: SDL
- Code dependency: SDL
- Developer: Gabor Torok, Pedro Izecksohn, Alex Clark
Side scrolling platform game.

View File

@ -1,15 +1,15 @@
# Abuse
- Home: http://abuse.zoy.org/
- Inspirations: Abuse
- Inspiration: Abuse
- State: mature, inactive since 2011
- Download: http://abuse.zoy.org/wiki/download
- Platform: Linux
- Keywords: action, platform, remake, swappable content
- Keyword: action, platform, remake, swappable content
- Code repository: svn://svn.zoy.org/abuse/abuse/trunk (svn)
- Code language: C++, Lisp
- Code license: Public domain (parts), GPL-2.0 (parts), WTFPL (parts)
- Code dependencies: SDL
- Code dependency: SDL
- Assets license: Public domain, Custom (music)
Dark 2D side-scrolling platform game.

View File

@ -1,11 +1,11 @@
# Achtung, die Kurve!
- Home: https://kurve.se/
- Inspirations: "Achtung, die Kurve!"
- Inspiration: "Achtung, die Kurve!"
- State: mature
- Play: https://kurve.se/
- Platform: Web
- Keywords: action, clone, multiplayer local, open content
- Keyword: action, clone, multiplayer local, open content
- Code repository: https://github.com/SimonAlling/kurve.git
- Code language: JavaScript
- Code license: AGPL-3.0

View File

@ -2,7 +2,7 @@
- Home: https://packages.debian.org/sid/acm, https://web.archive.org/web/20130114223737/http://www.websimulations.com/
- State: mature, inactive since 2000
- Keywords: action, simulation, flight, open content
- Keyword: action, simulation, flight, open content
- Code repository: @see-home
- Code language: C
- Code license: GPL-2.0

View File

@ -1,15 +1,15 @@
# AdaGate
- Home: https://github.com/fastrgv/AdaGate
- Inspirations: Sokoban
- Inspiration: Sokoban
- State: mature
- Download: https://github.com/fastrgv/AdaGate/releases
- Platform: Windows, Linux, macOS
- Keywords: puzzle, 3D
- Keyword: puzzle, 3D
- Code repository: @see-download
- Code language: Ada
- Code license: GPL-3.0
- Code dependencies: OpenGL, SDL2
- Code dependency: OpenGL, SDL2
3D sokoban puzzle game within a Stargate / Portal fantasy setting.

View File

@ -2,11 +2,11 @@
- Home: https://web.archive.org/web/20180818173613/http://www.mushware.com/, https://packages.qa.debian.org/a/adanaxisgpl.html
- State: mature, inactive since 2007
- Keywords: action, 4D, first-person, open content, shooter, single-player, space
- Keyword: action, 4D, first-person, open content, shooter, single-player, space
- Code repository: @see-home
- Code language: C++
- Code license: GPL-2.0 (non-free file in the commercial version)
- Code dependencies: GLUT
- Code dependency: GLUT
- Assets license: GPL-2.0
- Developer: Andy Southgate

View File

@ -3,7 +3,7 @@
- Home: https://github.com/fastrgv/AdaVenture
- State: mature
- Download: https://github.com/fastrgv/AdaVenture/releases
- Keywords: adventure, for kids, point&click
- Keyword: adventure, for kids, point&click
- Code repository: https://github.com/fastrgv/AdaVenture.git
- Code language: Ada
- Code license: GPL-3.0

View File

@ -2,9 +2,9 @@
- Home: http://www.asc-hq.org/, https://sourceforge.net/projects/asc-hq/
- Media: https://en.wikipedia.org/wiki/Battle_Isle#Clones
- Inspirations: Battle Isle series
- Inspiration: Battle Isle series
- State: mature
- Keywords: strategy, clone, turn-based
- Keyword: strategy, clone, turn-based
- Code repository: https://github.com/ValHaris/asc-hq.git
- Code language: C++
- Code license: GPL-2.0

View File

@ -1,9 +1,9 @@
# adventure engine
- Home: https://github.com/isovector/adventure
- Inspirations: Moai
- Inspiration: Moai
- State: mature, inactive since 2013
- Keywords: adventure, game engine
- Keyword: adventure, game engine
- Code repository: https://github.com/isovector/adventure.git
- Code language: Lua
- Code license: MIT

View File

@ -1,15 +1,15 @@
# Afternoon Stalker
- Home: http://perso.b2b2c.ca/~sarrazip/dev/afternoonstalker.html
- Inspirations: Night Stalker
- Inspiration: Night Stalker
- State: mature, inactive since 2012
- Download: http://perso.b2b2c.ca/~sarrazip/dev/afternoonstalker.html#download
- Platform: Linux
- Keywords: action, remake, clone
- Keyword: action, remake, clone
- Code repository: @see-download
- Code language: C++
- Code license: GPL-2.0
- Code dependencies: SDL
- Code dependency: SDL
Robot-killing video game.

View File

@ -2,11 +2,11 @@
- Home: https://code.google.com/archive/p/aiwars/
- State: beta, inactive since 2010
- Keywords: strategy
- Keyword: strategy
- Code repository: https://github.com/suprafun/aiwars.git, https://code.google.com/archive/p/aiwars/source
- Code language: Python
- Code license: MIT
- Code dependencies: Pillow, pygame
- Code dependency: Pillow, pygame
Turn-based strategy game, an AI client development testbed.

View File

@ -3,7 +3,7 @@
- Home: http://icculus.org/airstrike/, https://packages.debian.org/stable/games/airstrike, https://web.archive.org/web/20061012090550/http://fluff.dyndns.org/cgi-bin/trac.cgi
- State: beta, inactive since 2014
- Platform: Windows, Linux
- Keywords: arcade, 2D, open content
- Keyword: arcade, 2D, open content
- Code repository: @see-home
- Code language: C
- Code license: GPL-2.0

View File

@ -4,7 +4,7 @@
- State: mature
- Download: https://github.com/GNOME/aisleriot/releases
- Platform: Linux
- Keywords: arcade, cards, open content
- Keyword: arcade, cards, open content
- Code repository: https://github.com/GNOME/aisleriot.git
- Code language: C, Scheme
- Code license: GPL-3.0

View File

@ -1,11 +1,11 @@
# Ajax3d
- Home: http://ajax3d.sourceforge.net/, https://sourceforge.net/projects/ajax3d/
- Inspirations: Zarch
- Inspiration: Zarch
- State: beta, inactive since 2007
- Download: https://sourceforge.net/projects/ajax3d/files/ajax3d/
- Platform: Web
- Keywords: action, remake
- Keyword: action, remake
- Code repository: https://gitlab.com/osgames/ajax3d.git (conversion of cvs), http://ajax3d.cvs.sourceforge.net (cvs)
- Code language: JavaScript
- Code license: GPL-2.0

View File

@ -1,10 +1,10 @@
# Aklabeth
- Home: https://sourceforge.net/projects/aklabeth/
- Inspirations: Akalabeth: World of Doom
- Inspiration: Akalabeth: World of Doom
- State: mature, inactive since 2004
- Download: https://sourceforge.net/projects/aklabeth/files/aklabeth/
- Keywords: remake
- Keyword: remake
- Code repository: @see-download
- Code language: C
- Code license: GPL-2.0

View File

@ -1,11 +1,11 @@
# Aleph One
- Home: https://alephone.lhowon.org/, https://github.com/Aleph-One-Marathon/alephone/wiki, https://sourceforge.net/projects/marathon/
- Inspirations: Marathon, Marathon 2, Marathon Infinity
- Inspiration: Marathon, Marathon 2, Marathon Infinity
- State: mature
- Download: https://sourceforge.net/projects/marathon/files/
- Platform: Windows, Linux, macOS
- Keywords: action, remake, shooter
- Keyword: action, remake, shooter
- Code repository: https://github.com/Aleph-One-Marathon/alephone.git, https://svn.code.sf.net/p/marathon/code (svn)
- Code language: C++, Lua
- Code license: GPL-3.0

View File

@ -4,11 +4,11 @@
- State: mature, inactive since 2003
- Download: https://sourceforge.net/projects/allegator/files/
- Platform: Windows, Linux, macOS
- Keywords: platform, open content
- Keyword: platform, open content
- Code repository: https://git.code.sf.net/p/allegator/alex4
- Code language: C
- Code license: GPL-2.0
- Code dependencies: Allegro
- Code dependency: Allegro
- Assets license: GPL-2.0
- Developer: Johan Peitz (design source code and graphics), Anders Svensson (music and sound effects), Paul Wise

View File

@ -3,7 +3,7 @@
- Home: http://www.aatraders.com/, https://sourceforge.net/projects/aatrade/
- State: beta, inactive since 2009
- Download: https://sourceforge.net/projects/aatrade/files/
- Keywords: strategy, online
- Keyword: strategy, online
- Code repository: https://github.com/tarnus/aatraders.git, https://gitlab.com/osgames/aatraders.git @add
- Code language: PHP
- Code license: GPL-2.0

View File

@ -1,12 +1,13 @@
# Alimer
- Home: https://github.com/amerkoleci/alimer
- Inspirations: OGRE, Urho3D
- Inspiration: OGRE, Urho3D
- State: beta
- Keywords: game engine, 2D, 3D
- Keyword: game engine, 2D, 3D
- Code repository: https://github.com/amerkoleci/alimer.git
- Code language: C++
- Code license: MIT
- Developer: Amer Koleci
Cross-platform 2D and 3D game engine.

View File

@ -1,14 +1,14 @@
# alive
- Home: https://github.com/paulsapps/alive
- Inspirations: Oddworld: Abe's Exoddus, Oddworld: Abe's Oddysee
- Inspiration: Oddworld: Abe's Exoddus, Oddworld: Abe's Oddysee
- State: beta
- Platform: Windows, Linux
- Keywords: action, remake
- Keyword: action, remake
- Code repository: https://github.com/AliveTeam/alive_reversing.git, https://github.com/paulsapps/alive.git @add
- Code language: C++
- Code license: MIT
- Code dependencies: SDL2
- Code dependency: SDL2
Remake of Oddworld: Abe's Oddysee, Oddworld: Abe's Exoddus

View File

@ -4,7 +4,7 @@
- Media: https://en.wikipedia.org/wiki/Allegro_(software)
- State: mature
- Download: https://liballeg.org/download.html
- Keywords: framework
- Keyword: framework
- Code repository: https://github.com/liballeg/allegro5.git
- Code language: C
- Code license: zlib

View File

@ -4,11 +4,11 @@
- State: beta
- Play: http://www.allureofthestars.com/play/
- Platform: Web
- Keywords: role playing, strategy, open content, roguelike, turn-based
- Keyword: role playing, strategy, open content, roguelike, turn-based
- Code repository: https://github.com/AllureOfTheStars/Allure.git
- Code language: Haskell
- Code license: AGPL-3.0
- Code dependencies: LambdaHack, SDL
- Code dependency: LambdaHack, SDL
- Assets license: AGPL-3.0
Sci-Fi roguelike and tactical squad combat game.

View File

@ -2,11 +2,11 @@
- Home: https://packages.debian.org/stable/games/amphetamine, https://web.archive.org/web/20101023090423/http://homepage.hispeed.ch/loehrer/amph/amph.html
- State: beta, inactive since 2008
- Keywords: platform, open content
- Keyword: platform, open content
- Code repository: @see-home
- Code language: C
- Code license: GPL-2.0
- Code dependencies: SDL
- Code dependency: SDL
- Assets license: GPL
- Developer: Jonas Spillmann, Lukas Löhrer, Patrick J. Naughton, Chris Laurel

View File

@ -2,7 +2,7 @@
- Home: https://web.archive.org/web/20150412072808/http://www.coralquest.com/anagramarama/
- State: beta, inactive since 2002
- Keywords: puzzle, open content
- Keyword: puzzle, open content
- Code repository: @see-home
- Code language: C
- Code license: GPL-2.0

View File

@ -1,13 +1,13 @@
# Ancient Beast
- Home: https://ancientbeast.com/
- Inspirations: Heroes of Might and Magic III
- Inspiration: Heroes of Might and Magic III
- State: mature
- Keywords: strategy, clone
- Keyword: strategy, clone
- Code repository: https://github.com/FreezingMoon/AncientBeast.git
- Code language: JavaScript
- Code license: AGPL-3.0
- Code dependencies: Phaser
- Code dependency: Phaser
Turn based strategy indie game project.

View File

@ -4,7 +4,7 @@
- State: beta
- Download: https://f-droid.org/packages/com.gpl.rpg.AndorsTrail/
- Platform: Android
- Keywords: role playing
- Keyword: role playing
- Code repository: https://github.com/Zukero/andors-trail.git
- Code language: Java
- Code license: GPL-2.0

View File

@ -4,7 +4,7 @@
- State: mature
- Download: https://www.jwtc.nl/downloads
- Platform: Android
- Keywords: strategy
- Keyword: strategy
- Code repository: https://github.com/jcarolus/android-chess.git
- Code language: Java, C++
- Code license: MIT

View File

@ -4,11 +4,11 @@
- Media: https://en.wikipedia.org/wiki/Angband_(video_game)
- State: mature
- Download: http://rephial.org/release/
- Keywords: role playing, roguelike
- Keyword: role playing, roguelike
- Code repository: https://github.com/angband/angband.git
- Code language: C
- Code license: GPL-2.0
- Code dependencies: SDL
- Code dependency: SDL
Single-player dungeon exploration game.

View File

@ -2,11 +2,11 @@
- Home: https://github.com/estevaofon/angry-birds-python
- State: mature, inactive since 2017
- Keywords: role playing, skill
- Keyword: role playing, skill
- Code repository: https://github.com/estevaofon/angry-birds-python.git
- Code language: Python
- Code license: MIT
- Code dependencies: pygame, pymunk
- Code dependency: pygame, pymunk
Angry Birds game.

View File

@ -3,7 +3,7 @@
- Home: http://annchienta.sourceforge.net/?page=home, https://sourceforge.net/projects/annchienta/
- State: mature, inactive since 2009
- Download: https://sourceforge.net/projects/annchienta/files/annchienta/current/
- Keywords: framework
- Keyword: framework
- Code repository: https://github.com/sago007/annchienta.git, https://svn.code.sf.net/p/annchienta/code (svn)
- Code language: C++
- Code license: GPL-3.0

View File

@ -4,11 +4,11 @@
- State: mature, inactive since 2014
- Download: http://annexconquer.com/downloads/
- Platform: Windows, Linux
- Keywords: strategy, open content, real time
- Keyword: strategy, open content, real time
- Code repository: https://bitbucket.org/annexctw/annex.git
- Code language: MegaGlest Script (?)
- Code license: GPL-3.0
- Code dependencies: MegaGlest Engine
- Code dependency: MegaGlest Engine
- Assets license: CC-BY-SA
- Developer: DelphaDesign

View File

@ -1,9 +1,9 @@
# Antares
- Home: https://arescentral.org/antares
- Inspirations: Ares
- Inspiration: Ares
- State: beta
- Keywords: remake, strategy, real time, shooter
- Keyword: remake, strategy, real time, shooter
- Code repository: https://github.com/arescentral/antares.git
- Code language: C++
- Code license: LGPL-3.0

View File

@ -1,13 +1,13 @@
# Anteform
- Home: https://feneric.itch.io/anteform
- Inspirations: Ultima III: Exodus
- Inspiration: Ultima III: Exodus
- State: beta
- Keywords: role playing, similar
- Keyword: role playing, similar
- Code repository: https://github.com/Feneric/Anteform.git
- Code language: Lua
- Code license: GPL-3.0
- Code dependencies: PICO-8
- Code dependency: PICO-8
Similar of Ultima III: Exodus.

View File

@ -3,7 +3,7 @@
- Home: https://sourceforge.net/projects/antichess/
- State: mature, inactive since 2003
- Download: https://sourceforge.net/projects/antichess/files/antichess/1.0/
- Keywords: strategy
- Keyword: strategy
- Code repository: https://gitlab.com/osgames/antichess.git (backup of cvs), http://antichess.cvs.sourceforge.net/ (cvs)
- Code language: Java
- Code license: MIT

View File

@ -3,11 +3,11 @@
- Home: https://github.com/yiotro/Antiyoy
- State: beta
- Platform: Android
- Keywords: arcade
- Keyword: arcade
- Code repository: https://github.com/yiotro/Antiyoy.git
- Code language: Java
- Code license: GPL-3.0
- Code dependencies: libGDX
- Code dependency: libGDX
???

View File

@ -3,7 +3,7 @@
- Home: https://github.com/anura-engine/anura
- State: mature
- Platform: Windows
- Keywords: arcade, game engine
- Keyword: arcade, game engine
- Code repository: https://github.com/anura-engine/anura.git
- Code language: C, C++
- Code license: zlib (src folder)

View File

@ -2,11 +2,11 @@
- Home: https://web.archive.org/web/20110819212117/http://www.fishies.org.uk/apricots.html
- State: beta, inactive since 2003
- Keywords: arcade, 2D, open content, side-scrolling
- Keyword: arcade, 2D, open content, side-scrolling
- Code repository: @see-home
- Code language: C++
- Code license: GPL-2.0
- Code dependencies: SDL
- Code dependency: SDL
- Assets license: GPL
- Developer: Mark Snellgrove, Mark Harman

View File

@ -1,9 +1,9 @@
# aquastax
- Home: https://github.com/LongSteve/aquastax
- Inspirations: Aquastax
- Inspiration: Aquastax
- State: beta
- Keywords: puzzle, remake
- Keyword: puzzle, remake
- Code repository: https://github.com/LongSteve/aquastax.git
- Code language: JavaScript
- Code license: MIT

View File

@ -1,11 +1,11 @@
# Arashi-JS
- Home: http://stephank.github.io/arashi-js/
- Inspirations: Tempest
- Inspiration: Tempest
- State: beta, inactive since 2010
- Play: http://stephank.github.io/arashi-js/
- Platform: Web
- Keywords: remake, shooter
- Keyword: remake, shooter
- Code repository: https://github.com/stephank/arashi-js.git
- Code language: JavaScript
- Code license: GPL-2.0

View File

@ -3,11 +3,11 @@
- Home: https://github.com/Ershany/Arcane-Engine
- State: beta
- Platform: Windows
- Keywords: library
- Keyword: library
- Code repository: https://github.com/Ershany/Arcane-Engine.git
- Code language: C++
- Code license: MIT
- Code dependencies: ImGUI, OpenGL
- Code dependency: ImGUI, OpenGL
Real-time, physically based renderer.

View File

@ -3,11 +3,11 @@
- Home: https://web.archive.org/web/20190304014608/http://www.jordantrudgett.com/ardentryst/, https://sourceforge.net/projects/ardentryst/, https://web.archive.org/web/20180624012340/https://www.pygame.org/project-Ardentryst-596-.html
- State: mature, inactive since 2009
- Download: https://web.archive.org/web/20180531203109/http://www.jordantrudgett.com/ardentryst/ardentryst-downloads/, https://sourceforge.net/projects/ardentryst/files/
- Keywords: role playing
- Keyword: role playing
- Code repository: https://github.com/ardentryst/ardentryst.git
- Code language: Python
- Code license: GPL-3.0
- Code dependencies: pygame
- Code dependency: pygame
Action/RPG sidescroller, focused not just on fighting, but on story, and character development.

View File

@ -4,11 +4,11 @@
- State: beta, inactive since 2016
- Download: https://stephensmith.itch.io/aresdogfighter
- Platform: Windows, Linux
- Keywords: action, 3D, space
- Keyword: action, 3D, space
- Code repository: https://github.com/SteveSmith16384/AresDogfighter.git
- Code language: Java
- Code license: GPL-3.0
- Code dependencies: jMonkeyEngine
- Code dependency: jMonkeyEngine
- Assets license: (See relevant asset folders)
- Developer: Stephen Carlyle-Smith

View File

@ -3,7 +3,7 @@
- Home: https://www.comunidadargentum.com/ (Spanish), http://www.argentumonline.com.ar/ (Spanish), https://sourceforge.net/projects/morgoao/, https://github.com/argentumonline, https://github.com/ao-libre
- State: beta, inactive since 2014
- Download: https://www.comunidadargentum.com/descargas/, https://sourceforge.net/projects/morgoao/files/
- Keywords: role playing, multiplayer online + massive
- Keyword: role playing, multiplayer online + massive
- Code repository: https://github.com/ao-libre/ao-server.git, https://github.com/ao-libre/ao-cliente.git @add, https://github.com/ao-libre/ao-worldeditor.git @add, http://morgoao.cvs.sourceforge.net/ (cvs)
- Code language: Visual Basic
- Code license: GPL-2.0, AGPL-3.0

View File

@ -3,7 +3,7 @@
- Home: https://arianne-project.org/, https://arianne-project.org/engine/marauroa.html, https://sourceforge.net/projects/arianne/
- State: mature
- Download: https://arianne-project.org/engine/marauroa.html
- Keywords: framework, 2D, multiplayer
- Keyword: framework, 2D, multiplayer
- Code repository: https://git.code.sf.net/p/arianne/marauroa, http://arianne.cvs.sourceforge.net (cvs)
- Code language: Java
- Code license: GPL-2.0

View File

@ -2,10 +2,10 @@
- Home: http://www.armagetronad.org/, https://sourceforge.net/projects/armagetronad/
- Media: https://en.wikipedia.org/wiki/Armagetron_Advanced
- Inspirations: Snake
- Inspiration: Snake
- State: mature
- Download: http://www.armagetronad.org/downloads.php
- Keywords: action
- Keyword: action
- Code repository: https://github.com/ArmagetronAd/armagetronad.git, https://svn.code.sf.net/p/armagetronad/code (svn)
- Code language: C++
- Code license: GPL-2.0

View File

@ -3,7 +3,7 @@
- Home: https://sourceforge.net/projects/armies/
- State: mature, inactive since 2007
- Download: https://sourceforge.net/projects/armies/files/
- Keywords: strategy
- Keyword: strategy
- Code repository: https://gitlab.com/osgames/armies.git (backup of source release)
- Code language: C++
- Code license: GPL-3.0

View File

@ -1,10 +1,10 @@
# Armor Alley
- Home: http://www.schillmania.com/armor-alley/
- Inspirations: Armor Alley
- Inspiration: Armor Alley
- State: beta
- Platform: Web
- Keywords: action, remake, strategy, content open + non-commercial, shooter
- Keyword: action, remake, strategy, content open + non-commercial, shooter
- Code repository: https://github.com/scottschiller/ArmorAlley.git
- Code language: JavaScript
- Code license: CC-BY-NC-3.0 (https://github.com/scottschiller/ArmorAlley/blob/master/LICENSE.txt)

View File

@ -1,10 +1,10 @@
# Artillery Duel Reloaded
- Home: https://code.google.com/archive/p/artillery-duel-reloaded/
- Inspirations: Artillery Duel
- Inspiration: Artillery Duel
- State: beta, inactive since 2012
- Download: https://code.google.com/archive/p/artillery-duel-reloaded/downloads
- Keywords: action, remake
- Keyword: action, remake
- Code repository: @see-download
- Code language: Python
- Code license: GPL-3.0

View File

@ -2,10 +2,10 @@
- Home: https://arx-libertatis.org/
- Media: https://en.wikipedia.org/wiki/Arx_Fatalis#Development
- Inspirations: Arx Fatalis
- Inspiration: Arx Fatalis
- State: mature
- Download: https://wiki.arx-libertatis.org/Download
- Keywords: remake, role playing, commercial content, requires original content (Arx Fatalis)
- Keyword: remake, role playing, commercial content, requires original content (Arx Fatalis)
- Code repository: https://github.com/arx/ArxLibertatis.git
- Code language: C++
- Code license: GPL-3.0

View File

@ -1,11 +1,11 @@
# asdf
- Home: https://timpietrusky.github.io/asdf/
- Inspirations: Simon
- Inspiration: Simon
- State: mature
- Play: https://timpietrusky.github.io/asdf/
- Platform: Web
- Keywords: action, remake
- Keyword: action, remake
- Code repository: https://github.com/TimPietrusky/asdf.git
- Code language: JavaScript
- Code license: MIT

View File

@ -2,14 +2,14 @@
- Home: https://assault.cubers.net/, https://sourceforge.net/projects/actiongame/ (old)
- Media: https://en.wikipedia.org/wiki/AssaultCube
- Inspirations: CUBE engine
- Inspiration: CUBE engine
- State: mature, inactive since 2018
- Platform: Windows, Linux, macOS
- Keywords: action, first-person, shooter
- Keyword: action, first-person, shooter
- Code repository: https://github.com/assaultcube/AC.git
- Code language: C, C++
- Code license: Custom (zlib like)
- Code dependencies: SDL
- Code dependency: SDL
Shooter game, based on the CUBE engine.

View File

@ -1,10 +1,10 @@
# AstroMenace
- Home: https://www.viewizard.com/, https://sourceforge.net/projects/openastromenace/
- Inspirations: AstroMenace
- Inspiration: AstroMenace
- State: mature
- Download: https://viewizard.com/download.html
- Keywords: action, remake, shooter
- Keyword: action, remake, shooter
- Code repository: https://github.com/viewizard/astromenace.git
- Code language: C++, C
- Code license: GPL-3.0

View File

@ -3,11 +3,11 @@
- Home: https://gitlab.com/librebob/athenaeum
- State: beta
- Platform: Linux
- Keywords: tool
- Keyword: tool
- Code repository: https://gitlab.com/librebob/athenaeum.git
- Code language: Python
- Code license: GPL-3.0
- Code dependencies: Qt
- Code dependency: Qt
Game library management tool.

View File

@ -1,13 +1,13 @@
# ativayeban
- Home: https://github.com/Nebuleon/ativayeban
- Inspirations: Fall Down
- Inspiration: Fall Down
- State: mature, inactive since 2015
- Keywords: action, clone
- Keyword: action, clone
- Code repository: https://github.com/Nebuleon/ativayeban.git
- Code language: C, C++
- Code license: GPL-2.0
- Code dependencies: SDL
- Code dependency: SDL
Clone of Fall Down.

View File

@ -3,7 +3,7 @@
- Home: http://www.prankster.com/project/, https://web.archive.org/web/20151024232821/https://sourceforge.net/projects/atlantis/, https://web.archive.org/web/20140516211231/http://www.atlantis-pbem.org/
- Media: https://en.wikipedia.org/wiki/Atlantis_PbeM
- State: mature, inactive since 2016
- Keywords: framework
- Keyword: framework
- Code repository: https://github.com/Atlantis-PBEM/Atlantis.git, https://svn.code.sf.net/p/atlantis/code (svn)
- Code language: C++
- Code license: GPL-2.0

View File

@ -1,15 +1,15 @@
# Atomic Tanks
- Home: http://atanks.sourceforge.net/, https://sourceforge.net/projects/atanks
- Inspirations: Scorched Earth, Worms
- Inspiration: Scorched Earth, Worms
- State: mature, inactive since 2016
- Download: https://sourceforge.net/projects/atanks/files/
- Platform: Windows, Linux
- Keywords: action, remake, artillery, open content
- Keyword: action, remake, artillery, open content
- Code repository: https://git.code.sf.net/p/atanks/atanks, https://gitlab.com/osgames/atanks.git @add
- Code language: C++
- Code license: GPL-2.0
- Code dependencies: Allegro
- Code dependency: Allegro
- Assets license: GPL
- Developer: Jesse Smith, Juraj Michalek, Thomas Hudson

View File

@ -1,10 +1,10 @@
# Atomiks
- Home: http://atomiks.sourceforge.net/, https://sourceforge.net/projects/atomiks
- Inspirations: Atomix
- Inspiration: Atomix
- State: mature, inactive since 2015
- Download: https://sourceforge.net/projects/atomiks/files
- Keywords: puzzle, remake, commercial content
- Keyword: puzzle, remake, commercial content
- Code repository: https://gitlab.com/osgames/atomiks.git (backup of svn), https://svn.code.sf.net/p/atomiks/code (svn)
- Code language: C
- Code license: GPL-3.0

View File

@ -1,9 +1,9 @@
# Atomix
- Home: https://wiki.gnome.org/Apps/Atomix
- Inspirations: Atomix
- Inspiration: Atomix
- State: mature
- Keywords: puzzle, remake
- Keyword: puzzle, remake
- Code repository: https://github.com/GNOME/atomix.git
- Code language: C
- Code license: GPL-2.0

View File

@ -2,7 +2,7 @@
- Home: https://www.atrinik.org/, https://github.com/atrinik
- State: mature, inactive since 2016
- Keywords: role playing
- Keyword: role playing
- Code repository: https://github.com/atrinik/atrinik.git
- Code language: C, Python
- Code license: GPL-2.0

View File

@ -3,7 +3,7 @@
- Home: https://sourceforge.net/projects/attal/
- State: mature, inactive since 2008
- Download: https://sourceforge.net/projects/attal/files/Attal/
- Keywords: strategy, turn-based
- Keyword: strategy, turn-based
- Code repository: https://gitlab.com/osgames/attal.git (backup of cvs), http://attal.cvs.sourceforge.net/ (cvs)
- Code language: C++
- Code license: GPL-2.0

View File

@ -4,11 +4,11 @@
- State: beta, inactive since 2015
- Download: http://aussenposten.gamejs.org/download.html
- Platform: Windows, Linux
- Keywords: strategy, open content, real time
- Keyword: strategy, open content, real time
- Code repository: @see-download
- Code language: JavaScript
- Code license: MIT
- Code dependencies: GameJs
- Code dependency: GameJs
- Assets license: CC-BY-SA
Base building game with artificial life simulation.

View File

@ -3,11 +3,11 @@
- Home: https://sourceforge.net/projects/autorealm/
- State: mature
- Download: https://sourceforge.net/projects/autorealm/files
- Keywords: tool
- Keyword: tool
- Code repository: https://git.code.sf.net/p/autorealm/code, https://git.code.sf.net/p/autorealm/http @add, https://git.code.sf.net/p/autorealm/delphi @add
- Code language: C++
- Code license: GPL-3.0
- Code dependencies: wxWidgets
- Code dependency: wxWidgets
Role-playing game mapping program.

View File

@ -3,7 +3,7 @@
- Home: http://avanor.sourceforge.net/, https://sourceforge.net/projects/avanor/
- State: beta, inactive since 2008
- Download: https://sourceforge.net/projects/avanor/files
- Keywords: role playing, roguelike
- Keyword: role playing, roguelike
- Code repository: https://gitlab.com/osgames/avanor.git (backup of svn), https://svn.code.sf.net/p/avanor/code (svn)
- Code language: C++, Lua
- Code license: GPL-2.0

View File

@ -4,11 +4,11 @@
- State: mature
- Download: https://mdsteele.games/azimuth/download.html
- Platform: Windows, Linux, macOS
- Keywords: adventure, open content, shooter, top-down
- Keyword: adventure, open content, shooter, top-down
- Code repository: https://github.com/mdsteele/azimuth.git
- Code language: C
- Code license: GPL-3.0
- Code dependencies: SDL
- Code dependency: SDL
- Assets license: GPL-3.0
- Developer: Matthew D. Steele

View File

@ -2,11 +2,11 @@
- Home: https://web.archive.org/web/20171114191824/http://bacon2d.com/, http://bacon2d.github.io/docs/
- State: beta, inactive since 2018
- Keywords: game engine
- Keyword: game engine
- Code repository: https://github.com/Bacon2D/Bacon2D.git
- Code language: C++
- Code license: MIT
- Code dependencies: Qt
- Code dependency: Qt
2D Game Engine for QML.

View File

@ -4,7 +4,7 @@
- State: beta, inactive since 2009
- Download: https://sourceforge.net/projects/balder/files/
- Platform: Linux
- Keywords: strategy, open content
- Keyword: strategy, open content
- Code repository: https://svn.code.sf.net/p/balder/code (svn)
- Code language: C++
- Code license: GPL-2.0

View File

@ -3,11 +3,11 @@
- Home: https://www.gnu.org/software/ballandpaddle/
- State: beta, inactive since 2009
- Platform: Linux
- Keywords: action, open content
- Keyword: action, open content
- Code repository: https://gitlab.com/osgames/ballandpaddle.git (conversion of bzr), http://bzr.savannah.gnu.org/r/ballandpaddle/ (bzr)
- Code language: C++, Scheme
- Code license: GPL-3.0
- Code dependencies: GNU Guile, SDL
- Code dependency: GNU Guile, SDL
- Assets license: GPL
- Developer: Eric P. Hutchins

View File

@ -1,9 +1,9 @@
# Ball And Wall
- Home: https://budnix.github.io/ball-and-wall/
- Inspirations: Arkanoid
- Inspiration: Arkanoid
- State: mature, inactive since 2015
- Keywords: action, clone
- Keyword: action, clone
- Code repository: https://github.com/budnix/ball-and-wall.git
- Code language: JavaScript
- Code license: MIT

View File

@ -2,13 +2,13 @@
- Home: https://baller.tuxfamily.org/
- Media: https://en.wikipedia.org/wiki/Ballerburg
- Inspirations: Ballerburg
- Inspiration: Ballerburg
- State: mature
- Keywords: action, remake, artillery
- Keyword: action, remake, artillery
- Code repository: https://git.tuxfamily.org/baller/baller.git, https://gitlab.com/osgames/ballerburg.git @add (import of original source downloads)
- Code language: C
- Code license: GPL-3.0
- Code dependencies: SDL2
- Code dependency: SDL2
Remake of the Turnbased Artillery game from 1987.
[Original](http://www.eckhardkruse.net/atari_st/baller.html) in the Public domain.

View File

@ -1,13 +1,13 @@
# Barony
- Home: http://www.baronygame.com/
- Inspirations: Barony
- Inspiration: Barony
- State: mature
- Keywords: remake, role playing, commercial content, multiplayer co-op + online + LAN, roguelike
- Keyword: remake, role playing, commercial content, multiplayer co-op + online + LAN, roguelike
- Code repository: https://github.com/TurningWheel/Barony.git
- Code language: C++
- Code license: GPL-3.0
- Code dependencies: OpenGL, SDL2
- Code dependency: OpenGL, SDL2
3D, first-person roguelike.

View File

@ -1,9 +1,9 @@
# Bastet
- Home: http://fph.altervista.org/prog/bastet.html
- Inspirations: Tetris
- Inspiration: Tetris
- State: beta, inactive since 2018
- Keywords: puzzle, open content, skill
- Keyword: puzzle, open content, skill
- Code repository: https://github.com/fph/bastet.git
- Code language: C++
- Code license: GPL-2.0

View File

@ -3,7 +3,7 @@
- Home: http://batnav.sourceforge.net/batnav-en.html, https://sourceforge.net/projects/batnav/
- State: mature, inactive since 2002
- Download: https://sourceforge.net/projects/batnav/files/
- Keywords: arcade, multiplayer
- Keyword: arcade, multiplayer
- Code repository: https://gitlab.com/osgames/batnav.git (import of cvs), http://batnav.cvs.sourceforge.net (cvs)
- Code language: C
- Code license: GPL-2.0

View File

@ -1,11 +1,11 @@
# Batrachians
- Home: https://perso.b2b2c.ca/~sarrazip/dev/batrachians.html
- Inspirations: Frogs and Flies
- Inspiration: Frogs and Flies
- State: beta, inactive since 2012
- Download: https://perso.b2b2c.ca/~sarrazip/dev/batrachians.html#download
- Platform: Linux
- Keywords: action, remake
- Keyword: action, remake
- Code repository: @see-download
- Code language: C++
- Code license: GPL-2.0

View File

@ -3,7 +3,7 @@
- Home: https://web.archive.org/web/20120213105444/http://btrgame.com/, https://sourceforge.net/projects/battery/
- State: mature, inactive since 2009
- Download: https://sourceforge.net/projects/battery/files/battery/
- Keywords: arcade, side-scrolling
- Keyword: arcade, side-scrolling
- Code repository: https://github.com/GaidamakUA/BatteryReborn.git (new approach)
- Code language: Java
- Code license: EPL-2.0 (new approach), Custom (old see _README.txt)

View File

@ -1,9 +1,9 @@
# Battle City
- Home: https://battlecity.org/
- Inspirations: Battle City
- Inspiration: Battle City
- State: mature, inactive since 2013
- Keywords: action, remake, strategy
- Keyword: action, remake, strategy
- Code repository: https://github.com/Deceth/Battle-City.git
- Code language: C, C++, Pascal
- Code license: GPL-3.0

View File

@ -4,7 +4,7 @@
- State: mature, inactive since 2009
- Download: https://sourceforge.net/projects/btanks/files/
- Platform: Windows, Linux, macOS
- Keywords: action, arcade, commercial content
- Keyword: action, arcade, commercial content
- Code repository: https://github.com/whoozle/btanks.git, https://svn.code.sf.net/p/btanks/code (svn)
- Code language: C++
- Code license: GPL-2.0

View File

@ -3,7 +3,7 @@
- Home: https://sourceforge.net/projects/battlefieldjava/
- State: beta, inactive since 2011
- Download: https://sourceforge.net/projects/battlefieldjava/files/battlefieldjava/
- Keywords: strategy
- Keyword: strategy
- Code repository: https://github.com/bsutton/BattlefieldJava.git, https://git.code.sf.net/p/battlefieldjava/git, http://battlefieldjava.cvs.sourceforge.net (cvs)
- Code language: Java
- Code license: GPL-3.0

View File

@ -3,11 +3,11 @@
- Home: https://github.com/Leejjon/Battleround
- State: beta, inactive since 2015
- Platform: Android
- Keywords: role playing
- Keyword: role playing
- Code repository: https://github.com/Leejjon/Battleround.git
- Code language: Java
- Code license: Apache-2.0
- Code dependencies: libGDX
- Code dependency: libGDX
Round based RPG.
May be more like alpha.

View File

@ -1,9 +1,9 @@
# Battles of Antargis
- Home: https://plus.google.com/101003433246259562872
- Inspirations: Powermonger, Settlers, Warcraft
- Inspiration: Powermonger, Settlers, Warcraft
- State: beta, inactive since 2014
- Keywords: strategy
- Keyword: strategy
- Code repository: https://github.com/godrin/antargis.git
- Code language: C, C++
- Code license: GPL-2.0

Some files were not shown because too many files have changed in this diff Show More