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