update
This commit is contained in:
parent
48ade4bc0b
commit
1ca7c6c12d
@ -7,6 +7,11 @@ http://cyxdown.free.fr/bs/
|
||||
http://cyxdown.free.fr/f2b/
|
||||
http://dead-code.org/home/
|
||||
https://github.com/restorer/gloomy-dungeons-2
|
||||
https://github.com/WohlSoft/PGE-Project
|
||||
https://en.wikipedia.org/wiki/List_of_free_and_open-source_Android_applications#Games
|
||||
https://notabug.org/Calinou/awesome-gamedev#games
|
||||
https://forum.freegamedev.net/viewtopic.php?f=20&t=11627
|
||||
https://www.old-games.ru/forum/threads/nekommercheskie-analogi-izvestnyx-igr.40868/page-9
|
||||
https://github.com/MyreMylar/pygame_gui
|
||||
http://e-adventure.e-ucm.es/login/index.php (games of eAdventure)
|
||||
http://ethernet.wasted.ch/
|
||||
|
@ -1,4 +1,4 @@
|
||||
start: title description property+ _E note _E? building
|
||||
start: title description property+ _E note? _E? building
|
||||
|
||||
title: "# " /(?! ).+(?<! )/ "\n" _E // not starting or ending with a space
|
||||
|
||||
@ -12,4 +12,4 @@ building: "## Building\n" _E property+ _E? note // the "building" section
|
||||
|
||||
note: /(?![\-#]).*\n/* // Unstructured text, not starting with - or #
|
||||
|
||||
_E: /^$\n/m // empty new line (filtered from tree)
|
||||
_E: /^$\n/m // empty new line
|
@ -1,8 +1,8 @@
|
||||
start: header entries*
|
||||
start: header entry*
|
||||
|
||||
header: "# " name " (" number ")\n" _E
|
||||
|
||||
entries: "## " name " (" number ")\n" _E property+ _E
|
||||
entry: "## " name " (" number ")\n" _E property+ _E
|
||||
|
||||
property: "- " _key ": " _value "\n"
|
||||
_key: /(?! ).+?(?=:)(?<! )/ // key: everything until next ":", not beginning or ending with a space
|
||||
|
@ -22,11 +22,14 @@ if __name__ == "__main__":
|
||||
|
||||
# read developer info
|
||||
developer_info = osg.read_developer_info()
|
||||
osg.write_developer_info(developer_info)
|
||||
osg.write_developer_info(developer_info) # write again just to make nice
|
||||
|
||||
# assemble info
|
||||
entries = osg.assemble_infos()
|
||||
|
||||
# cross-check
|
||||
osg.compare_entries_developers(entries, developer_info)
|
||||
|
||||
# loop over infos
|
||||
developers = ''
|
||||
try:
|
||||
|
9
code/maintenance_collect_inspiration_infos.py
Normal file
9
code/maintenance_collect_inspiration_infos.py
Normal file
@ -0,0 +1,9 @@
|
||||
from utils import constants as c, utils, osg
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
inspirations = osg.read_inspirations_info()
|
||||
osg.write_inspirations_info(inspirations) # write again just to check integrity
|
||||
|
||||
# assemble info
|
||||
entries = osg.assemble_infos()
|
@ -20,7 +20,7 @@ class ListingTransformer(lark.Transformer):
|
||||
def name(self, x):
|
||||
return ('name', x[0].value)
|
||||
|
||||
def entries(self, x):
|
||||
def entry(self, x):
|
||||
d = {}
|
||||
for key, value in x:
|
||||
d[key] = value
|
||||
@ -32,6 +32,34 @@ class ListingTransformer(lark.Transformer):
|
||||
def start(self, x):
|
||||
return x
|
||||
|
||||
# transformer
|
||||
|
||||
class EntryTransformer(lark.Transformer):
|
||||
|
||||
def start(self, x):
|
||||
d = {}
|
||||
for key, value in x:
|
||||
d[key] = value
|
||||
return d
|
||||
|
||||
def title(self, x):
|
||||
return ('title', x[0].value)
|
||||
|
||||
def description(self, x):
|
||||
return ('description', x[0].value)
|
||||
|
||||
def property(self, x):
|
||||
return (str.casefold(x[0].value), x[1].value)
|
||||
|
||||
def note(self, x):
|
||||
return ('note', x[0].value)
|
||||
|
||||
def building(self, x):
|
||||
d = {}
|
||||
for key, value in x:
|
||||
d[key] = value
|
||||
return ('building', d)
|
||||
|
||||
|
||||
essential_fields = ('Home', 'State', 'Keywords', 'Code repository', 'Code language', 'Code license')
|
||||
valid_fields = (
|
||||
@ -72,6 +100,7 @@ regex_sanitize_name = re.compile(r"[^A-Za-z 0-9-+]+")
|
||||
regex_sanitize_name_space_eater = re.compile(r" +")
|
||||
|
||||
valid_developer_fields = ('name', 'games', 'contact', 'organization', 'home')
|
||||
valid_inspiration_fields = ('name', 'inspired entries')
|
||||
|
||||
comment_string = '[comment]: # (partly autogenerated content, edit with care, read the manual before)'
|
||||
|
||||
@ -383,18 +412,27 @@ def read_developer_info():
|
||||
developers = read_and_parse(developer_file, grammar_file, transformer)
|
||||
# now transform a bit more
|
||||
for index, dev in enumerate(developers):
|
||||
# check for valid keys
|
||||
for field in dev.keys():
|
||||
if field not in valid_developer_fields:
|
||||
raise RuntimeError('Unknown developer field "{}" for developer: {}.'.format(field, dev['name']))
|
||||
# strip from name or organization (just in case)
|
||||
for field in ('name', 'organization'):
|
||||
if field in dev:
|
||||
dev[field] = dev[field].strip()
|
||||
# split games, contact (are lists)
|
||||
for field in ('games', 'contact'):
|
||||
if field in dev:
|
||||
content = dev[field]
|
||||
content = content.split(',')
|
||||
content = [x.strip() for x in content]
|
||||
dev[field] = content
|
||||
# check for duplicate names entries
|
||||
names = [dev['name'] for dev in developers]
|
||||
duplicate_names = (name for name in names if names.count(name) > 1)
|
||||
duplicate_names = set(duplicate_names) # to avoid duplicates in duplicate_names
|
||||
if duplicate_names:
|
||||
print('Warning: duplicate developer names: {}'.format(', '.join(duplicate_names)))
|
||||
return developers
|
||||
|
||||
|
||||
@ -445,7 +483,27 @@ def read_inspirations_info():
|
||||
inspirations_file = os.path.join(c.root_path, 'inspirations.md')
|
||||
grammar_file = os.path.join(c.code_path, 'grammar_listing.lark')
|
||||
transformer = ListingTransformer()
|
||||
return read_and_parse(inspirations_file, grammar_file, transformer)
|
||||
inspirations = read_and_parse(inspirations_file, grammar_file, transformer)
|
||||
# now transform a bit more
|
||||
for index, inspiration in enumerate(inspirations):
|
||||
# check for valid keys
|
||||
for field in inspiration.keys():
|
||||
if field not in valid_inspiration_fields:
|
||||
raise RuntimeError('Unknown field "{}" for inspiration: {}.'.format(field, inspiration['name']))
|
||||
# split lists
|
||||
for field in ('inspired entries', ):
|
||||
if field in inspiration:
|
||||
content = inspiration[field]
|
||||
content = content.split(',')
|
||||
content = [x.strip() for x in content]
|
||||
inspiration[field] = content
|
||||
# check for duplicate names entries
|
||||
names = [inspiration['name'] for inspiration in inspirations]
|
||||
duplicate_names = (name for name in names if names.count(name) > 1)
|
||||
duplicate_names = set(duplicate_names) # to avoid duplicates in duplicate_names
|
||||
if duplicate_names:
|
||||
print('Warning: duplicate inspiration names: {}'.format(', '.join(duplicate_names)))
|
||||
return inspirations
|
||||
|
||||
|
||||
def write_inspirations_info(inspirations):
|
||||
@ -454,4 +512,79 @@ def write_inspirations_info(inspirations):
|
||||
:param inspirations:
|
||||
:return:
|
||||
"""
|
||||
inspirations_file = os.path.join(c.root_path, 'inspirations.md')
|
||||
# comment
|
||||
content = '{}\n'.format(comment_string)
|
||||
|
||||
# number of developer
|
||||
content += '# Inspirations ({})\n\n'.format(len(inspirations))
|
||||
|
||||
# sort by name
|
||||
inspirations.sort(key=lambda x: str.casefold(x['name']))
|
||||
|
||||
# iterate over them
|
||||
for inspiration in inspirations:
|
||||
# inspiration name
|
||||
content += '## {} ({})\n\n'.format(inspiration['name'], len(inspiration['inspired entries']))
|
||||
|
||||
# games
|
||||
content += '- Inspired entries: {}\n'.format(', '.join(sorted(inspiration['inspired entries'], key=str.casefold)))
|
||||
|
||||
# all the remaining in alphabetical order
|
||||
for field in sorted(inspiration.keys()):
|
||||
if field not in ('name', 'inspired entries'):
|
||||
value = inspiration[field]
|
||||
field = field.capitalize()
|
||||
if isinstance(value, str):
|
||||
content += '- {}: {}\n'.format(field, value)
|
||||
else:
|
||||
content += '- {}: {}\n'.format(field, ', '.join(sorted(value, key=str.casefold)))
|
||||
content += '\n'
|
||||
|
||||
# write
|
||||
inspirations_file = os.path.join(c.root_path, 'inspirations2.md')
|
||||
utils.write_text(inspirations_file, content)
|
||||
|
||||
|
||||
|
||||
def compare_entries_developers(entries, developers):
|
||||
"""
|
||||
Cross checks the game entries lists and the developers lists.
|
||||
:param entries: List of game entries
|
||||
:param developers: List of developers
|
||||
"""
|
||||
|
||||
# from the entries create a dictionary with developer names
|
||||
devs1 = {}
|
||||
for entry in entries:
|
||||
name = entry['name']
|
||||
for dev in entry.get('developer', []):
|
||||
if dev in devs1:
|
||||
devs1[dev].append(name)
|
||||
else:
|
||||
devs1[dev] = [name]
|
||||
devs1_names = set(devs1.keys())
|
||||
|
||||
# from the developers create a dictionary with developer names
|
||||
devs2 = dict(zip((dev['name'] for dev in developers), (dev['games'] for dev in developers)))
|
||||
devs2_names = set(devs2.keys())
|
||||
|
||||
# devs only in entries
|
||||
for dev in devs1_names - devs2_names:
|
||||
print('Warning: dev "{}" only in entries ({}), not in developers'.format(dev, ','.join(devs1[dev])))
|
||||
# devs only in developers
|
||||
for dev in devs2_names - devs1_names:
|
||||
print('Warning: dev "{}" only in developers ({}), not in entries'.format(dev, ','.join(devs2[dev])))
|
||||
# for those in both, check that the games lists are equal
|
||||
for dev in devs1_names.intersection(devs2_names):
|
||||
games1 = set(devs1[dev])
|
||||
games2 = set(devs2[dev])
|
||||
delta = games1 - games2
|
||||
if delta:
|
||||
print('Warning: dev "{}" has games in entries ({}) that are not present in developers'.format(dev, ', '.join(delta)))
|
||||
delta = games2 - games1
|
||||
if delta:
|
||||
print('Warning: dev "{}" has games in developers ({}) that are not present in entries'.format(dev, ', '.join(delta)))
|
||||
|
||||
|
||||
|
||||
|
||||
|
359
developer.md
359
developer.md
@ -1,10 +1,5 @@
|
||||
[comment]: # (partly autogenerated content, edit with care, read the manual before)
|
||||
# Developer (336)
|
||||
|
||||
## Andy Southgate (1)
|
||||
|
||||
- Games: Adanaxis
|
||||
- Organization: Mushware Limited
|
||||
# Developer (369)
|
||||
|
||||
## Akira Higuchi (1)
|
||||
|
||||
@ -22,6 +17,11 @@
|
||||
|
||||
- Games: Blinken
|
||||
|
||||
## Alex Clark (1)
|
||||
|
||||
- Games: Abe's Amazing Adventure
|
||||
- Contact: jazkat@SF
|
||||
|
||||
## Alex Gleason (1)
|
||||
|
||||
- Games: Vegan on a Desert Island
|
||||
@ -59,9 +59,10 @@
|
||||
- Games: OpenRTS
|
||||
- Contact: rtsfan@SF
|
||||
|
||||
## Andy Southgate (1)
|
||||
## Andy Southgate (2)
|
||||
|
||||
- Games: SDL Asylum
|
||||
- Games: Adanaxis, SDL Asylum
|
||||
- Organization: Mushware Limited
|
||||
|
||||
## Anthony Mariette Louis Liekens (1)
|
||||
|
||||
@ -81,6 +82,11 @@
|
||||
- Games: Hex-a-hop
|
||||
- Contact: amuzen@SF
|
||||
|
||||
## Armin Bajramovic (1)
|
||||
|
||||
- Games: Advanced Strategic Command
|
||||
- Contact: armin906@SF
|
||||
|
||||
## Arne Reiners (1)
|
||||
|
||||
- Games: GL-117
|
||||
@ -93,6 +99,12 @@
|
||||
|
||||
- Games: Slingshot
|
||||
|
||||
## Ben Brian (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Contact: historic_bruno@SF, historicbruno@GH
|
||||
- Home: https://benbrian.net/
|
||||
|
||||
## Ben Kibbey (1)
|
||||
|
||||
- Games: CBoard
|
||||
@ -138,12 +150,6 @@
|
||||
|
||||
- Games: XBill
|
||||
|
||||
## Ben Brian (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Home: https://benbrian.net/
|
||||
- Contact: historic_bruno@SF, historicbruno@GH
|
||||
|
||||
## Bruno Ethvignot (2)
|
||||
|
||||
- Games: Powermanga, TecnoballZ
|
||||
@ -173,6 +179,11 @@
|
||||
|
||||
- Games: RedShift
|
||||
|
||||
## Christian Schramm (1)
|
||||
|
||||
- Games: Advanced Strategic Command
|
||||
- Contact: Ed-von-Schleck@GH
|
||||
|
||||
## Chuck Simmons (1)
|
||||
|
||||
- Games: VMS Empire
|
||||
@ -197,6 +208,12 @@
|
||||
|
||||
- Games: Gilbert and the doors
|
||||
|
||||
## Daniel Ginovker (1)
|
||||
|
||||
- Games: 2006-rebotted
|
||||
- Contact: dginovker@GH
|
||||
- Home: https://dginovker.github.io/
|
||||
|
||||
## Daniel Loreck (1)
|
||||
|
||||
- Games: JSkat
|
||||
@ -206,21 +223,6 @@
|
||||
- Games: Colobot: Gold Edition
|
||||
- Organization: Epsitec
|
||||
|
||||
## Nicolas Auvray (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Contact: itms@SF, na-Itms@GH
|
||||
|
||||
## Philip Taylor (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Contact: philiptaylor@SF, philiptaylor@GH
|
||||
|
||||
## Lancelot de Ferrière (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Contact: wraitii@SF, wraitii@GH
|
||||
|
||||
## Daniele Napolitano (1)
|
||||
|
||||
- Games: Gweled
|
||||
@ -234,11 +236,6 @@
|
||||
- Games: Turious
|
||||
- Contact: darkrose@GL
|
||||
|
||||
## Jan-Otto Kröpke (1)
|
||||
|
||||
- Games: 2Moons Browsergame Engine
|
||||
- Contact: jkroepke@GH
|
||||
|
||||
## David Gibbs (1)
|
||||
|
||||
- Games: Omega-rpg
|
||||
@ -288,16 +285,6 @@
|
||||
|
||||
- Games: Ri-li
|
||||
|
||||
## Piwai (1)
|
||||
|
||||
- Games: 2H4U
|
||||
- Contact: insa_piwai@SF
|
||||
|
||||
## Kilgore Trout Mask Replicant (1)
|
||||
|
||||
- Games: 1oom
|
||||
- Contact: KilgoreTroutMaskReplicant@GL
|
||||
|
||||
## Don Llopis (1)
|
||||
|
||||
- Games: XInvaders 3D
|
||||
@ -311,6 +298,11 @@
|
||||
|
||||
- Games: iortcw
|
||||
|
||||
## Dorfdrull (1)
|
||||
|
||||
- Games: Advanced Strategic Command
|
||||
- Contact: dorfdrull@SF
|
||||
|
||||
## Drummyfish (1)
|
||||
|
||||
- Games: Steamer Duck
|
||||
@ -361,6 +353,11 @@
|
||||
|
||||
- Games: Kobo Deluxe
|
||||
|
||||
## Erik Johansson (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Contact: feneur@SF
|
||||
|
||||
## Etienne Sobole (1)
|
||||
|
||||
- Games: Powermanga
|
||||
@ -409,6 +406,11 @@
|
||||
|
||||
- Games: Ksudoku
|
||||
|
||||
## Frederik Kesting (1)
|
||||
|
||||
- Games: Advanced Strategic Command
|
||||
- Contact: ocl4nis@SF
|
||||
|
||||
## Fredrik Portstrom (1)
|
||||
|
||||
- Games: Sinatra
|
||||
@ -426,6 +428,12 @@
|
||||
- Games: Abe's Amazing Adventure
|
||||
- Contact: gabortorok@SF
|
||||
|
||||
## Gabriele Cirulli (1)
|
||||
|
||||
- Games: 2048
|
||||
- Contact: gabrielecirulli@GH
|
||||
- Home: https://www.gabrielecirulli.com/
|
||||
|
||||
## Ghoulsblade (1)
|
||||
|
||||
- Games: Iris2
|
||||
@ -472,31 +480,6 @@
|
||||
|
||||
- Games: Fairy-Max
|
||||
|
||||
## Dorfdrull (1)
|
||||
|
||||
- Games: Advanced Strategic Command
|
||||
- Contact: dorfdrull@SF
|
||||
|
||||
## Michael Moerz (1)
|
||||
|
||||
- Games: Advanced Strategic Command
|
||||
- Contact: natoka@SF
|
||||
|
||||
## Armin Bajramovic (1)
|
||||
|
||||
- Games: Advanced Strategic Command
|
||||
- Contact: armin906@SF
|
||||
|
||||
## Frederik Kesting (1)
|
||||
|
||||
- Games: Advanced Strategic Command
|
||||
- Contact: ocl4nis@SF
|
||||
|
||||
## Torsten Maekler (1)
|
||||
|
||||
- Games: Advanced Strategic Command
|
||||
- Contact: tmaekler@SF
|
||||
|
||||
## Harmen van der Wal (1)
|
||||
|
||||
- Games: Hypercube
|
||||
@ -513,6 +496,11 @@
|
||||
|
||||
- Games: Xjig
|
||||
|
||||
## Hilarious001 (1)
|
||||
|
||||
- Games: 2Moons Browsergame Engine
|
||||
- Contact: Hilarious001@GH
|
||||
|
||||
## HoleInTheHeadStudios (2)
|
||||
|
||||
- Games: Magic Gardeners Tournament, Search for the Red Herring
|
||||
@ -525,7 +513,7 @@
|
||||
## Horst Kevin (1)
|
||||
|
||||
- Games: Fictional Air Combat
|
||||
- Contact: horstkevin@SF
|
||||
- Contact: horstkevin@SF
|
||||
|
||||
## Hubert Lamontagne (1)
|
||||
|
||||
@ -576,6 +564,11 @@
|
||||
|
||||
- Games: JSkat
|
||||
|
||||
## Jan-Otto Kröpke (1)
|
||||
|
||||
- Games: 2Moons Browsergame Engine
|
||||
- Contact: jkroepke@GH
|
||||
|
||||
## Jani Kajala (1)
|
||||
|
||||
- Games: Cat Mother Dead Justice
|
||||
@ -591,7 +584,7 @@
|
||||
## Jason Rohrer (8)
|
||||
|
||||
- Games: Between, Cultivation, Gravitation, One Hour One Life, Passage, Primrose, Sleep Is Death, Transcend
|
||||
- Contact: jcr13@SF, jasonrohrer@GH
|
||||
- Contact: jasonrohrer@GH, jcr13@SF
|
||||
|
||||
## Jay Fenlason (1)
|
||||
|
||||
@ -622,6 +615,12 @@
|
||||
|
||||
- Games: Kobo Deluxe
|
||||
|
||||
## Jerry Jiang (1)
|
||||
|
||||
- Games: 2048
|
||||
- Contact: tpcstld@GH
|
||||
- Home: https://tpcstld.me/
|
||||
|
||||
## Jesse Smith (1)
|
||||
|
||||
- Games: Atomic Tanks
|
||||
@ -638,7 +637,7 @@
|
||||
## Jimmy Christensen (2)
|
||||
|
||||
- Games: OldSkool Gravity Game, SDL-Ball
|
||||
- Contact: dusteddk@SF, DusteDdk@GH
|
||||
- Contact: DusteDdk@GH, dusteddk@SF
|
||||
|
||||
## Joan Queralt Molina (1)
|
||||
|
||||
@ -661,11 +660,6 @@
|
||||
- Games: Alex the Allegator 4
|
||||
- Contact: peitz@SF
|
||||
|
||||
## Erik Johansson (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Contact: feneur@SF
|
||||
|
||||
## Johannes Bergmeier (1)
|
||||
|
||||
- Games: Ksudoku
|
||||
@ -699,9 +693,9 @@
|
||||
|
||||
- Games: Trip on the Funny Boat
|
||||
|
||||
## Joseph Hewitt (3)
|
||||
## Joseph Hewitt (4)
|
||||
|
||||
- Games: Dungeon Monkey Eternal, GearHead, GearHead 2
|
||||
- Games: Dungeon Monkey Eternal, GearHead, GearHead 2, Dungeon Monkey Unlimited
|
||||
- Contact: jwvhewitt@GH, jwvhewitt@SF
|
||||
|
||||
## Jujucece (1)
|
||||
@ -728,30 +722,6 @@
|
||||
|
||||
- Games: Blasphemer
|
||||
|
||||
## Jerry Jiang (1)
|
||||
|
||||
- Games: 2048
|
||||
- Home: https://tpcstld.me/
|
||||
- Contact: tpcstld@GH
|
||||
|
||||
## Gabriele Cirulli (1)
|
||||
|
||||
- Games: 2048
|
||||
- Home: https://www.gabrielecirulli.com/
|
||||
- Contact: gabrielecirulli@GH
|
||||
|
||||
## Daniel Ginovker (1)
|
||||
|
||||
- Games: 2006-rebotted
|
||||
- Home: https://dginovker.github.io/
|
||||
- Contact: dginovker@GH
|
||||
|
||||
## lo-th (1)
|
||||
|
||||
- Games: 3d.city
|
||||
- Home: http://lo-th.github.io/labs/index.html
|
||||
- Contact: lo-th@GH
|
||||
|
||||
## Jérôme Bolot (1)
|
||||
|
||||
- Games: TecnoballZ
|
||||
@ -764,6 +734,11 @@
|
||||
|
||||
- Games: Cannon Smash
|
||||
|
||||
## kantharos (1)
|
||||
|
||||
- Games: Aklabeth
|
||||
- Contact: kantharos@SF
|
||||
|
||||
## Karel Fiser (1)
|
||||
|
||||
- Games: Bombic2
|
||||
@ -776,10 +751,26 @@
|
||||
|
||||
- Games: Deer Portal
|
||||
|
||||
## Kayl (1)
|
||||
|
||||
- Games: 2H4U
|
||||
- Contact: kaylnet@SF
|
||||
|
||||
## Kenta Cho (2)
|
||||
|
||||
- Games: A7Xpg, Consomaton
|
||||
|
||||
## Kieran Pilkington (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Contact: KieranP@GH
|
||||
- Home: https://k776.tumblr.com/
|
||||
|
||||
## Kilgore Trout Mask Replicant (1)
|
||||
|
||||
- Games: 1oom
|
||||
- Contact: KilgoreTroutMaskReplicant@GL
|
||||
|
||||
## Klivo (1)
|
||||
|
||||
- Games: Pendumito
|
||||
@ -793,28 +784,44 @@
|
||||
- Games: Krystal Drop
|
||||
- Contact: krys@SF
|
||||
|
||||
## Lancelot de Ferrière (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Contact: wraitii@GH, wraitii@SF
|
||||
|
||||
## Laurence R. Brothers (1)
|
||||
|
||||
- Games: Omega-rpg
|
||||
|
||||
## Laurent (1)
|
||||
|
||||
- Games: 2048
|
||||
- Contact: marg51@GH
|
||||
- Home: https://uto.io/
|
||||
|
||||
## Laurent Guyon (1)
|
||||
|
||||
- Games: TecnoballZ
|
||||
|
||||
## Laurent (1)
|
||||
|
||||
- Games: 2048
|
||||
- Home: https://uto.io/
|
||||
- Contact: marg51@GH
|
||||
|
||||
## legoluft (1)
|
||||
|
||||
- Games: Krank
|
||||
|
||||
## leper (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Contact: leper@GH
|
||||
|
||||
## Linley Henzell (2)
|
||||
|
||||
- Games: Liberation Circuit, Overgod
|
||||
|
||||
## lo-th (1)
|
||||
|
||||
- Games: 3d.city
|
||||
- Contact: lo-th@GH
|
||||
- Home: http://lo-th.github.io/labs/index.html
|
||||
|
||||
## Locomalito (1)
|
||||
|
||||
- Games: L'Abbaye des Morts
|
||||
@ -866,6 +873,11 @@
|
||||
- Games: MUSoSu
|
||||
- Contact: marios_v@SF
|
||||
|
||||
## Mark Dickenson (1)
|
||||
|
||||
- Games: Alien Assault Traders
|
||||
- Contact: akapanamajack@SF
|
||||
|
||||
## Mark Harman (1)
|
||||
|
||||
- Games: Apricots
|
||||
@ -882,24 +894,14 @@
|
||||
|
||||
- Games: JSkat
|
||||
|
||||
## Martin Trautmann (1)
|
||||
|
||||
- Games: Holtz
|
||||
|
||||
## Martin Bickel (1)
|
||||
|
||||
- Games: Advanced Strategic Command
|
||||
- Contact: valharis@SF, ValHaris@GH
|
||||
- Contact: ValHaris@GH, valharis@SF
|
||||
|
||||
## Christian Schramm (1)
|
||||
## Martin Trautmann (1)
|
||||
|
||||
- Games: Advanced Strategic Command
|
||||
- Contact: Ed-von-Schleck@GH
|
||||
|
||||
## valuial (1)
|
||||
|
||||
- Games: Advanced Strategic Command
|
||||
- Contact: valuial@GH
|
||||
- Games: Holtz
|
||||
|
||||
## Masanao Izumo (1)
|
||||
|
||||
@ -966,6 +968,11 @@
|
||||
|
||||
- Games: Terminal Overload
|
||||
|
||||
## Michael Moerz (1)
|
||||
|
||||
- Games: Advanced Strategic Command
|
||||
- Contact: natoka@SF
|
||||
|
||||
## Michael Speck (4)
|
||||
|
||||
- Games: LBreakout2, LBreakoutHD, LTris, Online Chess Club
|
||||
@ -1016,15 +1023,16 @@
|
||||
|
||||
- Games: OpenAlchemist
|
||||
|
||||
## Mushware Limited (1)
|
||||
|
||||
- Games: Adanaxis
|
||||
|
||||
## New Breed Software (2)
|
||||
|
||||
- Games: 3D Pong, Tux Paint
|
||||
- Home: http://newbreedsoftware.com/
|
||||
|
||||
## Nicolas Auvray (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Contact: itms@SF, na-Itms@GH
|
||||
|
||||
## Nicolas Hadacek (1)
|
||||
|
||||
- Games: KMines
|
||||
@ -1070,6 +1078,11 @@
|
||||
|
||||
- Games: OGS Mahjong
|
||||
|
||||
## Ozan Kurt (1)
|
||||
|
||||
- Games: 2Moons Browsergame Engine
|
||||
- Contact: OzanKurt@GH
|
||||
|
||||
## Pascal von der Heiden (1)
|
||||
|
||||
- Games: Bloodmasters
|
||||
@ -1100,15 +1113,24 @@
|
||||
- Games: Free Space Colonization
|
||||
- Contact: bitnapper@SF
|
||||
|
||||
## Paul Robson (1)
|
||||
|
||||
- Games: Aklabeth
|
||||
|
||||
## Paul Rouget (1)
|
||||
|
||||
- Games: Runfield
|
||||
|
||||
## Paul Wise (1)
|
||||
## Paul Wise (2)
|
||||
|
||||
- Games: Hex-a-hop
|
||||
- Games: Hex-a-hop, Alex the Allegator 4
|
||||
- Contact: pabs3@SF
|
||||
|
||||
## Pedro Izecksohn (1)
|
||||
|
||||
- Games: Abe's Amazing Adventure
|
||||
- Contact: izecksohn@SF
|
||||
|
||||
## Pete Shinners (1)
|
||||
|
||||
- Games: SolarWolf
|
||||
@ -1131,6 +1153,11 @@
|
||||
|
||||
- Games: KMines
|
||||
|
||||
## Philip Taylor (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Contact: philiptaylor@GH, philiptaylor@SF
|
||||
|
||||
## Philippe Bousquet (1)
|
||||
|
||||
- Games: DarkCity
|
||||
@ -1140,19 +1167,24 @@
|
||||
|
||||
- Games: GL-117
|
||||
|
||||
## Piwai (1)
|
||||
|
||||
- Games: 2H4U
|
||||
- Contact: insa_piwai@SF
|
||||
|
||||
## plaimi (2)
|
||||
|
||||
- Games: Limbs Off, Q
|
||||
|
||||
## Puskutraktori (1)
|
||||
|
||||
- Games: Trip on the Funny Boat
|
||||
|
||||
## Pureon (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Contact: ipureon@SF
|
||||
|
||||
## Puskutraktori (1)
|
||||
|
||||
- Games: Trip on the Funny Boat
|
||||
|
||||
## PyMike (1)
|
||||
|
||||
- Games: Mrfuze
|
||||
@ -1201,6 +1233,11 @@
|
||||
|
||||
- Games: Bouncy the Hungry Rabbit
|
||||
|
||||
## Rick Thomson (1)
|
||||
|
||||
- Games: Alien Assault Traders
|
||||
- Contact: tarnus@SF
|
||||
|
||||
## Riley Rainey (1)
|
||||
|
||||
- Games: ACM
|
||||
@ -1248,6 +1285,11 @@
|
||||
|
||||
- Games: TecnoballZ
|
||||
|
||||
## s0600204 (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Contact: s0600204@GH
|
||||
|
||||
## Sam Hocevar (2)
|
||||
|
||||
- Games: Not Pacman, Powermanga
|
||||
@ -1273,11 +1315,6 @@
|
||||
- Games: Freya Game Engine
|
||||
- Contact: pond@SF
|
||||
|
||||
## Kayl (1)
|
||||
|
||||
- Games: 2H4U
|
||||
- Contact: kaylnet@SF
|
||||
|
||||
## Shard (1)
|
||||
|
||||
- Games: Anagramarama
|
||||
@ -1304,32 +1341,6 @@
|
||||
- Games: 4D-TRIS
|
||||
- Contact: simzer@SF
|
||||
|
||||
## s0600204 (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Contact: s0600204@GH
|
||||
|
||||
## Hilarious001 (1)
|
||||
|
||||
- Games: 2Moons Browsergame Engine
|
||||
- Contact: Hilarious001@GH
|
||||
|
||||
## Ozan Kurt (1)
|
||||
|
||||
- Games: 2Moons Browsergame Engine
|
||||
- Contact: OzanKurt@GH
|
||||
|
||||
## leper (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Contact: leper@GH
|
||||
|
||||
## Kieran Pilkington (1)
|
||||
|
||||
- Games: 0 A.D.
|
||||
- Home: https://k776.tumblr.com/
|
||||
- Contact: KieranP@GH
|
||||
|
||||
## Simon Peter (1)
|
||||
|
||||
- Games: Kobo Deluxe
|
||||
@ -1492,20 +1503,15 @@
|
||||
- Games: Go Ollie!
|
||||
- Organization: Charlie Dog Games
|
||||
|
||||
## Torsten Maekler (1)
|
||||
|
||||
- Games: Advanced Strategic Command
|
||||
- Contact: tmaekler@SF
|
||||
|
||||
## Troels Kofoed Jacobsen (1)
|
||||
|
||||
- Games: Qonk
|
||||
|
||||
## Alex Clark (1)
|
||||
|
||||
- Games: Abe's Amazing Adventure
|
||||
- Contact: jazkat@SF
|
||||
|
||||
## Pedro Izecksohn (1)
|
||||
|
||||
- Games: Abe's Amazing Adventure
|
||||
- Contact: izecksohn@SF
|
||||
|
||||
## Tuscan Knox (1)
|
||||
|
||||
- Games: Shotgun Debugger
|
||||
@ -1515,6 +1521,11 @@
|
||||
- Games: OpenMortal
|
||||
- Contact: upi@SF
|
||||
|
||||
## valuial (1)
|
||||
|
||||
- Games: Advanced Strategic Command
|
||||
- Contact: valuial@GH
|
||||
|
||||
## Vianney Lecroart (1)
|
||||
|
||||
- Games: Mtp Target
|
||||
@ -1556,8 +1567,8 @@
|
||||
## Yuri D'Elia (2)
|
||||
|
||||
- Games: FLTK Recycling Game!, Garith
|
||||
- Home: http://www.thregr.org/~wavexx/
|
||||
- Contact: wavexx@GL
|
||||
- Home: http://www.thregr.org/~wavexx/
|
||||
|
||||
## Zack Middleton (1)
|
||||
|
||||
|
@ -10,7 +10,7 @@ _Space browsergame framework._
|
||||
- Code repository: https://github.com/jkroepke/2Moons.git (archived), https://github.com/steemnova/steemnova.git (+)
|
||||
- Code language: PHP, JavaScript
|
||||
- Code license: MIT
|
||||
- Developer: Jan-Otto Kröpke, Ozan Kurt
|
||||
- Developer: Jan-Otto Kröpke, Ozan Kurt, Hilarious001
|
||||
|
||||
## Building
|
||||
|
||||
|
@ -9,6 +9,7 @@ _Remake of Akalabeth: World of Doom aka Ultima 0._
|
||||
- Code repository: (see download)
|
||||
- Code language: C
|
||||
- Code license: GPL-2.0
|
||||
- Developer: kantharos, Paul Robson
|
||||
|
||||
Aklabeth is a remake of Akalabeth, or 'Ultima 0' as it is often called, that was programmed by Richard Garriott for the Apple II computer in 1980.
|
||||
Aklabeth 1.0 has been written by Paul Robson and was originally released in 2004 under the GPL 2. His homepage has disappeared a long time ago.
|
||||
|
@ -9,6 +9,7 @@ _Alien Assault Traders is an online, web-based, turn-based strategy space tradin
|
||||
- Code repository: https://github.com/tarnus/aatraders.git, https://gitlab.com/osgames/aatraders.git (+)
|
||||
- Code language: PHP
|
||||
- Code license: GPL-2.0
|
||||
- Developer: Mark Dickenson, Rick Thomson
|
||||
|
||||
## Building
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user