Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Gameboy Advance RPG Collaboration

Been thinking a while about a way to bring forward a project that would be suitable for community, collaborative development - a sort of HBGames project for us to get behind. The more I think about this, the more I can see how it could play out as a project.

What I propose is an RPG project for the Gameboy Advance and with this I also propose a route to move the project into a commercial production.

Why Gameboy Advance?

  • Automatically avoids being "RPG Maker". A lot of the RPG Maker fatigue likely comes from the fact that everyone is using the engine, nothing feels special or unique.
  • Hardware capabilities are pretty good. Sprite scaling/rotation. Modes 1 and 2 feature background scaling/rotation. HBlank can be used for 3D effects.
  • Gameboy Advance is ARM which can be targeted with modern tools. Doesn't need Assembly, can be written entirely in C or even C++.
  • GBA emulators are everywhere. Build the ROM and automatically it is available on many platforms.
  • Asset demands are more relaxed compared to modern games. 16x16 pixel tiles is a common size on the GBA (technically it is 8x8), this is versus 48x48 pixels with RPG Maker MV.

Why not Gameboy Advance?
(Each of these points will be addressed).

  • Who the fuck plays Gameboy?
  • We need to build the tools (seriously I will address each of these points).
  • Very limited, restricted embedded system. 32M ROM size, 256K RAM, 32K IRAM. https://en.wikipedia.org/wiki/Game_Boy_ ... ifications
  • Commercial viability is unlikely due to ROM being pirated.

I don't think anyone in their right mind would see Gameboy Advance as a smart market to invest in at this day-and-age, BUT I think there's a clever way to go about this. The retro game collector's community has a moderately good YouTube presence (for example https://www.youtube.com/user/MetalJesusRocks) and these niche communities are quite receptive to being catered towards. Making a retro game is also a notable thing in the general gaming social community (this shit tends to get noticed by fucking Lad Gamer on bloody Facebook all the time).
There are other modern retro games that have blazed the trail here - Micromages is a notable one.

For the tools/engine, I've already been working on some GBA related tools. Been doing some veeeeeery interesting tests too related to GBA <-> PC connectivity (I'll discuss this further down). I think we can cheat here massively. We know RPG Maker, so why not use RPG Maker to produce this? I see a few issues; tile sizes in MV are shit, map editor is restrictive. I have planned a TileD compiler that will free us from RPG Maker's map editor and be tailored specifically for GBA hardware. We'd build maps in TileD and use RPG Maker MV to create events, animations, battles, databases, whatever in its JSON format and compile those to a GBA binary format.

The limitations of the GBA will restrict what can be done. An immature person would chime "limitation breeds creativity!". What I will say is the restrictions will provide a rather interesting, mentally stimulating environment. Imagine getting an entire RPG crammed into a GBA! There's also some limit-breaking we can do here; GBA <-> PC connectivity that I mentioned a moment ago (more on this later). SD Flash Carts also give access to 256GB(!!) file systems, we could do something cool like optional FMV videos and high quality streamed music for owners of flash-carts.

I believe there's smarter routes to a commercial release. I will discuss this later, however in short I think a free ROM release is okay - if we cater to the passion of the target audience (note; I am not describing begging or pandering) we can hopefully get a response from them that will support the commercial viability of this.

Other concerns.

  • This is just Xilef's personal passion project.
  • How can we manage a collaboration?

Yes I am passionate about GBA stuff. I also acknowledge how bloody useless a lot of what I do on it is. This isn't my "personal passion project"; that would be a project that costs so much money that it will likely never get built. This isn't another project re-branded either, that project has very specific goals centred specifically on the MV market. I am definitely building on my research and lessons from these prior investigations, but this is specifically not any of those other projects. I've said before that I want to try and find a good model for a collaborative project before presenting it, rather than attempt to shoe-horn in any pre-existing ideas, I think a GBA RPG is a nice fresh concept to look at.

Managing the collaboration would need discussion. I have my own ideas on project development: I believe everyone has something important that needs to be maintained in a team environment, so discussing and finding out what that is would be important.

Why an RPG?

RPG Maker is in most of our blood at this fucking point. We've got an entire forum filled with fucking hundreds of games to look at and learn from, this is probably the richest community describing development of RPGs out there.

Are we actually any good at it? Who knows! But I think it's what we've been training ourselves for over the past 14 years, it makes sense to investigate this rather than attempt a "short" or "arcade" project. I definitely, definitely, definitely spent time looking at other game genres and ideas to see if anything can be done in a short amount of time that would be worth it, but I do think RPG would be the right genre for this community at this time.

I definitely feel that RPG would be the best genre to represent the history of this community. We've also got some unique examples of ideas that I'd absolutely love to build upon; I see a unique opportunity to bring some of the concepts of online play onto the GBA, Amy has done a lot of work here that we can lean on.

Beyond that, I think the gaming community would be most receptive towards a GBA RPG over any other genre on this specific retro console. Would people be excited for a new GBA racing game? I don't think so. Pier Solar makes a good case study: http://www.piersolar.com/

What makes this special? Unique Selling Points.

The existence of a modern GBA game is pretty special in itself, but I think we can do even more than this.

GameCube Link Cable + GameCube USB Adapter

https://en.wikipedia.org/wiki/GameCube_ ... link_cable
https://store.nintendo.co.uk/nintendo-s ... 93689.html
These are two official Nintendo products. With these it is possible to connect a Gameboy Advance to a PC. We can do something that wasn't possible in the mid 2000s; make a GBA game that connects to a PC to access services such as DLC or Online functionality. I'll discuss this more in terms of the commercial viability of this project.

