Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Godot and web port of Wii U homebrew Space Game

NotificationsYou must be signed in to change notification settings

vgmoose/space-game

Repository files navigation

This is a Godot port of the Wii U homebrew appSpace Game (andSpace Game NX). The goal of this port is to more easily bring it to other devices, as running homebrew can be a complicated process.

Downloads

Linux, Mac, and Windows builds are availablehere. A video of the gameplay ishere. It is also playable on the webhere!

Screen Shot 2021-08-18 at 10 29 57 PMScreen Shot 2021-08-18 at 10 31 29 PM

Credits and License

This program is licensed underthe MIT license, which grants anyone permission to do pretty much whatever they want as long as the copyright notice stays intact.*

*The song~*cruise*~ is available underCC BY-NC-ND, and is excluded from the MIT licensing.

How it works

Thespace.gd file is a direct port ofspace.c from the original, with syntax and other changes made to simulate OSScreen behavior. The graphics specific stuff happens indraw.gd/draw.c. A lot of the OSScreen abstraction was also already done in Space NX'sdraw.c when it was ported to SDL, and the Godot requirements are similar.

Space Game NX uses a Bitmap font to get around the lack of an OSScreen font in SDL. In this version, aLabelController class keeps track of all requested strings to draw on-screen, and then renders it with Godot's own text engine and a TTF font. Labels are given a somewhat-unique ID based on their coordinates to allow them to be re-used, and are made visible when the frame is drawn. This allows the game to look more similarly to how it looked on the Wii U, where the in-game pixels were larger than the pixels in the font. The NX bitmap font can be toggled with the code11111 on the Password screen.

All of the same bitmap compression/rendering/matrix logic is done as described in theoriginal readme, which is incidentally not a great strategy for making a Godot game! This makes the code not very useful as a reference for Godot, although seeing how some pixel-effects (like the explosions) occur, or using a TextureRect to draw pixel sprites could be helpful.

Due to it using the same prng method, all old passwords should work from previous versions of Space Game!

Gameplay Differences

The big change is that now Space Game runs at 60fps when it can, and when it can't it maintains the same speed of objects in game. Godot will try to maintain 60fps, but may bump down to 30fps if 60 is too demanding. This difference means that regardless of the fps, the gameplay should "feel" the same speed (which is important, as later levels will make the enemies faster). In the previous homebrew versions the game would render each frame as fast as it could, which turned out to come in lower than 60fps or allow inconsistent slowing down depending on what was occurring on screen.

The code22222 is also added to toggle the music playing within the code, and some other passwords also had their functionality change. For example, the code24177 now enables a new double firing function from the ship, whereas before it would transform the player's sprite. Some passwords also now also open URLs as easter eggs. Like in the original, certain cheats will disable the score counter. The code77777 to swap the red and blue channels from the NX port is also present!

Screen Shot 2021-08-19 at 12 02 03 AMScreen Shot 2021-08-19 at 12 01 31 AM

A final note

This is technically the fourth port of Space Game! The porting history is as follows:

Wii U Space Game (2016) ->JSpaceGame (2017) ->Space Game NX (2018) ->Space Game (2021) (You are here).

To hear more about the Java port, I wrote ablog post about it in 2017, and you can compareSpace.java against the .gd and .c files 😃

Space Game NX (an SDL program) was intended to be the "final form" of this small game, but using a game engine like Godot allows for better control over the FPS issue as mentioned earlier, but also personally gives me greater confidence in the codebase being more accessible in the future in a way that SDL fell a little short. Trying to explain to others how to play Space Game always forces me to start off with a "Well..." as I picture the homebrewing paths, Java path, or trying to get SDL working with their setup (aka Controllers, framerate, OS concerns, etc). Now it can be easily brought to computers, phones, consoles, or other Godot projects!

That is also the reasoning behind just naming this "Space Game"– I want this version to be "the thing" I'm referring to when I picture the original game, in the absense of a nearby Wii U of course!

About

Godot and web port of Wii U homebrew Space Game

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp