noahtheduke

take data in change it push it out

cis - straight - white - 30 or 40 years old
clojure programmer
living in the shadow of grief


nothing remains forever empty


Profile pic commissioned from @ICELEVEL


<jinteki.net> has a lot of problems, some which are easy to solve and some which are not. There’s a difference between bugs and tech debt. Bugs are things like “misplaced parameters”, or “forgot to check an additional predicate”. Technical debt is “the core system is built on callbacks” or “there is no game loop”.

I had a wonderful conversation with someone who is attempting to implement the Netrunner rules as strictly as possible. (She’s gone so far as to implement Netrunner’s R&D location system instead of using a simple vector!) In our many back and forths, I am confident she learned nothing from me lol but I learned a lot from her, both about Netrunner and about how to structure a game engine for Netrunner.

jinteki.net is not a good game engine. It works, in part due to the incredible amount of work we’ve all put in over the years, but (to be slightly rude) it has no right to work as well as it should. It’s full of cludges, ad-hoc systems, layers of ideas half implemented on top of each other like dirt strata.

It also has complete implementations of over 2,000 individual cards, and is the primary means of netrunner play post covid. To attempt to start over is incredibly daunting. Not only am I bad at blank projects, but I’m also not sure that a clean slate would benefit nearly as much as working to improve what we already have.

That said, speaking with Lucy gave me excitement like I haven’t experienced about jnet in years, and has filled me with a desire to Make Things Better. For starters, treating “effects” as pure data that’s passed around to handle replacements and interrupts is great.

But if I were to add that, I’d have to make sure it cleanly applies to all TWO THOUSAND cards, in addition to the 20k lines of engine code. That’s fuckin annoying.

There’s no real goal here, just combo venting and giddy excitement.


You must log in to comment.

in reply to @noahtheduke's post:

Oh shit, you’re doing design for her??? :eggbug-smile-hearts:

She’s also restarted/rewritten the whole thing like 5 times. Last October she said she’d have a public version in January, so I trust her process and not her words lmao

she said she wants to keep the team as minimal as possible. i’m not even part of the team, i’m just “consulting” because i know better than to let a team of programmers work on something that’s 90% ui unattended

I'm so glad you're in any way involved this early, even if it's just "hey what if we used more design principles"

I selfishly wish I could hyperfixate on this engine while I'm between jobs, but I'm mostly just glad it's being made at all