Skip to content

A Tux themed side scrolling coin collection game with player-influenced random level generation.

License

Notifications You must be signed in to change notification settings

Tatwi/RocketTux

Repository files navigation

RocketTux

A penguin with a rocket pack? Sure, why not!

RocketTux is an easygoing side-scroller game about collecting coins and items. Help Tux navigate his way through the randomly pieced together levels, managing his boosts, earning Cubimals for bonuses, and avoiding the ever mischievous Nolok's walking bombs and other "hilarious machines"...

Play Online!

Story

That naughty Nolok has been up to no good, again! This time he and his minions decided it would be hilarious if they took people's everyday items and hid them inside of magic blocks all over the world. Someone has to clean up Nolok's mess and Tux is always up for a challenge. Of course, Nolok isn't going to make it easy for him, even though he does think that rocket pack thing is cool. Word is that the Rescue Girlies are also making an effort to reign in Nolok's chaos.

Gameplay

When the game is finished, the following game play will be available.

  • Boost and fly around collecting coins (to unlock levels and purchase Cubimals) and items to return to your friends.
  • "Coin Jump" or use boosts to puzzle your way around obstacles.
  • Open various blocks (by simply passing over them) that grant items, unlocks, and powerups.
  • Use one of 5 types of powerups to customize your game play experience.
  • Get bonuses and set preferences by purchasing Cubimals with your coins. If you're really lucky, you might even find one inside a block! Up to four Cubimals can be active at a time, in any combination.
  • Randomly generated levels with 26 different map sections per theme and 8 total themes.
  • No death mechanic. If Tux collides with an enemy or an explosion, he gets knocked back and loses some coins from his wallet (unless he is invincible at the time). Easy mode loses fewer coins, where hard mode loses more coins.
  • No "murder hobo" lifestyle; Nolok's minions are obstacles to be avoided (you can't kill them, though the bomb guys do explode).
  • No time limits. Stop and smell the Fire Flowers!
  • No forced movement through levels.
  • No need to reach the end of a level to "beat it". In fact, you'll probably go back and forth several times to collect everything. The level ends when you feel like leaving it. You get a bonus for collecting all the coins, but you don't have to collect them all.
  • No "secret areas" or other potentially annoying mechanics that you'll need to look up on the Internet just to understand!

Controls

RocketTux is designed to be used with keyboard and mouse, but you can also use a gamepad to navigate the main menu and play the levels. SNES style is the default gamepad layout, with XBOX360 being the other supported layout. The only difference in the controller selection is that the ABXY buttons are swapped to maintain the thumb positions one would use with the SNES style controller.

Keyboard:

  • Left/Right Arrows: Move left and right.
  • Spacebar: Boost into the air. Provided he doesn't run into anything along the way, a boost will move Tux to the top of the screen.
  • Control: Small jump that will move Tux up two or three "blocks" (depending on powerups). Only works when standing or running.
  • Up Arrow: Gain altitude when collecting coins ("coin jump"). Hover when in the air. A small amount of altitude is lost over time.
  • Down Arrow: Hover when in the air. Do NOT gain altitude when collecting coins (handy for collecting a row of coins). Duck when on the ground.
  • ESC Key: Exit levels, and the inventory, friends, and help screens.
  • F1: Toggle tool tips on the main menu, inventory, and friends screens.
  • Music Controls: M for mute, Comma for quieter, Period for louder.
  • Mouse: Used for clicking menu buttons and removing the powerup by clicking its icon (which is the only way to remove it).

Gamepad:

  • DPAD: Left/Right move Tux left/right. Also used in the main menu, where Up/Down selects difficulty and Left/Right selects the levels. Up/Down are not used when playing in a level.
  • A: Boost.
  • B: Small jump.
  • Y: Maintain height, allowing coin jumps. Tip: You're meant to hold this with the end of your thumb, thereby making it easy to tab a small jump on the B button with the base of your thumb.
  • X: Maintain height, but do not allow coin jumps.
  • Start: Play in main menu, pause/resume in levels.
  • Select: Choose random level in main menu, exit level on the pause screen.

Powerups

Powerups are found in purple blocks throughout the world. They persist through level changes and can be seen on the main menu. All powerups, with the exception of the Earth Flower, are lost on contact with an enemy or an explosion.

  • Star: Makes Tux fly a bit faster and makes him run at super speed!
  • Fire Flower: Tux flies even faster than with the Star and he has a chance to gain a boost when collecting coins (to a max of 5 active boosts).
  • Water Flower: Makes Tux invincible and very lucky, but the powerup is consumed after the first time Tux collides with an enemy or an explosion. Luck affects the outcome of opening boxes, making them more likely to generate positive results.
  • Earth Flower: Makes Tux completely invincible at the cost of also making him very, very heavy. Tux can only jump 1 block, he will not boost all the way to the top of the level, and he will lose altitude much more quickly.
  • Air Flower: Makes Tux much lighter, improving his jumps (3 blocks), coin-jumps, and boosts, while also causing him to lose altitude at a slower rate.

Call for Help

