[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)