Author Topic: HCGE Multiplatform Game Engine + Sonic, Mega Man, [...] V14.06.16  (Read 12855 times)

Stealth (OP)

  • Posts: 8
    • Headcannon
Hi!

I've recently created a GCWZero port of my HCGE Multiplatform Game Engine, and I thought I'd share it here. This isn't exactly a formal release as I won't be updating my site with it for a while, but it should be good-to-go, and I'll provide support to the extent that I can

This version can be downloaded here
It's packaged as an installer so that only one file needs to be copied to one place, as there are some data files that need to be stored outside of the opk. Just run, and the data will be placed into the home folder, and the installer will be replaced with the app itself

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, and now, of course, GCWZero

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:
<a href="https://www.youtube.com/watch?v=jKrUQhn8KRo" target="_blank">https://www.youtube.com/watch?v=jKrUQhn8KRo</a>

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
<a href="https://www.youtube.com/watch?v=i2KlMIWiZmk" target="_blank">https://www.youtube.com/watch?v=i2KlMIWiZmk</a>

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
<a href="https://www.youtube.com/watch?v=UVD1aQH6ZCg" target="_blank">https://www.youtube.com/watch?v=UVD1aQH6ZCg</a>

Other open examples, both generalized and based on existing IPs, are in the works, including those demonstrated in this video:
<a href="https://www.youtube.com/watch?v=qs7J1wFxNzY" target="_blank">https://www.youtube.com/watch?v=qs7J1wFxNzY</a>

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

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
<a href="https://www.youtube.com/watch?v=MIb6NYWUeJ8" target="_blank">https://www.youtube.com/watch?v=MIb6NYWUeJ8</a> <a href="https://www.youtube.com/watch?v=lqLNBgBHrWA" target="_blank">https://www.youtube.com/watch?v=lqLNBgBHrWA</a>

And finally, we are developing a brand new IP thanks to some inspiration from the last Ludum Dare event just this month: 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, content is currently minimal, but it does contain one fully playable and completable level sandwiched between a title screen and a closing screen

Because there is not yet a formal release, you'll need to download the newly-created GCWZero build from this link. This build also serves as an example of the fact that a completed and standalone E02 game can be fully packaged into a single opk file with no additional, separate data files, and can be made to run without first having to enter the main menu interface

« Last Edit: June 18, 2014, 02:47:34 am by Stealth »

johnnyonflame

  • Posts: 219
Re: Engine02 Multiplatform Game Engine + Sonic, Mega Man, [...]
« Reply #1 on: January 01, 2014, 08:28:29 am »
Nice release man, great to see some awesome stuff like this being made available by the community.

fosamax

  • Posts: 328
Re: Engine02 Multiplatform Game Engine + Sonic, Mega Man, [...]
« Reply #2 on: January 01, 2014, 03:39:02 pm »
I'm really impressed by your work. I'll definitly try it when i got my zero.

The engine seems to be really powerfull.
Is it able to handle games like Metroid or Castlevania (platform games with part of RPG like automap, inventory and mission).

Will you accept some request for extra features or is the scripting process powerfull enough to handle such games ?

Thanks !

hi-ban

  • Posts: 889
Re: Engine02 Multiplatform Game Engine + Sonic, Mega Man, [...]
« Reply #3 on: January 01, 2014, 04:31:57 pm »
This is awesome!

microchipmatt

  • Posts: 12
Re: Engine02 Multiplatform Game Engine + Sonic, Mega Man, [...]
« Reply #4 on: January 03, 2014, 03:34:02 am »
Bloody AMAZING!!!  This is a REAL gift to the community!

Stealth (OP)

  • Posts: 8
    • Headcannon
Re: Engine02 Multiplatform Game Engine + Sonic, Mega Man, [...]
« Reply #5 on: January 04, 2014, 09:29:49 pm »
The engine seems to be really powerfull.
Is it able to handle games like Metroid or Castlevania (platform games with part of RPG like automap, inventory and mission).
It can handle that type of game easily. E02 handles low-level I/O and game engine basics like terrain collision and object processing while leaving higher-level aspects like player and object physics, and the exact nature of player/object and object/object collision to be handled entirely by script. It's very open-ended and can therefore recreate a wide variety of 2D game types, including the pseudo-3D isometric demonstration shown in one of the videos, which, as mentioned in the video itself, was created entirely through the use of scripting, since there is no explicit isometric 3D support built directly into E02. That's just one example of how powerful the engine is, while others are buried in the specifics of games like Triple Threat and the Sonic Example, which not only exhibit entirely different gameplay styles, but also make use of complex object relationship and interaction, seamless level transitions, real-time level layout generation, object and terrain manipulation during level initialization based on the state of other aspects of the game, several palette tricks, and more, all of which are controlled entirely by script