Everyone needs a helping hand sometimes and the Rescue Girlies are often there to provide it. Throughout the world you will encounter green blocks with an exclamation point. Activating these blocks will grant you a single use "Call for Help" powerup that persists through level changes. The call works everywhere except in the Crevasse Caverns. The following help is provided:

  • 1 Boost.
  • 1 Random powerup, if you don't already have one.
  • All nearby enemies are safely destroyed.

Enemies

  • Mr. Bomb: Walks around, preferably on the ground. He is programmed to run, tick, and explode when Tux gets near him. Large blast radius.
  • Mr. Short-fuse: Walks around, preferably on the ground. He doesn't have time for ticking, he just explodes! Smaller blast radius.
  • Jumpy: Likes to stay in one spot and hop the day away. Invincible, everlasting.
  • Woody: The forest version of Jumpy, Woody is less robust and may explode on contact!
  • Rocketboots: Flies around, bouncing off things. He is programmed to explode when Tux gets near him, but he may well blow himself up just by bouncing around. Enormous blast radius.
  • Proppy: A special kind of bomb dropped by Nolok when Tux opens orange boxes. Proppy is a bomb who hovers up and down, waiting for Tux to come near. Large blast radius.
  • Hungry Fish: These giant fish love to eat penguins. Normally that's the other way around... best to avoid these bad guys if possible!

Gameplay Tips

  • Each map is a puzzle, where the idea is to collect as many coins and items as possible. However, you only have so many boosts and "coin jumps" to get up to the high coins and to get over obstacles. So the biggest tip is to get up to the top of the screen and go back and forth, collecting highest stuff first, then work your way down.
  • If you have run out of boosts and you're stuck between obstacles, unable to small-jump out, then that's it for you on that level!
  • Don't sweat it if you weren't able to collect all the coins in a level. Yeah, collecting them all kicks you up one tier in bonus coins, but in the grand scheme of things it doesn't matter that much.
  • Every 10 coins you collect bumps you up 1 tier in bonus coin rewards. On normal and hard mode, the higher tier bonuses (for longer levels that have higher coin amounts) are much more generous than the lower tier bonuses.

Download

  • Latest Release Version: 0.7.5 (2021.12.25)
  • NW.js based web app wrapper. Download zip file, extract, run Rocktux.exe or RocketTux binary.
  • Windows: See the releases page.
  • Linux: See the releases page.
  • MacOS: Web browser only.
  • Android/iOS: Not supported, no touch controls.

System Requirements

I can verify the game works fine using the following specs:

  • CPU: AMD FX 8320, Intel Core2 Q8200, Intel Celeron N3450
  • Graphics: Nvidia Geforce 1660, AMD R9 270, Intel HD Graphics 500
  • RAM: 4GB
  • Web Version: Google Chrome, Chromium, or Microsoft Edge

