Re:Show HN: RISC-V assembly tabletop board game (hack your o...
by teruakohatu on Friday September 29, 2023 @01:44PM
(#37707731)
This looks like a lot of fun. What ages do you think it's appropriate for?
Re:Show HN: RISC-V assembly tabletop board game (hack your o...
by throwaway71271 on Friday September 29, 2023 @02:06PM
(#37708000)
I think the easy win condition (which is just to break out of the main loop by doing a quick buffer overflow in bug()) is doable for 10-15 years old
My daughter is 12 and we have fun playing it, the hard win condition (which is forcing your opponent to jump to the game_over() function) I think is harder, but I guess within 5-6 months we can get there.
For adults, I am not sure, some people are super scared of assembly like its made by the devil himself, so might be harder to get them to play than kids.
Building your exploit in memory and jumping to it feels so cool. I hope this game teaches kids and programmers (who seem to have forgotten what computers actually are) that its quite fun to mess with programs. We used to have that excitement few years ago, just break into softice and change a branch into a nop and ignore the serial number check, or go to a different game level because this one is too annoying.
While working on the game I kept thinking what we have lost from 6502 to Apple Silicon, and the transition from 'personal computers' to 'you are completely not responsible for most the code running on your device', it made me a bit sad and happy in the same time, RISCV seems like a breath of fresh air, and many hackers will build many new things, new protocols, new networks, new programs. As PI4 cost increases, the esp32 cost is decreasing, we have transparent displays for 20$, good computers for 5$, cheap lora, and etc. Everything is more accessible than ever.
I played with a friend who saw completely different exploits than me, and I learned a lot just from few games, and because of the complexity of the game its often you enter into a position that you get surprised by your own actions :) So if you manage to find at least one friend who is not completely stunned by the assembler, I think you will have some good time.
A huge inspiration comes from phrack 49's 'Smashing The Stack For Fun And Profit' which has demystified the stack for me: http://phrack.org/issues/49/14.html#article
TLDR: computers are fun, and you can make them do things.
PS: In order to play with my friends I also built esp32 helper[1] that keeps track of the game state, and when I built it and wrote the code and everything I realized I could've just media queried the web version of the game.. but anyway, its way cooler to have a board game contraption.
[1]: https://punkx.org/overflow/esp32.html