Not only this, but GameCube controllers can be connected to this adapter along side the GBA. This opens up the option of single-system multiplayer (a little weird, but okay).

Imagine playing an RPG on your GBA, hooking up to a PC, then selling your gear to an online market. Or jumping into a room that asynchronously has other players in it to interact with and battle.

SD Flash Carts

These are more modern devices that are popular in the current Gameboy community. They allow ROMs to be copied to an SD card and then easily played. More importantly, SD card file system access is possible from GBA games. SD cards these days are massive in size, a GBA game can be 128 Gigabytes in size if a suitably sized SD card is used.
I don't propose we make a massive GBA game, but this gives a unique ability to provide additional content to flash cart users. So if you do not have the cables to connect to a PC, but do have a flash cart, then DLC can be loaded via the SD file system. We can also put streaming FMV videos or music onto SD. There's possibility for a modding mechanism too (custom textures in an SD card folder?).

Those playing on an emulator would need their save file to be patched to load DLC; the PC app could sort this out. Those who have the game on a GBA cart and only have a DS flash cart could load DLC via a DS app.

Real time clock

This is available on some flash carts and emulators. A ticking fall-back should be available when RTC isn't there. Random weather, day/night cycle. It's small things like this that make a GBA game rather exciting (showing a sped-up time of day cycle and random weather might make for a charming promotional video).

Games have evolved!

My personal opinion is that we should not be discussing this as a "retro styled RPG" or any of the other tropey shit other RPG projects claim to be. Nor do I think this should be a "modern take of the genre".

What I believe would be right is to ask "what would a 2019 GBA game look like?" and then answer that question. Golden Sun's battle system looked pretty impressive at the time, but why not do a "mode 7" style battle system with a camera that moves around? I can easily imagine translating something like this into GBA 3D with a moving camera: https://imgur.com/YM0Z5W2

I remember older Final Fantasy games having a multiplayer aspect where characters can be assigned to controllers. That would probably work well on the GBA with an ATB system, where each players on their console sees the battle from their own perspective and they need to communicate in-person with their friends, who are controlling other party members, to take down enemies or the boss.

Modern tools are way better than what they used to be. TileD as a map editor with a custom GBA map compiler will produce content that was never really seen before on the GBA.

Route to Commercial.

GBA ROMs these days are expected to be pirated (therefore free). I believe it would not be effective to put a ROM binary behind a pay-wall.

What we could do is focus on the collector's market. Produce a poster, a box, a manual and load the basic ROM onto a blank GBA cart (custom label) and a USB stick with the PC app and flash cart bonuses (ROM file, FMV addon, DLC?). This would be expensive, I realistically foresee selling this collection at or above the $200 mark - a price I think collectors would be happy to pay as what they will be getting is the full monty. It's no longer about the game, it's about the fact that a high quality game exists on a cartridge, with a box and manual, a poster, plus a USB stick to hold everything else.

As for those who aren't collectors, there's the free ROM, but also they could purchase DLC content to show support. Their purchase could generate a unique key for them to unlock their DLC, which would be delivered in one of the methods described above. Emulator users would get their save file modified. We have the means to protect DLC content by signing it for each individual player.

The online system could also be designed to unlock additional features for those with a paid account. Maybe even a special room or badge for Patreon supporters - so ongoing support.

"That all sounds lovely and great, but how would we even get to this point?"

This is the part where you all throw up your arms and call me crazy. I think crowd-funding in this case would be acceptable. This is by no means after mass-market appeal (that era of crowd-funding I believe is completely dead). The crowdfunding projects I've been part of have been most successful when they've targeted specific audiences and generated conversation for this audience.

Micro Mages is a good case to look at: https://www.kickstarter.com/projects/mo ... or-the-nes

After building a working ROM demo, we can switch gears and focus on a crowd-funding endeavour. This involves talking to gaming communities & press and getting them interested in this project before we launch crowd-funding. Crowd-funding requires 100% focus from everyone, so it very much would be switching gears. Ideally, one of us would become a dedicated writer for the crowd-funding campaign, keeping up with monthly updates.

We should be able to think of rewards and stretch goals.
For rewards, things like "your name as an NPC" or "your name in credits" or "you get to work with our artists to make a character". We can ramp up to things like "boxed copy of game" and then further on "custom built GBA + flash cart + boxed copy of game".
For stretch goals, there's some technical things we can limit until they become realistic, such as GBA Wireless Adapter support. We can set a high stretch goal for something like a Nintendo Switch port of the game - we have a few choices here as we can use a GBA emulator or port the game proper as it would be written in C.

If the crowd-funding is a flop, then we have a nice GBA demo of an RPG that we can be proud of and walk away from. I'm not going to say it's a win/win situation, but we'd have a graceful exit plan and that's something I always want to account for.

Crowd-funding requires a lot of skill and effort in itself to pull off. This includes promotional material, writing, contacting press and community, keeping up a social presence and making videos. Don't imagine it will be easy or can be sorted out in a week, it will need focus.

What the actual fuck?

I wouldn't present this idea if I didn't think it was viable. Personally, I'm about 40% invested in this idea myself and I'm still in the phase of writing tools and testing ideas (discovery phase). So far, everything looks surprisingly good and possible which is why I've given it some thought as to how to bring this to market.

Now, about the structure of this all; a proof of concept/demo would pretty much tell us a lot about this project. I am not willing to get financially involved until it clearly makes sense, I don't want anyone else to risk anything either.

