Realtime strategy game for Gameboy Advance

Skyland

Overview

A Gameboy Advance game created, frantically, for a game jam, in about twenty days. A simple realtime strategy game where you build flying castles and fight AI players. Also includes a multiplayer vs mode.

I forked a top-down action game called Blind Jump to leverage some existing gba framework code that I'd written in the past for interfacing with the hardware, but most of the code is entirely new. For game-specific code, see the source/skyland directory, and the scripts directory, where you'll find all the various level scenarios as LISP code.

Controls, Mechanics, and other Info

Skyland has nuanced controls and mechanics, which I will describe below.

Islands

All of the action in the game takes place on flying castles. At most two islands comprise each level, where the player controls one island, and an AI controls the other island. Hostile fortresses will attack the player, while neutral or peaceful islands may give the player coins, items, or blocks.

Rooms

Each Island consists of a layer of terrain, atop of which the player can build structures. The game generalizes all structures as rooms, although not all rooms can be occupied (players cannot move characters into solid rooms, like cannons or walls, for instance).

To build new rooms, open up the construction menu by pressing the right bumper. You may then press A to select a construction site, and then scroll through a list of structures to build with the d-pad. Press A again to construct the selected room. The game may reject your request to build structures, if you have not collected enough coins, or have not constructed enough power cores to sustain the new addition.

You may also salvage and recover some value from existing rooms, by selecting the room with the cursor, and pressing B.

You may pause the game to make adjustments at any time, by pressing the left bumper. Pausing frequently does affect your highscore a bit though.

Press the select button to toggle the interior view of your castle.

See below for a complete annotation of all structures that you may build:


Hull

The simplest block in the game. A purely defensive structure. The only structure in the game that does not supply or deplete energy.


Cannon

For attacking other islands. Mainly used for attacking horizontally. Select a cannon and press A to choose a target. By default, the selector will move between targets sequentially (left to right, top to bottom), but you can tap the R bumper while choosing a target to detach and move the selector without constraint.


Missile Silo

For attacking other islands. Missiles will launch vertically, and fall down vertically on the other island. For attacking the top face of an island.


Stairwell

A tall room, with no function other than to allow your fortress' residents to move between blocks stacked on top of one another.


Infirmary

Heals each idle occupant controlled by the owner of the infirmary. Your characters will not heal while fighting an enemy. The health provided by the infrirmary will be distributed evenly across all occupants, so a player will heal more quickly if other characters are not attempting to heal at the same time.


Bulkhead

Select a bulkhead and press A to open/close. Four second recharge when the bulkhead changes state. Characters cannot walk through closed bulkhead doors. Use to limit invading enemy movement within your castle.


Workshop

A square room. Slightly lowers the cost of building all rooms, and allows you to build the more complex structures listed below.


Power Core

Your island will include one power core at the beginning of the game. If all of a castle's power cores are destroyed, it will sink into the clouds, and all of the island's residents will perish. You must have a workshop in your castle to build aadditional Power Cores. Each room on your island consumes an amount of power (with the sole exception of hull blocks, which consume no power). If the total power consumption of your island exceeds the combined power output of your power cores, all systems will shut down, until you salvage rooms to free up power, or until you build more power cores.


Forcefield

Almost identical to a Hull block, but consumes power, and your own weapons may shoot through forcefield blocks without damaging them. Mainly intended for protecting weapons (otherwise, you could just build Hull blocks). You must have a workshop to build a Forcefield.


Transporter

Allows you to transport one of your characters to another island. Move one of your characters into the transporter, select the transporter, and press the A button. Your character will be transported to a random room in the opponent's island. Transporters have a cool-down period, so you may need to build multiple transporters if you want to effectively raid enemy islands. By selecting an empty transporter, you may also retrieve characters on other islands. A light on the transporter tile image will change from red to blue when the transporter finishes recharging.


Radar

Allows you to see the interior of your opponent's structures. Fragile, and consumes a relatively large amount of power. You must have a workshop to build a Radar.


Ion Cannon

An energy weapon. Fires projectiles that pass through hull and rooms, and cause bulkhead doors to open. Deals significant damage to forcefields.


Flak Gun

Fires projectiles that deal small amounts of damage to large areas of a castle. Deals thirteen damage at the point of impact, ten damage to grid locations adjacent to the point of impact, and eight damage to grid locations one-tile-removed from the impact site.

          8
       8 10  8
    8 10 13 10 8
       8 10  8
          8

Rooms larger than one 16x16 tile will receive damage from each tile that overlaps with the blast radius.


Replicator

Produces replicants. Move one of your human characters into the replicator, select the replicator, and press A; the game will be give you the option to create a replicant. Replicants cannot heal in an infirmary, and have 75% of the health of the template character from which they were created.


Characters

Characters, such as your castle's residents, or enemy goblins, can damage or repair rooms. When successfully destroying another castle's room, a character will plunder a fraction of the room's construction cost, increasing your coin count.

Downloads

See here: https://github.com/evanbowman/skyland/releases

Hacking

If you want to mod the game, you can either manually build the SkylandEngine ROM from this repository, and then run the bundle script to attach the lisp code, or you can find the pre-compiled engine ROM here: https://github.com/evanbowman/skyland-baserom

Owner
Evan Bowman
Software Engineer. Formal background in computer engineering and visual art. I like programming gameboys. On hiatus while teaching myself copper plate etching.
Evan Bowman
Similar Resources

