235 lines
12 KiB
HTML
235 lines
12 KiB
HTML
<h1 id="games-of-coding-awesome">Games of Coding <a
|
||
href="https://awesome.re"><img src="https://awesome.re/badge.svg"
|
||
alt="Awesome" /></a></h1>
|
||
<blockquote>
|
||
<p>A curated list of games that teach you a programming language.</p>
|
||
</blockquote>
|
||
<h2 id="contents">Contents</h2>
|
||
<ul>
|
||
<li><a href="#language-independent">Language Independent</a></li>
|
||
<li><a href="#python">Python</a></li>
|
||
<li><a href="#java">Java</a></li>
|
||
<li><a href="#javascript">JavaScript</a></li>
|
||
<li><a href="#c-sharp">C Sharp</a></li>
|
||
<li><a href="#ruby">Ruby</a></li>
|
||
<li><a href="#assembly">Assembly</a></li>
|
||
<li><a href="#scala">Scala</a></li>
|
||
<li><a href="#miscellaneous">Miscellaneous</a></li>
|
||
<li><a href="#contribute">Contribute</a></li>
|
||
</ul>
|
||
<h2 id="language-independent">Language Independent</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://www.bittwiddlegames.com/lambda-spellcrafting-academy/">Lambda
|
||
Spellcrafting Academy</a> - A visual programming / puzzle game where you
|
||
build spells to solve puzzles. Covers introductory programming, as well
|
||
as some data structures and algorithms. The language is inspired by
|
||
Lisp, but the game focuses on programming fundamentals that apply to
|
||
most languages.</li>
|
||
<li><a href="https://www.codingame.com/home">Codingame</a> - A platform
|
||
to learn and compete. Proposes a variety of multiplayer games and
|
||
contests as well as optimisation challenges and solo puzzles. You can
|
||
contribute your own too. Choose your language, enjoy the graphics.</li>
|
||
<li><a href="https://codecombat.com">CodeCombat</a> - Choose your hero
|
||
and code your way through the ogre patrols, lava pits, and laser beams
|
||
of Kithgard Dungeon. Level up, earn gems, and loot magic items to unlock
|
||
new programming powers. Join millions of players and go from a total
|
||
beginner to writing advanced multiplayer AI in Python, JavaScript,
|
||
CoffeeScript, or Lua in this open-source programming game.</li>
|
||
<li><a
|
||
href="https://www.codingame.com/multiplayer/bot-programming/vindinium">Vindinium</a>
|
||
- Players write scripts in the programming language of their choice
|
||
(optionally using one of the many starter packs) to control a 16-bit
|
||
hero through HTTP requests, guiding him to collect gold, do battle with
|
||
other players, and even visit the tavern.</li>
|
||
<li><a href="http://realtimebattle.sourceforge.net">RealTimeBattle</a> -
|
||
A programming game in which robots controlled by programs are fighting
|
||
each other. The goal is to destroy the enemies, using the radar to
|
||
examine the environment and the cannon to shoot.</li>
|
||
<li><a href="https://play.battlesnake.com">Battlesnake</a> - Join a
|
||
community of developers from around the world as you compete for fame
|
||
and glory in Battlesnake, a multi-player programming competition based
|
||
on the classic game - snake! All you need to play is a live web server
|
||
that implements the Battlesnake API and the language of your choice to
|
||
begin battling to find food, avoid other Battlesnakes, and stay alive as
|
||
long as possible.</li>
|
||
<li><a href="https://www.gocoder.one">Coder One</a> - Annual AI
|
||
programming tournament featuring a multiplayer ‘Bomberman’-like game,
|
||
cash prizes, and a casted finale livestream. Create an AI player that
|
||
can navigate a 2D grid world collecting power-ups and placing explosives
|
||
with the goal of taking your opponent down. Submit your AI in the form
|
||
of a Docker image using one of our Python or TypeScript starter kits
|
||
(community-contributed starter kits are also available in Go, C++, and
|
||
Rust).</li>
|
||
</ul>
|
||
<h2 id="python">Python</h2>
|
||
<ul>
|
||
<li><a
|
||
href="https://github.com/turkishviking/Python-Robocode">Robocode</a> -
|
||
The goal is to develop a robot battle tank to battle against other
|
||
tanks. The robot battles are running in real-time and on-screen.</li>
|
||
<li><a href="https://robotrumble.org/">Robot Rumble</a> - A free and
|
||
open source AI competition platform. Code an algorithm for a team of
|
||
robots battling in 1x1 grid-based arenas, and test your skills against
|
||
others on the site. Robots can move and attack in one of four
|
||
directions, and the team with more robots after 100 turns wins. Supports
|
||
Python and Javascript, and comes with a desktop-based command line
|
||
tool.</li>
|
||
</ul>
|
||
<h2 id="java">Java</h2>
|
||
<ul>
|
||
<li><a href="https://robocode.sourceforge.io">Robocode</a> - The goal is
|
||
to develop a robot battle tank to battle against other tanks. The robot
|
||
battles are running in real-time and on-screen.</li>
|
||
</ul>
|
||
<h2 id="javascript">JavaScript</h2>
|
||
<ul>
|
||
<li><a href="https://screeps.com">Screeps</a> - No point and clicking
|
||
any longer! You write real JavaScript which controls your units
|
||
autonomously. Any time, everywhere, even while you are offline.</li>
|
||
<li><a href="https://jsfight.club">JavaScript Fight Club</a> - The Red
|
||
King and the Blue King are at war! Your JavaScript skills are needed to
|
||
determine the victor: Can you code an effective AI for honor and
|
||
glory?</li>
|
||
<li><a href="http://play.elevatorsaga.com">Elevator Saga</a> - Write
|
||
JavaScript directly in the browser to program an elevator, such that it
|
||
reaches its efficiency goals. Start with simple “getting started”
|
||
scripts, and ramp up to much more complex situations with many floors
|
||
and multiple elevators.</li>
|
||
<li><a href="https://alexnisnevich.github.io/untrusted">Untrusted</a> -
|
||
The game presents you with a roguelike-like playing environment and a
|
||
console window with the JavaScript code generating each level. As
|
||
loaded, each level is unbeatable, and most of the JavaScript is blocked
|
||
from editing. The challenge is to open a path to the next level using
|
||
only the limited tools left open to you.</li>
|
||
<li><a href="https://robotrumble.org/">Robot Rumble</a> - A free and
|
||
open source AI competition platform. Code an algorithm for a team of
|
||
robots battling in 1x1 grid-based arenas, and test your skills against
|
||
others on the site. Robots can move and attack in one of four
|
||
directions, and the team with more robots after 100 turns wins. Supports
|
||
Python and Javascript, and comes with a desktop-based command line
|
||
tool.</li>
|
||
<li><a href="https://deepestworld.com/">DeepestWorld</a> - A browser
|
||
MMORPG where you can code your character with JavaScript. Explore a
|
||
boundless, persistent open world devoid of loading screens, where a
|
||
multitude of biomes and creatures come together to form a living,
|
||
breathing world.</li>
|
||
<li><a
|
||
href="https://github.com/bitburner-official/bitburner-src">BitBurner</a>
|
||
- A programming-based idle incremental RPG where you, the player, take
|
||
the role of an unknown hacker in a dark, dystopian world. The game can
|
||
be played in the browser, or installed locally through Steam.</li>
|
||
</ul>
|
||
<h2 id="c-sharp">C Sharp</h2>
|
||
<ul>
|
||
<li><a
|
||
href="http://robocode.sourceforge.io/robocode.dotnet">Robocode</a> - The
|
||
goal is to develop a robot battle tank to battle against other tanks.
|
||
The robot battles are running in real-time and on-screen.</li>
|
||
<li><a href="http://www.codehero.org">Code Hero</a> - A first-person
|
||
coding puzzle platformer that equips you with a code ray that casts C#
|
||
at your target.</li>
|
||
</ul>
|
||
<h2 id="ruby">Ruby</h2>
|
||
<ul>
|
||
<li><a href="https://www.bloc.io/ruby-warrior">RubyWarrior</a> - A
|
||
browser based game where you control your avatar through various levels
|
||
filled with enemies using Ruby.</li>
|
||
</ul>
|
||
<h2 id="assembly">Assembly</h2>
|
||
<ul>
|
||
<li><a href="https://microcorruption.com">Embedded Security CTF</a> -
|
||
The purpose is to bypass a series of locks, essentially hacking them, in
|
||
order to get through a series of warehouses.</li>
|
||
<li><a href="http://box-256.com">Box-256</a> - Write assembly code to
|
||
match a shown graphic.</li>
|
||
</ul>
|
||
<h2 id="scala">Scala</h2>
|
||
<ul>
|
||
<li><a href="https://github.com/d6y/scala-robot-dev">Robocode</a> - The
|
||
goal is to develop a robot battle tank to battle against other tanks in
|
||
Java or .NET. The robot battles are running in real-time and
|
||
on-screen.</li>
|
||
<li><a href="http://scalatron.github.io">Scalatron</a> - Coders pit bot
|
||
programs (written in Scala) against each other. It is an educational
|
||
resource for groups of programmers or individuals that want to learn
|
||
more about the Scala programming language or want to hone their Scala
|
||
programming skills.</li>
|
||
</ul>
|
||
<h2 id="miscellaneous">Miscellaneous</h2>
|
||
<ul>
|
||
<li><a href="http://generals.io">Generals IO</a> - A fast-paced strategy
|
||
game where you expand your land and battle with enemies over theirs. You
|
||
lose when your general is taken, but capturing an opponent’s general
|
||
gives you control of their entire empire.</li>
|
||
<li><a href="http://robodojo.club">Robo Dojo</a> - You build robots that
|
||
build, corrupt and destroy other robots in an attempt to eliminate all
|
||
competitors.</li>
|
||
<li><a href="http://www.corewars.org">Corewars</a> - A game of warrior
|
||
vs warrior, programmed by two opponents, and placed into a virtual
|
||
‘ring’ to fight to the death.</li>
|
||
<li><a href="http://www.zachtronics.com/tis-100">TIS-100</a> -
|
||
Open-ended programming game by Zachtronics, the creators of SpaceChem
|
||
and Infinifactory, in which you rewrite corrupted code segments to
|
||
repair the TIS-100 and unlock its secrets. It’s the assembly language
|
||
programming game you never asked for!</li>
|
||
<li><a href="http://www.zachtronics.com/shenzhen-io">Shenzhen I/O</a> -
|
||
You build circuits using a variety of components from different
|
||
manufacturers, like microcontrollers, memory, and logic gates, and then
|
||
write code in a compact and powerful assembly language where every
|
||
instruction can be conditionally executed.</li>
|
||
<li><a href="http://store.steampowered.com/app/576030">MHRD</a> -
|
||
Hardware design game, in which you design various hardware circuits in a
|
||
hardware description language. The hardware circuits you design get more
|
||
complex as you go until you create a fully functional CPU design.</li>
|
||
<li><a href="https://colobot.info">Colobot</a> - 3D video game where you
|
||
program your bots to ride, fly, find, bring, refuel and destroy. Game is
|
||
using a language called CBOT, similar to C++ and Java. Colobot offers
|
||
tutorialed campaign with gradually harder tasks or you can play
|
||
scenarios to challenge your skill.</li>
|
||
<li><a href="http://codegames.io/en">Code Games</a> - Real time
|
||
programming game where you compete against other players by coding the
|
||
behaviour of a space ship. The programming language is easy to learn and
|
||
the game is super fun. Subscribe to one of our tournaments and compete
|
||
for the prize.</li>
|
||
<li><a href="http://www.mudlet.org">Mudlet</a> - Game client that allows
|
||
you to play MUDs (text-only MMORPGs). You can write Lua code in Mudlet
|
||
to help you play MUDs.</li>
|
||
<li><a href="http://flukeout.github.io">CSS Diner</a> - A CSS item
|
||
arrangement game, teaching the concepts and use of CSS selectors and
|
||
layout. You modify CSS to arrange HTML elements representing plates and
|
||
bento boxes on a dining table.</li>
|
||
<li><a href="http://gvr.sourceforge.net">Guido van Robot</a> -
|
||
Programming language and free software application designed to introduce
|
||
beginners to the fundamentals of programming. GvR runs on Windows,
|
||
Macintosh, and GNU/Linux, in a variety of languages! It’s great in both
|
||
the classroom and the home as a way of introducing people to the basic
|
||
concepts of programming.</li>
|
||
<li><a href="https://cssbattle.dev">CSSBattle</a> - Online CSS Code
|
||
Golfing battleground. Here, players from all around the world try to
|
||
visually replicate “Targets” in smallest possible CSS code and battle it
|
||
out to get to the top of the leaderboard.</li>
|
||
<li><a href="https://github.com/veltman/clmystery">The Command Line
|
||
Murders</a> - There’s been a murder in Terminal City, and TCPD needs
|
||
your help.</li>
|
||
<li><a href="https://mystery.knightlab.com/">SQL Murder Mystery</a> -
|
||
The SQL Murder Mystery is designed to be both a self-directed lesson to
|
||
learn SQL concepts and commands and a fun game for experienced SQL users
|
||
to solve an intriguing crime.</li>
|
||
<li><a
|
||
href="http://s3game-level1.s3-website.us-east-2.amazonaws.com/">S3
|
||
Game</a> - You are the treasure hunter. Your task is to get as many
|
||
secret codes and open as many chests as possible.</li>
|
||
<li><a href="https://learngitbranching.js.org/">Learn Git Branching</a>
|
||
- is the most visual and interactive way to learn Git on the web; where
|
||
you’ll be challenged with exciting levels.</li>
|
||
<li><a href="https://ohmygit.org/">Oh my Git</a> - An open source game
|
||
about learning Git!</li>
|
||
</ul>
|
||
<h2 id="contribute">Contribute</h2>
|
||
<p>Contributions welcome! Read the <a
|
||
href="contributing.md">contribution guidelines</a> first.</p>
|
||
<p><a
|
||
href="https://github.com/michelpereira/awesome-games-of-coding">gamesofcoding.md
|
||
Github</a></p>
|