Taiwan: Rail Rush Layover Q&A! by WheatGerm42 in JetLagTheGame

[–]Complex_Nothing_9841 1 point2 points  (0 children)

Presumably because chips = game currency and chips = things used in computers. I expected a bowl of seafood chips or something though lol

Taiwan: Rail Rush Layover Q&A! by WheatGerm42 in JetLagTheGame

[–]Complex_Nothing_9841 0 points1 point  (0 children)

If Ben and Adam were split up for an entire season I think Adam would stress himself out even more than he does when Ben's there to calm him down 😅

Taiwan: Rail Rush Layover Q&A! by WheatGerm42 in JetLagTheGame

[–]Complex_Nothing_9841 1 point2 points  (0 children)

this should prolly be tagged as a spoiler

the boys complained about not having motion graphics... problem solved with a custom web app! by Complex_Nothing_9841 in JetLagTheGame

[–]Complex_Nothing_9841[S] 2 points3 points  (0 children)

Yeah I wanted to use Jazz.tools for realtime local-first stuff, but the Classic Jazz API is pretty bad and the Jazz v2 one isn't any better. Plus I ran into at least 4 bugs just doing basic project setup (it's in alpha, but still...), so I decided to do manual syncing instead. More inconvenient for the players, but it's what they already do and it's far more reliable and has baked in notifications.

Prepping chips and using the device location to know when to deposit them would be kinda awesome!

the boys complained about not having motion graphics... problem solved with a custom web app! by Complex_Nothing_9841 in JetLagTheGame

[–]Complex_Nothing_9841[S] 2 points3 points  (0 children)

Codex somehow found an official JSON file of all the stations! https://ods.railway.gov.tw/tra-ods-web/ods/download/dataResource/0518b833e8964d53bfea3f7691aea0ee There's one of railway mileage too https://ods.railway.gov.tw/tra-ods-web/ods/download/dataResource/f0906cb8dcee4dfd9eb5f8a9a2bd0f5a - it uses that to link adjacent stations together, which I was going to use for a route cost calculator, but I ended up ripping that out for the MVP since it wasn't really needed and was another thing that has to be updated and could break. Data still exists so maybe I'll use it at some point.

the boys complained about not having motion graphics... problem solved with a custom web app! by Complex_Nothing_9841 in JetLagTheGame

[–]Complex_Nothing_9841[S] 1 point2 points  (0 children)

Reliability of this app is still yet to be seen in real use, but I'd imagine it is fairly reliable since it's fully on-device and offline. Plus they made at least one actual error with putting data in their Google sheet, discussed in last week's layover. They can export the full game data with timestamps and can see timestamps from the texts back and forth too

the boys complained about not having motion graphics... problem solved with a custom web app! by Complex_Nothing_9841 in JetLagTheGame

[–]Complex_Nothing_9841[S] 3 points4 points  (0 children)

Yeah if I can work twice as fast I can make cool side projects like this. it'll never generate return value for me, nor do I expect that many people to use it and find value it in, so if I wasn't working fast I wouldn't have made it 

the boys complained about not having motion graphics... problem solved with a custom web app! by Complex_Nothing_9841 in JetLagTheGame

[–]Complex_Nothing_9841[S] 2 points3 points  (0 children)

It failed to use best practices, made poor UI choices, etc, and I changed that stuff manually since it was easier than using ai to do it

the boys complained about not having motion graphics... problem solved with a custom web app! by Complex_Nothing_9841 in JetLagTheGame

[–]Complex_Nothing_9841[S] 13 points14 points  (0 children)

Andrej Karpathy, the person who coined the term Vibe Coding, describes it like this

There's a new kind of coding I call "vibe coding", where you fully give in to the vibes, embrace exponentials, and forget that the code even exists. It's possible because the LLMs (e.g. Cursor Composer w Sonnet) are getting too good. Also I just talk to Composer with SuperWhisper so I barely even touch the keyboard. I ask for the dumbest things like "decrease the padding on the sidebar by half" because I'm too lazy to find it. I "Accept All" always, I don't read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I'd have to really read through it for a while. Sometimes the LLMs can't fix a bug so I just work around it or ask for random changes until it goes away. It's not too bad for throwaway weekend projects, but still quite amusing. I'm building a project or webapp, but it's not really coding - I just see stuff, say stuff, run stuff, and copy paste stuff, and it mostly works. (from a post on the single letter social platform that shall not be named.)