What would be best right now is for me to build out my TileD map compiler so we can actually fiddle around with mapping and at least moving a camera around in a GBA emulator, that will shed some light on what can be done.

The game would be built from scratch, so a story, characters, system design, would be needed. I would want us all to agree on these things, but I want strict design rules to keep us doing the right thing. If the player is button mashing through a 30+ minute intro cut-scene and spends a full hour before a battle happens then something has gone wrong. Too many existing GBA RPGs do this and it is painful. This is also something MV projects are massively guilty of.

We should probably be incredibly critical and harsh of our own content "be our own worst critic".

After playing a few GBA RPGs on actual hardware I do think it's worth being mindful of what real hardware feels like. Squeezing the direction pad for an action battle system actually gets physically painful. Will an action battle system lock out potential options for online play? This is partly why I think ATB would actually be best, but it's this kind of stuff that would need discussing and debate.

As for theme/setting; I've been thinking about this and I personally believe we shouldn't be surprising anyone in this regard. 2D RPG I think people expect a fantasy setting. I see that it is trendy and hip to set an RPG in a modern setting, many MV games are doing that right now, but I think this would be a harder sell. It's weird to say, but I think a fantasy setting would set a project like this apart from other RPGs right now. It's also the theme that I see most representing in the games from this community, so I argue that we have more fantasy themed sources to look at and learn from. Would it be a risk attempting a modern or sci-fi setting? I believe so, but again it's up for discussion and debate.

Check out these gorgeous GBA RPGs:
 

Jason

Awesome Bro

Well fuck, that was a whole lot to read! First of all I'll start by saying that it honestly is a very interesting idea, especially coming from someone in the HBGames community, not that I mean it in a bad way but in the past all our community has ever done is strictly RPG Maker, with the odd Game Maker and Contruct2 game thrown in, and then there's of course Nathanial3W going balls-to-the-wall with his huge scale RPG.

Now, does this seem like something I'd be interested in? Yes, actually, it does. Not so much the commercial aspect of it, as I've never planned to create anything for money anyway, although I do like the collector's aspect of it, and something like that would probably have me with my wallet out, lol. What interests me would be the ability to have something created and, at some point be playable, on an actual console. The closest I've come is releasing a couple of games on Android that weren't really up to scratch, but when I think of gaming, I never really go to smartphones anyway, which is why I was never really interested in releasing them in the first place, they were just sort of test games to see if I COULD do it, although I decided against actually making anything proper for that market, since it's not the audience I'd be after anyway.

I feel like once you have the idea down and have a proof of concept built, something like this would become much easier, even if you did it solo too, to convince potential funders on Kickstarter to help with it. I've backed a few games myself, and the reason why I picked them over others is because they had a demo to download that gave me a feel for how the game would play, the most recent game I've backed is Monster Sanctuary, and I only threw money down AFTER playing the demo, so yeah, something like that is always a bonus. You then, of course, have to think of how you'll decide on stretch goals, although honestly I reckon once you've already got things working as is with the game, adding new content based on those goals will be easy enough, especially if you use your examples such as naming NPCs etc.

Looking at other genres WOULD be an option, or you could even combine them, although honestly considering the background of everyone (still) here, it would only make sense to make an RPG, and I've gone other routes myself and despite making more progress and actually releasing them, the creation process wasn't quite as fulfilling as an RPG, despite me never actually releasing an RPG, so I can't say how the feeling is once one is released, lol.

I'm not sure if I could/would help with something like this, as much as it interests me, simply because I hardly have time to attempt anything of my own as it is, and at this point I've pretty much lost all enthusiasm for trying to create a new game after so many attempts. Not only that but I feel like the way I go about making games (Basically cutscene heavy, I like to be in control of what the player does and guide them through the story) would only be a hindrance to what you're asking anyway.

With all that being said, if you decide to go along with this, and it actually becomes a thing, I'll be sure to try and keep up to date with it, having someone from our (now tiny) community making something on a bigger scale than just another RPG Maker game is a pretty big deal in my eyes, so yeah... good luck if you get it going!
 
Jason":2ck085wc said:
What interests me would be the ability to have something created and, at some point be playable, on an actual console.
I remember having this kind of feeling too, but these days the mystery and intrigue of this kind of thing is lost to me. Hopefully this interest is what makes this project idea exciting for both developers and gamers alike.

As for a demo, I absolutely think the goal should be a demo for crowd-funding. There's a few thousand reasons why doing a demo is beneficial to a project. It would definitely be part of the feasibility discovery of the project. I think our goal should be to build a demo, then look at where we can take it from there. I think a demo would get people more excited about this.

I explored the idea of doing an arcade game remake, or a collection of arcade games, or doing a racing game with impressive 3D graphics - there's some really cool stuff that can be done, but they'll only be impressive to the very small GBA hobby developer community. RPGs with a story feel so much more grand than any other genre, even first person shooters (GBA FPS game would be an awkward Doom clone with lots of sacrifices done and not a generally good experience).

Building these other genres for something like PC or mobile makes them no longer special. RPG just makes sense in so many ways, despite me spending so much time figuring out how we can "not make an RPG". I am interested in why you prefer to tightly control the player's experience through cut-scenes and story heavy sequences - if you were to be involved in making a game that doesn't do this would that frustrate you? What if you choreographed cut-scenes with the guideline of "they cannot last more than 45 seconds and must contain XYZ information"? Would you not enjoy that kind of challenge?

