Exploring the open source 2048 game javascript examples I spent a lot of time over the past few days playing this game called 2048, which is a clone of a game called 1024, which appears to be a clone of the game Threes. I liked playing this 2048 game. And it took more time and strategy than I expected, but I beat it. To download 2048 free java game, we recommend you to select your phone model, and then our system will choose the most suitable game files. Downloading is very simple: select the desired file and click 'Java 2048 - free download', then select one of the ways you want to get the file. Page Information: Download 2048 Puzzle - Game game for mobiles - one of the best Java games! At PHONEKY Free Java Games Market, you can download mobile games for any phone absolutely free of charge. Nice graphics and addictive gameplay will keep you entertained for a very long time.
Tai game 2048 cho dien thoai 2730 mien phi moi nhat, tai game 2048 cho dien thoai 2730 crack cho dien thoai, download game mod full tai game 2048 cho dien thoai 2730 cho nokia asha, samsung galaxy, dt cam ung, android. Tai game 2048 cho dien thoai 2730 full man hinh. Man hinh 320x240 128x160 128x128 240x400 240x320 man hinh ngang, tai Game cho.
I have recently stumbled upon the game 2048. You merge similar tiles by moving them in any of the four directions to make 'bigger' tiles. After each move, a new tile appears at random empty position with a value of either 2
or 4
. The game terminates when all the boxes are filled and there are no moves that can merge tiles, or you create a tile with a value of 2048
.
One, I need to follow a well-defined strategy to reach the goal. So, I thought of writing a program for it.
My current algorithm:
What I am doing is at any point, I will try to merge the tiles with values 2
and 4
, that is, I try to have 2
and 4
tiles, as minimum as possible. If I try it this way, all other tiles were automatically getting merged and the strategy seems good.
But, when I actually use this algorithm, I only get around 4000 points before the game terminates. Maximum points AFAIK is slightly more than 20,000 points which is way larger than my current score. Is there a better algorithm than the above?
14 Answers
I developed a 2048 AI using expectimax optimization, instead of the minimax search used by @ovolve's algorithm. The AI simply performs maximization over all possible moves, followed by expectation over all possible tile spawns (weighted by the probability of the tiles, i.e. 10% for a 4 and 90% for a 2). As far as I'm aware, it is not possible to prune expectimax optimization (except to remove branches that are exceedingly unlikely), and so the algorithm used is a carefully optimized brute force search.
Performance
The AI in its default configuration (max search depth of 8) takes anywhere from 10ms to 200ms to execute a move, depending on the complexity of the board position. In testing, the AI achieves an average move rate of 5-10 moves per second over the course of an entire game. If the search depth is limited to 6 moves, the AI can easily execute 20+ moves per second, which makes for some interesting watching.
To assess the score performance of the AI, I ran the AI 100 times (connected to the browser game via remote control). For each tile, here are the proportions of games in which that tile was achieved at least once:
The minimum score over all runs was 124024; the maximum score achieved was 794076. The median score is 387222. The AI never failed to obtain the 2048 tile (so it never lost the game even once in 100 games); in fact, it achieved the 8192 tile at least once in every run!
Here's the screenshot of the best run:

This game took 27830 moves over 96 minutes, or an average of 4.8 moves per second.
Implementation
My approach encodes the entire board (16 entries) as a single 64-bit integer (where tiles are the nybbles, i.e. 4-bit chunks). On a 64-bit machine, this enables the entire board to be passed around in a single machine register.
Bit shift operations are used to extract individual rows and columns. A single row or column is a 16-bit quantity, so a table of size 65536 can encode transformations which operate on a single row or column. For example, moves are implemented as 4 lookups into a precomputed 'move effect table' which describes how each move affects a single row or column (for example, the 'move right' table contains the entry '1122 -> 0023' describing how the row [2,2,4,4] becomes the row [0,0,4,8] when moved to the right).
Scoring is also done using table lookup. The tables contain heuristic scores computed on all possible rows/columns, and the resultant score for a board is simply the sum of the table values across each row and column.
This board representation, along with the table lookup approach for movement and scoring, allows the AI to search a huge number of game states in a short period of time (over 10,000,000 game states per second on one core of my mid-2011 laptop).
The expectimax search itself is coded as a recursive search which alternates between 'expectation' steps (testing all possible tile spawn locations and values, and weighting their optimized scores by the probability of each possibility), and 'maximization' steps (testing all possible moves and selecting the one with the best score). The tree search terminates when it sees a previously-seen position (using a transposition table), when it reaches a predefined depth limit, or when it reaches a board state that is highly unlikely (e.g. it was reached by getting 6 '4' tiles in a row from the starting position). The typical search depth is 4-8 moves.
Heuristics
Several heuristics are used to direct the optimization algorithm towards favorable positions. The precise choice of heuristic has a huge effect on the performance of the algorithm. The various heuristics are weighted and combined into a positional score, which determines how 'good' a given board position is. The optimization search will then aim to maximize the average score of all possible board positions. The actual score, as shown by the game, is not used to calculate the board score, since it is too heavily weighted in favor of merging tiles (when delayed merging could produce a large benefit).
Initially, I used two very simple heuristics, granting 'bonuses' for open squares and for having large values on the edge. These heuristics performed pretty well, frequently achieving 16384 but never getting to 32768.
Petr Morávek (@xificurk) took my AI and added two new heuristics. The first heuristic was a penalty for having non-monotonic rows and columns which increased as the ranks increased, ensuring that non-monotonic rows of small numbers would not strongly affect the score, but non-monotonic rows of large numbers hurt the score substantially. The second heuristic counted the number of potential merges (adjacent equal values) in addition to open spaces. These two heuristics served to push the algorithm towards monotonic boards (which are easier to merge), and towards board positions with lots of merges (encouraging it to align merges where possible for greater effect).
Furthermore, Petr also optimized the heuristic weights using a 'meta-optimization' strategy (using an algorithm called CMA-ES), where the weights themselves were adjusted to obtain the highest possible average score.
The effect of these changes are extremely significant. The algorithm went from achieving the 16384 tile around 13% of the time to achieving it over 90% of the time, and the algorithm began to achieve 32768 over 1/3 of the time (whereas the old heuristics never once produced a 32768 tile).
I believe there's still room for improvement on the heuristics. This algorithm definitely isn't yet 'optimal', but I feel like it's getting pretty close.
That the AI achieves the 32768 tile in over a third of its games is a huge milestone; I will be surprised to hear if any human players have achieved 32768 on the official game (i.e. without using tools like savestates or undo). I think the 65536 tile is within reach!
You can try the AI for yourself. The code is available at https://github.com/nneonneo/2048-ai.
I'm the author of the AI program that others have mentioned in this thread. You can view the AI in action or read the source.
Currently, the program achieves about a 90% win rate running in javascript in the browser on my laptop given about 100 milliseconds of thinking time per move, so while not perfect (yet!) it performs pretty well.
Since the game is a discrete state space, perfect information, turn-based game like chess and checkers, I used the same methods that have been proven to work on those games, namely minimaxsearch with alpha-beta pruning. Since there is already a lot of info on that algorithm out there, I'll just talk about the two main heuristics that I use in the static evaluation function and which formalize many of the intuitions that other people have expressed here.
Monotonicity
This heuristic tries to ensure that the values of the tiles are all either increasing or decreasing along both the left/right and up/down directions. This heuristic alone captures the intuition that many others have mentioned, that higher valued tiles should be clustered in a corner. It will typically prevent smaller valued tiles from getting orphaned and will keep the board very organized, with smaller tiles cascading in and filling up into the larger tiles.
Here's a screenshot of a perfectly monotonic grid. I obtained this by running the algorithm with the eval function set to disregard the other heuristics and only consider monotonicity.
Smoothness
The above heuristic alone tends to create structures in which adjacent tiles are decreasing in value, but of course in order to merge, adjacent tiles need to be the same value. Therefore, the smoothness heuristic just measures the value difference between neighboring tiles, trying to minimize this count.
A commenter on Hacker News gave an interesting formalization of this idea in terms of graph theory.
Here's a screenshot of a perfectly smooth grid, courtesy of this excellent parody fork.
Free Tiles
And finally, there is a penalty for having too few free tiles, since options can quickly run out when the game board gets too cramped.
And that's it! Searching through the game space while optimizing these criteria yields remarkably good performance. One advantage to using a generalized approach like this rather than an explicitly coded move strategy is that the algorithm can often find interesting and unexpected solutions. If you watch it run, it will often make surprising but effective moves, like suddenly switching which wall or corner it's building up against.
Edit:
Here's a demonstration of the power of this approach. I uncapped the tile values (so it kept going after reaching 2048) and here is the best result after eight trials.
Yes, that's a 4096 alongside a 2048. =) That means it achieved the elusive 2048 tile three times on the same board.
I became interested in the idea of an AI for this game containing no hard-coded intelligence (i.e no heuristics, scoring functions etc). The AI should 'know' only the game rules, and 'figure out' the game play. This is in contrast to most AIs (like the ones in this thread) where the game play is essentially brute force steered by a scoring function representing human understanding of the game.
AI Algorithm
I found a simple yet surprisingly good playing algorithm: To determine the next move for a given board, the AI plays the game in memory using random moves until the game is over. This is done several times while keeping track of the end game score. Then the average end score per starting move is calculated. The starting move with the highest average end score is chosen as the next move.
With just 100 runs (i.e in memory games) per move, the AI achieves the 2048 tile 80% of the times and the 4096 tile 50% of the times. Using 10000 runs gets the 2048 tile 100%, 70% for 4096 tile, and about 1% for the 8192 tile.
The best achieved score is shown here:
An interesting fact about this algorithm is that while the random-play games are unsurprisingly quite bad, choosing the best (or least bad) move leads to very good game play: A typical AI game can reach 70000 points and last 3000 moves, yet the in-memory random play games from any given position yield an average of 340 additional points in about 40 extra moves before dying. (You can see this for yourself by running the AI and opening the debug console.)
This graph illustrates this point: The blue line shows the board score after each move. The red line shows the algorithm's best random-run end game score from that position. In essence, the red values are 'pulling' the blue values upwards towards them, as they are the algorithm's best guess. It's interesting to see the red line is just a tiny bit above the blue line at each point, yet the blue line continues to increase more and more.
I find it quite surprising that the algorithm doesn't need to actually foresee good game play in order to chose the moves that produce it.
Searching later I found this algorithm might be classified as a Pure Monte Carlo Tree Search algorithm.
Implementation and Links
First I created a JavaScript version which can be seen in action here. This version can run 100's of runs in decent time. Open the console for extra info. (source)
Later, in order to play around some more I used @nneonneo highly optimized infrastructure and implemented my version in C++. This version allows for up to 100000 runs per move and even 1000000 if you have the patience. Building instructions provided. It runs in the console and also has a remote-control to play the web version.(source)
Results
Surprisingly, increasing the number of runs does not drastically improve the game play. There seems to be a limit to this strategy at around 80000 points with the 4096 tile and all the smaller ones, very close to the achieving the 8192 tile. Increasing the number of runs from 100 to 100000 increases the odds of getting to this score limit (from 5% to 40%) but not breaking through it.
Running 10000 runs with a temporary increase to 1000000 near critical positions managed to break this barrier less than 1% of the times achieving a max score of 129892 and the 8192 tile.
Improvements
After implementing this algorithm I tried many improvements including using the min or max scores, or a combination of min,max,and avg. I also tried using depth: Instead of trying K runs per move, I tried K moves per move list of a given length ('up,up,left' for example) and selecting the first move of the best scoring move list.
Later I implemented a scoring tree that took into account the conditional probability of being able to play a move after a given move list.
However, none of these ideas showed any real advantage over the simple first idea. I left the code for these ideas commented out in the C++ code.
I did add a 'Deep Search' mechanism that increased the run number temporarily to 1000000 when any of the runs managed to accidentally reach the next highest tile. This offered a time improvement.
I'd be interested to hear if anyone has other improvement ideas that maintain the domain-independence of the AI.
2048 Variants and Clones
Just for fun, I've also implemented the AI as a bookmarklet, hooking into the game's controls. This allows the AI to work with the original game and many of its variants.
This is possible due to domain-independent nature of the AI. Some of the variants are quite distinct, such as the Hexagonal clone.
EDIT: This is a naive algorithm, modelling human conscious thought process, and gets very weak results compared to AI that search all possibilities since it only looks one tile ahead. It was submitted early in the response timeline.
I have refined the algorithm and beaten the game! It may fail due to simple bad luck close to the end (you are forced to move down, which you should never do, and a tile appears where your highest should be. Just try to keep the top row filled, so moving left does not break the pattern), but basically you end up having a fixed part and a mobile part to play with. This is your objective:
This is the model I chose by default.
The chosen corner is arbitrary, you basically never press one key (the forbidden move), and if you do, you press the contrary again and try to fix it. For future tiles the model always expects the next random tile to be a 2 and appear on the opposite side to the current model (while the first row is incomplete, on the bottom right corner, once the first row is completed, on the bottom left corner).
Here goes the algorithm. Around 80% wins (it seems it is always possible to win with more 'professional' AI techniques, I am not sure about this, though.)
A few pointers on the missing steps. Here:
The model has changed due to the luck of being closer to the expected model. The model the AI is trying to achieve is
And the chain to get there has become:
The O
represent forbidden spaces...
Download Game 2048 Cho Java Version
So it will press right, then right again, then (right or top depending on where the 4 has created) then will proceed to complete the chain until it gets:
So now the model and chain are back to:
Second pointer, it has had bad luck and its main spot has been taken. It is likely that it will fail, but it can still achieve it:
Here the model and chain is:
When it manages to reach the 128 it gains a whole row is gained again:
Download Game 2048 Cho Java Download
I copy here the content of a post on my blog
The solution I propose is very simple and easy to implement. Although, it has reached the score of 131040. Several benchmarks of the algorithm performances are presented.
Algorithm
Heuristic scoring algorithm
The assumption on which my algorithm is based is rather simple: if you want to achieve higher score, the board must be kept as tidy as possible. In particular, the optimal setup is given by a linear and monotonic decreasing order of the tile values.This intuition will give you also the upper bound for a tile value: where n is the number of tile on the board.

