Code Monkey home page Code Monkey logo

joyrider3774 / waternet Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 0.0 43.22 MB

Waternet is a multiplatform puzzle game written for old consoles and handhelds like Game Boy (Color), Game Gear, Master System, Analogue Pocket and Mega Duck using the gbdk sdk.

Home Page: https://joyrider3774.github.io/waternet/

License: MIT License

Makefile 2.89% C 91.35% Batchfile 0.06% Assembly 5.70%
game-boy-rom game-boy game-boy-color megaduck master-system game-gear analogue-pocket game retro-game puzzle-game

waternet's Introduction

Waternet Multiplatform Retro Game

DownloadCountTotal DownloadCountLatest LatestVersion License

Waternet is a multiplatform puzzle game written for old consoles and handhelds like Game Boy (Color), Game Gear, Master System, Analogue Pocket and Mega Duck using the gbdk sdk.

Buy me a "koffie" if you feel like supporting

I do everything in my spare time for free, if you feel something aided you and you want to support me, you can always buy me a "koffie" as we say in dutch, no obligations whatsoever...

Buy Me a Coffee at ko-fi.com

Controls

Button Nintendo Button Sega Action
A / Start 1 / Start Confirm in menu and level selector, rotate or slide action while playing
B 2 Back in menu, level selector and game

Game Modes

The aim of the game, in any game mode is always to connect all pipes so that water can flow through them from the water point source. How you can accomplish this depends on the game mode. The game has a help section in the main menu where you can always check up on the rules of each game mode.

Rotate Mode

You need to connect all the pipes so water flows through them, by pressing the A or 1 button (depending on the system) on a pipe, to rotate the single pipe.

Slide Mode

You need to connect all the pipes so water flows through them, by pressing the A or 1 button (depending on the system) on the arrows of a row or column. The row or column will move all pipes in the direction the arrow is pointing at.

Roslid Mode

You need to connect all the pipes so water flows through them, by pressing the A or 1 button (depending on the system) on the arrows of a row or column. The row or column will move all pipes in the direction the arrow is pointing at. You can also press the A or 1 button (depending on the system) on a pipe, to rotate the single pipe. This is a combination Rotate and Slide mode.

Ingame help slides

Graphics

Graphics (tiles), i created in Game Boy Tile Designer and the titlescreen graphic is based on a modified title screen image from my waternet game i made for gp2x and windows. I designed the title screen in the Gimp Image Editor to just have the word waternet, the waterdrop and the menu box to fit it all on the Game Boy screen. Afterwards i used Game Boy Png Converter to convert the titlescreen to an optimized tilemap and tiles.

Music

Music was made using Online Sequencer, i created single channel, non mixed music files and later converted this music to an array storing the frequencies of notes to be used on the gameboy. I got this idea from the sheep it up game developed by Dr. Ludos. He stored the frequencies to be used for the music notes in a first array, containing the registers for the gameboy for channel 2. Later he referenced this array in another array to create the music itself with these notes. So i used the same system and all i had todo was convert the music from onlinesequencer i made to such array (by hand) as well.or the Sega Hardware (Game Gear, Master System) i did something similar but related to the sound chip used (PSG). I just had to use a different array for the values used for frequencies and create a similar function as the one i used on the Game Boy.

You can find the music files i used for the game below:

Testing on Real hardware

To test my rom on real hardware i used a flash cartridges like for example the EZ-Flash Jr for Game Boy (Color). It allowed me to put my compiled rom on a sd card and then load that rom from the system itself. I'm guessing these flash cardridges flash a certain chip on the fly with the provided rom, but it allowed me to test my game's on a real hardware. I highly advise anyone making similar games to do the same as initially everything looked fine on an emulator on pc but as soon as i tested on the real hardware like the original Game Boy i noticed some tiles were not really visible and i had to adapt the tiles i initially created.

Making your own Waternet (gameboy) cartridge

The game for GB / GBC requires a MBC5 type cartridge with at least 32KB Rom + 8k RAM + BATTERY to save your progress. I personally used flashgbx with a chinese bootleg cartridge of Penta Dragon and the GBxCart RW cartridge rom dumper / flasher. The batteryless save versions require specific bootleg cartridges and allows you to save your progress without the need of having a battery attached to your cartridge, it will (re)write the sram at the end of where the rom is saved while playing the game.

Cartridge Graphics

To create the cartridge graphics i used a template made by armando92 to start with in Gimp and then added different pictures i found on cleanpng to create the Cartridge Label and the logo i created using a free logo creator site. You can see the end result below.

Game Boy (Color) - 4.2 x 3.7 cm.

Game Gear

Master System - 10.3 x 2 cm.

Photo's of the game running on real hardware

Analogue Pocket (thanks to bbbbbr)

Game Boy

Game Boy Color (thanks to SelvinPL)

Gb Boy Colour

Mega Duck (thanks to bbbbbr)

Credits

Waternet game concept is based on the Net and Netslide game from the Simon Tatham's Portable Puzzle Collection, it's my own implementation of these 2 game concepts

Tutorials used

  • GamingMonsters "How to create a gameboy game" video tutorials on youtube

Code Credits

Cartridge Graphcis used

Tools used:

waternet's People

Contributors

joyrider3774 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

waternet's Issues

Draw the water blue in the BangleJS implementation

Hello,
Sorry if I'm opening the issue in the wrong repo.

First of all thanks for this great game!
Would it be possible to draw the water in blue in the BangleJS implementation of the game? I think it would improve readability by separating the pipes and the water.

Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.