To improve performance on older Chromebooks, only 2 textures are used when playing a level (thereby reducing costly draw calls and fitting into even the worst Chromebook's GPU spec of 2 active textures). That said, the packaged desktop app will always run well using the above specs and the online version hosted on GitHub Pages should play well on any old Chromebook, PC, or Mac.

About Development

The game is playable and nearly complete. See the Development Checklist below for details on what it is currently implemented.

  • Status: Functionally complete, except Cubimal bonuses, misc details, and some balance/bug fixes.
  • Programmed from scratch using Phaser CE.
  • Based on visual art assets from SuperTux and Glitch.
  • RocketTux is its own unique game, not a clone of Supertux or other platformers.
  • Created with Linux Mint 17 and Windows 10 64Bit on an AMD FX-8320 based desktop PC.
  • Originally intended to be a Chrome App and optimized for low end Chromebooks, but it's now intended to be run on a desktop PC.
  • Packaged as a native application for Windows and Linux using NW.js, which is based on Node.js and the Chromium web browser.
  • No advertisements, no subscriptions, no micro-transaction, and no purchase fees. Just free, open source fun!

Target Audience

RocketTux is designed for kids and light-hearted adults alike. It's not meant to be a difficult or frustrating game. Students can play the game at school and browse or modify the source code to learn about programming.

Wiki

The following are links to documents related to the development and use of the game. Hopefully there is enough information here to help students and hobbyists make sense of how the project is laid out, how to develop for it, and how to use the included tools.

Running and Building

Project and Programming

Screenshots and Google Drive

  • Screenshots: Some fun and helpful screenshots of the game that are located in this repository.
  • Dev Blog Screenshots: My Google Drive folder filled hundreds of screenshots taken during development. Potentially entertaining and informative.
  • My Design Book: Pictures of the my paper notebook (and possibly other misc papers) that I used for most of my design/thinking.
  • GIMP Source Files: The huge, Git-unfriendly GIMP art files that I used to create all of tilemaps, sprites, and other graphics.
  • Old Releases: Older versions of the game throughout its development history.

Development Checklist

Last Updated: 2021.12.09
This list contains all of the bits and pieces that make up the game. The most current release may not include all of the items that have been checked off. To get the most up to date version, download the Git repository and build it using the builder script (requires BASH in Linux and Windows).

Main Menu

  • Layout and button art
  • Level preview art
  • Button highlighting
  • Level loading
  • Random level selection
  • Difficulty setting
  • Powerup and coin display
  • Replace SlickUI with a custom UI
  • Tooltips

Friends Menu

  • Layout and button art
  • Button highlighting
  • Friend paging
  • Friend quest item requirements
  • Friend quest completion
  • Friend images
  • Cubimal paging
  • Cubimal unlock cost displayed
  • Cubimal name/description displayed
  • Cubimal cost data
  • Cubimal selection
  • Cubimal images
  • H and S button sounds
  • Tooltips

Inventory Menu

  • Layout and button art
  • button highlighting
  • Inventory paging
  • Item selection
  • Item selling
  • Item donating
  • Item selling toast
  • Item donating toast
  • S and D button sounds
  • Tooltips

Help Menu

  • Table of contents
  • Content selection
  • General purpose and how to play
  • Movement keys
  • Gamepad defaults
  • Powerups
  • Cubimal bonuses
  • Friend quests
  • Selling and donating items
  • Credits

Settings Menu

  • Game machine colour selection
  • Text and highlight colour selection
  • Music volume
  • Disable rocket pack exhaust sound
  • Gamepad selection
  • Gamepad button remapping

Level Themes

  • Candyland Tilemap art
  • Candyland Map/level sections
  • Snow1 Tilemap art
  • Snow1 Map/level sections
  • Snow2 Tilemap art
  • Snow2 Map/level sections 16/26
  • Snow3 Tilemap art
  • Snow3 Map/level sections
  • Forest1 Tilemap art
  • Forest1 Map/level sections
  • Forest2 Tilemap art
  • Forest2 Map/level sections 16/26
  • Beach Tilemap art
  • Beach Map/level sections
  • Beachfront Tilemap art
  • Beachfront Map/level sections 7/26

Art

  • UI icons
  • Item icons
  • Cubimals
  • Tux animations
  • Friend characters
  • Nolok ship
  • Rescue Girlies helicopter
  • Tilemap art
  • Background screens

Music

  • Main menu
  • Settings and help menus
  • Inventory and friends menus
  • Level themes

Game Level

  • Prototype converted into a real project
  • Level generation
  • Player movement
  • Player sound effects
  • Coin spawning
  • Item block spawning
  • Enemy spawning
  • Fix stationary enemies spawning under coins and item boxes
  • Spawn fewer enemies in easy and normal mode
  • UI: Coin display
  • UI: Powerup display
  • Coin collection
  • Item collection
  • Powerup application
  • Powerup removal
  • End of level coin, inventory, and bonus granting
  • Enemy: Jumpy
  • Enemy: Woody
  • Enemy: Mr. Bomb
  • Enemy: Mr. Short-fuse
  • Enemy: Rocketboots
  • Enemy: Proppy
  • Enemy: Hungry Fish
  • Improve Rocketboots AI
  • Make Mr. Bomb turn towards Tux when while ticking
  • Fix Fish spawning on land
  • Fix Fish overlapping land
  • Adjust/lower enemy explosion radius
  • Enemy sound effects
  • Player loses money when bumping into an enemy
  • Visual and sound effects when player loses money
  • Music selection
  • Time of day selection
  • UI: Pause screen
  • UI: Coin and item status on the pause screen
  • UI: Notification that all coins have been collected
  • UI: Replace SlickUI with a custom UI
  • UI: Tooltips
  • UI: Pause menu Tooltips
  • Green ! blocks cause Rescue Girlies to fly by
  • RG grant a powerup if player doesn't have one
  • RG destroy all enemies on the screen
  • Orange ? blocks cause Nolock to drop Proppy enemies
  • Cubimal bonuses data created
  • Cubimal bonuses are applied
  • Water interaction with player
  • Water interaction with enemies
  • Fuel usage in hard mode

License

The RocketTux source code is released under the General Public License Version 3, 29 June 2007 and the RocketTux artwork is released under the Creative Commons License. See the LICENSE file for more information. You may not copy or "fork" this repository and sell RocketTux as your own creation, no matter how you've repackaged or re-branded it.

Credits

This is an open source project that stands on the backs of many others, which is something I truly appreciate! The following is a list of people and groups who either directly or indirectly contributed to RocketTux. Without their effort, this project would not exist.

Software

Programming

Graphics

  • R. Bassett Jr. aka Tatwi for user interface, backgrounds, new and modified tiles, tilemaps, icons, and characters.
  • SuperTux2 Team for the art style and many base tiles, characters, and some backgrounds.
  • Tiny Spec for the public domain release of the assets they created for their game, Glitch. All the collectable items in RocketTux are from ThirdPartyNinja's repository of Glitch items converted into PNG format.

Sound and Music

QA Testers

  • Neillia Bassett, Baylea Bassett, Abby Bassett.

Artistic Advisers

  • Neillia Bassett, Baylea Bassett, Abby Bassett.

Special Thanks