EmuDevz: A game about developing emulators

(afska.github.io)

153 points | by ingve 3 days ago

21 comments

  • haunter 1 hour 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/

  • abricq 2 hours 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 1 hour ago
      What sort of documentation did you guys review? :)
      • sp4cec0wb0y 1 hour 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 1 hour 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.
  • hcs 7 hours ago
    Oh this looks right up my alley, I'll check it out on desktop.

    Posted a few times previous, without discussion, though I'd missed it:

    Show HN https://news.ycombinator.com/item?id=45524890

    Links on author's site https://r-labs.io/#emudevz

  • phreack 4 hours 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!
  • bitbasher 3 hours ago
    > Uncaught Error: WebGL unsupported in this browser, use "pixi.js-legacy" for fallback canvas2d support.

    Librewolf latest browser.

    • bogwog 2 hours 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

  • GlumWoodpecker 6 hours ago
    Doesn't work in Firefox, just loads a blank page.

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

    • hacker-bob 4 hours 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 4 hours ago
      It does on Windows, FF 147.0.1.
    • prmoustache 6 hours ago
      working here on firefox.
    • _joel 5 hours ago
      works fine for me on ff/macos
    • pessimizer 4 hours ago
      Working on Firefox + Debian
  • nticompass 5 hours 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 4 hours 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.
  • JamesTRexx 6 hours 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
  • Retr0id 3 hours ago
    I wish I could hand this to my teenage self
  • DataDaoDe 3 hours ago
    This is such a fun experience! The music is fantastic and really throwing me back to another time :)
  • hartjer 2 hours ago
    highly recommend. Great soundtrack and a wonderful introduction into ASM without all the complexity of modern day's registers and instructions
  • dagurp 3 hours ago
    I'm having a hard time reading the gray-on-black text. Is there a way to change it?
  • hunterirving 4 hours 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 4 hours 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.

  • pessimizer 4 hours ago
    So far, so great. A curious 12 year old could handle this.
  • DonnyV 1 hour ago
    Love the music. Is the music original or is there an artist attached?
  • avaer 7 hours ago
    The PWA is a nice touch.
  • bossyTeacher 4 hours 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 2 hours 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 51 minutes 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.
  • dominictorresmo 6 hours ago
    I created an account just to say THANK YOU VERY MUCH!
  • pjmlp 4 hours ago
    This looks great, yet another way to lose my time. :)
  • mahoro 6 hours ago
    I love it
  • direwolf20 8 hours ago
    [dead]