8 ms·
Open Source Game Clones
- axonic 9y agoI stumbled upon this when searching for examples of successful open source games. Great list, thanks for this.
- AdmiralAsshat 9y agoIt would actually be really cool if games officially adopted this kind of engine-based model that we see in some of the examples, where the "engine" would be FOSS (meaning it can be ported, modded, improved, etc.), and the "game" that is sold is the compiled binary blob graphics, assets, scripts, etc. In short, I guess it would basically be like selling RPG Maker games or DOOM wad's, but without the engine itself being proprietary.
- pvg 9y agoIsn't UE reasonably close to that already for most practical, if not ideological purposes?
- AdmiralAsshat 9y agoBut that only works if Unity open sources the engine. A ubiquitous engine is not the same as an open engine. The fact that we now have jDoom, Doomsday, and other enhancements to the engine that let us play Doom, Doom2, Hexen, Heretic, etc. only work because id software released the source code. Otherwise, it would be like any other proprietary engine, and we'd have to reverse-engineer it if we want to be able to play those games again. I'm sure you could argue that Unity is currently more cross-platform than engines were 10-20 years ago and already works on Mac/Win/Linux/Android/whatever, but we can't guarantee it will be around in 20 years.
- mintplant 9y agoUE is Unreal Engine, not Unity. Presumably Unreal Engine 4, which gives full source access to anyone who agrees to their EULA and takes patches through GitHub.
- deleted 9y ago[deleted]
- pvg 9y agoOh I meant Unreal, not Unity, should have spelled it out. Unreal source is available.
- em3rgent0rdr 9y agoThis is why acronyms should be avoided on the internet, unless they are unambiguously unique or presumably understood by any reader.
- pvg 9y agoZOMG, no, IMHO. More seriously, 'UE' is a pretty standard abbreviation in the context. But yes, typing it out would have been better. lol.
- improv32 9y agoI think he meant Unreal Engine, which isn't strictly open source but you get access with a monthly fee
- ReverseCold 9y agoThere is no monthly fee, they take a % of revenue of whatever game you sell.
- badsectoracula 9y agoConsidering that ideology often comes from practical considerations and that the practical consideration in UE's licensing is that you are still bound to Epic and unable take the code and run with it, then i'd say that no, it isn't reasonably close.
- pvg 9y agounable take the code and run with it There are really very few practical limits there. You can distribute a game with a modified engine. But what the poster was talking about was a common engine with source that will be around for a long time. UE sounds like a fairly close match. Maybe they had something else in mind but 'the ideological is the practical and vice versa so this ain't nothing' seems more like some sort of odd logical (ideological?) contortion than an argument.
- badsectoracula 9y agoThere is the very practical limit of having to pay Epic if what you make with it happens to make you money above some arbitrary point. This introduces additional overhead to your finances - you may think it is justified, but it is still a limit. Another very practical limit is that you can only distribute changes to the engine through either Epic's marketplace or a fork of their GitHub (so you cannot distribute changes through your own website, for example). Also you cannot make a modification to the engine itself (even through the "allowed" means) and distribute it yourself as an alternative version/fork of the engine. Finally, yet another very practical limit, is that you cannot take source code out of the engine for use in other engines and products - no matter what. All these are practical - not ideological - issues that proper open source projects do not have. Unreal Engine is not open source, you just have access to the engine's source code for minor and project-specific modifications and even that comes with several limitations as i already mentioned above (and there are others tool, just read the engine's EULA).
- AgentME 9y agoDon't people usually end making changes to the Unreal Engine executable and tie their game to it? As far as I know, it's not possible for me to take the Unreal Engine source code, compile it possibly with modifications, and play arbitrary Unreal Engine games with it (like say Gears of War 4).
- rhn_mk1 9y agoI've heard a couple of good things about Godot [0]. However, I couldn't tell you any titles that use it without looking it up. Perhaps there is no standard engine in the FOSS world because the engines are not advertised as strongly as the most popular commercial ones. Unity, after all, will gladly let you know it's being used whenever the game starts. [0] https://godotengine.org/ https://godotengine.org/
- epigramx 9y agoI had been hacking the open source quake 3 engine while in the community of Urban Terror, a closed source game on top of it. I believe a problem that studios would face with what you are suggesting is that there is still a lot you can control at the low level, ranging from cheats to game behavior. PS. Of course one could claim you can never be certain of those (hacking disassembled code is always an option) but in any way you look at it, if you do have the resources to have your own engine you retain more control.
- heavenlyhash 9y agoKeeperRL is a game being developed and sold in that model! It's both on Steam (where I bought it), and on Itch.io (which seems to be the thing, for indie games now..?) and on Github -- same thing, full open source. If you buy it, you're essentially buying the build/bundle/autoupdate conveniences, and I think some assets; if you build it from source, you've got the same essential product. - http://keeperrl.com/ - http://store.steampowered.com/app/329970 - https://miki151.itch.io/keeperrl - https://github.com/miki151/keeperrl Not a shill or by any means a sockpuppet; just a pleased owner/supporter, and I like and want to support this model! Mind, this is a game, not an "engine". And I'm okay with that; building an "engine" rather than building an actual game is something that we OSS nerds are already prone to self-nerdsniping on, and the resulting engine-with-no-game doesn't really help anyone (including, typically, other game makers, because without a single trial-by-fire, that "engine" code tends to be pretty useless). It's good that it's OSS, even if (and especially if?) it's not an "engine".
- daeken 9y agoNot quite ready to submit this to the list yet, but I've been working on a Quake 3 engine clone from scratch in C# with Bridge.NET, targeting the browser and WebGL. It's been a super fun project so far -- a few days of part-time work and I have levels rendering nearly perfectly and I'm making progress on character model rendering. Repo is at https://github.com/daeken/WebArena https://github.com/daeken/WebArena and you can see a live version at http://demoseen.com/bridge/ http://demoseen.com/bridge/ Still a ton to do, but I'm really digging it. Edit to add: WASD + Space/Shift + arrows to control the camera.
- westoncb 9y agoAwesome! I wrote an MD3 loader/renderer/animator years ago[0] and had a lot of fun with it—always wanted to try loading the levels as well, though I've yet to try it. Any comment on how difficult that was in comparison to dealing with characters? I imagine you are pulling the data from WAD files (err.. does quake 3 still use those?), and static geometry is in a 3D BSP tree? [0] http://symbolflux.com/statichtml/oldprojects/md3library.html http://symbolflux.com/statichtml/oldprojects/md3library.html (No source or anything available atm—just a screenshot and description, though I could up it up if anyone were interested.)
- daeken 9y agoThe actual level loading itself is stupid easy -- I had the geometry loading and rendering in something like two hours. The tough part is converting their "shader" model over to something that modern GPUs can understand. That took about a day and a half and still isn't entirely complete -- I'm missing environment mapping and vertex deformation. MD3 has been pretty straightforward on the whole, but I didn't design my mesh abstraction super well out the gate, so I've mainly been redesigning that and trying to make it futureproof. I think I have it to about the minimum repeated code possible at this point, but I'm sure I'll reach some other snag down the road and have to refactor again!
- westoncb 9y agoInteresting—yes, I was wondering about their shader model. I glanced through your source and saw what looked to me like some of the conversion. In any case, the shaders you have running so far (I assume they generate the animations on various objects in the scene) look very nice :) Good luck with the project!
- kiddico 9y agoYou missed the best clone of them all :P https://github.com/raxod502/TerrariaClone https://github.com/raxod502/TerrariaClone
- salqadri 9y agoJust submit a PR to https://github.com/piranha/osgameclones/ https://github.com/piranha/osgameclones/
- Fordrus 9y agoOh... oh my Gosh..... it's full of... he globally declared his LOOP INDEXING VARIABLES?! I really appreciate him making that available, fantastic little cautionary tale, clearly from an enthusiastic and thoughtful learner of Java - glad he's made good progress since then, though, that's... I mean, dang it is REALLY bad, but it is also amazing as a sort of exercise in him just knowing what he wants to do and finding (bad) ways to make it happen. And that's admirable, even if it is also horrifying to see unfold. :D
- salqadri 9y agoThis is an amazing list; thanks a lot for sharing! Here is a link to the underlying github repo where people can contribute to that list: https://github.com/piranha/osgameclones/ https://github.com/piranha/osgameclones/
- indescions_2017 9y agoGreat list! If we were to start an archival project to preserve some of these classics for posterity, it seems there are a couple of techniques. Internet Archive's strategy of collecting (public domain?) ROMs and exposing via JSMAME. Use an open clone as reference and then port again to WebGL. Or for games ported to SDL perhaps re-compile via Emscripten to Javascript. HTML5 and browsers are becoming performant enough. Is there some other portable emulator that might be a better target?
- conradev 9y agolibretro is pretty cool: https://www.libretro.com/index.php/mission/ https://www.libretro.com/index.php/mission/
- emodendroket 9y agoIt's always seemed funny to me that there aren't a million Fantavision clones.
- rodolphoarruda 9y agoHow do I know which of these could be played in Ubuntu?
- soared 9y agoThis is a good example of when a site with a lot of images would actually be helpful - I could use some thumbnails! ('go submit a pr then')
- dmm 9y agoYou include several clones built on Unity. These are not open source.
- derefr 9y agoIs a game "not open source" if all the business-logic code and game assets are open-source, but it relies on a closed-source engine (that it doesn't ship with)? Doesn't seem much different to me to e.g. writing an open-source game that uses DirectX. DirectX is not, itself, open-source, but it's not really "part of" the game. The game just uses its API; and could equivalently use anything else with the same API (like the DirectX implementation in Wine.)
- throwaway2016a 9y agoA purist would say that an open source game should use OpenGL. But I generally agree. Unity is free to download so there is no monetary barrier to compiling these games. So it's not free from a GNU sense of the word but it is free money wise and the gameplay parts are open source.
- derefr 9y agoThat's not even so much what I meant. The "game" isn't the engine; and so the "game" is open source. You're free to modify and redistribute everything that constitutes the game. To play the game, you need the game engine, similar to how running a program requires a machine (real or virtual) with a compatible ISA. But there's nothing forcing you to use a closed-source implementation of the game engine. If an open-source implementation of the engine doesn't exist, you're always free to write one. Nobody ever says that a program being written for closed-source hardware necessarily implies that the program can't be open source. Because, of course, you can just write your own open VM for that same hardware. Saying that e.g. Gameboy Advance home-brew is all closed source, because the reference implementation of the hardware is closed source, is nonsensical. People are free to write, modify, and run GBA home-brew. Doing the last one just requires an emulator for most people, which is an everyday tool for programmers (given that many languages target abstract machines like the JVM or Erlang's BEAM, where the resulting bytecode ISA is only reified as an emulator.)
- thriftwy 9y agoThere's this best game ever, Master of Magic, which countless people tried to rewrite over but nobody ever got anywhere. Even in this list. Of these, Star Control (Ur-Quan Masters) is also one of the best games with tear-dropping story which I also recommend highly. The open-source port is of excellent quality.
- throwaway2016a 9y agoThis is an awesome list. I know there are many programmers that spend long hours recreating games they like in open source. But are there artists doing the same? It would be great if many of these projects that require a copy of the original game for the assets could get contributions from artists willing to make open source skins / texture packs as well.
- cr0sh 9y agoYes: https://opengameart.org/ https://opengameart.org/
- throwaway2016a 9y agoThanks for the link. This looks really cool.
- hutzlibu 9y agoThose projects are good, but I think it is a bit sad, that the open source movement allmost only manages to produce clones of games and not a new one. Well, let's see, if I can change that one day ... lot's of ideas, but not the time, nor money at the moment. Common problem, I suppose ;)
- krapp 9y agoTo be fair, creating a new game that's good takes a lot more talent across a lot more domains of expertise than your average FOSS hacker might appreciate. The code is just one part of it - you've got art, music, level design, story possibly, it can be as complicated as making a movie. Cloning an existing game is easier.
- lloeki 9y agoIf people want to try their hand at it, I recommend them to try to participate in game jam warm-ups, such as MiniLD[0] for Ludum Dare. Getting your feet wet gives quite some hint at the scope of things you have to handle. [0]: http://ludumdare.com/compo/minild/ http://ludumdare.com/compo/minild/
- tabletiptop 9y agoGame design is a broad study and difficult to do well. Programming a game based on an existing design is the easy part.
- rpdillon 9y agoI recently discovered Argentum Age, a high-quality, fully open-source game that is certainly inspired by other games, but also feels quite novel in many ways. My understanding is that it has some of the same folks that have worked on Battle for Wesnoth, so I have every confidence that the team can execute on their vision. http://argentumage.com/ http://argentumage.com/
- dimman 9y agoThere’s one engine missing in that list, and it’s pretty advanced: http://fte.triptohell.info http://fte.triptohell.info Supports a lot of the Quake based games (started out as a QW engine but is much more today). Had Vulkan support way earlier than vkQuake came to be. Spike, the basically single developer behind it is really talented.
- erikb 9y agoReally nice, but out of date it seems. A lot of the links don't work and sometimes good alternatives aren't mentioned.
- vog 9y agoIf you didn't play it, and are into puzzle games, I strongly recommend you to try the Pushover reimplementation. I loved that one back in the DOS times, and the free clone contains may additional levels.
- kzrdude 9y agoRTTR for a Settlers II remake is really good (but requires original graphics files).
- microcolonel 9y agoI didn't know that Allegiance was switched to an MIT license from Shared Source, that's awesome! I've not been running Windows natively on a computer for some years now, and I kinda miss playing Free Allegiance with easily 200 players in a single game, so hopefully under the new license it's more likely to be ported off of Direct3D, and then perhaps off of Windows dependence. I'm probably not going to be the one to do it though, so maybe it'll never happen.
- fritzy 9y agoI should submit https://spacewar.pro https://spacewar.pro as a clone of DOS SPACEWAR
- itomato 9y agoI'd like to see an open, multiplatform clone of Subspace. We've had a reverse-engineered server for some time: https://bitbucket.org/grelminar/asss https://bitbucket.org/grelminar/asss
- VikingCoder 9y agoI'd love it if someone made a Visual Studio Solution that correctly built as many of these as possible.