(There's a possibility to reach the 131072 tile if the 4-tile is randomly generated instead of the 2-tile when needed)
Two possible ways of organizing the board are shown in the following images:
To enforce the ordination of the tiles in a monotonic decreasing order, the score si computed as the sum of the linearized values on the board multiplied by the values of a geometric sequence with common ratio r<1 .
Several linear path could be evaluated at once, the final score will be the maximum score of any path.
Decision rule
The decision rule implemented is not quite smart, the code in Python is presented here:
An implementation of the minmax or the Expectiminimax will surely improve the algorithm. Obviously a moresophisticated decision rule will slow down the algorithm and it will require some time to be implemented.I will try a minimax implementation in the near future. (stay tuned)
Benchmark
- T1 - 121 tests - 8 different paths - r=0.125
- T2 - 122 tests - 8-different paths - r=0.25
- T3 - 132 tests - 8-different paths - r=0.5
- T4 - 211 tests - 2-different paths - r=0.125
- T5 - 274 tests - 2-different paths - r=0.25
- T6 - 211 tests - 2-different paths - r=0.5
In case of T2, four tests in ten generate the 4096 tile with an average score of 42000
Code
The code can be found on GiHub at the following link: https://github.com/Nicola17/term2048-AIIt is based on term2048 and it's written in Python. I will implement a more efficient version in C++ as soon as possible.
My attempt uses expectimax like other solutions above, but without bitboards. Nneonneo's solution can check 10millions of moves which is approximately a depth of 4 with 6 tiles left and 4 moves possible (2*6*4)4. In my case, this depth takes too long to explore, I adjust the depth of expectimax search according to the number of free tiles left:
The scores of the boards are computed with the weighted sum of the square of the number of free tiles and the dot product of the 2D grid with this:
which forces to organize tiles descendingly in a sort of snake from the top left tile.
code below or on github:
I am the author of a 2048 controller that scores better than any other program mentioned in this thread. An efficient implementation of the controller is available on github. In a separate repo there is also the code used for training the controller's state evaluation function. The training method is described in the paper.
The controller uses expectimax search with a state evaluation function learned from scratch (without human 2048 expertise) by a variant of temporal difference learning (a reinforcement learning technique). The state-value function uses an n-tuple network, which is basically a weighted linear function of patterns observed on the board. It involved more than 1 billion weights, in total.
Performance
At 1 moves/s: 609104 (100 games average)
At 10 moves/s: 589355 (300 games average)
At 3-ply (ca. 1500 moves/s): 511759 (1000 games average)
The tile statistics for 10 moves/s are as follows:
(The last line means having the given tiles at the same time on the board).
For 3-ply:
However, I have never observed it obtaining the 65536 tile.
I think I found an algorithm which works quite well, as I often reach scores over 10000, my personal best being around 16000. My solution does not aim at keeping biggest numbers in a corner, but to keep it in the top row.
Please see the code below:
There is already an AI implementation for this game here. Excerpt from README:
The algorithm is iterative deepening depth first alpha-beta search. The evaluation function tries to keep the rows and columns monotonic (either all decreasing or increasing) while minimizing the number of tiles on the grid.
There is also a discussion on Hacker News about this algorithm that you may find useful.
Algorithm
Evaluation
Evaluation Details
This is a constant, used as a base-line and for other uses like testing.
More spaces makes the state more flexible, we multiply by 128 (which is the median) since a grid filled with 128 faces is an optimal impossible state.
Here we evaluate faces that have the possibility to getting to merge, by evaluating them backwardly, tile 2 become of value 2048, while tile 2048 is evaluated 2.
In here we still need to check for stacked values, but in a lesser way that doesn't interrupt the flexibility parameters, so we have the sum of { x in [4,44] }.
A state is more flexible if it has more freedom of possible transitions.
This is a simplified check of the possibility of having merges within that state, without making a look-ahead.
Note: The constants can be tweaked..
This is not a direct answer to OP's question, this is more of the stuffs (experiments) I tried so far to solve the same problem and obtained some results and have some observations that I want to share, I am curious if we can have some further insights from this.
I just tried my minimax implementation with alpha-beta pruning with search-tree depth cutoff at 3 and 5. I was trying to solve the same problem for a 4x4 grid as a project assignment for the edX course ColumbiaX: CSMM.101x Artificial Intelligence (AI).
I applied convex combination (tried different heuristic weights) of couple of heuristic evaluation functions, mainly from intuition and from the ones discussed above:
- Monotonicity
- Free Space Available
In my case, the computer player is completely random, but still i assumed adversarial settings and implemented the AI player agent as the max player.
I have 4x4 grid for playing the game.
Observation:
If I assign too much weights to the first heuristic function or the second heuristic function, both the cases the scores the AI player gets are low. I played with many possible weight assignments to the heuristic functions and take a convex combination, but very rarely the AI player is able to score 2048. Most of the times it either stops at 1024 or 512.
I also tried the corner heuristic, but for some reason it makes the results worse, any intuition why?
Also, I tried to increase the search depth cut-off from 3 to 5 (I can't increase it more since searching that space exceeds allowed time even with pruning) and added one more heuristic that looks at the values of adjacent tiles and gives more points if they are merge-able, but still I am not able to get 2048.
I think it will be better to use Expectimax instead of minimax, but still I want to solve this problem with minimax only and obtain high scores such as 2048 or 4096. I am not sure whether I am missing anything.
Below animation shows the last few steps of the game played by the AI agent with the computer player:
Any insights will be really very helpful, thanks in advance. (This is the link of my blog post for the article: https://sandipanweb.wordpress.com/2017/03/06/using-minimax-with-alpha-beta-pruning-and-heuristic-evaluation-to-solve-2048-game-with-computer/ and the youtube video: https://www.youtube.com/watch?v=VnVFilfZ0r4)
The following animation shows the last few steps of the game played where the AI player agent could get 2048 scores, this time adding the absolute value heuristic too:
The following figures show the game tree explored by the player AI agent assuming the computer as adversary for just a single step:
I wrote a 2048 solver in Haskell, mainly because I'm learning this language right now.
My implementation of the game slightly differs from the actual game, in that a new tile is always a '2' (rather than 90% 2 and 10% 4). And that the new tile is not random, but always the first available one from the top left. This variant is also known as Det 2048.
As a consequence, this solver is deterministic.
I used an exhaustive algorithm that favours empty tiles. It performs pretty quickly for depth 1-4, but on depth 5 it gets rather slow at a around 1 second per move.
Below is the code implementing the solving algorithm. The grid is represented as a 16-length array of Integers. And scoring is done simply by counting the number of empty squares.
I thinks it's quite successful for its simplicity. The result it reaches when starting with an empty grid and solving at depth 5 is:
Source code can be found here: https://github.com/popovitsj/2048-haskell
This algorithm is not optimal for winning the game, but it is fairly optimal in terms of performance and amount of code needed:
Many of the other answers use AI with computationally expensive searching of possible futures, heuristics, learning and the such. These are impressive and probably the correct way forward, but I wish to contribute another idea.
Model the sort of strategy that good players of the game use.
For example:
Read the squares in the order shown above until the next squares value is greater than the current one. This presents the problem of trying to merge another tile of the same value into this square.
To resolve this problem, their are 2 ways to move that aren't left or worse up and examining both possibilities may immediately reveal more problems, this forms a list of dependancies, each problem requiring another problem to be solved first. I think I have this chain or in some cases tree of dependancies internally when deciding my next move, particularly when stuck.
Tile needs merging with neighbour but is too small: Merge another neighbour with this one.
Larger tile in the way: Increase the value of a smaller surrounding tile.
etc...
The whole approach will likely be more complicated than this but not much more complicated. It could be this mechanical in feel lacking scores, weights, neurones and deep searches of possibilities. The tree of possibilities rairly even needs to be big enough to need any branching at all.
protected by thefourtheyeMar 14 '14 at 16:34
Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?
Not the answer you're looking for? Browse other questions tagged algorithmlogicartificial-intelligence2048 or ask your own question.
This is a selected list of free/libre and open-source (FOSS) video games. Open-source video games are games assembled from and are themselves open-source software, including public domain games with public domain source code. This list includes games in which the game engine is open-source but the game content (media and levels, for example) may be under a different license.
Open engine and free content[edit]
The games in this table are developed under a free and open-source license with free content which allows reuse, modification and commercial redistribution of the whole game. Licenses can be a public domain, GPL license, BSD license, Creative Commons License, zlib license, MIT license, Artistic License and more (see the comparison of Free and open-source software and the Comparison of free and open-source software licenses).
Title | First release | Last release | Genre | Engine license | Content license | Dimensions | Other information |
---|---|---|---|---|---|---|---|
'Pixel Zone | 2018 | 2019 | Platformer | MIT | MIT | 2D | Simple 2D Platformer-game made in Godot Engine 3.1 by Master - Games, the developers team from Master, Inc. |
0 A.D. | 2009 | 2018 | RTS | GPLv2+ | CC BY-SA 3.0 | 3D | Historical, cross-platform RTS, using an original engine named Pyrogenesis. Game source-code released July 10, 2009.[1] |
2048 | 2014 | 2014 | Puzzle | MIT | MIT | 2D | A sliding block puzzle game. |
Abuse | 1996 | 2011 | Run and gun | Public domain software | Public domain | 2D | |
Argentum Online | 1999 | 2018 | MMORPG | GPLv3+ | GPLv3+ | 2D | First Open Source MMORPG developed in Argentina.[citation needed] |
Armagetron Advanced | 2001 | 2016 | Racing | GPLv2+ | GPLv2+ | 3D | A multiplayer, 3D Tron lightcycle racing game. |
AstroMenace | 2007 | 2013 | Arcade | GPLv3+ | GPLv3+, CC BY-SA 4.0 | 3D | A top-scrolling space shooter. |
Ballerburg | 1987 | 2008 (ports) | Artillery game | Public domain software | Public domain | 2D | Public domain software on the authors website with source code.[2] Later ported to other systems as Linux, MacOS, iOS etc. |
The Battle for Wesnoth | 2005 | 2019 | TBТ | GPLv2 | GPLv2 | 2D | Turn-based tactical strategy game with RPG elements. Includes single-player campaign and skirmish modes as well as multiplayer. |
Biniax | 2005 | 2012 | Puzzle | zlib | zlib | 2D | ? |
Blob Wars | 2003 | 2009 | Platformer, Action-adventure | GPLv2 | GPLv2, CC BY-SA, other open source | 2D, 3D | ? |
Bos Wars | 2004 | 2013 | RTS | GPLv2 | GPLv2 | Isometric 2D | 2D RTS running on a modified version of the Stratagus engine. |
BZFlag | 1997 | 2018 | Tank FPS | LGPLv2.1 | LGPLv2.1 | 3D | A first-person shooter3D tank based multiplayer online game. |
C-Dogs SDL | 2002 | 2018 | Run and gun | GPLv2 | CC0, CC BY, CC BY-SA | 2D | Overhead run and gun, with hotseat co-operative and deathmatch play for up to four players. |
Candy Box 2 | 2013 | 2017 | GPLv3 | GPLv3 | 2D | The TypeScriptsource code of Candybox2 was released under the GPLv3.[3][4] | |
Candy Crisis | 1999 (2005) | 2015 | Tile-matching | GPLv2 | GPLv2 | 2D | A tile-matching game inspired by Puyo Puyo in which the player must align candy-shaped tiles in groups of 4 or more to score points. |
Cart Life | 2011 | 2017 | Simulation | Cart Life's Free License (permissive license) | Cart Life's Free License (permissive license), Freeware | 2D | In March 2014 the source code and game was made available by Richard Hofmeier for free online, saying he was finished supporting the game.[5][6] Winner of the IGF 2013 award.[7] Mirrored on github.[8] |
Cataclysm: Dark Days Ahead | 2013 | 2019 | RPG/Roguelike | CC BY-SA | CC BY-SA | 2D | A post-apocalyptic, survival roguelike with an open-ended gameplay. Had a successful crowdfunding campaign on kickstarter.com on 22 June 2013.[9] |
Chromium B.S.U. | 2000 | 2016 | Arcade | Clarified Artistic | MIT | 2D | A fast-paced, arcade-style, top-scrolling space shooter |
Cocaine Diesel | 2018 | 2019 | Action FPS, Quake-like | GPLv3+ | CC-BY-SA | 3D | Running on Qfusion |
Colobot | 2001 | 2018 | RTS, Educational | GPLv3+ | GPLv3+ | 3D | Source code released in 2012 |
Colossal Cave Adventure | 1976 | 1995 | Text adventure | Public domain software[10] | Public domain | Text | The original text adventure game by Crowther / Woods. |
Core War / pMars | 1984 | 1984 | programming game | various (public domain, BSD, GPL)[11][12] | various | Text | Original created by D. G. Jones and A. K. Dewdney, continued until today by the community. |
Crossfire | 1992 | 2017 | MMORPG | GPLv2+ | GPLv2+ | ? | Crossfire originally started as a Gauntlet clone[13] developed by Frank Tore Johansen at the University of Oslo, Norway.[14] |
Diamond Trust of London | 2012 | 2012 | TBS | Public domain software | Public domain | 2D | Following a Kickstartercrowdfunding campaign Diamond Trust of London was developed by Jason Rohrer and published by indiePub. On August 28, 2012 it was released for the Nintendo DS. The game has been placed in the public domain, hosted on SourceForge, like most of Rohrer's games.[15] |
DRL | 2013 | 2016 | Roguelike | GPLv2+ | CC BY-SA 4.0 | 2.5D | Based on Doom and Doom II. |
Duck Marines | 2014 | 2016 | Puzzle | 2D | Remake of Sonic Team’s ChuChu Rocket. | ||
Dungeon Crawl Stone Soup | 2006 | 2018 | Roguelike | GPLv2+ | CC0 | 2D | An open-source fork of the 1997 game Linley's Dungeon Crawl. |
Empty Epsilon | 2016 | 2019 | Space bridge simulator | GPLv2 | GPLv2 | 2D, 3D | Heavily inspired by Artemis: Spaceship Bridge Simulator with 5 control stations per ship and additionally one person being the 'Captain'.[16] |
Endgame: Singularity | 2005 | 2011 | science fiction/AI simulation game | GPLv2 | GPLv2 | 2D | written in Python |
Endless Sky | 2015 | 2017 | Space Sim | GPLv3 | GPLv3 | 2D | Inspired by Escape velocity sandbox with the single player company missions. |
Enigma | 2003 | 2014 | Puzzle | GPLv2 | GPLv2 | 2D | Oxyd clone. |
Fish Fillets NG | 2004 | 2011 | Puzzle | GPLv2 | GPLv2 | ? | Released commercially as Fish Fillets in 1998. Source released in 2002 under the GPL. |
Flare | 2013? | 2018 | RPG, Action-adventure | GPLv3 | GPLv3 | 2D | Flare is an open source, 2D action RPG licensed under the GPL3 license. Its game play can be likened to the games in the Diablo series. |
FlightGear | 1997 | 2018 | Flight Sim | GPLv2 | GPLv2 | 3D | Microsoft Flight Simulator inspired clone. |
Freeciv | 1996 | 2018 | TBS | GPLv2 | GPLv2 | Isometric 2D | Civilization II clone. |
FreeCol | 2003 | 2015 | TBS | GPLv2 | GPLv2 | Isometric 2D | Sid Meier's Colonization clone. |
Freedoom | 1993 (2001) | 2017 | FPS | GPLv2+ (requires a Doom engine) | BSD 3-clause[17] | 2.5D | Doom content/resource clone. |
FreedroidRPG | 2002 | 2016 | RPG | GPLv2+ | GPLv2+ | 2.5D | Diablo/Fallout style game inspired by Paradroid.[18] |
Frozen Bubble | 2002 | 2008 | Puzzle | GPLv2 | GPLv2 | 2D | Puzzle Bobble clone. |
Gang Garrison 2 | 2008 | 2018 | Shooter | MPLv2 | MPLv2 | 2D | A retro 'demake' of Team Fortress 2. The project was previously under GPLv3. |
Glest | 2004 | 2008 | RTS | GPL | CC BY-SA | 3D | 3D RTS game with two factions, A.I. and same-platform networking support. Development ceased in 2008. Two forks exist, named MegaGlest and Glest Advanced Engine. |
Globulation 2 | 2008 | 2009 | RTS | GPLv3 | GPLv3 | 2D | Currently[when?] in open beta. |
GLtron | 2003 | 2016 | Racing | GPL | GPL | 3D | Based on the light cycle portion of the film Tron. |
GNOME Games | 1997 | 2018 | Various | GPL | GPL | ? | A collection of games accompanying the rest of the GNOME desktop environment. |
GNU Backgammon | 1999 | 2017 | TBS | GPLv3 | GPLv3 | Text, 2D, 3D | Backgammon playing and analysis engine with various interface options, developed by the GNU Project. |
GNU Chess | 1984 | 2017 | TBS | GPLv3 | GPLv3 | 2D | Chess playing engine developed by the GNU Project |
GNU Go | 1999 | 2009 | TBS | GPLv3 | GPLv3 | ? | Go playing engine developed by the GNU Project |
Golden Age of Civilizations | 2014 | 2017 | Time-based strategy | CC-LGPL 2.1 | CC-LGPL 2.1 | 2D | A time-based MMO strategy game, mostly based on the FreeCiv. |
Hedgewars | 2007 | 2018 | Artillery game | GPLv2 | GPLv2 | 2D | Worms clone. |
HyperRogue | 2011 | 2018 | Puzzle/Roguelike/Educational | GPLv2 | GPLv2 | Hyperbolic | Puzzle roguelike in the hyperbolic plane. |
heXon | 2016 | 2017 | Arcade | MIT | GPLv2, CC BY-SA | 3D | Twin-stick-shooter |
Infiniminer | 2009 | 2009 | Open world game | MIT[19] | MIT | 3D | Minecraft predecessor by Zach Barth. |
kdegames | 1997[20] 1998[21] | 2009 | Various* | GPLv2 | GPLv2 | *Collection of games provided with the official release of KDE. | |
kiki the nano bot | 2003 | 2007 | Puzzle | Public domain software | Public domain | 3D | Mixture of Sokoban and Kula World. |
Lincity | 1999 | 2013 | City-building game | GPL | GPL | 2.5D | SimCity clone. |
Linley's Dungeon Crawl | 1997 | 2005 | Roguelike | LGPL | LGPL | ? | Roguelike game. |
Liquid War | 1995 | 2015 | Maze games | GPL | GPL | 2D | 2D game in which you control particles and move them to defeat the opposing side. |
Lugaru | 2005 | 2017 | GPLv2+ | CC BY-SA[22] | 3D | A game by Wolfire Games where the player is an anthropomorphic rabbit who seeks revenge when a group of enemy rabbits kill their family. | |
Maelstrom | 1992 | 2010 | Shoot 'em up | GPL | CC-BY | 2D | |
Magarena | Card | 2D | Single-player fantasy card game played against a computer opponent. | ||||
MegaGlest | 2010 | 2016 | RTS | GPL | CC BY-SA | 3D | Cross-platform 3D RTS for up to eight players (can be A.I. controlled) on seven factions. MegaGlest is a fork of Glest. |
MegaMek | 2005 | 2009 | TBТ | GPL | GPL | ? | Simulates the Classic BattleTech board game. |
Micropolis | 1989 (as SimCity) 2008 (as Micropolis) | 2008 | City-building game | GPLv3[23] | GPLv3 | ? | Open-source release of SimCity. Also known as OLPC SimCity.[24] |
Minetest | 2010 | 2019 | Sandbox game | 3D | A free open-world voxel/block game for Windows, Linux, FreeBSD, Android and OS X. In 2015, Minetest was chosen as the best Open Source Game by OpenSource.com.[25] | ||
Moria | 1983 | 1999 | RPG/Roguelike | GPL[26] | GPL | 2D | A roguelike RPG based heavily on J. R. R. Tolkien's novel The Lord of the Rings. |
NetHack | 1987 | 2018 | RPG/Roguelike | Nethack GPL | Nethack GPL | Text | A single player dungeon exploration game. |
Netrek | 1988 | 2011 | Shoot 'em up | MIT | MIT | 2D | Successor to 1986's Xtrek, Netrek was first played in 1988. It was the third Internet game, the first Internet team game, and as of 2011 is the oldest Internet game still actively played. |
Neverball | 2003 | 2014 | Platform | GPL | GPL | 3D | Super Monkey Ball inspired Neverball as free game for Microsoft Windows, OS X, Linux, Dreamcast, and iOS.[27] |
Nexuiz | 2005 | 2009 | FPS | GPL | GPL | 3D | Forked into Xonotic following a commercial licensing agreement by a minority of the development team. |
NoGravity | 1997 (?) | 2005 | space shooter | GPLv2 | GPLv2 | 3D | Source code of the Wing Commander inspired game released by realtech VR on February 16, 2005.[28] |
One Hour One Life | 2018 | 2018 | Survival | Public Domain | Public Domain | 2D | Multiplayer co-op survival game |
Oolite | 2006 | 2018 | Space Sim | GPLv2 | GPLv2 | 3D | Elite clone. |
OpenArena | 2005 | 2012 | FPS | GPLv2 | GPLv2 | 3D | Quake III clone. |
OpenCity | 2003 | 2008 | City-building game | GPL | GPL | 3D | SimCity clone. |
OpenClonk | 2010 | 2018 | Action, Platform | ISC | CC BY | 2D | Successor of the Clonk shareware series. |
OpenRiichi | 2017 | 2018 | Puzzle | GPLv3 | GPLv3 | 3D | A Mahjong videogame.[29] |
Open Space Program | 2017 | Space flight simulation | 3D | Similar to Kerbal Space Program. Made by KSP community. Currently in pre-alpha.[30] | |||
opsu! | 2014 | 2018 | Rhythm game | GPLv3[31] | GPLv3 | 2D | An open-source client for the osu! rhythm game.[32] |
osu!lazer | 2018 | Rhythm game | MIT | MIT | 2D | The Future Client of osu! rhythm game. | |
Pang Zero | 2006 | 2007 | Arcade | GPLv2 | GPLv2 | 2D | Reimplementation and extension of an old arcade game. |
Passage | 2007 | 2007 | Side-scroller | Public domain software | Public domain | 2D | In 2007 Rohrer released the game's source code and assets into the public domain,[33] while asking for donations (Donationware) and selling the iOS version for $0.99.[34] |
Pingus | 1998 | 2011 | Puzzle | GPL | GPL | 2D | Lemmings clone. |
Pioneer | 2006 | 2019 | Space sim | GPLv3 | CC BY-SA | 3D | Inspired by Frontier: Elite 2. |
PokerTH | 2006 | 2017 | Card | GPL | GPL | 2D | ? |
PySol | 2001[35] | 2018 | Card games, Patience | GPLv3 | Public domain and GPLv3 | 2D | ? |
Quatter | 2016 | 2017 | Board game | MIT | GPLv2, CC BY-SA | 3D | An impartial board game for two players based on Blaise Müller's Quarto |
Rigs of Rods | 2007 | 2016 | Vehicle Sim | GPLv3 | GPLv3 | 3D | Rigs of Rods was initially created as an off-road truck simulator, but has developed into a versatile physics sandbox. |
Rocks'n'Diamonds | 1995 | 2018 | Puzzle | GPLv2 | GPLv2 | 2D | A scrollingtile-basedcomputer puzzle game that can be described as a combined Boulder Dash, Supaplex, Emerald Mine, and Sokoban clone. |
Ryzom | 2004 | 2018 | MMORPG | AGPL | CC BY-SA | 3D | All textures and effects, 3D models, animations, characters and clothing (no music or sounds) are under CC BY-SA. |
Scorched 3D | 2001 | 2014 | Artillery game | GPL | GPL | 3D | Clone of Scorched Earth (video game) |
Secret Maryo Chronicles | 2003 | 2014 | Platformer | GPLv3 | GPLv3 | 2D | 2D platformer inspired by the Super Mario series. |
Seven Kingdoms | 1997 | 2017 | RTS | GPL | GPL | 2D | Source code released in 2009. |
Simple Solitaire Collection | 2016 | 2018 | Card games, Patience | GPLv3 | GPLv3, LGPLv3, CC0, Apache 2.0 | 2D | Collection of various Solitaire games for Android devices. |
Simutrans | 1997 | 2017 | Business Sim | Artistic | Artistic | 2D | Similar to Transport Tycoon and its open-source clone, OpenTTD. The player must build a profitable transportation system. |
Simon Tatham's Portable Puzzle Collection | 2004 | 2018 | Puzzle | MIT | MIT | 2D | A collection of various puzzle games, started by Simon Tatham and designed to be easily portable to any operating system. |
Sintel The Game | 2012 | 2012 | RPG | GPL | CC BY, GPL | 3D | A game based on the Blender Foundation movie, Sintel. |
Sopwith | 1984 | 2014 | Shoot 'em up | GPL | GPL | ? | The C and x86 assemblysource code to Sopwith was released in 2000,[36] at first under a non-commercial use license, but later under the GNU GPL at the request of fans.[37] |
Space Station 13 | 2003 | 2018 | RPG | AGPLv3 or GPLv3 | CC BY-SA 3.0 | 2D | A MMO 2D sprite and tile based role playing game. Written in BYOND. |
Speed Dreams | 2010 | 2016 | Sim racing | GPLv2+ | FAL | 3D | Forked from TORCS in late 2008. |
Star Ruler 2 | 2017 | 2017 | RTS | MIT License | CC-BY-NC 2.0 | 3D | Source code was released as MIT Licence on 22nd July 2018.[38] Does not include game music.[39] |
StepMania | 2005(?) | 2016 | Rhythm game | MIT[40] | MIT | 2D and 3D | A DDR clone, the player must hit buttons or keys in time with the music. |
Etterna (Game) | 2016 | 2019 | Rhythm game | MIT[41] | MIT | 2D and 3D | A StepMania fork focused on keyboard srepad play, the player must hit buttons or keys in time with the music. |
SuperTux | 2003 | 2018 | Platformer | GPL | GPL | 2D | 2D platformer inspired by the Super Mario series. |
SuperTuxKart | 2006 | 2019 | Racing | GPL | GPL | 3D | Arcade racing game similar to Mario Kart. |
Super Tux Party | 2018 | 2018 | Party | MIT | GPL | 3D | Party game similar to Mario Party. |
Teeworlds | 2007 | 2018 | Platformer | zlib | CC BY-SA 3.0 (except font) | 2D | 2D side-scrollingshooter. |
Tenés Empanadas Graciela | 1996 | 2015 | TBS | GPLv2 | GPLv2 | ? | Based on the boardgame Risk. |
Terasology | 2011 | 2018 | Sandbox game | Apache | Apache, CC BY 4.0 | 3D | Voxel-based game prioritizing ease of user module development. |
The Castle Doctrine | 2014 | 2014 | MMO | Public domain software | Public domain | 2D | A game by Jason Rohrer, developed on a Sourceforge[42] repository and sold on Steam for $15.99.[43] |
The Powder Toy | 2010 | 2019 | Sandbox game | GPLv3 | GPLv3 | 2D | A falling-sand game |
Thrive | 2014 | 2019 | Educational game | GPLv3 | CC BY-SA 3.0 | 2D and 3D | Evolution simulator developed by a team of volunteers. |
Tremulous | 2006 | 2009 | FPS | GPLv2 | CC BY-SA 2.5[44] | 3D | Alien VS human base building, defending, and attacking opposite team. |
Trigger Rally | 2004 | 2019 | Racing | GPLv2 | GPLv2 | 3D | Sim racing game similar to Colin McRae Rally. |
TripleA | 2002 | 2018 | TBS | GPLv2 | GPLv2 | 2D | A turn based strategy game inspired by Axis & Allies and board game engine. Development is ongoing. |
TrueCraft | 2017 | Sandbox game | MIT | MIT | 3D | TrueCraft is a completely clean-room implementation of Minecraft beta 1.7.3. | |
Tumiki Fighters | 2004 | 2004 | Shooter | BSD 2-clause[45] | BSD 2-clause | 3D | Written in D and released in 2004 by Kenta Cho[46] under a BSD-like license, like all his games. Later commercially ported to Wii as Blast Works: Build, Trade, Destroy,[47] as well as Linux.[48] Included in Debian,[49] ported to Pandora.[50] |
Tux Racer | 2000 | 2009 | Racing | GPLv2+ | GPLv2+ | 3D | ? |
Tux, of Math Command | 2001 | 2011 | Educational game | GPLv3+ | GPLv3+ | 2D | ? |
Uebergame | 2014 | 2017 | FPS | MIT | CC0 | 3D | Modern Multiplayer Shooter with realistic graphics, comes with integrated editor. |
UFO: Alien Invasion | 2006 | 2016 | TBТ | GPLv2+ | GPLv2+, CC BY-SA 3.0 | 3D | Inspired by the XCOM-series, but with 3D-combats on surface of the earth. |
UltraStar Deluxe | 2007 | 2016 | Music | GPLv2+ | GPLv2+ | 2D | SingStar clone. |
Unknown Horizons | 2008 | 2017 | City-building game | GPLv2+ | GPLv2+, CC BY-SA 3.0, OFLv1 | Isometric 2D | Genre-mix of city-building game and real-time strategy game, inspired by the Anno series. |
Unvanquished | 2012 | 2016 | FPS | BSD 3-clause, GPLv3+ | CC BY-SA 2.5 | 3D | Team-based first person shooter with strong RTS elements, derived from the Tremulous project. |
Vega Strike | 2008 | 2012 | Space Sim | GPLv2+ | GPLv2+ | 3D | Elite clone and space simulator engine. |
Warmux | 2002 | 2011 | Artillery game | GPLv2+ | GPLv2+ | 2D | Worms clone. |
Warzone 2100 | 1999 | 2017 | RTS, RTT | GPLv2+ | GPLv2+ | 3D | Post-apocalyptic, cross-platform RTS. |
Widelands | 2002 | 2016 | RTS | GPLv2+ | GPLv2+ | ? | Widelands is a RTS clone of The Settlers II. |
WorldForge | 1998 | 2014 | MMORPG | GPLv3 | GPLv2+ | 3D | An open-source framework for massively multiplayer online role-playing games. |
Xconq | 1987 | 2005 | TBS | GPLv2+ | GPLv2+ | ? | 4X strategy game engine. |
X-Moto | 2005 | 2014 | Platformer | GPLv2+ | GPLv2+ | 2D | Elasto Mania Clone. |
Xonotic | 2010 | 2017 | FPS | GPLv2+ | GPLv2+ | 3D | A fork and direct successor of the game Nexuiz. Binary files for Linux and Windows is under GPLv3+. |
XPilot | 1992 | 2010 | Arcade | GPLv2+ | GPLv2+ | 2D | A multiplayer Asteroids-like game. |
Yo Frankie! | 2008 | 2009 | Action-adventure | GPLv2+, LGPLv2.1 | CC BY 3.0 | 3D | ? |
Open-source games with own but non-free content[edit]
While the games in this table are developed under an open-source license, the reuse and modification of only the code is permitted. As some of the games' content (sound, graphics, video and other artwork) is proprietary or restricted in use, the whole games are non-free and restricted in reuse (depending on license). The motivation of a developer to keep the own content non-free while they open the source code is most often the protection of a game as sellable commercial product. Sometimes the motivation is the prevention of a commercialization of free product in future, e.g. when distributed under a CC NC license.
Title | First release | Last release | Genre | Engine license | Content license | Dimensions | Other information |
---|---|---|---|---|---|---|---|
Angband | 1990 | 2016 | Roguelike | GPLv2 | GPLv2, Proprietary[51] | Text | ? |
AssaultCube | 2006 | 2010 | FPS | zlib | CC BY-NC-SA | 3D | Based on Cube. A lightweight online FPS (45-50 MB package), with a built-in map maker and capable of being played with a 56k connection. |
C-evo | 1999 | 2013 | TBТ, 4X | Public domain software | Proprietary | ? | Inspired by Sid Meier's Civilization |
CodeRED: Alien Arena | 2004 | 2011 | FPS | GPL | Proprietary[52] | ? | Based on ID Software open-source engine. |
Cube | 2002 | 2005 | FPS | zlib | Proprietary | 3D | Deathmatch style multiplayer gameplay with map editing. |
Cube 2: Sauerbraten | 2004 | 2013 | FPS | zlib | Various non-free and some free licenses | 3D | Deathmatch style multiplayer gameplay with map editing. |
Frets on Fire | 2006 | 2008 | Music | GPL | GPL, Proprietary | 3D | Guitar Hero clone. |
Frogatto & Friends | 2010 | 2011 | Platformer | zlib license | Proprietary[53] | 2D | Initially for Windows, Linux, and Mac; hold and toss enemies, swim, talk; scripting language included. |
Gravity Bone | 2008 | 2009 | Platformer | GPLv2 | freeware | 3D | Brendon Chung built this game on base of the Quake 2 engine and released therefore the game's source code in 2008. In 2015 ported to Linux and the OpenPandorahandheld.[54] |
H-Craft Championship | 2007 | 2015 | Racing | zlib[55] | Free for personal use[56] | 3D | Sci-Fi Racer for Linux, Windows and Android which is using the Irrlicht engine. |
Hammerfight | 2009 | 2011 | physics based combat | zlib[57] | commercial | 2D | For the third Humble Indie Bundle[58][59]Ryan C. Gordonported the underlying game engine, 'Haaf's Game Engine', to Linux and Mac OS X, and released source code under the zlib license.[60][61] |
Katawa Shoujo | 2012 | 2012 | Visual Novel | MIT license (most of game and engine beside some scripts[62]) | CC BY-NC-ND | 2D | A visual novel. |
Kroz | 1987 | 2009 | Maze | GPL | Freeware | ? | Game source released on March 20, 2009. |
Narcissu | 2005 | 2005 | Visual novel | GPL | Freeware/PFSL[63] | 2D | Is a free visual novel by the dōjin group stage-nana, telling the story of a terminally ill young man and woman. The english version was made with the ONScripter engine.[64] |
OpenTTD | 2005 | 2018 | Business Sim | GPLv2 | GPLv2, CC Sampling Plus | 2D | An open-source clone of 'Transport Tycoon Deluxe' |
osu! | 2007 | 2017 | Rhythm game | MIT license | CC BY-NC 4.0 | 2D | Open-source clone of several games, including Osu! Tatakae! Ouendan!, Taiko no Tatsujin and beatmania IIDX. On August 28, 2016, osu! was open-sourced under the MIT License on GitHub, assets under CC BY-NC.[65][66] Aims is to make osu!, written in C# with the .NET Framework, available to more platforms and transparent.[67] |
PlaneShift | 2001 | 2016 | MMORPG | GPL | Proprietary | 3D | Free to play MMORPG. |
Star Wars Jedi Knight: Jedi Academy | 2003 | 2009 | Third-person shooter | GPLv2 | Proprietary | 3D | Source code was released as GPLv2 by Raven Software and Activision following the dissolution of Lucas Arts in 2013. |
Steel Storm: Episode I | 2010 | 2010 | Action | GPLv2[68] | CC BY-NC-SA 3.0[69] | ? | Based on DarkPlaces. An indie top-down arcade shooter with single-player, deathmatch, and co-op. |
Smokin' Guns | 2009 | 2012 | FPS | GPLv2 | Proprietary | 3D | Western-themed first-person shooter using the ioquake3 engine. |
Tales of Maj'Eyal | 2012 | 2016 | RPG/Roguelike | GPLv3+ | GPLv3+, Proprietary[70] | 2D | Developed open-source from the beginning with the own T4E engine,[71] while the assets are kept proprietary for commercialization on Steam and gog.com.[72][73] |
The Dark Mod | 2009 | 2017[74] | Stealth game | GPLv3+ | CC BY-NC-SA | 3D | First person stealth game in the style of the Thief (series) games ( 1 and 2 ) using a modified Id Tech 4 engine |
The Last Eichhof | 1993 | 1993 | Shoot-'em-up | 'Do whatever your want' license (public domain)[75] | Freeware | 2D | Shoot-'em-up game released for DOS in 1993 by Swiss development group Alpha Helix. Source code released in 1995. |
The White Chamber | 2005 | 2006 / 2013 | Adventure | MIT license (Wintermute Engine) / CC BY-NC-SA (game code) | CC BY-NC-SA / Freeware | 2D | The White Chamber and its Wintermute source code have been released under CC BY-NC-SACreative Commons license.[76] That means anyone is free to share and modify the game as long Studio Trophis is credited, it is not for commercial gain and that the result is made available under a similar license. 2013 the Wintermute engines source code was released under MIT. |
TORCS | 1997 | 2016 | Racing | GPL | Free Art License, Proprietary | 3D | Some car models are non-free, but there is a DFSG-compliant version which doesn't include them. |
Urban Terror | 2000 | 2018 | FPS | GPL | Proprietary | 3D | Multiplayer tactical shooter based on the id tech 3 engine.[77] |
VDrift | 2005 | 2012 | Racing | GPLv3+ | GPLv3+, Proprietary | 3D | Some datas are non-free, for example the 'SV' car model, under a CC BY-NC-SA license. |
Warsow | 2005 | 2017 | FPS | GPLv2+ | CC BY-SA 4.0, CC BY-ND 4.0 | 3D | A fast-paced arena FPS with movement tricks. |
World of Padman | 2007 | 2008 | FPS | GPL | Proprietary | ? | Originally a Quake 3 modification. Became stand-alone in 2007, now runs on ioquake3. |
Zero-K | 2010 | 2018 | RTS | GPLv2+ | various, CC BY-NC-ND 2.0[78] (sound) | 3D | Zero-K is a multi-platform real time strategy game inspired by Total Annihilation, powered by the Springgame engine. Released 2018 on Steam.[79] |
Spring:1944 | 2002 | 2017 | RTS | GPLv2 | CC BY-NC | 3D | Spring:1944 is a multi-platform real time strategy game focusing on WW2-era warfare, powered by the Springgame engine. |
Open-source remakes with non-free content from the proprietary original[edit]
The video game remakes in this table were developed under an open-source license which allows usually the reuse, modification and commercial redistribution of the code. The required game content (artwork, data etc.) is taken from a proprietary and non-opened commercial game, so that the whole game is non-free. See also the Game engine recreation page.
Title | First release | Last release | Genre | Engine license | Content license | Dimensions | Other information |
---|---|---|---|---|---|---|---|
CorsixTH | 2009 | 2017 | Business simulation | MIT | Proprietary | 2D | Engine remake of Theme Hospital. |
Dune Legacy | 2009 | 2016 | RTS | ? | ? | ? | Engine remake of Dune 2. |
Exult | 1992 | 2012 | RPG | GPLv2+ | Proprietary | 2D | Engine remake of Ultima VII.[80] |
Heart of The Alien Redux | 2005 | 2005 | Platform game | GPL | Proprietary | 2D | Engine remake of Heart of the Alien.[81] |
OpenBVE | 2009 | 2018 | Train simulation | Public domain software | Proprietary | 3D | Engine remake of BVE Trainsim.[82] |
OpenFodder | 2015 | 2018 | Action-strategy shoot 'em | GPLv3+ | Proprietary | 2D | Engine remake of Cannon fodder and Cannon fodder 2. |
OpenMW | 2008 | 2018 | RPG | GPLv3+ | Proprietary / CC BY SA (OpenMW Example Suit) | 3D | Engine remake of The Elder Scrolls III: Morrowind. |
OpenRA | 2007 | 2019 | RTS | GPLv3+ | Proprietary | 2D | Engine remake of Command & Conquer: Red Alert. |
OpenRW | - | - | Action-adventure video game | GPLv3+ | Proprietary | 3D | Engine remake of Grand Theft Auto III. |
OpenRCT2 | 2014 | 2018 | Construction and management simulation | GPLv3+ | Proprietary | 2D | Engine remake of Rollercoaster Tycoon 2.[83] |
Thyme | 2017 | - | RTS | GPLv2+ | Proprietary | 3D | Engine remake of Command & Conquer: Generals - Zero Hour |
OutpostHD | 2015 | 2017 | City-building game | zlib[84] | Proprietary[85] | 2D | Remake of the 1994 game Outpost with added features and improved gameplay mechanics.[86] |
REminiscence | 2005 | 2011 | Platform game | GPL | Proprietary | 2D | Engine remake of Flashback (1992 video game).[87] |
Openxcom | 2010 | 2014 | GPLv3 | Proprietary | 2D | Engine remake of X-COM: UFO Defense.OpenXcom aims to fix all the known bugs and limits, improve the AI and user interface, localize in more languages, and enable customizing and modding.[88][89] Is playable and already base of notable Total Conversations, like X-Piratez.[90] | |
OpenApoc | 2014 | 2018 | MIT | Proprietary | 2D | Engine remake of X-COM: Apocalypse.OpenApoc aims to fix all the known bugs and limits, improve the AI and user interface, localize in more languages, and enable customizing and modding. Currently, the game is playable from start to end, though due to its Alpha release state is prone to random crashes and game-breaking bugs which can be navigated around via use of the OpenApoc bug-tracker hosted by GitHub for advice and recommendations. |
Source-available games[edit]
Video games in this table are source-available, but are neither open-source software according to the OSI definition nor free software according to the Free Software Foundation. These games are released under a license with limited rights for the user, for example only the rights to read and modify the game's source for personal or educational purposes but no reuse rights beside the game's original context are granted. Typical licenses are the creative commons 'non-commercial' licenses (e.g. CC BY-NC-SA), MAME like licenses or several shared source licenses.
Title | First release | Last release | Genre | Engine license | Content license | Dimensions | Other information |
---|---|---|---|---|---|---|---|
Alien Swarm | 2010 | 2010 | Shooter game | Non-commercial usable and shareable[91] | Freeware | 3D | In 2010 Valve released this Source engine based game with source code, which started as a mod. |
Hero Core | 2010 | 2013 | Shooter game | ? | Freeware | 2D | Around 2013 Daniel Remar released the GameMaker source code of the game, together with the sources of his other games like Iji.[92] |
Flow | 2006 | 2009 | Life simulation | ? (educational purposes) | Freeware | 2D (layered) | Around 2009 the flash source code was made available for educational purposes by the developers.[93] |
Fortress Forever | 2007 | 2018 | FPS | Proprietary | ? | 3D | Unofficial, open-source Source engine successor to Team Fortress Classic. |
I Wanna Be the Guy | 2007 | 2011 | Platform game | Proprietary | Freeware | 2D | On November 9, 2011 the developer Michael 'Kayin' O'Reilly released the source code of the game under an own software license (forbidding new content)[94][95] so that the game's community would be able to create fixes and patches.[96] |
Jump 'n Bump | 1998 | 1999 | Emailware[97] | Emailware | 2D | 1998 freeware DOS platform video game, written in C and Assembly language by Brainchild Design. The source code was released in 1999, then source ported to several other operating systems and platforms via SDL. | |
Larn | 1986 | 2016 | Roguelike | Non-commercial | Freeware | Text | ? |
Mari0 | 2012 | 2012 (stable), 2014 (unstable) | Platformer | CC BY-NC-SA 3.0 | CC BY-NC-SA 3.0 | 2D | Remake of Super Mario Bros with elements from Portal. |
Noctis | 2000[98] | 2003 | Platformer | WTOF Public License[99] | Freeware | 3D | Space exploration/flight simulation |
Notrium | 2003 | 2008 | Top-down shooter survival game | custom FOSS license / GPLv3 | custom FOSS license / Freeware | 2D | Notrium's source code was released by the developer after 2003 under a custom software license and is developed as OpenNotrium on GitHub since then, with new code being GPLv3.[100] |
Prince of Persia | 1989 | 1989 | Proprietary | Proprietary | 2D | On April 17, 2012, Jordan Mechner released the Apple II source code of the game on GitHub.[101] | |
Progress Quest | 2002 | 2011 | ? | Freeware | 2D | On May 20, 2011, Eric Fredricksen released the source code of the game on bitbucket.[102][103] | |
Racer | 2003 | 2011 (proprietary) | Sim racing | Proprietary | Proprietary, Freeware | ? | Only source code of 0.5 version is available, all other releases are closed source. |
Space Engineers | 2013 | 2018 | Sandbox, simulation | ? | Proprietary | 3D | |
Spelunky | 2008 | 2009 | Platformer | Non-commercial[104] | Freeware | 2D | The source code of the 2008's Windows freeware version was published on December 25, 2009 under a software license permitting noncommercial distribution and modification.[104] Based on this source code the game community created a community patch which added support for Mac OS X.[105][106] The source code for the 2012 remake has not been made available. |
Visual Pinball | 2000 | 2017 | Pinball simulation editor and game | MAME like license | diverse | 3D | Many free custom tables and recreations of original machines available. The program is also able to operate with Visual PinMAME |
Proprietary developed games, later opened under varying licenses[edit]
For games which were originally developed proprietary as commercial closed source product, see also Category:Commercial video games with freely available source code.
See also[edit]
References[edit]
- ^'0 A.D. Open Source Release'. wildfiregames.com.
- ^April 1987: Ballerburg - Zwei Spieler, zwei Burgen und ein Berg dazwischen... on eckhardkruse.net 'Ich habe das Programm als Public Domain veröffentlicht' (in German)
- ^source codeArchived 2016-03-01 at the Wayback Machine on candybox2.net
- ^Play This Right Now: Candy Box 2 by Nate Ralph on PCworld.com (Oct 24, 2013)
- ^Petitte, Omri (20 March 2014). 'Cart Life exits Steam, goes open source'. PC Gamer. Retrieved 21 March 2014.
- ^cartlife_opensores.zip on the author's dropbox
- ^'The 17th Annual Independent Games Festival'. igf.com.
- ^cartlife_src
- ^'Cataclysm: Dark Days Ahead - Dedicated Developer'. Kickstarter. 22 June 2013.
- ^Jerz, D.G. 'Colossal Cave Adventure'. Seton Hill University. Retrieved 2007-09-07.
- ^corewar on sourceforge
- ^pMars-SDL on corewar.co.uk by Joonas Pihlaj (7 May 2003)
- ^ftp://ftp.ifi.uio.no/pub/crossfire/historic[permanent dead link]
- ^'Re: CF: the begining(sic) of crossfire'. real-time.com. Archived from the original on 2007-04-04. Retrieved 2013-04-27.
- ^Jason Rohrer (2011-10-17). 'DiamondTrust/ci/default/tree'. SourceForge. Retrieved 2013-05-22.
- ^http://daid.github.io/EmptyEpsilon/
- ^'Savannah Git Hosting - freedoom.git/blob - COPYING'. Git.savannah.gnu.org. Archived from the original on 2009-04-16. Retrieved 2009-04-04.
- ^http://www.freedroid.org/
- ^Infiniminer on github.com
- ^'The KDE Games Open Source Project on Open Hub'. ohloh.net.
- ^'KDE - KDE 1.0 Release Announcement'. kde.org.
- ^'Lugaru HD'. Gitlab. Retrieved 14 January 2017.
- ^'Micropolis Downloads'. donhopkins.com.
- ^Simser, Bil (2008-01-10). 'SimCity Source Code Released to the Wild! Let the ports begin...' weblogs.asp.net/bsimser. Retrieved 2012-12-30.
[...] releasing the original SimCity source code under the GNU General Public Library [...] EA requires that the GPL open-source version not use the same name as SimCity
- ^Muilwijk, Robin (2017-02-21). 'Best open source games of 2015'. opensource.com. Retrieved 2012-02-21.
[...]number one, Minetest, an open source alternative to Minecraft.
- ^'free-moria'. Retrieved 2009-04-04.
- ^Patterson, Blake (July 8, 2008). 'Neverball: A Free Alternative to Super Monkey Ball'. TouchArcade. Archived from the original on January 22, 2015. Retrieved February 25, 2015.
- ^No Gravity (Classic) on sourceforge.net
- ^'OpenRiichi'. Retrieved 19 August 2018.
- ^Program, Open Space. 'Open Space Program - Open Space Program'. Open Space Program. Retrieved 2018-01-20.
- ^https://github.com/itdelatrisu/opsu/blob/master/LICENSE.Missing or empty
|title=
(help) - ^Han, Jeffrey (2017-08-09), opsu! ~ an open-source osu! client, retrieved 2017-08-14
- ^supportMyWork on hcsoftware.sourceforge.net 'I release all of the source code that I write as free software (free as in 'freedom') into the public domain' (accessed 2016)
- ^Passage on itunes.apple.com
- ^'All releases of PySol – Freecode'. freecode.com.
- ^Clark, Dave (2000-10-29). 'Sopwith Code Support'. Retrieved 2006-12-01.
- ^Clark, Dave. 'Sopwith – Source Code'. Dave Clark's Home Page. Archived from the original on 2012-02-06. Retrieved 2006-12-01.
- ^'Star Ruler 2 is now Open Source!'. Retrieved 2018-01-09.
- ^https://github.com/BlindMindStudios/StarRuler2-Source. Retrieved 2018-01-09.Missing or empty
|title=
(help) - ^'stepmania/stepmania'. GitHub.
- ^'etterna/etterna'. GitHub.
- ^CastleDoctrine on sourceforge.net
- ^Castle Doctrine on store.steampowered.com
- ^[tremulous] View of /trunk/COPYING
- ^tf0_2.zip
- ^doujin-classics-the-works-of-kenta-cho on ricedigital.co.uk
- ^The Indie Shooter Roundtable: Mak, Cho, And Omega Fire At Will by Brandon Sheffield on Gamasutra.com
- ^TUMIKI fighters on sourceforge.com
- ^[1]
- ^who is Kenta Cho?Archived 2016-03-26 at the Wayback Machine
- ^[2] The sounds are licensed under the CC BY-NC-SA license. Shockbolt's graphics are licensed under a non-free license.
- ^'[alienarena] Log of /trunk/docs/license.txt'. Svn.icculus.org. Retrieved 2010-07-13.
- ^Developer InfoSource Code and License: [...] Our code is open-source, our content isn’t.
- ^gravitybone-pandora on github.com
- ^[3] 'For the most part H-Craft Championship sources are released under the zlib-license.'
- ^[4]You are not allowed to modify or distribute the media files or use them in your own games. But you can still download the media files and they are free for personal use.
- ^license.txt on hg.icculus.org/icculus/hge-unix
- ^McLaughlin, Ryan (3 August 2011). 'Humble Indie Bundle Sells Lots, Windows Users Still Cheap'. Hot Hardware. Retrieved 3 August 2011.
- ^HGE-comes-to-Mac-and-Linux-guest-post-from-Ryan-Gordon on wolfire.com (August 2011)
- ^Ryan Gordon Ports HGE To Linux, Then Releases Code on Phoronix by Michael Larabel (August 07, 2011)
- ^hge-unix on icculus.org 'August 7th, 2011: Source code released to the world!'
- ^'Katawa Shoujo Forums • View topic - Please release Katawa Shoujo source code as free software'. renai.us.
- ^narcissu.txt
- ^narcissu on insani.org
- ^'ppy/osu'. GitHub. Retrieved 2017-02-11.
- ^'2016-08 dev meeting'. ppy blog. Retrieved 2017-02-11.
- ^'demystifying open source osu!'. ppy blog. Retrieved 2017-02-11.
- ^'Steel Storm Episode I'. blendernation.com.
- ^'STEEL STORM EPISODE 1 LIMITED USER SOFTWARE LICENSE AGREEMENT'. steel-storm.com. Retrieved 2013-08-10.
the Art Assets [...] are licensed under Attribution-NonCommercial-ShareAlike 3.0 Unported license. The Engine [...] licensed under GNU GPL v2 license.
- ^COPYING-MEDIA on git.net-core.org/tome 'All the medias located in all the '/data/gfx' folders are granted to use with the Tales of Maj'Eyal game only. Please contact darkgod@te4.org for more informations.' (2016)
- ^COPYING on git.net-core.org/tome (2016)
- ^'Tales of May'Eyal on Steam'. Steam. Retrieved 26 December 2013.
- ^'Release: Tales of Maj'Eyal and Ashes of Urh'Rok expansion'. GOG. 4 November 2014. Retrieved 5 November 2014.
- ^'Announcing the release of TDM 2.05! | The Dark Mod'. www.thedarkmod.com. Retrieved 2017-05-30.
- ^beersrc.zip - readme 'Do whatever your want' license
- ^source code at studiotrophis.com
- ^'Urban Terror News'. urbanterror.info.
- ^'license.txt'. github.com.
- ^Dominic Tarason (2018-04-27). 'Free Total Annihilation-like RTS Zero-K lands on Steam'. Rock, Paper, Shotgun.
- ^Prophet. (2002-03-28). 'GameSpyDaily - Exult Interview'. Archived from the original on 2002-04-02. Retrieved 2008-05-29.
- ^Megidish. (2005-01-12). 'Heart of The Alien - Redux'. Retrieved 2016-10-15.
- ^OpenVE on github.com
- ^'official page'. Archived from the original on 2018-01-18. Retrieved 2017-08-23.
- ^LICENSE.txt on svn.outpostuniverse.org:8443
- ^OutpostHD - An Outpost Redesign - OutpostHD (Formerly known as Outpost:MIA) on outpost2.net 'Currently I’m using the original Outpost graphics as created in the early 90’s. They are old and primitive with no support for transparency and are in an 8-bit color depth. I’ve been converting them to modern PNG formats and optimizing the sprite sheets for use in a modern graphics engine.' (September 27, 2015)
- ^Lairworks Entertainment. 'What is OutpostHD?'.
- ^Montoir. (2011-03-11). 'REminiscence'. Archived from the original on 2015-08-01. Retrieved 2015-08-13.
- ^'About'. OpenXcom. Retrieved 2013-08-22.
- ^OpenXCom renews the original OpenXCom renews the original UFO Defense as a valid option for terror by Phil Savage on PC Gamer (May 09, 2013)
- ^You Wouldn’t Steal A Skyranger: X-Piratez Is An Outstanding Total Conversion Of UFO/X-COM by Sin Vega on Rock, Paper, Shotgun (March 30th, 2016)
- ^AlienSwarmfork on github.com'readme: You may, free of charge, download and use the SDK to develop a modified Valve game running on the Source engine. You may distribute your modified Valve game in source and object code form, but only for free.'
- ^resources on remar.se 'source code'
- ^You can get it here.Archived 2016-04-01 at the Wayback Machine on thatgamecompany.com by Jenova Chen (Sep 21, 2009)
- ^'Fix My Game: IWBTG Source Code Release'. Kayin.pyoko.org. Retrieved 2015-03-26.
- ^DIYGamer: Recursive Romhackery – I Wanna Be The Guy Source Code Released (2011)
- ^'IWBTG! - Downloads!'. Kayin.pyoko.org. Retrieved 2015-03-26.
- ^Jump 'n BumpArchived 2014-06-06 at the Wayback Machine readme.txt JUMP 'N BUMP by Brainchild Design in 1998 Jump 'n Bump is e-mailware. That means you're supposed to send us an e-mail.
- ^'Web Archive records of the earliest Noctis' homepage'. Archived from the original on 2000-04-25. Retrieved 2017-01-29.
- ^license
- ^copying github.com OpenNotrium
- ^Prince of Persia source code
- ^
- ^pq on bitbucket.org
- ^ abSpelunky User License v1.1b
- ^Sarkar, Samit (2012-10-12). 'Spelunky unofficially patched with Mac OS X support'. polygon.com. Retrieved 2014-08-07.
Spelunky [...] is now playable on Mac OS X, thanks to an unofficial patch from the game's community.
- ^'Spelunky v1.3 (and Source) - Now for Mac OS X and Windows'. 2012-09-12. Retrieved 2012-10-05.
External links[edit]
Wikimedia Commons has media related to Free video games. |
- Open source games at Curlie