Skip to content

Commit

Permalink
More osgl scraper fixes #2706
Browse files Browse the repository at this point in the history
  • Loading branch information
cxong committed Sep 16, 2024
1 parent e2cb7ef commit 7bb9bfe
Show file tree
Hide file tree
Showing 12 changed files with 108 additions and 36 deletions.
2 changes: 1 addition & 1 deletion games/b.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -953,7 +953,7 @@
content: open
development: halted
originals:
- Bard's Tale Construction Set
- The Bard's Tale Construction Set
status: semi-playable
repo: https://github.com/dulsi/btbuilder
type: remake
Expand Down
2 changes: 1 addition & 1 deletion games/m.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@

- name: Magnetar
originals:
- Starcraft
- StarCraft
type: remake
content: commercial
status: playable
Expand Down
2 changes: 1 addition & 1 deletion games/n.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,7 @@
- MIT
content: commercial
originals:
- Need For Speed II SE
- Need For Speed II
repo: https://github.com/zaps166/NFSIISE
feed: https://github.com/zaps166/NFSIISE/releases.atom
status: playable
Expand Down
4 changes: 2 additions & 2 deletions games/o.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@

- name: OpenBW
originals:
- Starcraft
- StarCraft
type: remake
content: commercial
status: unplayable
Expand Down Expand Up @@ -615,7 +615,7 @@
- GPL2
development: complete
originals:
- Syobon Action
- Shobon no Action
status: playable
repo: https://sourceforge.net/projects/opensyobon
type: remake
Expand Down
6 changes: 3 additions & 3 deletions games/s.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@
- MIT
development: halted
originals:
- Starcraft
- StarCraft
repo: https://github.com/toshok/scsharp
status: unplayable
type: remake
Expand Down Expand Up @@ -2157,7 +2157,7 @@

- name: Stargus
originals:
- Starcraft
- StarCraft
type: remake
repo: 'https://github.com/Wargus/stargus'
url: https://stratagus.com/stargus.html
Expand All @@ -2170,7 +2170,7 @@
- C++
licenses:
- GPL2
info: Starcraft Mod that allows you to play Starcraft with the Stratagus engine
info: StarCraft Mod that allows you to play StarCraft with the Stratagus engine
updated: '2019-12-16'
images:
- https://stratagus.com/img/screenshotStargus.png
Expand Down
2 changes: 1 addition & 1 deletion games/w.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -550,7 +550,7 @@
- Multiple
development: halted
originals:
- Puzznic / Brix
- Puzznic
repo: https://github.com/DusteDdk/Wizznic
status: playable
type: remake
Expand Down
4 changes: 2 additions & 2 deletions originals/b.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,9 @@
themes:
- Fantasy

- name: Bard's Tale Construction Set
- name: The Bard's Tale Construction Set
external:
wikipedia: Bard's Tale Construction Set
wikipedia: The Bard's Tale Construction Set
meta:
genres:
- RPG
Expand Down
1 change: 1 addition & 0 deletions originals/k.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -247,6 +247,7 @@

- name: Krush, Kill 'n' Destroy
names:
- KKND
- "Krush, Kill 'n' Destroy Xtreme"
- "Krush, Kill 'n' Destroy 2: Krossfire"
external:
Expand Down
4 changes: 2 additions & 2 deletions originals/n.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,9 @@
genres:
- Racing

- name: Need For Speed II SE
- name: Need For Speed II
external:
wikipedia: Need For Speed II SE
wikipedia: Need For Speed II
meta:
genres:
- Racing
Expand Down
5 changes: 2 additions & 3 deletions originals/p.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -878,11 +878,10 @@
genres:
- Puzzle

- name: Puzznic / Brix
- name: Puzznic
external:
wikipedia: Brix (video game)
wikipedia: Puzznic
meta:
genres:
- Puzzle
- Arcade

32 changes: 18 additions & 14 deletions originals/s.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -435,6 +435,21 @@
platforms:
- Classic Mac OS
- Windows

- name: Shobon no Action
names:
- Syobon Action
- Cat Mario
external:
wikipedia: Shobon no Action
platforms:
- Android
- Dreamcast
- iOS
- Windows
meta:
genres:
- Platform

- name: Sid Meier's Alpha Centauri
external:
Expand Down Expand Up @@ -1395,9 +1410,9 @@
themes:
- Sci-Fi

