Homebrew HCGE Multiplatform Game Engine + Sonic, Mega Man, [...]

HCStealth

Member
OP
Newcomer
Joined
May 14, 2014
Messages
8
Trophies
0
Age
42
Website
www.headcannon.com
XP
90
Country
United States
TL;DR:

Headcannon Game Engine provides editing utilities and a script system that help Windows, Linux, and MacOSX users develop 2D games of various types for those and several other platforms, even without access to all supported platforms. Also, there are already a few games to play. Check the sections below for more information, links, images, and videos

Introduction:

Hi!

I've just finished a reasonable build of my HCGE Multiplatform Game Engine for 3DS Homebrew Launcher and thought I'd share it. It isn't exactly a formal release since I still want to improve it before it becomes "official", but in its current state, it should still be useful and fun. You can play the existing games on 3DS, or get a jump-start on developing a homebrew 3DS game regardless of whether you own one or can access The Homebrew Launcher

If you take the time to read about it and check it out, thank you very much, and have fun!

There are two versions available:

- With Sound
- Without Sound

If you make a game with HCGE, you can choose either build to distribute it with as stand-alone

Many current games are not distributed stand-alone. To install a game, download from the links provided in the later sections and unrar their contents into the same folder in which you placed "HCGE.3dsx". Both the game folder and the contents of the "gdf" folder are necessary, so if prompted to "overwrite the gdf folder", choose to allow, and the gdf file for the game you're installing will be placed into it along with any others

If copying games to your 3DS using FTPony, please double-check that all sub-folders were copied correctly; it seems to omit some of them sometimes on mass-copies. If HCGE exits immediately, this might be why. Opening "Error.txt" in the HCGE folder can help you figure out what's missing

In-game, tap the touch-screen to return to the main menu. In the main menu, tap the touch-screen to exit HCGE

If you've downloaded any of these games before:

