[HN Gopher] GB Studio: Drag and drop retro game creator for GameBoy
       ___________________________________________________________________
        
       GB Studio: Drag and drop retro game creator for GameBoy
        
       Author : CharlesW
       Score  : 185 points
       Date   : 2023-06-17 17:26 UTC (5 hours ago)
        
 (HTM) web link (www.gbstudio.dev)
 (TXT) w3m dump (www.gbstudio.dev)
        
       | ihappentobe wrote:
       | GB Studio is a great way to mess around with making a gameboy
       | game! It exports a rom that can be flashed onto a blank cart, and
       | played on real hardware--with recent versions adding gameboy
       | color support. The recently hyped McDonald's Grimace game was
       | reportedly made with GB studio:
       | https://gbstudiocentral.com/news/mcdonalds-celebrates-grimac...
        
       | navanchauhan wrote:
       | Previous:
       | 
       | https://news.ycombinator.com/item?id=19717558 (4 years ago)
       | 
       | https://news.ycombinator.com/item?id=26979879 (2 years ago)
        
         | jhbadger wrote:
         | Yeah, I assume this is posted again because of the buzz over
         | the Gameboy Color game that was created using it that
         | McDonald's released in a recent promotion
         | 
         | https://news.ycombinator.com/item?id=36311378
        
       | zgluck wrote:
       | "Drag and drop"... what?
       | 
       | (I'm sure I can find out by reading further on the site or
       | googling, but that's kind of beside the point. Retrogaming
       | software very often have very puzzling usability issues, IMO.)
        
       | gymbeaux wrote:
       | I'm hoping somebody ports Pokemon Colosseum to GBA/GBC
        
         | CyberDildonics wrote:
         | What does this have to do with GB Studio? Was Pokemon Colosseum
         | made with it?
        
           | whateveracct wrote:
           | I think it's more that the game would be more fun as a 2D
           | pokemon instead of the 3D it was.
           | 
           | It's a niche request by GP for sure!
        
             | gymbeaux wrote:
             | Thanks homie. Not everyone gets it. Pokemon Colosseum is
             | the Deep Space Nine of the Pokemon games.
        
       | kixiQu wrote:
       | Just in case anyone doesn't read deep enough to run into it:
       | 
       | > You can generate ROM files that can be run in an emulator, on a
       | web page or on real Game Boy hardware.
       | 
       | Being able to play these on the web is very, very cool.
        
       | esotericsean wrote:
       | I've been making a game using GBDK (C) and a little engine called
       | ZGB for the past several years, but the work that Chris and the
       | team have done on GB Studio makes me want to switch to the
       | platform. I'll still finish my game using C because I'm so far
       | into development now there's no point in starting over, but if I
       | was starting fresh, GB Studio would be the way to go.
       | 
       | That said, I'm glad I made my game in C because I've learned so
       | much more about coding. I feel like I get better every day. Not
       | sure I would have that same experience using GB Studio.
       | 
       | One day I want to try using ASM...
        
       | slowhadoken wrote:
       | Oh cool GB Studio is still going. Good for them.
        
       | wk_end wrote:
       | I haven't really looked into it in detail, but AFAICT GB Studio
       | is honestly incredible. I program the Game Boy as a hobby; this
       | machine has basically no RAM and a CPU that's - depending on how
       | you measure a "cycle" - either ~1MHz or ~4MHz, with a shockingly
       | limited and non-orthogonal instruction set (and don't even get me
       | started on dealing with bank switching). Historically games for
       | it have been almost exclusively coded in assembly. And yet
       | someone's come along and built a seemingly fairly flexible
       | WYSIWYG game engine for it? If it didn't exist I would've told
       | you it was impossible. I _still_ don 't quite believe it's
       | possible, despite the proof being right in front of me.
        
         | londons_explore wrote:
         | The gameboy had extensible RAM and flash - ie. a game cartridge
         | could provide more of both if it wanted to.
         | 
         | I assume GB studio uses this to make it easier to make decent
         | gameboy games without manually allocating every byte of ram in
         | handwritten assembly.
        
         | chrismaltby wrote:
         | Thanks, one of the things I've always tried to do (at work,
         | before I started on GB Studio) is make difficult things seem
         | easy and accessible. Though I'd have also told you this was
         | probably impossible before starting too!
         | 
         | I just built it up slowly, making small tools to help me make
         | sense of what was going on while learning GBDK, before I knew
         | it pretty much had something I could package up. I've had a lot
         | of help along the way though, untoxa's [0] engine rewrite, and
         | the work pau-tomas [1] did on the music editor have been
         | especially helpful to the project.
         | 
         | Been a bit absent from the community recently, not had the
         | time, but hoping to get back on it again soon!
         | 
         | I'm always amazed at how many awesome games people keep making
         | though, it makes me really happy as this the first of many
         | failed side projects that I pushed on through to completion.
         | 
         | [0] https://github.com/untoxa
         | 
         | [1] https://github.com/pau-tomas
        
       | Waterluvian wrote:
       | WOW. What's the compile pipeline to get to valid ROMs?!
       | 
       | I need to dig deep when I get home. This is frankly astounding.
        
         | djxfade wrote:
         | I used to contribute to the project back in v1 days. I'm not
         | sure if the architecture has changed since then, but basically
         | it worked by compiling the game logic as a kind of byte code
         | that got interpreted at run time.
        
           | Waterluvian wrote:
           | Like on top of the CPU's opcodes? I imagine you mean the
           | opcodes. That CPU probably can't handle much abstraction.
           | What impresses me the most is that to get performance out of
           | these games, they're often very carefully coded in the
           | Sharp/Z80/8080 assembly. This compiler must be quite
           | something.
        
             | ehaliewicz2 wrote:
             | It actually does interpret bytecode, you can see the opcode
             | definitions here https://github.com/chrismaltby/gb-
             | studio/blob/1f995a976bd3aa...
             | 
             | The trick is that a lot of the heavier stuff is implemented
             | in assembly and this is mostly used for scripting (from
             | what I understand).
        
               | djxfade wrote:
               | Yes exactly. It's not a zero cost abstraction, but it's a
               | very simple format, each byte code oppose maps directly
               | to function and passes its args. So it's basically just a
               | conditional jump
        
         | qbasic_forever wrote:
         | If you want to program the Gameboy or Gameboy color with C the
         | SDCC compiler toolchain is typically used:
         | https://sdcc.sourceforge.net/ There's a ton of good info and
         | dev tools here: https://github.com/gbdk-2020/gbdk-2020
        
       ___________________________________________________________________
       (page generated 2023-06-17 23:00 UTC)