Game Boy, Game Boy Color, and Game Boy Advanced Emulator

Game Boy, Game Boy Color, and Game Boy Advanced Emulator

SkyEmu SkyEmu is low level cycle accurate GameBoy, GameBoy Color and Game Boy Advance emulator that I have been developing in my spare time. Its prima

Jun 19, 2022

A cycle-accurate Game Boy and Game Boy Color Emulator, with rewind feature.

A cycle-accurate Game Boy and Game Boy Color Emulator, with rewind feature.

Azayaka is a free and open-source Game Boy and Game Boy Color emulator written in C++. Features Cycle-Accurate emulation. Console based Debugg

Dec 16, 2021

The Game Boy ROM of the Game Boy bitcoin miner!

game-boy-bitcoin-miner The Game Boy ROM of the Game Boy bitcoin miner! To build this, currently this patch needs to be applied to GBDK: https://gist.g

May 29, 2022

CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine

CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine

CLUSEK-RT is a complex game engine written in C++ and the successor of the CLUSEK game engine. This engine has been designed with a cross-platform design in mind. Thanks to Vulkan API it delivers a next-gen experience with ray tracing to both Linux and Windows platforms

Jun 12, 2022

Ground Engine is an easy to use Game Engine for 3D Game Development written in C++

Ground Engine is an easy to use Game Engine for 3D Game Development written in C++

Ground Engine is an easy to use Game Engine Framework for 3D Game Development written in C++. It's currently under development and its creation will b

Jun 10, 2022

Minetest is an open source voxel game engine with easy modding and game creation

Minetest is an open source voxel game engine with easy modding and game creation

Jun 22, 2022

A game made for the Game (Engineless) Jam using Raylib

A game made for the Game (Engineless) Jam using Raylib

Fastest Pizza Delivery A fun little 3D game made for the Game (Engineless) Jam. It is still is development but the basic gameplay is something l

Apr 3, 2022

SameBoy DX is a Qt-based interface of SameBoy, a free, highly accurate Game Boy and Game Boy Color emulator.

SameBoy DX SameBoy DX is a Qt-based interface of SameBoy, a free, highly accurate Game Boy and Game Boy Color emulator. Build requirements: CMake Pyth

Jun 4, 2022

To recreate the board game Scotland yard and enable a single player to play the game by letting one of the roles being played by the computer based on written algorithm

To recreate the board game Scotland yard and  enable a single player to play the game by letting one of the roles being played by the computer based on written algorithm

Scotland Yard GAME OF SCOTLAND YARD This is a custom version of the classic board game, Scotland Yard .The game uses the London map used in the origin

Nov 11, 2021
Comments
  • Patch: Add drone entities to skyland engine

    Patch: Add drone entities to skyland engine

    This patch adds Drones to SKYLAND adventure mode, extends the multiplayer messaging system to sync drone state changes, and extends the AI to coordinate drone placement and behavior.

Symphony of the Empires is a RTS strategy game.

Symphony of the Empires Want to contribute or are interested in the development of the game? See our discord https://discord.gg/44QuvuDmCS Yeah, we al

May 30, 2022
Perimeter is a real-time strategy video game with unique gameplay elements such as terraforming deformable terrain, morphing units, energy network, protective shield and surreal worlds.
Perimeter is a real-time strategy video game with unique gameplay elements such as terraforming deformable terrain, morphing units, energy network, protective shield and surreal worlds.

Периметр | Perimeter About Perimeter is a real-time strategy video game with unique gameplay elements such as terraforming deformable terrain, morphin

Jun 15, 2022
civilized Game Boy Advance development from the comfort of your own editor
civilized Game Boy Advance development from the comfort of your own editor

Rath - civilized Game Boy Advance development from the comfort of your own editor what is it Rath is an interactive development environment for the Ga

May 23, 2022
A gameboy emulator that only plays Pokemon Blue, in ~70 lines of c++.

pokegb A gameboy emulator that only plays Pokemon Blue, in ~70 lines of c++. See the technical write-up. Features Plays Pokemon Blue (and Red).

Jun 20, 2022
DMGPlus, upgraded internals for the original GameBoy

These are various files for the DMGPlus project. Note that I did this over the time span of about three years, so there's no plug-and-play recipe to b

Dec 19, 2021
Gameboy Port of LazyDevs' Porklike

porklike.gb A port of the wonderful Porklike, created by Krystian Majewski, to the original Game Boy! Please see the original pico-8 game at https://k

Apr 5, 2022
A gameboy emulator in several different languages

A gameboy emulator in several different languages

Jun 11, 2022
Distributed server for social and realtime games and apps.
Distributed server for social and realtime games and apps.

Distributed server for social and realtime games and apps. Features Users - Register/login new users via social networks, email, or device ID. Storage

Jun 22, 2022
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World.
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World.

OpenXRay OpenXRay is an improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. S

Jun 18, 2022
Stealthy way to hijack the existing game process handle within the game launcher (currently supports Steam and Battle.net). Achieve external game process read/write with minimum footprint.
Stealthy way to hijack the existing game process handle within the game launcher (currently supports Steam and Battle.net). Achieve external game process read/write with minimum footprint.

Launcher Abuser Stealthy way to hijack the existing game process handle within the game launcher (currently supports Steam and Battle.net). Achieve ex

May 8, 2022