You will need to re-download them for 3DS support. All games and HCGE build packages have been updated for this, and the updated packages are necessary to run the updated games on any other platform. They aren't flagged as updates for the update system, though, because there are no other significant changes - this is only for 3DS support. You will, however, receive the updated versions if you use any other platform build's internal download system, and games downloaded using that method from this point on can be used with the 3DS build (by copying the game folders and GDF folder to the HCGE folder on your 3DS in the same manner that you'd copy the manually-downloaded files)

There are a few known issues specific to the 3DS build:

- Sound sort of crackles. I haven't seen any clear information regarding creating a streaming buffer, and since I mix sound in software, this is probably the result of the method I use - attempt to fill enough audio for 1/60th of a second and play on each frame. The CSND_LOOP_ENABLE setting doesn't seem to work, and I don't know if there's a way to determine the playback position of a channel

- Some areas of some games are a bit slow. Since the 3DS is slower than most platforms that HCGE runs on, this is bound to happen when a level or other parts of gameplay become more complex, however, one major issue is that the sound is currently being rendered in the main thread along with the rest of the game. I assume that, barring other optimizations, running the sound in a separate thread should have comparable performance to the faster "Without Sound" build, but, I don't yet know how to create a separate thread for it

- For me, exiting seems to frequently cause the Homebrew Launcher to act as if there's no SD card when you return to it. I have no idea why

- The downloads and updates system from other net-supporting platforms is missing. The method uses sockets, and I don't seem to have enough information to successfully use sockets on 3DS

If anyone can provide any information regarding any of this, I'd very much appreciate it

If you've never heard of HCGE before, here's what it's about:

HCGE is a multiplatform game engine that can be used to create retro-style 2D games. Supported platforms include Windows, Linux, MacOSX, PSP(CFW), Wii(Homebrew Channel), GP2XWiz, GCWZero, and now, 3DS(Homebrew Launcher)

The PC Windows, Linux, and MacOSX versions serve not only as the engine with which to run the games, but also the SDK with which they can be created and modified. The built-in editors can be entered during gameplay and used to test live modifications or just modify and save for permanent changes, and they, as well as a few other useful tools, can be accessed from the main menu

An overview of development features with links into relevant portions of the documentation can be found on the official home page. Also of interest is the Getting Started document, which serves as an entrypoint to the documentation

Because the documentation serves as a complete reference manual rather than any sort of tutorial, actual tutorials for individual aspects of usage will be prepared as time permits. Aside from open example projects, there will also be more step-by-step explanations, such as the current introduction video:


The following options are also available to receive support and assistance:

The official Headcannon forum
The official Headcannon IRC channel

Please feel free to visit either of these for discussion or help, or even to help others once you've become more acquainted with HCGE. I will provide support through both channels as time permits

Three such discussions are already in-progress, and contain a ton of information written in a more narrative manner:

http://www.headcannon.com/Forum/viewtopic.php?f=12&t=114
http://www.headcannon.com/Forum/viewtopic.php?f=12&t=119
http://www.headcannon.com/Forum/viewtopic.php?f=12&t=122

As for existing game examples:

Currently, there are two open game examples for HCGE. The first is the very basic General Game Template, which contains only enough script and data to start up as a game and display something on-screen. This template can be used as a basis upon which to build a brand new game basically from scratch


The second open game example is a well-featured Sonic the Hedgehog game. All scripts and data are provided unprotected and can be modified or used to build either a new Sonic the Hedgehog fan game or something entirely different. Various portions of this game serve as examples of many of the features of HCGE, and the game itself is pretty much "complete", as it contains a title screen, a character and level select menu, completable levels with items, enemies, and even bosses, as well as a Bonus Stage, and Special Stages with randomly-generated layouts. In Fact, there are enough opportunities provided in the Gemstone Garden level to enter the Special Stage for a skilled player to obtain 7 Chaos Emeralds, and thus, Super Sonic


Other open examples, both generalized and based on existing IPs, are in the works, including those demonstrated in this video:


Other in-progress game projects are also available:

The open Sonic the Hedgehog example described above is based on scripts that were originally created for the game "Sonic the Hedgehog: Project Mettrix", which I currently don't have a dedicated video for

blz-example.gif

Also in-progress is the game "Mega Man: Triple Threat", featuring playable Mega Man, Proto Man, and Bass, made in the SNES Mega Man 7 style with new levels and Robot Masters. An open Mega Man example will eventually be created using some of the basic scripts and data that were used to make this game


And finally, we are developing a brand new IP thanks to some inspiration from the December 2013 Ludum Dare event: Fantastic Franklin. This game is a puzzle-platformer in which you play as the titular character Franklin who has to dig, climb, push, and carry his way through each level to guide a giant egg safely to the exit

As the game was developed in 72 hours, it is somewhat buggy and content is currently minimal, but it does contain one fully playable and completable level sandwiched between a title screen and a closing screen. This will eventually become a full-sized, commercially-available game with many more levels, gimmicks, and enemies, as well as some tweaked mechanics and graphics, music, and other essentials

Because there is not yet a formal release, you'll need to download the newly-created 3DS build from this link. This build also serves as an example of the fact that a completed and standalone HCGE game can be distributed and made to run without first having to enter the main menu interface

7139-shot0.png
7139-shot1.png

7139-shot2.png
7139-shot3.png
 

ubergeek77

Post editing world champ.
Member
Joined
Dec 6, 2014
Messages
584
Trophies
0
XP
587
Country
United States
Wow. This is very impressive, shocking too. The games do love their load times, but it's a huge step in the right direction.

Thanks!
 
  • Like
Reactions: Margen67

titegtnodI

Well-Known Member
Newcomer
Joined
Nov 25, 2014
Messages
82
Trophies
0
Age
29
XP
129
Country
Canada
HCStealth: "- For me, exiting seems to frequently cause the Homebrew Launcher to act as if there's no SD card when you return to it. I have no idea why"

You likely just need to update your homebrew menu or/and ctrulib as 99% of SD reading issues have been fixed.
 

Xeeynamo

Member
Newcomer
Joined
Aug 18, 2011
Messages
17
Trophies
0
XP
282
Country
Italy
Great work! I follow you and your E02 from a very long time (2009 or before) from SonicRetro and other forums. It's nice to see other portings of your powerful engine. The 3DS it's good platform to host it :).
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Dark_Phoras @ Dark_Phoras:
    And I'm still on Batman: Arkham City. Such a good game. Mr Freeze's boss fight is hard and extensive, we're currently at a point where whoever gets the next strike wins. If I miss I'll lose another 30 mins at least.
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    Lol Mr Freeze "Remember kids it's not the size of your gun, it's how you use it"
    +1
    Gift
  • AncientBoi @ AncientBoi:
    And to shoot it well. :)
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    Indeed! Lol
    +1
    Gift
  • Dark_Phoras @ Dark_Phoras:
    Do you guys know what's Mr. Freeze's favorite date program? Netflix and chill
    Gift
  • Gift
  • Gift
  • FAST6191 @ FAST6191:
    Isn't Mr Freeze's backstory about him losing his wife?
    Gift
  • Flame @ Flame:
    @FAST6191 his called @Dark_Phoras for a reason
    Gift
  • Dark_Phoras @ Dark_Phoras:
    Mr. Freeze's wife is frozen while he looks for a cure to her illness
    Gift
  • Dark_Phoras @ Dark_Phoras:
    But, in the meantime, he knows how to throw a cool party
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    He's a chill dude lol
    Gift
  • Flame @ Flame:
    is that true @Dark_Phoras ? thats so cool
    Gift
  • Flame @ Flame:
    a little ice cold too at the same time
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    Dude is frosty
    Gift
  • gudenau @ gudenau:
    Does anyone happen to know if the gecko code handler will always be in the same location? It would be useful if you could call into it's own subroutines in ASM codes.
    Gift
  • FAST6191 @ FAST6191:
    Are there any codes that modify the handler to do fun extras like there are for DS codes?
    Gift
  • gudenau @ gudenau:
    I don't see why you would need that, Gecko just allows you to do ASM directly instead of needing to make codes to add new code types.
    Gift
  • gudenau @ gudenau:
    There is nothing stopping you from doing that though.
    Gift
  • FAST6191 @ FAST6191:
    I was thinking more if there were (some of the DS stuff allowing I think it was different boolean masks than stock) then it would confirm that.
    Gift
  • gudenau @ gudenau:
    Some of the later DS stuff was pretty impressive. I do want to figure out how some of the lower level stuff worked one of these days.
    Gift
  • gudenau @ gudenau:
    Is this chat still on IRC?
    Gift
  • FAST6191 @ FAST6191:
    I don't know if there is a second room connected to it
    but I doubt it
    Gift
  • FAST6191 @ FAST6191:
    There is still an IRC server/channel though
    Gift
  • KenniesNewName @ KenniesNewName:
    Neat steam deck dock shipped finally
    Gift
    KenniesNewName @ KenniesNewName: Neat steam deck dock shipped finally