EmuDevz: A game about developing emulators

216 pointsposted 20 days ago
by ingve

53 Comments

haunter

17 days ago

If you want programming games I can highly recommend TIS-100 and SHENZHEN I/O from Zachtronics though mind you after a point you might as well just do your day job :D

https://store.steampowered.com/app/370360/TIS100/

https://store.steampowered.com/app/504210/SHENZHEN_IO/

bspammer

17 days ago

Don’t forget EXAPUNKS by the same dev! They really perfected the formula in that one.

abricq

17 days ago

This game gave me a real-life déjà vu. A few months ago, three friends and I spent a long weekend trying to build a Game Boy emulator from scratch in Rust. None of us had ever worked on emulators before—we basically gave ourselves three days to read the docs, figure things out, and ship something. It was chaotic but also educational and an absolute blast. Encouraging anyone that wants to learn a bit more about simple computers and assembly to try that ! If anyone’s curious about what came out of it: https://github.com/chalune-dev/gameboy

giancarlostoro

17 days ago

What sort of documentation did you guys review? :)

sp4cec0wb0y

17 days ago

This isn't a direct answer to your question because I am not OP and I do not know what docs they read but there is a book out called "Game Boy Coding Adventure: Learn Assembly and Master the Original 8-Bit Handheld" that came out last year.

giancarlostoro

17 days ago

Awesome, I've been getting more into messing with the nuts and bolts of my childhood Gameboy Color, one project I want to eventually do is to recreate it with modern hardware, and then take something similar to GB Studio and embed it into the hardware so I can read cartridges straight to a custom built clone. I've seen some impressive clones already like FPGBC but I would love to build my own. It's a slow burn project, but I also am fascinated by emulators for the platform as well.

giancarlostoro

17 days ago

I wrote GB Studio, meant to say GB Operator. ;)

phreack

17 days ago

I'm amazed at the amount of work and love that's in this game, that you can play for free. I hope it helps more devs get into the retro scene!

GlumWoodpecker

17 days ago

Doesn't work in Firefox, just loads a blank page.

https://i.imgur.com/ApRjzuK.png

hacker-bob

17 days ago

Do you have something like Sophos Endpoint managing your internet connection - I think it is blocking some of the html streaming used by this and other sites. I could not get Vercel's nextjs/react training modules to work because of Sophos.

pjmlp

17 days ago

It does on Windows, FF 147.0.1.

_joel

17 days ago

works fine for me on ff/macos

bitbasher

17 days ago

> Uncaught Error: WebGL unsupported in this browser, use "pixi.js-legacy" for fallback canvas2d support.

Librewolf latest browser.

bogwog

17 days ago

Librewolf disables webgl out of the box to combat fingerprinting. You have to enable it by setting `webgl.disabled = false` in about:config, OR maybe it'll work if you add an exception for the site in settings under the tracking protection section.

The site works on my Librewolf version 146.0-2 installed via Flatpak

JamesTRexx

17 days ago

The music and touch of humour reminds me of early adventure games I played. Ahh, nostalgia. Busy with other things so I'll use the excuse of only programming in the One And Only True Programming Language C (I wish there was a capital version of the capital letter for that) to stop before needing to type one keyword of javascript. :-p

bossyTeacher

17 days ago

Wow, this is really interesting. I will be playing it this weekend.

"you also need some object-oriented programming knowledge", why is OOP needed to work on emulators? I thought procedural or/and functional would be enough

abricq

17 days ago

I haven't played the game so I can't answer for sure, but my guess is: if you are writing an emulator throughout the game, it's very likely you are guided to write one using OOP.

nevon

17 days ago

That is correct. The emulator is implemented in JavaScript using OOP, and the tests that the game runs to validate your progress has certain expectations on what you export and what methods are available.

pessimizer

17 days ago

So far, so great. A curious 12 year old could handle this.

jweather

15 days ago

This is so cool! Having a ton of fun. Only place I got stuck for a while is on instructions adding extra cycles - didn't see the note at the bottom of instructions.md. Did I miss a way to open documentation in the left pane? I keep taking screenshots of the docs that I can view on another monitor while I'm coding.

rodri042

15 days ago

There's a "Pin left" button on each editor tab, yeah

jweather

15 days ago

Aha, thank you for that. I don't see an "unpin" though, just close. Sometimes I need to refer back to the chat messages as well. I know, now I'm just being picky.

p1necone

16 days ago

I had some success recently making small hacks for nes/famicom roms using claude despite not having a lick of knowledge about 6502 assembly or the NES hardware, but struggling with doing any more indepth disassembly or code changes, so this popping up is serendipitous - I know what I'm doing this weekend.

evandale

16 days ago

Such a great game! I got as far as implementing all the CPU instructions and can't wait to get back into it!

Retr0id

17 days ago

I wish I could hand this to my teenage self

nticompass

17 days ago

Ok, this is pretty cool. Though, I should probably wait until I get home from work before diving too deep into it!

b40d-48b2-979e

17 days ago

Started going through it before work starts and I think I need to stop before I get too absorbed! I love their design and music decisions so far.

jweather

13 days ago

Unexpected side benefit: this is teaching more about the ES6 module and class stuff that I haven't gotten around to using up on. Will be very useful on my next large-scale JS project.

butz

17 days ago

Game is great! A bit annoying is the use of fake names, but knowing "Neeentendo" an their lawyering practices, this is probably safest route. And it would be amazing if there would be a setting to disable all emojis. They are really overused.

user

15 days ago

[deleted]

anonzzzies

16 days ago

Chrome on Android plays the music but not the game. I have an external keyboard and mouse for the tablet for input. Any idea how to make it work?

hartjer

17 days ago

highly recommend. Great soundtrack and a wonderful introduction into ASM without all the complexity of modern day's registers and instructions

hunterirving

17 days ago

Really slick, thanks for sharing! I haven't dug deep into the menus yet, but I would love a way to increase the text speed.

anonymous908213

17 days ago

There is a settings page accessible from the title screen with text speed options.

You can also press Enter to speed up the currrently printing text.

user

17 days ago

[deleted]

DataDaoDe

17 days ago

This is such a fun experience! The music is fantastic and really throwing me back to another time :)

dagurp

17 days ago

I'm having a hard time reading the gray-on-black text. Is there a way to change it?

DonnyV

17 days ago

Love the music. Is the music original or is there an artist attached?

phreack

17 days ago

There's links on the homepage to the soundtrack and credits, the artist is called Synthenia.

avaer

17 days ago

The PWA is a nice touch.

dominictorresmo

17 days ago

I created an account just to say THANK YOU VERY MUCH!

pjmlp

17 days ago

This looks great, yet another way to lose my time. :)