Nutzzz / GameCollector

.NET library for finding games.
Other
5 stars 0 forks source link

Add generic handler for free and open-source games/engines that don't have store handlers #35

Open Nutzzz opened 2 weeks ago

Nutzzz commented 2 weeks ago

I've wanted to implement something for this purpose for quite a while in GLC, and if it ultimately produces nothing more than yet another personal awesome-list, then I guess I'm OK with that.

One possibility that's used in some launchers is to just list everything in the HKLM and HKCR Uninstall keys and/or in WindowsApps [for the Microsoft Store] [...or maybe we can just leverage winget list], and then make the user of the consuming app sort the wheat (i.e., games) from the chaff (i.e., apps, etc.) manually. There will obviously be some duplication from the other handlers that may or may not be easy to distinguish, but it's not like there aren't already dual-listed games to be dealt with.

And maybe that can be a handler of its own, or part of this one. However lots of these games either don't have installers or have portable options, so checking the registry is going to miss a lot of these games. So that leaves getting a base path from the consumer and searching for .exe name and matching them to a database. Of course, some name collisions are probable, but the bigger problem is that it's a lot of damn work to maintain such a database and after doing some of the work in preparing the list below, I realize I'm not invested enough to do it all by myself and keep it updated as it's going to be, by necessity, in constant flux. Ideally I'd piggyback on someone else's list, add the exe and/or registry locations to it... and then foist the responsibility of keeping such fields going on someone else. ;-) ] But wouldn't it be cool to be able to conveniently discover, download, organize, and play all of these games from one place? Like, another damn storefront and/or launcher, yes... but for open source games suggested by the community. Vapor appears to be vaporware, appropriately. Athenæum [which hasn't seen updates in a while] and Lutris are Linux-only at this point.

So, unless I get a volunteer to assist with all that, I'm left with the solution of just grabbing all the .exes in a given base path, which again relies on the user to sift through the mess.

Now that I've covered all that, the list below is probably completely unnecessary at this point, but FWIW, here it is so far. I'm getting older, so you'll notice there's a bias towards '80s and '90s nostalgia, but that does seem to cover a lot of the more popular projects. Most of the games are available here on GitHub; I've started to add links to the ones that aren't, and I've also started to add exe names and registry keys.

Open Source Game Launchers

launchers * [Athenaeum](https://gitlab.com/librebob/athenaeum) [Linux only] * Lutris [Linux only] * [Vapor](https://github.com/josefnpat/vapor) [RIP]

Other Awesome Lists

awesome lists * https://github.com/radek-sprta/awesome-game-remakes * https://awesomerank.github.io/lists/leereilly/games.html#native [ranked version, but no recent updates] * https://github.com/michelpereira/awesome-open-source-games?tab=readme-ov-file#native * https://github.com/bobeff/open-source-games * https://trilarion.github.io/opensourcegames/games/index.html * https://osgameclones.com/ * https://bronevichok.ru/ttygames/ [ASCII games] * https://directory.fsf.org/wiki/Category/Game * https://libregamewiki.org/List_of_games * https://lutris.net/games?paginate_by=100&flags=fully_libre&flags=free&flags=pwyw * https://en.wikipedia.org/wiki/List_of_open-source_video_games

Games

games * **0 A.D.** [Age of Empires inspired] * \binaries\system\pyrogenesis.exe * **Ancient Domains of Mystery (ADOM) Classic** [roguelike] * adom.exe * **Anodyne** [Zelda inspired] * **Battle for Wesnoth** [Master of Monsters inspired] * wesnoth.exe * **Cataclysm: Dark Days Ahead** [roguelike] * **Endless Sky** [Elite/Star Control inspired] * **Even the Ocean** [action platformer] * **Frogatto & Friends** [platformer] * **shapez** [Factorio inspired] * **Mindustry** [hybrid factory+tower defense] * **VVVVVV** [gravity-flipping platformer] * VVVVVV-MP\VVVVV.exe * Widelands [Settlers II inspired]

Free Game Ports, Remakes, and Clones

ports/remakes/clones * [Adventure] [**open-adventure**](http://www.catb.org/~esr/open-adventure/) * advent.exe * ADVENTUR.EXE * [Arcade Volleyball] [**GAV**](https://sourceforge.net/projects/gav/files/) * gav.exe * [Black Cauldron] [**Black Cauldron Remake**](https://www.adventuregamestudio.co.uk/site/games/game/451-black-cauldron-remake/), [**Black Cauldron SCI**](http://sciwiki.sierrahelp.com/index.php/Black_Cauldron:_Point_and_Click) * Black Cauldron Remake * bc.exe * Black Cauldron SCI * RUN.EXE * **C-Dogs SDL** * [Duelyst] **OpenDuelyst** * [Guitar Hero, Rock Band] **Clone Hero**, **Frets On Fire**, **FoFiX**, **Phase Shift**, **YARG** * Clone Hero: Clone Hero.exe * HKLM\...\Uninstall\{7AB59751-7472-4CE0-BF7A-463B21A45046}_is1 * FretsOnFire.exe * FoFiX.exe * Phase Shift: phase_shift.exe * HKLM32\...\Uninstall\Phase Shift * HKLM32\SOFTWARE\Phase Shift * YARG: YARG.exe * HKCU\Software\yarg\YARC Launcher * HKLM\...\Uninstall\{69E035C4-7D14-46D8-803C-F6850E5053CE} * [Maniac Mansion] [**Maniac Mansion Deluxe**](https://www.adventuregamestudio.co.uk/site/games/game/401-maniac-mansion-deluxe/) * Maniac.exe * [Theme Hospital] **CorsixTH** * [Pixel Dungeon] [**Shattered Pixel Dungeon**](https://github.com/00-Evan/shattered-pixel-dungeon/releases) * [Prince of Persia] [**SDLPoP**](https://www.popot.org/get_the_games.php?game=SDLPoP) * prince.exe * [Rogue] **Brogue CE** * [**SkiFree**](https://ski.ihoc.net/) * [Sid Meier's Civilization] **Freeciv**, **Unciv** * Freeciv: freeciv-gtk3.exe, freeciv-mp-gtk3.exe, freeciv-sdl.exe * HKLM\...\Uninstall\Freeciv-`` * HKLM32\SOFTWARE\Freeciv\ `` * Unciv: Unciv.exe * [Sid Meier's Colonization] **FreeCol** * FreeCol.exe * HKLM\SOFTWARE\Unknown\FreeCol\ `` * HKLM\...\Uninstall\{4128E01C-A600-36AE-AB9E-2BB1591CDAF8} * Sierra On-Line - [King's Quest 1-3, Quest for Glory 2] [**AGD Interactive**](https://www.agdinteractive.com/games/games.html) * Sierra On-Line - [King's Quest 3, Space Quest 2] ~~[**Infamous Adventures**](https://infamousadventures.itch.io/)~~ [now only on itch.io] * AGD Interactive * Kq1vga.exe, Kq2vga.exe, Kq3Redux.exe, Qfg2vga.exe * Infamous Adventures * KQ3.exe, SQ2VGA.exe, SQ2VGA_V2.exe

Replacement Engines/Source Ports (Requires Original Game Files)

engines/source ports * 3D Pinball for Windows - **SpaceCadetPinball** * SpaceCadetPinball.exe * 3D Realms MULTI [Duke Nukem 3D, Shadow Warrior, Blood, etc.] - **Raze** * Abe's Oddysee, Abe's Exoddus - **R.E.L.I.V.E.** * Age of Empires II - **openage** * Blake Stone - **BStone** * bstone.exe * Carmageddon - **Dethrace** * Cave Story/Doukutsu Monogatari - **NXengine-evo** * nx.exe * Chip's Challenge - [**Tile World**](http://muppetlabs.com/~breadbox/software/tworld/), [**Tile World 2**](https://tw2.bitbusters.club/) * tworld.exe * tworld2.exe * Command & Conquer: Red Alert - **OpenRA** * Command & Conquer: Generals, etc. - ~~**OpenSAGE**~~ [not yet playable] * Commander Keen - **Commander Genius** * CGenius\CGenius.exe * HKLM32\...\Uninstall\CGenius * HKLM32\SOFTWARE\The Commmander-Genius Team\CGenius * Descent 1 & 2 - **DXX-Rebirth**, **D2X-XL** * D1X-Rebirth\d1x-rebirth.exe, D2X-Rebirth\d2x-rebirth.exe * d2x-xl.exe * Diablo - **DevilutionX** * Diablo II - **OpenDiablo2** * Doom 1 & 2, Heretic, etc. - **GZDoom** * gzdoom.exe * Duke Nukem II - **RigelEngine** * RigelEngine.exe * Duke Nukem 3D - **EDuke32** * eduke32.exe * Elder Scrolls: Arena - ~~**OpenTESArena**~~ [not yet playable] * Elder Scrolls II: Daggerfall - **Daggerfall Unity** * Elder Scrolls III: Morrowind - **OpenMW** * openmw.exe * HKLM32\...\Uninstall\OpenMW `` * HKLM32\SOFTWARE\OpenMW.org\OpenMW `` * Heroes of Might & Magic III - **VCMI** * Infocom MULTI (Zork, etc.) - **Frotz** * HKLM32\David Kinder\Frotz\Install * HKLM32\...\Uninstall\WindowsFrotz * Jazz Jackrabbit - **OpenJazz** * OpenJazz.exe * Jazz Jackrabbit 2 - **Jazz² Resurrection** * Jazz2.exe * Jedi Knight: Dark Forces, Outlaws - **The Force Engine** * TheForceEngine.exe * Jedi Knight: Dark Forces 2 - **OpenJDKF2** * Lemmings 1 & 2 - **lemmini** * lemmini.jar * Lone Wolf gamebooks - [**Seventh Sense S**](https://projectaon.proboards.com/thread/2733/new-release-seventh-sense) * Seventh Sense: Lone Wolf.exe * Seventh Sense S: LoneWolf.exe * LucasArts, Sierra On-Line, etc. MULTI [Monkey Island, King's Quest, etc.] - **ScummVM** * Marathon 1-3, etc. - **Aleph One** * Marathon.exe, Marathon 2.exe, Marathon Infinity.exe, Aleph One.exe * Might and Magic 7 - **OpenEnroth** * Penguin Software MULTI [Transylvania, etc.] - **Recomprehend** * Quake - **DarkPlaces Engine** * darkplaces-sdl.exe * Quake III Arena - **ioquake3** * Relentless/Little Big Adventure - **LbaWin**, **twin-e** * LbaWin.exe * Rise of the Triad - **rottexpr**, **WinRott** * rottexpr: rott.exe * WinRott_Full_v``.exe, WinRottGL_Full_v.`` * RollerCoaster Tycoon 2 - **OpenRCT2** * openrct2.exe * Sid Meier's Alpha Centauri - **GLSMAC** * SimCity 2000 - **OpenSC2K** * Super Mario 64 - **sm64ex** * sm64.exe * Super Mario Galaxy 1 - ~~**Petari**~~ [not yet playable] * Tomb Raider 1-5 - **CroftEngine**, **OpenLara**, **OpenTomb**, **TR1X**, **TR2Main**, ~~**TR2X**~~ * OpenLara.exe * OpenTomb.exe * Transport Tycoon Deluxe - **OpenTTD** * Ultima 7 - **Exult** * Warcraft I & II - **Wargus** * War1gus.exe, wargus.exe, stratagus.exe * Wolfenstein 3D - **ECWolf** * ecwolf.exe * X-COM - **OpenXcom** * Zelda 1: The Legend of Zelda - **ZQuest Classic** * zelda.exe, zelda-w.exe * Zelda 3: A Link to the Past - **Zelda3** * zelda3.exe * Zelda 64 - **Zelda64Recomp** * ZZT - **zeta86**