It could be that this ends up becoming an interactive movie - if that turns out to make the most sense. Just that from what I've seen I don't think that makes the most sense. I did consider a visual novel for the GBA (see Love Hina Advance for example), which very much would be an interactive movie, but again I think that's a genre that isn't as strong as an RPG in this particular circumstance. Visual novel I see as 2nd best idea.
 

Jason

Awesome Bro

Xilef":1unyhiyt said:
I am interested in why you prefer to tightly control the player's experience through cut-scenes and story heavy sequences - if you were to be involved in making a game that doesn't do this would that frustrate you? What if you choreographed cut-scenes with the guideline of "they cannot last more than 45 seconds and must contain XYZ information"? Would you not enjoy that kind of challenge?

There's a couple of reasons for it really; The first is because, for someone like me, a linear story removes the sense of "worry" I get where I'll always be worrying about the choices I've made and keep thinking to myself "What if I picked the wrong choices and get an outcome I don't like?", I mean, it's basically a form of gaming OCD or something, and when games have multiple choice and endings, no matter which choices I go with, it grates in the back of my head, and annoys the actual fuck out of me, wondering what would have happened if I picked the "correct" choices, even if there aren't right or wrong choices in a game, and as someone with limited time to play games, and with so many to get through, I don't have the luxury of having time to replay a game to see a different ending. A single ending game (Or something where the only choice that changes the ending, is it at the end, and alternate endings are available through the menu or a simple reload) makes me feel safe and know I'm doing everything right and not potentially missing out on something... which leads me onto the second reason;

If I'm creating a story for players to follow, I want them to actually follow it and not go off and do their own thing. It's why I prefer Japanese RPG's to Western ones, since they're more often than not linear over open ended, you play the role of a predetermined character on a predetermined path/story, you're just there for the ride, which is what I enjoy a lot more than having to create my own character and "make my own story" via free roam, multiple choice and whatever else there is. Now, that's not to say I dislike Western RPG's, in fact I actually quite enjoy them, just not as much since due to the open ended nature of them, I feel overwhelmed, lose track of what I'm doing, and end up spending more time with side quests and exploration than the story itself. That probably sounds weird, especially since I LIKE doing those things in games, but considering there's a story I'm supposed to be following, I'd rather not be tempted to turn my attention away from it until AFTER it's finished. By all means have the big open world and side content, but give me it as a reward for actually finishing the story, that way you ensure that I actually DO finish the story.

Being able to control the player's experience through the cutscenes, not allowing them to take control during them etc. (Aside from moving the text along, of course), means I can give them the experience I intended to when I created them in the first place. I also find that being heavy on cutscenes means I'm actually able to deliver the story directly, and players won't miss anything, as opposed to the recent trend of open ended games where you learn the story by finding collectibles... what if you finish the game but don't find enough collectibles to make sense of anything that's happened? Games such as that leave me with such an incomplete feeling once I'm done with them, which is why I tend to shy away from the majority of them, as I find it more lazy than anything, as if they couldn't be bothered to put a proper story together, just had a few notes wrote down and thought "Fuck it, we'll break these notes up and add them to the game for players to find", it seems like a cheap way to add "mystery" to a game too.

I'm not opposed to the idea of breaking away from what I'd usually do, although it probably would frustrate me to begin with, and what you've proposed does seem like something I'd be able to do, despite never giving myself a time limit on cutscenes before... I can't really say if I'd enjoy it or not though, but then again this whole project is about limitations anyway.

Either way I definitely think sticking with an RPG is the best idea and I'd encourage you to stick with it, of every genre I'd definitely say it'd be the most noteworthy and will gain the most attention.
 
I’m interested in this, if anything maybe doing some of the graphics/art. I don’t have a ton of pixel experience but can hand draw a lot of things if needed or wanted. It would really depend on the limitations of the GBA
 
Jason":2y9qeja2 said:
There's a few interesting things you've mentioned here. One system I developed for an older project was a cut-scene trigger where as you enter an area your party would already be out and having a conversation, you can choose to walk past and ignore it or you could hang around until eventually the character you're controlling gets involved and the subject of the conversation gets deeper.

I would never use that kind of system for anything more than world and character building. Delivering core story should be on the trunk. I can't imagine that system working very well on the tiny GBA screen either - would be walking under text boxes that cover quite a large area.

JRPG is what I had in mind. A main trunk of the core story and side-quests every now and then. My ideas for crazy stuff like online connectivity would be something along the lines of FF6's coliseum, so not critical but provides bonuses for those interested. Or maybe there's a special shop in towns that handles online items or donator items (Pokemon style mystery gift stuff?).

bacon":2y9qeja2 said:
A lot can be done on the GBA in terms of images. What would happen is we'd build image tools that will sort out the details and communicate what's going on if there's a problem. Hand drawn graphics I very much imagine being needed.

Tile mode would be best for the game, would need to figure out how much detail can be compressed into tiles. The Final Fantasy Advance games have very detailed battle backgrounds. There's also character portraits and monster graphics to consider (should we have character portraits?). We'll need to investigate what is possible on the hardware.

Final Fantasy Tactics Advance gets away with nice character portraits along with dialogue boxes and rich tiled backgrounds.

If there are static full-screen images to show then there is GBA bitmap mode (you get 240x160 15bpp pixels or 240x160 8bpp palette indexes). Maybe some story elements can be shown with still images? These could be swapped to use FMV video if SD card storage + video files are available.

EDIT: FFTA's world map is a giant 240x355 pixel image, they must have done that somehow with just tile mode
 
I really don’t know any of the technicalities, but yeah I’d be down to draw portraits and backgrounds if needed; usually I can compress my work cleanly too.

I like the idea of a jRPG personally and I’d be interested in w/e ideas tho~
 
bacons art is fantastic, itd be sick to have you on board man

also xilef, i love it
i love all of it

im down for a jrpg and ill probably buy the collectors edition when it comes out, for whatever it is

do you have any code available for me to take a squiz at? i started a project implementing a tiled map as the map editor and im super keen to see if i can help out at all
that said, im only really familiar with C++ and not C
 
ZenVirZan":3vw85hai said:
There's exactly zero lines of code written for this project so far. I've been working on tools and GBA libraries for a while, I think it would be best to get some tools sorted first before implementing anything further.

If you just want to see what C looks like in a GBA project then there's a nice disassembly project for the Pokemon games, but you'll see how it's all register based with writing values to chunks of memory and hoping that does something.
Here's a crash-course in GBA: https://www.coranac.com/tonc/text/

The big issue with C++ is the weight of the STL. I think it's best to use C for core stuff, then use C++ for high level stuff - if it is even needed (might not need C++ at all). I'll be publishing some C code later today that implemented an ARM ELF linker (intended for hardcore GBA projects), that will make for a good example of handling C in a familiar way (C++ classes are replaced with structs, function pointers used everywhere).

EDIT: Here's the ELF linker project this would be used for something like loading and executing DLC code or within the file system libraries for loading file system methods into memory to be used whilst the ROM is paged out.

The GBA has hardware tile-mapping, it's something I've only dabbled in but I have no worries about it as it's all very nicely documented in that coranac tonc webpage. What we should do is probably set everyone up with DevKitPro with a minimal project so we can all compile GBA code and test on an emulator of choice.
What will probably shock most people is the lack of debugging tools: There aren't any. I'm used to it, I've shipped commercial projects without debugging tools in the past.

In my opinion, using TileD editor is best for its immediate feature set. Just need to invent a GBA friendly binary format and write tools to compile into it (and then write a GBA tile map engine). My biggest worry for TileD is lack of an RPG Maker style event system (makes sense, certainly). Having events edited right there in the map is a very powerful thing. Ideally we'd have a custom map editor that has our own map event editing system, but I don't see much value in doing that when TileD exists.

Perhaps make our own TileD Plugin? I haven't investigated this idea at all due to lack of familiarity of the editor. I believe Plugins need to be compiled into it, but Python can be used for export formats (compiler written in Python?). I'm not super great with Python either, my instinct is to write tools in C++.
 
I created a preliminary design/ideas document on Google Docs in a bid to avoid potentially writing spoilers here that could later be unearthed if anything comes of it.
High-level concepts will likely move to public discussion once they are more developed, so if you see anything you like you can still get involved.

Post here if you want access to the Google Docs, even if you're just curious.

I came up with one plot/story summary idea and a few scene ideas. If anyone wants to donate a plot idea then you can add it to the document. I suggest not using an existing plot idea in case you want to develop it for yourself - simple plot ideas suitable for a handheld JRPG demo with plenty of scope to expand into a full game would probably be best.

The preliminary designs and ideas I've put down are very much preliminary - they could pivot, shift, be avoided entirely or changed depending on what works best. I don't want this to be "Xilef's project", but I do want to provide strong direction (this does not mean inflexible, this means "decisive") for development so I've provided some ideas already as a starting point.