- name: Starcraft
- name: StarCraft
external:
wikipedia: Starcraft
wikipedia: StarCraft
meta:
genres:
- Real-Time Strategy
Expand Down Expand Up @@ -1491,6 +1506,7 @@
- Anime
names:
- Harvest Moon
- 'Innocent Life: A Futuristic Harvest Moon'

- name: 'Stratosphere: Conquest of the Skies'
external:
Expand Down Expand Up @@ -1761,18 +1777,6 @@
themes:
- Cyberpunk

- name: Syobon Action
external:
wikipedia: Syobon Action
platforms:
- Android
- Dreamcast
- iOS
- Windows
meta:
genres:
- Platform

- name: System Shock
external:
wikipedia: System Shock
Expand Down
80 changes: 74 additions & 6 deletions scripts/scrape_osgl_inspirations.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,29 @@
"Civilization series": "Civilization",
"Company of Heroes: Opposing Fronts": "Company of Heroes",
"Company of Heroes: Tales of Valor": "Company of Heroes",
"Final Fantasy series": "Final Fantasy",
"Krush Kill 'n' Destroy": "Krush, Kill 'n' Destroy",
"Marathon 2: Durandal": "Marathon 2",
"Microprose Falcon 4.0 Combat Simulator": "Falcon",
"Panzer General 2": "Panzer General",
"Quake II": "Quake 2",
"Quake III Arena": "Quake 3",
"QUakeWorld": "Quake",
"Runescape Classic": "RuneScape Classic",
"S.T.A.L.K.E.R: Call of Pripyat": "S.T.A.L.K.E.R.: Call of Pripyat",
"Settlers": "The Settlers",
"Shobon Action": "Syobon Action",
"Simon Says": "Simon",
"Sonic the Hedgehog series": "Sonic the Hedgehog",
"Super Pang": "Pang",
"The Incredible Machine series": "The Incredible Machine",
"Ultima series": "Ultima",
"Ultima Underworld 1": "Ultima Underworld",
"Warcraft": "Warcraft: Orcs & Humans",
"Worms": "Worms Series",
"X-COM: Enemy Unknown": "X-COM: UFO Defense",
}
# Games that aren't interesting enough or weren't closed source
# Games that aren't games, aren't interesting enough or weren't closed source
BLACKLIST = {
"arithmetic",
"Black Shades",
Expand All @@ -32,7 +53,44 @@
"Cube 2: Sauerbraten",
"CUBE engine",
"Daimonin",
"DragonBall",
"Dungeon Crawl Stone Soup",
"Eternal Lands",
"Falcon's Eye",
"Flixel",
"FooBillard",
"GalaxyMage",
"GearHead",
"GL-117",
"Kobold's Quest",
"Konquest",
"LBreakout",
"Linley's Dungeon Crawl",
"Liquid War",
"LÖVE",
"Metroidvania",
"Noiz2",
"NScripter",
"OGRE",
"Open Dune",
"RARS",
"Red Eclipse",
"Revenge Of The Cats: Ethernet",
"sfxr",
"Teeworlds",
"The Clans",
"The Mana World",
"Tower defense",
"Transball",
"TuxMath",
"Tux Racer",
"Urho3D",
"Vavoom",
"Volleyball",
"Webhangman",
"XKobo",
"XRay engine",
"Xtank",
}


Expand All @@ -59,17 +117,27 @@ def main():
osgc_originals.add(original["name"])
for name in original.get("names", []):
osgc_originals.add(name)
osgc_games = {game["name"] for game in games()}
osgl_inspireds = {
inspired
for inspireds in osgl_games.values()
for inspired in inspireds
}
for game in osgl_games:
if game in BLACKLIST:
continue
# Exclude games that are open source clones to begin with
if game in osgc_games and game not in osgc_originals:
continue
# Exclude transitive inspirations - we only want the originals
if game in osgl_inspireds:
continue
alias = ALIASES.get(game)
if game not in osgc_originals and (not alias or alias not in osgc_originals):
print(f"Missing original: {game}")
osgc_games = set(game["name"] for game in games())
for game, inspireds in osgl_games.items():
for inspired in inspireds:
if inspired not in osgc_games:
print(f"Missing clone: {inspired} (inspired by {game})")
for inspired in osgl_inspireds:
if inspired not in osgc_games:
print(f"Missing clone: {inspired}")


if __name__ == "__main__":
Expand Down

0 comments on commit 7bb9bfe

Please sign in to comment.