For inventory and other options, you can see an example of an in-game menu system in Mega Man: Triple Threat, although any style of menu used in any of the other games could be brought up in the middle of gameplay. Menus of all sizes, shapes, and style are user-made using Status Scripts. For example, you could make one that looks like the small box weapon menus at the side of the screen in the NES Mega Man games, or the lower-screen battle menus from Final Fantasy. Full-screen menus can overlay the game screen with parts showing through, or they can completely mask the screen like the one used in Triple Threat. It's really just a matter of pausing the normal gameplay and causing one of these scripts to appear, such as through use of the _PauseGame_StatObj Command. This is something that will be a part of the upcoming Mega Man Example Game

An auto-map could be created in one of a few different ways, such as using two Tile Planes that aren't displayed during normal gameplay, one containing a fully drawn area map, while the other starts out blank, and is filled in with data from the complete map using the _Plane_CopySection Command as the player moves around in the level itself. The secondary plane is then displayed either as a complete map screen that is shown when a "map" key is pressed, and/or displayed in-part as an overlay such as in the upper-right corner of the screen by displaying another blank Tile Plane on top of the gameplay area and again using the _Plane_CopySection Command to copy a small portion of the map onto the overlay plane based on where the player character is within the level

Levels themselves can be very large, but the size you can actually use will be determined by the platforms on which you want your game to actually run, and the amount of RAM they have. In general, you won't be terribly limited, but you will have to do what most of these games do/did to create one large world- you will have to have individual sections of the world load as separate levels as necessary. The Gemstone Garden level in the Sonic Example Game contains an example of seamless level transition- When Act 1 is complete, Act 2 is loaded without a fade-out, and contains a clone of the last section of Act 1 into which the player and all active objects are shifted immediately to create the illusion that the entire area is in fact one long level. Whether you choose to attempt seamless transition or to allow a fade-out of one type or another between the levels that create the individual sections of the full game world, each section's initial state will be restored when it is re-loaded, but any changes that were made to any section can be restored by keeping track of important changes in the global Game Registers, and reading them during the level's Act Init Function to determine what types of changes need to be made before gameplay resumes (such as which level tile sections should be modified and in what way, and which objects need to be placed into a different state or deleted outright), and putting those changes into effect

Missions would generally be handled in a similar way- by using Game Registers to keep track of where the player is in mission progress, and calling on that information to determine what changes need to be applied to any portion of the game world, which events should be triggered in certain parts of any given level, and what sort of dialogue should be displayed. Triple Threat demonstrates a clipping text box window with self-typing text. This will also be a part of the upcoming Mega Man Example Game

Try skimming through the reference documentation to see if anything catches your eye, and poke around with the Sonic Example game a bit to see what's actually being done to make it work. You'll probably find some pretty neat surprises in there, and you might be able to see just how versatile E02 is

To everyone else- thanks for all of the compliments! I'll be back to let you know if anything new comes up, but don't forget to keep an eye on the official home page just in case. Also, if anyone else has any questions about how to use E02 to do any particular thing, feel free to ask, although it's preferred that you bring any in-depth discussion to the official support forum in case someone else happens to have the same questions

glimmer

  • Posts: 119
Re: Engine02 Multiplatform Game Engine + Sonic, Mega Man, [...]
« Reply #6 on: January 05, 2014, 12:30:55 am »
Maybe use something besides the power slider for exiting?

Stealth (OP)

  • Posts: 8
    • Headcannon
Re: Engine02 Multiplatform Game Engine + Sonic, Mega Man, [...]
« Reply #7 on: January 05, 2014, 01:50:29 am »
Maybe use something besides the power slider for exiting?
Well, I chose to use the power slider on the initial release to avoid reserving another button/combo for exiting and thus prevent it from being used by any particular game. It was actually a bad decision not only because it blocks the use of the power slider hotkeys, but because it also effectively performs the exact same function as power+select, anyway

I've removed the built-in exit function entirely, so that the power slider hotkeys will work, and you can just use power+select to exit. The next true update should include the ability to call for exit from any script so that the developer can choose how the game is exited, whether by their own choice of hotkey/combination or some menu option

You can download the new version of E02 from the main menu in your current version, as it should show that an update is available, or you can find the updated installer version at the same location given in the original post

Since Fantastic Franklin isn't currently being distributed through the built-in download system and has no dedicated update system, you'll need to re-download from the same location as in the original post and manually re-install if you want to play it again without the power slider exit functionality

glimmer

  • Posts: 119
Re: Engine02 Multiplatform Game Engine + Sonic, Mega Man, [...]
« Reply #8 on: January 05, 2014, 05:43:10 pm »
I've removed the built-in exit function entirely, so that the power slider hotkeys will work, and you can just use power+select to exit. The next true update should include the ability to call for exit from any script so that the developer can choose how the game is exited, whether by their own choice of hotkey/combination or some menu option
Excellent. Thanks!
Since Fantastic Franklin isn't currently being distributed through the built-in download system and has no dedicated update system, you'll need to re-download from the same location as in the original post and manually re-install if you want to play it again without the power slider exit functionality
Unfortunately, I think that most of us are finding that 802.11 on the Zero is impressively broken, so a lot of us are going to be downloading things manually in any case.

