We're going to start posting weekly updates, starting from today! This one is a bit special because it will contain two weeks, but expect normal weekly updates from this week onward.
It's been an exciting week at Gamercade these past two weeks! We had our initial release, open sourced the project, and also made a lot of great additions to the editor, console, and example projects. Let's take a look at some of the cool things that happened recently.
General Updates
In this section, we discus changes and improvements which happened over the week.
Gamercade is open source!
As mentioned in our previous blog post, we've open sourced the project! We believe this is the best direction for the project both from a community and technological standpoint. You can see all of our official repositories (including this site) on our GitHub page. We are actively seeking contributions of all kinds.
Automated Edge builds for Windows, Mac, and Linux
While you can build the project from source, not everyone wants to clone from Git and build the entire project. We've also added automated edge builds for all major platforms. Check out our downloads page for more details about this.
ROM files are now much smaller than before
Output from the editor is now compressed. While this is a breaking change, we will now see a drastic reduction in size in the output .gcrom files that the editor produces. This means that all projects will need to be rebuilt by a newer version of the editor in order to be used by the most recent iterations of the console. This makes it much easier to share and download games.
Transparency On/Off fields for Palette Colors
While using the transparency mask for drawing sprites does work, it did become a bit of an annoyance having to set one up for each and every palette. Now both the console and editor support using specific colors with zero alpha, creating a much easier workflow for working with transparency. This only affects draw sprites, and does not break existing transparency mask functionality.
gamercade_rs helper crate published
We've published and will maintain the gamercade_rs crate, which provides some helper functionality and a safe abstraction over the raw Gamercade Api. If you're a Rust developer looking to make games for Gamercade, we definitelly recommend using this crate as it can help remove much of the complexity when dealing with the Rust-to-WASM gotchas.
Console Improvements Odds & Ends
- TextApi has been started! Send text messages to the console, helpful when debugging.
- RandomApi has been implemented! Easily generate random numbers in a multiplayer friendly way.
- MultiplayerApi has been implemented! Query information about the active game session.
init
,update
, anddraw
functions are now optional. Now it's possible to build a game which only uses some of these functions, removing the need to export empty functions in your code even if they aren't used.- Fixed with height of
high
resolution to properly be 640 x 360. Previously it was incorrectly set to 640 x 320.
Editor Improvements Odds & Ends
- Multiple sprites can now be imported at once. Simply select multiple sprites when trying to import them.
- Optimizations in how image data is stored in the .gce files, now use base64 for image data
- Added UI elements to view and adjust color alphas.
Website Improvements Odds & Ends
- Api Reference has been updated to match the newest specs, with additional documentation.
- Modified the downloads to better reflect the current state of downloads.
- Added links on the setup page.
- Various additions to examples
What's Next
In this section, we discus primary focus areas for the project. This includes features actively being worked on, as well as things potentially coming in the near or long term future.
Audio Spec & Support
We are investigating and building prototypes for the audio system to lay the foundation for sound and music in Gamercade. While we don't have a set deadline yet, we do hope to get this in everyone's hands as fast as possible. However, we can confirm that we do want to support the importing of sounds as samples (as well as generating your own!) and the ability to play them back as individual notes like a keyboard & tracker.
Community Building & Onboarding Process
While our community is still small, we are still actively trying to increase awareness of the project and help streamline the onboarding process for game developers, players, and contributors. Expect to see more information about the project on your favorite places!
More Complex Examples & Showcase
We are continuing to work on showcase examples to really show off the intended use case of Gamercade. Currently, this includes some more feature-rich and complex multiplayer games, with actual 2d art assets, and a proper game loop. We are also working on a cutting-edge 3d example game to show off the raw power of WASM, with all Gamercade features pushed to the limit.
Call to Action
What can you do to support the project?