[HN Gopher] Game-makers creating new Game Boy games (2021)
       ___________________________________________________________________
        
       Game-makers creating new Game Boy games (2021)
        
       Author : Tomte
       Score  : 101 points
       Date   : 2022-01-14 07:50 UTC (2 days ago)
        
 (HTM) web link (arstechnica.com)
 (TXT) w3m dump (arstechnica.com)
        
       | sircastor wrote:
       | I wrote part of an NES game for my senior project just a couple
       | of years ago. It was tough at the time, and quite Beyond anything
       | I'd ever done programming otherwise.
       | 
       | I just recently started going back through the code (6502
       | Assembly) trying to figure out what a given subroutine does.
       | 
       | If you've got nostalgia for one of these systems, and enjoy
       | programming, I encourage you to give it a shot.
        
       | pkorzeniewski wrote:
       | Games for the original Game Boy are actually the only games I
       | play nowadays and I use the original hardware (with IPS screen
       | mod which is amazing) - why? Several reasons: games are simple
       | but fun and often quite challenging, they don't require a lot of
       | time investment, you can play them anywhere, batteries in Game
       | Boy last for soooo long so it's always ready and it's fun to
       | collect the cartridges, preferably with a box (they look great on
       | shelf and don't take much space). It's funny because I got the
       | original Game Boy ~30 years ago and played the shit out of it and
       | now I'm back to it :-)
        
         | lostgame wrote:
         | I've basically stopped at my SEGA Saturn, gaming tech wise.
         | 
         | I used to carry a Game Boy Color from about when I was 20 to
         | when I was 26.
         | 
         | Recently, my girlfriend gave me some weird crummy little
         | NES/GBC emulator device from AliBaba and I like it because it
         | is lightweight, has a backlight; charges via USB and lasts
         | forever. I love it.
         | 
         | At home, though; it's strictly my SEGA, still. I don't think I
         | will ever evolve.
        
           | hoyd wrote:
           | Link to the device at Alibaba?
        
             | darekkay wrote:
             | Not OP, but I also bought such a device on Amazon two
             | months ago. After doing some research, I went for the
             | Anbernic RG351P. I've been quite happy so far.
        
           | SirHound wrote:
           | As an old Saturn fan, any recommendations?
        
         | tacotacotaco wrote:
         | Same setup and same reasons. Other advantages are that tactile
         | buttons feel great and the games are designed to be a complete
         | experience i.e. no in app purchases.
        
       | ajma wrote:
       | What are people using to play the games?
        
         | benlumen wrote:
         | I use an Everdrive GB
        
         | NobodyNada wrote:
         | Most homebrew is distributed l as ROM files for use in
         | emulators (because that's easiest), and you can also play these
         | ROM files on the original hardware if you have a flashcart.
         | Some homebrew developers actually manufacture and sell
         | cartridges for their games (though usually this is in addition
         | to a digital release, and not the primary means of
         | distribution).
         | 
         | The article briefly mentions how this game is distributed:
         | 
         | > Freely available on Itch.io, a limited physical run of
         | Deadeus was also sold through Spacebot Interactive, a one-man
         | publisher founded by Chris Beach.
        
           | ajma wrote:
           | do you have a recommendation for a good one?
        
         | vanattab wrote:
         | Emulators?
        
       | sbarre wrote:
       | The newly released Analogue Pocket also plays GB Studio games
       | natively, which might increase interest in this homebrew scene
       | even more.
        
         | numlock86 wrote:
         | Is an FPGA acting like the real hardware really "native" or
         | just emulation on hardware level? Serious question.
        
           | kaoD wrote:
           | This has been a hot topic on the homebrew scene after
           | Analogue Pocket's release.
           | 
           | I raise the bar here: would an ASIC acting like the real
           | hardware be really "native" or just emulation at the hardware
           | level?
        
       | tootie wrote:
       | Tetris for the original Gameboy is the greatest video game of all
       | time.
        
       | hesdeadjim wrote:
       | It's for the same reason I build games for a day job and then
       | turn around and build more games as a side project at night. It's
       | too damned fun making fun, and when you make something
       | intentionally not for profit that multiplies the effect.
        
       | nextaccountic wrote:
       | There's a Brazilian dev that is recreating his hometown in a GB
       | game, he posts updates on https://www.reddit.com/r/RetroOtrop/
       | 
       | About the game, he said "Hi! The game is about writing. You play
       | as a writer in the seek for inspiration. Moving to a small town
       | after inheriting a house of a unknown relative you found
       | mysterious facts about the family and the town. It's a adventure
       | rpg with a lot of minigames"
       | https://www.reddit.com/r/RetroOtrop/comments/oa6pgw/rretroot...
        
       | kgwxd wrote:
       | Over the past 5 or so years, I've bought/pre-ordered at least 10
       | Atari 2600 games, on cart, on release day. Also, new hardware,
       | controllers, specialty carts, AtariVox. I'm just realizing that
       | I've spent more on 2600 stuff than I have on Steam.
       | 
       | A few days ago I played an Atari 8-bit online multiplayer racing
       | game [0] live with a Twitch streamer [1], it's was mind-blowing.
       | There's a lot of new fun stuff going on in retro gaming.
       | 
       | [0] http://8bit-slicks.com/
       | 
       | [1] https://youtu.be/RAh_Fh0DFRg?t=2346
        
       | barcoder wrote:
       | Nostalgia is a powerful motivator
        
         | NobodyNada wrote:
         | There's more to it than just nostalgia -- I've spent a lot of
         | time in the past several years writing NES emulators,
         | experimenting with making little "games"/proof-of-concepts, and
         | of course just playing NES games. But I wasn't born when the
         | NES was around; I didn't grow up with the NES so I don't really
         | have any nostalgia for it.
         | 
         | Rather, I find it fun because of the technology and the
         | constraints. The NES's hardware is straightforward and easy to
         | understand (but filled with cleverness and quirks, like all
         | hardware from that era). The software side is primitive --
         | games are typically hand-written in 6502 assembly, and there's
         | no operating system or standard library to hide the intricacies
         | of the hardware. There's something really refreshing about
         | taking a break from our modern complicated tech stacks to go
         | write 6502 assembly.
         | 
         | Some games suffer from the hardware limitations, but most are
         | designed around these limitations, and the good games are very
         | fun to play.
        
           | kingcharles wrote:
           | Off-topic: What browser/OS are you using? I ask because you
           | have em-dashes and fancy quotes.
        
         | willis936 wrote:
         | Also scarcity breeds innovation. There is no simpler computer
         | that still has software development than the knockoff Z80. It's
         | not easy making fun toys on a computer so small that has been
         | around for nearly 50 years. We're all standing on the shoulders
         | of giants.
        
         | dehrmann wrote:
         | It's also about the most advanced hardware a solo developer has
         | a reasonable chance of making a game for that would rival games
         | of the time. Much newer and the consoles won't be as well-
         | documented, and 3D graphics add layers of complication.
        
         | lostgame wrote:
         | For myself and many, many other homebrew developers, it has
         | little to do with nostalgia, and much to do with learning and
         | the forced limitations that come with the hardware.
         | 
         | For someone like myself, and many other homebrew developers;
         | it's about unlocking the potential the hardware had. Look at
         | Stunt Race FX for the Game Boy as a perfect example. IIRC,
         | someone just ported DOOM to the bare-bones SEGA Genesis.
         | 
         | Nostalgia is why people _play_ these games. (Well, that and
         | they're often excellent quality games.)
         | 
         | The challenge, and the learning of low level systems; is why
         | homebrew developers choose these older systems to work with.
         | 
         | Hope that makes sense!
        
       | spfzero wrote:
       | Long ago I had been told that you had to be an "official partner"
       | -type relationship with Nintendo in order to be able to market
       | games on their hardware. I assumed that meant there was some kind
       | of hardware key or other secret you needed to have given to you
       | or you just couldn't make things work.
       | 
       | This must be different now, is it just that Nintendo doesn't care
       | and all of the secret stuff you needed to know is in the public
       | domain?
       | 
       | Really cool to see people doing this. Anyplace especially good to
       | find more info on the hardware issues?
        
         | anjbe wrote:
         | Nintendo used, or attempted to use, various hardware/software,
         | legal, and economic techniques to force publishers to use their
         | cartridges, for which they took a significant cut of sales. The
         | hardware-enforced logo mentioned in another comment was one
         | technique, that was an attempt at abusing trademark (not
         | copyright) law to limit third-party cartridge manufacturers.
         | However, the courts decisively struck that strategy down in
         | _Sega v. Accolade_.
         | 
         | As for economic techniques, there's a fun story about a third-
         | party developer named Color Dreams. They released several
         | games, including Crystal Mines, without Nintendo approval, and
         | made their own cartridges. As the story goes, Nintendo
         | threatened to pull their stock from any toy store that sold
         | unlicensed games, and all the stores naturally caved since
         | Nintendo had the most popular titles. Color Dreams saw the
         | writing on the wall, and came up with a strategy to target one
         | market that Nintendo had no hold over: Christian bookstores.
         | Color Dreams rebranded as "Wisdom Tree," gave all their games a
         | thin Biblical veneer, and started marketing their games heavily
         | to the religious demographic. By all accounts it was a huge
         | success (relatively speaking, for a completely independent
         | publisher).
         | 
         | For an example of the results, check out their conversion of
         | Wolfenstein, Super 3D Noah's Ark (originally for SNES, now on
         | Steam!):
         | https://store.steampowered.com/app/371180/Super_3D_Noahs_Ark...
        
           | yjftsjthsd-h wrote:
           | > their conversion of Wolfenstein, Super 3D Noah's Ark
           | 
           | Thank you for sharing the _wildest_ rebranding I have ever
           | seen.
        
         | vikingerik wrote:
         | On the original Game Boy, the lockout is enforced by the
         | "Nintendo" logo that you see on bootup. There is a bootup ROM
         | in the hardware, which checks that this image exists in the
         | cartridge ROM before issuing a jump instruction to any
         | cartridge code. The image is copyrighted, so Nintendo's defense
         | is to legally go after anyone who includes that copyrighted
         | image in their ROM. It's a legal protection, not really a
         | hardware protection; the hardware part has no secret and is
         | easily defeated.
         | 
         | "Nintendo doesn't care" is an approximation. They would, but
         | hobbyists are too small for them to bother with legal action,
         | since any recovered damages would be infinitesimal on
         | Nintendo's scale.
        
           | hcs wrote:
           | I wonder if that would have held up given Sega failing with
           | something similar in
           | https://en.wikipedia.org/wiki/Sega_v._Accolade
        
           | spfzero wrote:
           | I see. Especially if the games were given away free, or at
           | cost of hardware, there shouldn't be any lost revenue for
           | Nintendo as long as they are no longer making games
           | themselves. But you can loose copyright if you don't defend
           | it right? And the copyright to their logo seems like
           | something they would want to strongly protect.
        
             | dtech wrote:
             | > you can loose copyright if you don't defend it right
             | 
             | No, that's trademarks. The Nintendo name is also
             | trademarked though, so you can't use it without permission.
        
               | gambiting wrote:
               | That particular protection has been broken though.
               | Hackers found another combination of bits that
               | successfully allows the Gameboy to boot without being the
               | Nintendo logo.
        
             | [deleted]
        
       | lampe3 wrote:
       | The question is why not?
       | 
       | On my free time I'm working on a monster rpg (something like
       | pokemon).
       | 
       | I also opted for a pixel look and a bitmap font.
       | 
       | It has its charm to work on this old style games.
       | 
       | The graphics are simple and easy to understand and read for the
       | player.
       | 
       | Also something like pokemon gen 3 still looks good.
       | 
       | Or SNES games like Terranigma, Secret of Evermore and so on.
       | 
       | And even younger people like to play them.
        
         | boomboomsubban wrote:
         | I can understand making a retro style game, most of the games I
         | play look like they're from the SNES era.
         | 
         | Why add the additional barrier to entry that is needing to set
         | up an emulator or own the ancient hardware and a flash
         | cartridge?
         | 
         | The only benefit I see it adding is the developer may enjoy
         | working through the hardware's limitations, but even then
         | couldn't you arbitrarily set yourself comparable limitations?
        
           | Drakim wrote:
           | One advantage is that your game can work on any device that
           | can support an emulator. An electron app aint got nothing
           | compared to the portability of a NES or Gameboy game.
           | 
           | Secondly, simply imposing limitations on yourself is not the
           | same as having real limitations from the hardware. With real
           | limitations, I spend hours upon days upon weeks trying to
           | figure out the most clever ways working around limitations to
           | create crazy effects. It's feels like a real personal
           | achievement for myself as a developer if I pull something off
           | that should normally be considered impossible.
           | 
           | Working around your own self-imposed limitations is
           | just...lame and arbitrary.
        
             | wk_end wrote:
             | Plus, some limitations are impossible to correctly self-
             | impose without just embracing the gestalt of the hardware.
             | A few examples:
             | 
             | Using the standard MBC1 mapper, the Game Boy can only
             | address two 16KB chunks of ROM at a time (one "home bank"
             | that's always accessible and one swappable one), and
             | figuring out how to work with that limitation cleanly is
             | fundamental to the structure of your engine for larger
             | productions. How can you reproduce that on a modern
             | machine? Even if you committed to only accessing data in
             | the original GB formats, in 16KB chunks, the code itself is
             | never going to be the same size, and code faces the exact
             | same restrictions. You'd need to self-impose the
             | restriction of only writing GBZ80 code - at which point
             | you're developing for the real thing!
             | 
             | Likewise, the GBZ80 processor has very limited addressing
             | modes, even compared to many of its contemporaries; to
             | compensate, a well-designed engine is going to focus on
             | organizing data into 256 byte "pages" (because you can
             | index them by manipulating a single byte of a pointer),
             | focus on linear data (to take advantage of the auto-
             | increment/decrement addressing modes), and avoid indexing
             | that would require multiplication (i.e. prefer "structs of
             | arrays" rather than "arrays of structs"). And if you do
             | need indexable non-byte sized data, you of course would
             | prefer data that's power-of-two sized so you can do that
             | multiplication using shifts, and ideally 16-byte sized so
             | you can use the SWAP instruction to go from index to
             | pointer in one cycle.
             | 
             | Also, the Game Boy video hardware locks you out of VRAM
             | while it's drawing the screen - that is, almost all the
             | time. Any VRAM updates need to run during Vblank or less
             | commonly Hblank, usually in ridiculously tight interrupt
             | handlers. Again, your engine needs to be organized around
             | doing these updates as quickly as possible; consider that
             | even something like drawing a fresh column of tiles to the
             | screen is much harder than drawing a row (since you can't
             | use the CPU's auto-increment addressing) and might be too
             | slow if care isn't taken. There's no real way to reproduce
             | this on a different system - all of the timing is off.
             | Challenges like this are the "fun" of developing for the
             | platform and can't really be correctly captured without
             | just developing for the platform.
        
           | lampe3 wrote:
           | You can make them game boy only but also compile to another
           | target like windows or macos.
           | 
           | It will just look strange full screen on a 27 inch display
           | for example.
           | 
           | You can also target phones were you upscale the img by 4
           | times or so and it becomes pretty playable.
           | 
           | Also you don't have to stick to hardware limitations but you
           | can.
           | 
           | For some its fun.
           | 
           | But you can also learn a lot about hardware programming
           | because these old consoles like the game boy are pretty
           | simple and 8-bit. So its also great for learning.
        
           | mysterydip wrote:
           | I've been working off and on on a DOS game using the rise of
           | the triad source and the tools of the time (map editor,
           | deluxe paint, etc), as well as some conversion utilities I
           | wrote myself to help with modern-to-ancient quality of life
           | stuff.
           | 
           | It's "missed nostalgia" for me: while I played games from
           | that era at the time, I was oblivious to how professional
           | gamedev worked at the time (most I did was QBasic). So it's
           | like people doing blacksmithing or woodworking that isn't
           | required anymore.
        
       | salamandersauce wrote:
       | Not technically a "new" game but something I was pretty amazed to
       | see yesterday is a homebrew port of Tomb Raider to the GBA called
       | OpenLara. It runs surprisingly well getting 15-20 FPS on real
       | hardware. Insanely impressive and much better than other 3D games
       | on the system like Asterisk and Driver 3.
        
         | kingcharles wrote:
         | I had to look this up to see it, it's pretty awesome:
         | 
         | https://www.youtube.com/watch?v=igEUjEci-eg
        
         | jsheard wrote:
         | They're not really "new" either but there's also a thriving
         | scene of modding/hacking official games
         | 
         | For example there's a hack for Gameboy Tetris that retrofits
         | modern Tetris mechanics into it
         | 
         | https://www.romhacking.net/hacks/5813/
        
         | Narishma wrote:
         | The GBA port is new-ish but the OpenLara project itself is
         | several years old.
        
       | skeeter2020 wrote:
       | I'm old enought that I experienced everything from the Atari
       | VCS/2600 onward with physical hardware, which (a) is really
       | hard/expensive to find and (b) makes the emulated experience less
       | enjoyable. Do people who never had the original devices feel the
       | same way or is this an old person problem?
        
         | kingcharles wrote:
         | I ended up with a stack of 2600s a few years back. I used to go
         | to estate sales, (for older people that had died), and almost
         | universally they had a 2600 with a box of games. And I would
         | give the organizers $10 and walk out with the whole thing.
         | NESes common too. Would recommend giving estate sales a chance
         | if you live in the USA.
        
         | Arisaka1 wrote:
         | I also experienced the games on the real hardware but last time
         | that I tried to emulate them purely for nostalgia reasons I
         | didn't notice anything wrong with emulation.
        
         | HideousKojima wrote:
         | Other way around for me, I've experienced a lot of the original
         | hardware but actually find the emulated experience more
         | enjoyable. Things like save states, upscaled resolution on 3D
         | games, customizable controls, online netplay for games that
         | only had local multiplayer etc. Also in recent years some
         | emulators have implemented features like rolling back one or
         | multiple frames to do an input before you actually pressed the
         | button, leading to lower input latency than the original
         | hardware (can't remember the name of this feature at the
         | moment).
        
           | tluyben2 wrote:
           | A lot of games and gameplay depends on timing; I can, given
           | an Arcade joystick, over 35 years after I first played it,
           | still play msx nemesis round and round without dying. I tried
           | improved/enhanced versions and they messed with the timings;
           | that killed a lot of nostalgia for me personally.
        
             | HideousKojima wrote:
             | If I have muscle memory of a game (like pretty much any
             | Mario game) I'll tweak things until the input latency is as
             | close to the original hardware as possible, but otherwise
             | I've found that it greatly improves the experience.
        
           | ectopod wrote:
           | The rolling back technique you describe is often used for
           | network play to hide the network latency ("rollback
           | netcode"). When I first read about it I thought about using
           | it to fix high emulator input latency, but never got round to
           | it.
           | 
           | A quick search suggests that emulators do something slightly
           | different called run-ahead. This is simpler because it only
           | has to cope with a fixed latency. The graphics displayed are
           | consistently a fixed number of frames ahead of the game
           | state. For every frame it saves the state, runs the emulation
           | forward a few frames, displays the frame and reverts the
           | state.
        
         | LaserDiscMan wrote:
         | I much prefer original hardware, but not necessarily in the
         | original state. My consoles are RGB modded, and I make use of
         | flashcarts and things like PS-IO.
        
         | tluyben2 wrote:
         | Like you, went through all of that as well; I liked it so much
         | that I started buying old computers in the 90s (when many of
         | these were cheap or even free to pick up); I have well over
         | 1000 rare ones and I regularly try them (they are pretty
         | robust; I even rarely have capacitor issues). Although I enjoy
         | the real thing more (joysticks, especially Arcade with 2
         | buttons, are so much better for me than modern ones); I like
         | handheld emulators, simply because they work everywhere. I
         | cannot take my msx, zx spectrum or vcs 2600 on the road with me
         | and with an emulator handheld device I just bring everything,
         | including the dev environments.
         | 
         | But I agree; when I really want to feel nostalgic, I take a c64
         | with tape rec and load a game. Sit very quiet after the load
         | command as any movement makes it fail and you can rewind and
         | restart the 20min game load. Somehow it feels very relaxing to
         | me.
        
         | JohnBooty wrote:
         | I'm old, but I missed out on a lot of the original systems back
         | in the day.
         | 
         | I have been slowly rectifying this by obtaining old systems and
         | playing the games on flash carts, on original hardware, on a
         | CRT.
         | 
         | I generally prefer it to emulation. That true zero-lag feeling
         | of real hardware is such a treat. But emulation is cool too.
         | Sometimes, save states make the experience 100x more enjoyable.
         | 
         | It's like music. Generally I listen digitally, but records are
         | really fun in their own way too. For me it's not really a war
         | between the two.
        
         | technothrasher wrote:
         | I also experienced them all first hand. I remember being blown
         | away by my friend's dad's brand new Pong game in about 1976. I
         | still have quite a bit of old 8-bit and newer hardware stored
         | away (I've even got one of the earliest five C64's currently
         | known). Truthfully, pulling the old hardware out now is not
         | nearly as satisfying as running an emulator. When I want to
         | relive, say, my teenage days playing Amiga mod disks while I
         | did my homework, it's a pain in the rear to get the old Amiga
         | 2000 up and running, while it is a matter of seconds to fire up
         | the emulator. Last time I dug out my Sun 3/80 and tried to boot
         | it, it led to a weeks worth of repairing hardware, finding a
         | modern compatible AUI ethernet adapter, digging up the old
         | sunos4 install files, and getting it all installed.
        
         | aftergibson wrote:
         | I find the opposite myself. I have a load of old hardware
         | including my original SNES from when it was released but I find
         | myself playing an Anbernic RG351MP far more. It's portable,
         | plays games well enough that I can't discern from the original,
         | things like scraping original manuals, preview videos and
         | ratings makes it a really nice browsing experience and
         | retroachievements it's a really fun new addition to old gaming
         | experiences I've had. Retro emulation is really a lot of fun
         | these days.
        
       | kixiQu wrote:
       | The tooling and assets available for this mode of development are
       | really good -- and GB Studio, the mentioned one, can export for
       | the browser, so distribution can be really convenient as well.
        
         | lostgame wrote:
         | While not quite as WYSIWYG, jo-engine for SEGA Saturn homebrew
         | development has been a massive blessing to me, and I'm sure
         | dozens of other Saturn enthusiasts as well:
         | 
         | https://jo-engine.org
         | 
         | Is anyone aware of such great homebrew toolkits for other retro
         | platforms? I'd love to see something similar for, EG; the N64.
        
       ___________________________________________________________________
       (page generated 2022-01-16 23:00 UTC)