nicolas-siplis
Show HN: Serverless, cheater-proof MTG engine using zero-knowledge play
https://chiplis.com/ironsmith/
Hey HN! Tried to show this off a couple times before but didn't really get much traction, figured now that more time's been spent in the UI/UX side of things I'd give it another shot.This is my attempt, started at the beginning of the year, to build a complete Magic: The Gathering engine.Instead of coding individual card scripts, a compiler takes oracle text as input and outputs the card...
Bend – A language that blocks AI mistakes via proof, on CPU and GPU
You can create your own unique cards to playtest against ("Compile Card" button is what you're looking for), as long as they follow the engine's supported grammar (which I'm working on so that it fully supports Magic's ~30k legally playable cards, currently at 26k partially/20k fully supported).
It also supports 4-way P2P multiplayer lobbies via PeerJS, though I haven't had enough time to test everything network related so there may be some hidden bugs there!
My dev process was heavily influenced by the recent surge in agentic coding, but I think I've settled on an architecture which successfully manages to avoid slop creeping in:
Each card from its original, normalized oracle text into a CardDefinition struct which contains every single behavior for that particular card. By the time this card definition is compiled, we no longer have access to the original oracle text.
Each effect in the card's compiled definition can be decompiled into human readable text, after which a series of normalization steps based on the AST structure of the card's compilation and a post-pass to cleanup awkward wording is applied. The resulting compiled oracle text is compared against the original card's using vector embeddings, which gives us a semantic similarity score.
The entire purpose of this development workflow is making it obvious to the AI which cards are working correctly and which ones still need better support, without having to rely on behavioral tests for every single card. It took me some time until I finally managed to get the architecture to the point where the AI doesn't cheat its way into improving the card coverage, but the whole experience has been a fantastic way of getting used to this new way of coding and I'm excited to see how the future of our profession looks like in a few years.
I'm looking for any kind of feedback, both UI/UX and engine related, so please share your thoughts!
Show HN: A (de)compiler and parser/engine for custom Magic: The Gathering cards
https://chiplis.com/ironsmith/
Hey HN! I've been working on this for the past few months and I think it's at the point where I'm ready for some user feedback.It's a WASM engine attempting to accurately model all of MTG's rules and cards. AFAIK, this is the first MTG engine which tries to accomplish this by live compiling the entire card collection at runtime, instead of coding each individual card.You can create your own...
It's a parser + (de)compiler and rules engine which I'm trying to get to 100% coverage over all Standard/Modern/Vintage/Commander legal cards. About 23000 of them are partially supported, while 15k currently work in full (~3k more than what MTGA currently supports, IIRC). It also allows for P2P 4-way multiplayer which Arena unfortunately does not :/
Ironsmith – MTG card (de)compiler and multiplayer rules engine
Show HN: Ironsmith – MTG card (de)compiler and multiplayer rules engine
https://chiplis.com/ironsmith/
Hey HN! Been working on this for the last couple months and I think it's at the point where it might be worth showing here.The main idea behind the project is that card behavior should come from parsed Oracle text whenever possible, instead of hardcoding each card by hand. Ironsmith has a parser/compiler pipeline that turns card text into structured runtime effects, then executes them through...
Gambeth – Decentralized parimutuel prediction market platform
Anyone can create their own market with an arbitrary number of options. The submission links to Argentina's presidential elections market, feel free to try it in the Goerli testnet and let me know in the comments if you need some testnet USDC to play with it.
The "Explore markets" option is super barebones but should at least give you the list of all created markets.
I plan on doing a release on the Polygon network, but I'd love to have some feedback for the beta version.
The whole code is open source but honestly pretty illegible at the moment. I need to dedicate a day to splitting/reorganizing the code, and probably start to consider an actual framework instead of vanilla JS. If all that hasn't scared you away: https://github.com/chiplis/gambeth
I'm looking for people willing to contribute to a UI revamp but PR's are welcome on anything and everything, all of the time.
Show HN: Gambeth, serverless decentralized prediction market platform
https://gambeth.com?id=argentina-2023
Hi HN! The last couple years I fell into an "interesting" relationship with "investing" and so I decided to focus my ludopathy into something remotely useful. Unfortunately, instead of that I bring to you... Gambeth!Anyone can create their own market with an arbitrary number of options. The submission links to Argentina's presidential elections market, feel free to try it in the Goerli testnet...
Consequently, the notion that ChatGPT could 'bring down' the more skilled among us may warrant further scrutiny. Isn't it possible that the 'upper echelons' might find novel ways to employ this tool, enhancing rather than undermining their capabilities?
Similarly, while summarization can be a blunt instrument, stripping away nuance, it can also be a scalpel, cutting through verbosity to deliver clear, concise communication. What if ChatGPT could serve as a tutor, teaching us the art of brevity?
The generated words may risk becoming 'blasé', as you eloquently put it, but again, isn't it contingent on how it's used? Can we not find ways to ensure our individual voice still shines through?
So, while I understand and respect your concerns, I posit that our apprehensions should not eclipse the potential that tools like ChatGPT offer us. It might not just be a 'parrot' – but a catalyst for the evolution of human communication.
Though I'm hoping you didn't suspect it, I should warn you this comment was written by you know what (who?).
Show HN: IronBoy, a highly accurate GameBoy emulator written in Rust, runs WASM
https://nicolas-siplis.com/ironboy/
Hey HN! Been working on this emulator on and off for the last couple years, and thought now would be a good time to try and show it off here.As far as unique features... I think this is the only online GameBoy emulator with support for save files? So there's your reason to exist, I guess.The WASM port was something I had in the back of my mind but I just kept putting it off because it seemed...
https://github.com/nicolas-siplis/feboy
I can put a piece of paper with Wally's silhouette cut off in front of the book. Align Wally to fit into the silhouette and you're done! The paper just needs to be considerably bigger than the actual book, so other people can tell I know where Wally is without actually knowing his location.
Building a decentralized prediction market platform in 200 lines of Solidity
Ask HN: What the hell happened to Reddit on Firefox?
Even though the issue has been resolved now, I'd like to start a discussion where we can maybe try to figure out exactly what the hell went wrong.User Agent spoofing did nothing to fix the issue, and there are several reports of people managing to make a cURL/Postman request with the exact same headers Firefox used without any problems. HTTP3 also seemed like an easy suspect because of the...
Show HN: Blockchain-based webapp allowing users to create arbitrary bets: WSBDD
I'd love to hear some feedback from you! I'm currently trying to think of the best way to handle the discoverability of bets. Right now I have a super simple section showing the last 10 created bets, but it's something I think could be considerably improved.
Also, I am not a big fan of the state of frontend development at the moment, so I decided that it would be a fun exercise to forgo any frameworks and see how far I can push things with plain old JS. I'm relatively happy with the results, but as you can probably tell I'm not a designer or anything of the sort, so any quick tips on that end are super appreciated. I'm now gonna start working on cleaning up the frontend, hoping this gets some discussion going!
[2] https://github.com/nicolas-siplis/wsbdd
[3] https://etherscan.io/address/0xbB2Dfc930A209Aa32E49f0b49264b...
I'd love to hear some feedback from you! I'm currently trying to think of the best way to handle the discoverability of bets. Right now I have a super simple section showing the last 10 created bets, but it's something I think could be considerably improved.
Also, I am not a big fan of the state of frontend development at the moment, so I decided that it would be a fun exercise to forgo any frameworks and see how far I can push things with plain old JS. I'm relatively happy with the results, but as you can probably tell I'm not a designer or anything of the sort, so any quick tips on that end are super appreciated. I'm now gonna start working on cleaning up the frontend, hoping this gets some discussion going!
[2] https://github.com/nicolas-siplis/wsbdd
[3] https://etherscan.io/address/0xbB2Dfc930A209Aa32E49f0b49264b...