I think it is too early to prepare a full-on development environment. Now would be the time to get some early ideas done (Google Doc) and some tools built to explore if this is a good idea and if the development is sensible (and I'd like to get the tools posted here so people can play with making a GBA ROM).

-

It is embarrassing to have my ideas written up in a document, so even if it's roughly written don't be afraid to add or modify the document - it probably will be cringy but that is 100% okay. I expect everything written will be cringe material until it is more refined.
Google Docs does support comments - so write comments asking questions or suggesting ideas if you're too afraid to make a change or addition.

I may ask Amy for a private sub-forum for development if the document contains becomes too thick with ideas. The info in the document can be moved into a private forum - accessible by request (if you're an HBGames member, you're in).


To clarify; I'm not rushing ahead with this. I still consider this all discovery/early planning for potential ideas whilst technical and feasibility exploration and is underway.
 
Discovery update.

Tools

I've been testing some tool development stuff. I have settled on using C# for building tools to speed up development - so any C# programmers who want to get involved here's a chance for you.
Along the lines of tools, I've also been thinking about getting the development production pipeline sorted out in a way that will be easiest. My thoughts right now are to automatically generate an RPG Maker MV project from the Tiled created maps that resizes tile set graphics for MV's 48px size and basically outputs GBA binary files for the actual maps and MV maps for placing and choreographing events.

It won't be a perfect conversion because our goal (at this time) isn't an MV project (that may be a future goal, so the option is open) - but I think it will help out.

Why do this? I am keen on using MV's event system to build events and create database items. I do think that will speed up development - the user interface is familiar and proven.
Why not use MV and generate GBA maps from that? Tiled is way more flexible and we can do things such as mixed tile-sets. It also lets us address the GBA's 8px tiles whilst keeping to a 16px grid system. We can add layers and effects in Tiled that aren't possible in MV (such as a layer for time of day effects). EDIT: Although I am seriously considering just using MV's editor. Could use 16px tiles (made up of 8px chunks) that are inflated to 48px for MV's editor. MV's map editor just isn't that powerful so I'm hesitant on this idea.

A command line tool would be used to grab the event and database data from the MV project and compile it into a binary suitable for GBA.

So the asset flow for maps would be:
  • 8x8 tile tile-sets
  • Tiled map graphics/geometry (no event data, collision could be done here)
  • Generate map bin*
  • Generate MV map*
  • Place events in MV
  • Generate event bin*
  • Compile into GBA*
Anything with an asterisk can be done automatically, so when we make maps we only need to worry about designing in Tiled then placing events in MV.

Mapping is an iterative thing so generating the MV map should never erase events if the map already exists. Unfortunately MV does suck when it comes to external editors (I've tested this all out) so the project would need closing and re-opening for any small map changes done in Tiled. That will definitely be annoying.

GBA Project

I've made a Bitbucket repo with a downloadable GBA project for Visual Studio 2017. It has instructions for getting GBA development going and it contains a build of the mGBA emulator to test with. It's a private repo, if any C/C++ developers want access then send me a PM and I'll help you get access.

Right now the project is just a test for attempting to detect what device the ROM is being played on (mGBA, Prototype, Game Boy Player, GBA, DS, Unknown) and tests out the debug/release compile flags that are set up. mGBA exposes some debug registers in its own memory map, so we can actually quite easily print out debug messages for that emulator (saves needing to pull in agbprint - the Nintendo official GBA debug print system). This supports warnings, errors and fatals (which halts emulation with a message) so in debug mode we can actually do a lot of assert checks - very handy when you can't connect a debugger.

Producing Cartridges

This is more for the distant future, so take the following as a preliminary investigation.

I've been doing some research into this, it's definitely doable and there's a few options. First of all, hopping onto Aliexpress and searching around shows that thousands of reproduction GBA (bootleg) cartridges are still being sold even to this day. Here's a guide to the different carts. BennVenn sells a reflasher tool that will let us put the ROM onto cartridge.

One option is to buy a whole bunch of these (they aren't expensive) and then sort out the carts for the good ones and bad ones (sellers will sell many different cicrcuit boards, can't guarantee the fantastic 4400 cart). 32MB carts are out there, just need to find them. There's also the capability to create a ROM that will save to these carts without battery backup(!) so that's also an option. We should probably budget for 16MB ROM and 64K SRAM; a demo should be much smaller than this.

That Nintendo logo on the bootlegs would need removing somehow. Also, the cartridge plastic would be difficult to sort out - because the Pokemon games are so valuable the most common bootleg carts are these colours, which may be pretty cool to make a game for, but it wouldn't be the GBA standard grey.

Another option is to build our own circuit boards and 3D print our own cartridge plastic. I've looking into building PCBs - it would be best to consult an expert on this, but it is doable - although likely more expensive then bulk buying a load of bootleg carts.

A final option is to pay the expert we would have consulted to build us custom cartridges. This is would be most reliable option.

Would also need to produce cart labels.

Game Boy Advance Graphics Specification

So you want to make GBA graphics? The display is 240x160 resolution with practically square pixels with 15bpp colour (5 bits red, 5 bits green, 5 bits blue). It is a 16bit display bus, the high bit is ignored for graphics.

Don't worry about colour depth, our tools should sort all that out for us (and output a preview image so we can check for issues in artwork).

Tiles

Tiles are 8x8 pixels. There are 3 tiles modes; 0, 1, 2.
Mode 0 uses four layers, a layer can be a maximum of 64x64 tiles in size. This will almost certainly be the mode we'd use for general maps in the game. One layer would need to be reserved for user-interface (text boxes!).
There's a maximum of 256 256 colour tiles or 512 16 colour tiles, this is mixed. Tiles can also be flipped both vertically and horizontally (but not rotated!). So there's many options for re-using tiles.

The colours are paletted. There's a 256 colour tile palette, a 256 colour tile addresses the palette directly, but a 16 colour tile addresses 16 colour chunks in the palette with a palette bank ID to select which chunk to use (16 colours in a 256 palette = 16 chunks).

So if you want to make a map, each 8x8 pixel tile should probably only use 16 colours. A tile can be flipped, so that is a way to remove duplicate tiles.

We can have a single layer dedicated to transparent effects (water, shadows, smoke).

Mode 1 allows affine transformation of a 128x128 tile map filled with 256 colour tiles (still 8x8 px tiles) and two normal background layers. We'd use this for something like a world map with 3D effect.

Mode 2 only allows two affine 128x128 tile maps. Might be handy for something like a cut-scene or a flashy title screen.

The map size limits can be broken with clever coding! So despite everything I wrote about map sizes; don't worry about map size. In the technical implementation we'd probably use 32x32 tile maps and stream in chunks of map as the camera scrolls about. The world map can be split into 32x32 chunks too and streamed in (so we can have a 512x512 tile world map if needed).

Finally, there's the bitmap modes 3, 4 and 5. Ignore mode 5: that is basically weird GameBoy Color bitmap mode (double buffers, 15bpp colour framebuffer). Mode 4 is a 256 palette frame buffer with double buffering. Handy for a first-person shooter, not very handy for something like an RPG. Could maybe use this mode to display static images. Mode 3 is 15bpp direct colour, single-buffered image. This would be used for showing an extremely detailed image - maybe a title screen. There's no tile map at all in these modes, so text boxes would have to be handled by sprites (so basically; no UI should be here).

Mode 3 could probably be used for streaming FMV video if that kind of thing is what we want.

Sprites

Sprites have their own, separate 256 colour palette. They made up of 8x8 pixel tiles also, but a full sprite is made from a collection of these from 1x1 tiles (8x8 pixels) to a massive 8x8 tiles (64x64 pixels). We can easily have 16x32 pixel sprites (this will probably be best for characters).

Sprites have the ability to use an affine transform matrix, so they can be flipped, rotated, scaled, skewed, etc.
They can also be blended (although this is a little weird, but it works for stuff like ghosts or whatever). Using blended sprites with priority indexing may be a good way to do high quality shadows.

Sprites, like tiles, can either be 16 colour or 256 colour. 16 colour has palette banking.

Generally we don't need to worry about these limitations, the tools should handle it all and then warn us when something is amiss. So anyone who wants to create mock-up images or tile-sets or whatever should go ahead and do that and not worry about things like palette indexes, layers, blend modes, sizes or anything.

Look at the GBA game "Magical Vacation" for an idea of what's graphically capable for an RPG on the console. We can do better than that (the benefit of modern tools).
 
Sorry for not responding sooner, been on vacation this last week~

If we are using the MV editor, then why restrict ourselves with the gba technicalities and limitations. I totally see the allure of making a physical gba game; however I think that niche is too small to be profitable, especially with something like a gameboy as opposed to a SNES or NES. Also a jRPG is going to be a niche of a niche.

I think we should use the editor and focus, if trying to release commercially (which I personally would be extremely interested in) we should shoot for something more modern. My suggestion would be something like the Nintendo switch which doesn’t have a plethora of RPGs abs even less good ones.

Also I’m not sure who is on board either, has anyone been interested in pixel work? I’ve been playing around with 32x32pixel hand drawn backgrounds. IDK who or what we are doing, but I wouldn’t mind just drawing stuff. Not only that, but I think that hand drawn caters more to the members left here. Idt it’d translate well in an 8x8 tiles

Again, Im very interested in being part of a project and have been for quite some time. I’ve come up with a few concepts over the years and also have worked on world lore for even longer; i just haven’t found (or really even asked around) for someone to do the technical side that alludes me.

That being said, I’m not trying to hijack anything, this is just my opinion~
 
The other thing that hasn’t really been discussed is wtf we are doing in terms of systems and stories and ideas, I think that has a big influence on what direction we want to go as well
 
I spent a few months looking at producing an MV game, I was even speaking to Nintendo of Europe about Switch development and publishing, but the issue I see is that MV games are so common that you really need to push beyond what is expected if you want to make anything that can be commercially viable. What I was working towards was an RPG with hand-drawn backgrounds, non-grid pixel movement, large characters, 3D objects (chests, doors) and I had some story ideas that would be manageable from a production point of view, but the production values needed were way too expensive. I can't imagine producing a good MV game on a budget, and I don't think RPG Maker games typically perform well with crowdfunding so I don't believe that's an option.

Looking briefly at Kickstarter, typical 2D RPGs tend to settle around the $10k mark - realistically I don't see that as nearly enough to take a quality MV game to market. A regular MV game that's just like 99.9% of all the other MV games out there likely wouldn't even get $10k of support. It's saturated and the effort seems almost not worth it when there's no upfront capital to drive development (RPG Maker fatigue). These Kickstarter RPGs tend to get between 100 and 200 backers.

I also believe the 'golden age' of crowd-funding is over, so exposure for projects is not going to be as high as it once was back in the day; doing something cool probably isn't enough anymore, need to do something surprising and genuinely interesting.

That's why I think an MV project needs incredibly high production values and needs to push the engine beyond what is expected so it can hit the mark of being surprising and interesting. I'd use the niche MV community itself to build exposure for an MV game, let that leak into the broader gaming world. My belief is that catering to a niche is what makes a game stand out - as opposed to attempting to capitalise on market trends that have been well-and-truly conquered by games that got there first. For an MV game, I'd attack the MV niche to get the initial exposure going.

The other niche that I have been looking at is the game collectors community. This is the niche that Micro Mages targets. Micro Mages managed to gain €150k of funding to developing their project from over 4,000 backers, almost entirely targeting the game collectors community. Compare this to a typical RPG on KickStarter.

As great and surprising as Micro Mages is, I don't think the majority of backers were interesting in the gameplay and design itself, they were interested in the full-package of a modern NES game released in 2018 as a cartridge, box, instruction manual and dust sleeve with a high-quality game on that cartridge. The game's quality is part of the package, it's not all about the physical package itself (the PlayStation Mini is an example of lack-luster software in a good physical package).

Why not SNES? The GBA has greater market penetration, it was right when gaming was taking off with the start of the PS2 era. The people who grew up with GBA are now adults, and game collectors are interested in the console. There's been a mini rebirth of the GBA homebrew community in recent times because the generation of software developers coinciding with the GBA era. The DS/DSLite has GBA compatibility, those consoles are everywhere, GBA flash carts now even have plastic shells for the DS Lite design. The SNES is currently very collectable, that would definitely be a great choice for a console, but I can only imagine a success on the same scale as Micro Mages as being the top-end, I don't think it would be one that can go further. The Gameboy branding is very strong, I can imagine more people on social media talking about Gameboy than SNES.

Why not Gameboy Color? Hardware limitations too severe. I don't see an easy path for making an HD version of the game - if that is a future option - from an 8bit game without remaking the entire thing from scratch. GBA can comfortably use C/C++ and modern tools (less hardware limitations than the SNES); getting that going on something like a Nintendo Switch port makes more sense. Switch is not off the table at all and I don't see GBA as the end of the road.

Pier Solar is a case to look at here, they ran a campaign during the heyday of Kickstarter for their HD version. They had already built and released the 16bit Genesis game to a very receptive collector's market. Their HD campaign had 3,500 backers and raised $230k (I attribute this to them targeting the collector's market - Pier Solar is a lovely game but it's not an amazing RPG).


I also think the smaller scope of GBA imposes limitations so we won't run off and build something too big to manage. We should also keep the goal as being a playable demo, rather than a full game or a crowd-funding campaign - those things come later.

Having visible graphics will help a lot, so that's my focus right now to get tile maps exported from an editor and running on GBA. I'll probably make a handful of tiles for some test maps, but a pixel artist is going to be needed.
 
Been incredibly busy with real-life stuff, which is still ongoing until about mid-April, however here's a short update on what's going on with this.

Currently I am re-writing the libgba project in C++ (libgba++?) in a way that makes it more-or-less using C++ as a glorified C pre-processor (constexpr everywhere). The reason for this is due to some minor licensing concerns regarding libgba (pretty much forced to be GPLv3 despite random licensing from random authors all over the files).

Along the way with doing this, I'm looking at a suitable file format to start getting easy textures/sprites/animations/maps/tile-data/palettes/compress-data into the ROM. libgba for some crazy reason had a crappy PCX decoder bundled with it, however right now I'm considering using Nintendo DS file formats and writing an archive-viewer in C# (makes the project data more or less drag-and-drop for changes). There's a plethora of DS tools out there (graphics, animation, sound), so this may help a fair amount.

The DS archive format looks like it has a mechanism that I may be able to use for patch files too, which should allow overloading file data with stuff in save memory or on SD card storage (DLC idea).


I'm starting to swing back towards the idea of using TileD again. The maps can be exported to a simple MV parallax map (background images are viewable in the MV editor) for placing events and writing event data in MV.

I've also looked into what can be done with the battle system in terms of graphics: Octopath Traveler seems like good inspiration. The battle fields are 3D with 2D sprites facing each other Final Fantasy style, the GBA can handle some perspective effects with background layers, it's entirely possible to actually do a simple form of this 3D battle system "mode 7" style using GBA graphics mode 2.
The Octopath Traveler sprite sizes in general seem like a good base for GBA too.


This is still a project in the "Incubation" phase, so this is all early planning. I've seen some homebrew projects rush ahead to get visible graphics done and - whilst exciting to "see" - when actually running their prototypes there's a lot left to be desired...Not to mention they don't provide anything new or novel to the homebrew scene (something that Pier Solar relished in) so I do believe playing it safe is the right thing to do and making sure there's a good path for rapid iteration development is going to be critical in getting the ball rolling.

In other news, I posted a fire-effect demo running on GBA to Twitter and it was remarkably popular, caught the attention of a Eurogamer writer, which surprised me as I thought enthusiasm for GBA homebrew was pretty mild at the moment (hence why I believe targeting the collector's market would be the best choice). The demo was very simple and not actually that impressive, but the fact that it was on GBA seemed to have caught more interest than I'd have expected.
This makes me feel that a good marketing angle would be to simply show off the unique features (such as GBA to PC communication) rather than go down the route of typical game marketing.
 
Bumping with an update on another interesting project: https://www.kickstarter.com/projects/fi ... for-gb-gbc

That is Tobu Tobu Girl, a home-brew GameBoy that was made a while ago. It's nothing special, it's simply what you'd expect on classic black & white GameBoy (no better than a smartphone game).

This is a good Kickstarter to watch as it is focusing on the collector's market also (albeit for GBC) and it already a free ROM. It looks like they plan to sell the physical game package for about €49 and they're trying to make it as much of a complete package as possible, targeting collectors. €49 seems a little low to me, but I've seen some comments say it's too much for such a simple GBC game.

It would be worth watching how they market this and what kind of reach they get with it. Their goal is €32k. The style of the game's marketing material (artwork, cover, etc) is something to note also.

Having multiple region packaging could be a good way to separate versions for collectors in different regions, and a die-hard collector could spend extra to get all 3 European, North American and Japanese boxed games.


Project incubation news

Tools have progressed big time: DS archive format is fully implemented and working on GBA, it's incredibly cool! This opens up the option for ROM hacks and modifications, so I think it was the right call having an archive format and not going full binary.
Image conversion is working, outputting palette and tile data (again in DS format). This will be used for converting all image data to GBA format and will be particularly useful for user-interfaces. Here's a video: https://www.youtube.com/watch?v=GcF5M9_RyH4
Yeah finally getting images displayed.

C++ library was on pause whilst C# tools were written. Need to write up background API stuff so we can actually configure and modify the tile data. Rendering into tile data is something I want for variable-width font support as that is a pretty important thing for a story RPG.

Story
The more I think about it, the more I feel the story I have in my head is actually pretty good. I need a good way of writing it down for others to read and review. Apparently this is a major weak point in my skillset. I hate the idea of writing film script style, but there may be no other option.

I am considering merging in the mythology from another project (currently on the shelf, but has years and years of development), that would inject a lot of content to draw from with the story. Part of me wants to bring in the branding from that other project too, but I'm going to hold off until there's a better vision of what's going on.

Graphics
I've been looking at many styles, trying out different sized character sprites (crappy edits and mock-ups for now). I like the idea of going anime gothic dress with all the characters; Bravely Default sort of points in that direction. The Octopath sprite style could look really good.

Music
What I want to do is investigate using the MIDI music format and having a system where we can assign GameBoy audio voices, 4bit PCM and 8bit PCM to MIDI instruments and convert a MIDI file to something for GBA playback.

I made a couple of attempts at writing some MIDI music a few days ago. I really suck at it. I could spend ages writing a tool that is catered to me and lets me make something good, but it would be better to just get MIDI supported and let composers use the tools they're already familiar with (as long as they can export MIDI).
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top