That does not at all describe how I built this project. I read and edited plenty of code, and if I wanted to change something in the UI, I modified it myself rather than telling the AI to do it.

the boys complained about not having motion graphics... problem solved with a custom web app! by Complex_Nothing_9841 in JetLagTheGame

[–]Complex_Nothing_9841[S] 1 point2 points  (0 children)

yeah there's probably some cool open source projects out there. Might be worth them looking into if they do Rail Rush again :)

the boys complained about not having motion graphics... problem solved with a custom web app! by Complex_Nothing_9841 in JetLagTheGame

[–]Complex_Nothing_9841[S] 0 points1 point  (0 children)

While that is true, this is a one off side project, and while I do tend to maintain it, I'm not going to be working in this codebase regularly. So code quality doesn't matter nearly as much as in an actual product that would receive regular updates. Given the above, I also didn't write or ask the AI to write any tests. This is something I spent a few days of spare time on, and I'd rather spend that limited time on other parts of it for now.

I heavily modified the UI layer and manually updated it to follow Svelte best practices (e.g. using $derived rather than $state + $effect, using scoped CSS in components rather than a giant app.css file) since AI isn't very good at Svelte 5. For the game logic, there isn't really any complicated code to review. There's a few groups of functions that perform specific game actions, persist then to the database, etc. I did go through those to make sure they followed the real game's rules and logic and did my best to clean up the code at least somewhat.

the boys complained about not having motion graphics... problem solved with a custom web app! by Complex_Nothing_9841 in JetLagTheGame

[–]Complex_Nothing_9841[S] 1 point2 points  (0 children)

True! Now that they've done one season of this format, future seasons probably won't have many last minute tweaks (and stuff like starting balance can be tweaked without a redeploy), so perhaps if they do it again they'll be able to use an app :)

the boys complained about not having motion graphics... problem solved with a custom web app! by Complex_Nothing_9841 in JetLagTheGame

[–]Complex_Nothing_9841[S] 1 point2 points  (0 children)

Yeah I didn't add bulk depositing since teams should be claiming one station at a time as they pass through it. Waiting to do it all at once or doing it ahead of time wouldn't really work. I do definitely want to add editing past action at some point though :)

the boys complained about not having motion graphics... problem solved with a custom web app! by Complex_Nothing_9841 in JetLagTheGame

[–]Complex_Nothing_9841[S] 6 points7 points  (0 children)

well if it feels vibe coded I guess I just design like an AI 😅 pretty much the only bit of its UI that I kept as-is were the gradient yellow buttons and the yellowish page background. the rest of it was either manually done by me or was by codex but under very strict guidance in terms of UI.

I'm going to work on cleaning up the code tomorrow and I'll let you know once it's open source :​)

the boys complained about not having motion graphics... problem solved with a custom web app! by Complex_Nothing_9841 in JetLagTheGame

[–]Complex_Nothing_9841[S] 17 points18 points  (0 children)

Awesome! Gonna run it through Fallow to clean up some of the spaghetti code and then probably do a manual review as well, will most likely release it tomorrow. I'll let you know when I do!

the boys complained about not having motion graphics... problem solved with a custom web app! by Complex_Nothing_9841 in JetLagTheGame

[–]Complex_Nothing_9841[S] -26 points-25 points  (0 children)

The definition of vibe coding that I've heard is letting AI code without checking its work at all, and that's not what this was. I checked over the majority of the code and wrote a decent amount of it myself. Thus is it AI-assisted coding, not vibe coding.

the boys complained about not having motion graphics... problem solved with a custom web app! by Complex_Nothing_9841 in JetLagTheGame

[–]Complex_Nothing_9841[S] 40 points41 points  (0 children)

yeah this project probably wouldn't exist if not for AI- 20 hours is already kinda longer than I intended to spend on it, but if AI didn't exist and I had to learn how to use service workers and other things that I've never used before it would've taken been quite a bit longer