You can play Tux Racer directly in your browser here: Play TuxRacer.JS
TuxRacer.js is a port / rewrite of Extreme Tux Racer, which itself is based on the original Tux Racer game. This project allows you to enjoy Tux Racer directly in your web browser, supporting all major desktop and mobile browsers.
Note: This project is in an early development stage and far from complete. However, some courses are already functional enough to provide a fun experience (at least for me!).
- A recent version of Node.js (I'm using v22, but other versions may work as well)
- Clone or download the repository:
git clone https://github.com/ebbejan/tux-racer-js.git cd tuxracer-js
- Install dependencies:
npm install
- Start the development server:
npm run dev
- Open the URL provided in the terminal output in your web browser.
- Enjoy!
- Desktop: Use either the keyboard (WASD or arrow keys) or the mouse to control Tux.
- Mobile: Control Tux using touch input via a virtual joystick.
- Paddling forward helps Tux gain initial speed but is slowing down once he reaches high velocity.
- Braking is useful for mastering tight turns.
- Terrain types significantly impact Tux's acceleration and handling.
By default, the game starts on Bunny Hill, but you can switch to a different course using the course
URL query parameter.
To play a specific course, add ?course=course-name
to the URL. For example:
http://localhost:5173/?course=frozen-river
Below is a list of available courses and their corresponding parameters:
Course Name | URL Parameter |
---|---|
Bunny Hill (default) | bunny-hill |
Frozen River | frozen-river |
Challenge One | challenge-one |
Chinese Wall | chinese-wall |
Downhill Fear | downhill-fear |
Explore Mountains | explore-mountains |
Frozen Lakes | frozen-lakes |
Hippo Run | hippo-run |
Holy Grail | holy-grail |
In Search of Vodka | in-search-of-vodka |
Milos Castle | milos-castle |
Path of Daggers | path-of-daggers |
Penguins Can't Fly | penguins-cant-fly |
Quiet River | quiet-river |
Secret Valleys | secret-valleys |
This Means Something | this-means-something |
Tux at Home | tux-at-home |
Twisty Slope | twisty-slope |
Wild Mountains | wild-mountains |
Bumpy Ride | bumpy-ride |
The game also supports different environments, which can be selected using the environment
URL query parameter.
To change the environment, add ?environment=environment-name
to the URL. For example:
http://localhost:5173/?environment=night
Here are the available environments:
Environment | URL Parameter |
---|---|
Sunny (default) | sunny |
Night | night |
Cloudy | cloudy |
You can also combine parameters, for example:
http://localhost:5173/?course=downhill-fear&environment=night
This would start the game on Downhill Fear with a Night environment.
Contributions are welcome! Feel free to submit issues, feature requests, or pull requests.
- Steven Bell
- Kristian Picon
- Nicosmos
- R. Niehoff
- Philipp Kloke
- Marko Lindqvist
- Eric Hall
- Jasmin Patry
- Mark Riddell
- Patrick Gilhuly
- Rick Knowles
- Vincent Ma
- Grady O'Connell
- Kristian Picon
- Karl Schroeder
- Joseph Toscano
- Nicosmos
- Kristian Picon
- Daniel Poeira
- Developed by Jan Ebbe
TuxRacer.js is licensed under the GNU General Public License v2.0. For the complete license text, see the file LICENSE
.