fosamax

  • Posts: 328
Re: Engine02 Multiplatform Game Engine + Sonic, Mega Man, [...]
« Reply #9 on: January 10, 2014, 08:05:52 pm »
It seems that all current games are running with a resolution that is 320x224 (guess it's the original genesis resolution).

Is it possible to get a resolution of 320x240 (native resolution for the zero) or is the resolution hardcoded in the engine ?

pcercuei

  • Posts: 1689
    • My devblog
Re: Engine02 Multiplatform Game Engine + Sonic, Mega Man, [...]
« Reply #10 on: January 10, 2014, 11:51:43 pm »
Unfortunately, I think that most of us are finding that 802.11 on the Zero is impressively broken, so a lot of us are going to be downloading things manually in any case.
You're the only guy who reported having issues with the WiFi.

Ziz

  • Posts: 285
    • http://ziz.gp2x.de
Re: Engine02 Multiplatform Game Engine + Sonic, Mega Man, [...]
« Reply #11 on: January 11, 2014, 12:55:23 am »
Unfortunately, I think that most of us are finding that 802.11 on the Zero is impressively broken, so a lot of us are going to be downloading things manually in any case.
You're the only guy who reported having issues with the WiFi.
Indeed. I download all stuff directly to my gcw with the wifi.
I am a leaf on the wind - watch how I soar. Wash

GuyInDogSuit

  • Posts: 65
Re: Engine02 Multiplatform Game Engine + Sonic, Mega Man, [...]
« Reply #12 on: January 12, 2014, 04:53:40 pm »
Unfortunately, I think that most of us are finding that 802.11 on the Zero is impressively broken, so a lot of us are going to be downloading things manually in any case.

Works just fine for me. You sure you didn't update the firmware after getting it from ThinkGeek? Because it says on the GCW support page NOT TO because it will break WiFi because the new firmware doesn't have the drivers needed.
"We are all searching for others whose demons play well with ours."

fosamax

  • Posts: 328
Re: Engine02 Multiplatform Game Engine + Sonic, Mega Man, [...]
« Reply #13 on: January 12, 2014, 05:04:41 pm »
Could you please come back on the topic which has not much to do with wifi (even if it's a feature of the engine).

glimmer

  • Posts: 119
Re: Engine02 Multiplatform Game Engine + Sonic, Mega Man, [...]
« Reply #14 on: January 13, 2014, 06:45:24 am »
Unfortunately, I think that most of us are finding that 802.11 on the Zero is impressively broken, so a lot of us are going to be downloading things manually in any case.
Works just fine for me. You sure you didn't update the firmware after getting it from ThinkGeek? Because it says on the GCW support page NOT TO because it will break WiFi because the new firmware doesn't have the drivers needed.
No. The present WiFi config utility is broken. See the resolution of this thread: http://boards.dingoonity.org/gcw-help/can%27t-connect-to-local-802-11/

Stealth (OP)

  • Posts: 8
    • Headcannon
Re: HCGE Multiplatform Game Engine + Sonic, Mega Man, [...] V14.06.16
« Reply #15 on: June 18, 2014, 02:59:21 am »
Updated to v14.06.16, and re-branded as "Headcannon Game Engine"/"HCGE"

Today's updates include the formal release of the GCW-Zero version, as well as:

  • - Projectile Objects have received updates that make them more useful
  • - Minor editor and utility updates
  • - Games now display at a full 240-pixel height, instead of 224 with upper and lower borders
  • - The in-program download system has improved speed and stability, as well as a progress bar

For full details, please see the What's New document. Please also note that the screen height increase required certain parts of existing games to be updated to accommodate the larger screen area, so they will need to be re-downloaded

fosamax

  • Posts: 328
Re: HCGE Multiplatform Game Engine + Sonic, Mega Man, [...] V14.06.16
« Reply #16 on: June 18, 2014, 09:12:02 am »
Hi Stealth !

Do you have already updated all example files to use the full 320x240 resolution ?

AtariHERO

  • Posts: 351
Re: HCGE Multiplatform Game Engine + Sonic, Mega Man, [...] V14.06.16
« Reply #17 on: June 18, 2014, 02:26:28 pm »
sonic not working anymore ...  ???

Stealth (OP)

  • Posts: 8
    • Headcannon
Re: HCGE Multiplatform Game Engine + Sonic, Mega Man, [...] V14.06.16
« Reply #18 on: June 19, 2014, 04:15:02 am »
Hi Stealth !

Do you have already updated all example files to use the full 320x240 resolution ?
Hi! All of the existing games and examples have been updated, yes

sonic not working anymore ...  ???
It'd be nice if you could explain the problem you're having :P
I'm not seeing anything wrong with it. It could be that there was an error during your download; you might want to try downloading it again from the "Downloads" menu

AtariHERO

  • Posts: 351
Re: HCGE Multiplatform Game Engine + Sonic, Mega Man, [...] V14.06.16
« Reply #19 on: June 19, 2014, 02:02:46 pm »
sorry ,
broken download, working now