You are browsing as a guest. Sign up (or log in) to start making projects!

jamallyemin

@jamallyemin

Joined June 2nd, 2026

  • 13Devlogs
  • 5Projects
  • 3Ships
  • 38Votes
Ship

helo!! shipping this one — it’s the variable game, ranked edition. you write python-like code to satisfy a growing set of rules before a timer starts deleting it from the bottom, one line a second, unless you sync in time. play solo, or host/join a private room and race friends live for the leaderboard.

the biggest thing I’m proud of is taskEngine.js — instead of hand-writing 25 fixed rules like the old version, it builds a hidden random solution first and derives every rule from a real fact about it (its actual sum, its actual length, etc), so no matter how many rules stack together they can never contradict each other. infinite non-repeating tasks out of that one trick.

hardest part honestly wasn’t the game logic, it was wiring firebase up for real — nicknames, live rooms, race winners decided by firestore transactions so two people submitting at the same millisecond still only lets one through. spent lots of time chasing dumb stuff too.

to test it: pick a difficulty and start typing variable assignments, or open two tabs and try hosting + joining a room to see the live race work.

note : this project is obviously not perfect but I will try to improve this project and make it an actual kind of web browser game, so feedbacks , bug reports, and suggestions would be really helpful and appreciated

  • 4 devlogs
  • 10h
  • 17.57x multiplier
  • 171 Stardust
Try project → See source code →
Open comments for this post

48m 36s logged

helo!! continuing from last time — taskEngine.js is done, and lobby/live-race is actually talking to firebase properly now too. this is it, the project’s finished!!

taskEngine.js works backwards instead of using hardcoded rules like the old 25-rule version did: it builds a random hidden “reference solution” first (variable names, numbers, strings, a list), then derives every rule from a real fact about that solution — its actual sum, its actual length, whether one number happens to be prime, etc. since every rule comes from the same solution, they can never contradict each other no matter how many stack together. difficulty just controls how many rules get pulled from the pool (1 easy / 3 medium / 5 hard), and it keeps a history per difficulty so the same combo won’t repeat until the pool’s exhausted.

wiring it all together turned up a bunch of small but annoying bugs, mostly not taskEngine’s fault directly:

  • two separate filename casing mismatches (taskEngine.js and firebaseClient.js) — the script tags in index.html didn’t match the actual filenames on disk exactly, fine on windows locally but the dev server (and github pages) treat urls as case-sensitive, so both files were silently 404ing and breaking everything downstream
  • config.js had the firebase config saved under the wrong variable name, so firebase never actually initialized and threw a reference error instead
  • the join-a-room screen was stacking the code input + join button on top of the waiting room instead of hiding them after a successful join, looked broken even when it technically wasn’t
  • rooms never got cleaned up in firestore after cancelling out of one, so an old room code could still say “already started” if you landed on it again later — fixed leaveRoom so the host actually deletes the room on the way out now

singleplayer, hosting/joining rooms, live races, the leaderboard, streaks, and the tutorial all work end to end now. and it’s ready to be shipped!!

0
0
19
Open comments for this post

3h 11m 22s logged

helo again!! so after the menu frontend was done last time, spent this session wiring up js to actually make it functional instead of just sitting there as styled html.

added:

  • script.js: screen switching between menu/difficulty/lobby/game, the nickname + tutorial onboarding flow, and the actual game loop (timer, save/sync, destruction mode)
  • parser.js : reads whatever gets typed into the editor and pulls out the variables
  • firebaseClient.js: nicknames, scores, streaks, and the room/live-race logic for multiplayer
  • tutorial.js: the spotlight walkthrough for first-time visitors
  • config.js: firebase config + local player state caching

taskEngine.js is still on the list, saved it for last since everything else needed to be working first before it made sense to build. tested what’s done so far end to end and caught a handful of small bugs along the way (some css that wasn’t applying, a couple html typos) which I fixed too.

next up: taskEngine.js, then getting the lobby/live-race stuff talking to firebase properly ^_^

0
0
5
Open comments for this post

3h 26m 51s logged

helo again!! so quick update on the main menu I mentioned last time: the frontend for it is completely done now!! :Di finished styling the whole thing, here is what’s ready on the screen right now:main buttons for singleplayer, host/join private rooms, and leaderboard ([1] to [4])top bar with day streak tracker and runtime status boxclean footer for how to play & source links now that the main menu frontend is out of the way and not looking like raw HTML anymore, I’m finally moving on to the backend logic for lobbies and real-time multiplayer!! :>

0
0
7
Open comments for this post

3h 6m 11s logged

hello evernyan!!! meet my silly lil guy… didn’t name them yet. so I started making a game on godot engine because I like games and so far it turned out good I think! what I couldn’t do by myself was the silly wobble walking effect. I wanted to make a walking animation instead of this squishy thing, but for some reason, when I tried to adjust the size of my character, the other frames broke and I didn’t wanna mess it up completely since I’m new to this. anyways! I’m planning to add enemy mobs, lantern durability, and maybe fireflies as loot in case u run out of light ^_^

0
0
4
Open comments for this post

29m logged

hai! I finished the pcb design and I like this one much more, I added buzzer,oled screen,rgb led and it’s much more kewler now :3 now I’m planning to make a 3d case for it on tinkercad probably

0
0
23
Open comments for this post

29m logged

#1 devlog!!👀 👀 👀

so far I’ve done the schematics and pcb, but im not very satisfied about these, I just think it looks too basic and not kewl!!!! so ill probably try to improve it add some oled screen or something.

0
0
5
Open comments for this post

2h 16m 58s logged

helo!! so I kinda decided to start all over and improve this game because I like torturing myself, I wanted to make the game multiplayer, less boring, so I removed the old simple looking single editor page and now replacing it with a main menu screen!! here players will be able to: host and join private lobbies and play with their friends; play by themselves or play online!! :D so with these new features I decided to add a leaderboard too in order to make it more competitive, leaderboard will consist win streak, best times!! and wins!! also added diff levels so easy, medium, hard are a thing now :>

0
0
7
Ship

i built my own personal portfolio site to show off my past, current and maybe even future projects such as The Variable Game

hardest part was getting the CSS grid layout and spacing right so card alignment didn’t look broken across different screen sizes. proud of how clean the terminal aesthetic turned out without relying on heavy frameworks.

to test it, just open the live link and click around the project cards or hit up the repo links.

Try project → See source code →
Open comments for this post

1h 15m 46s logged

just finished the site. quick update:

polished up style.css so card spacing and grid alignment look right across different screen sizes
cleaned up the root directory and made sure asset paths for index.html, style.css, and jester.png are set properly
set up github pages under repo settings (publishing from main branch, /root)
checked the live build to confirm all styles and images load fine

the site is live now: https://jamallyemin.github.io/personal-website/

0
0
13
Open comments for this post

47m 28s logged

just finished laying out the project section in index.html and testing it in live preview.quick update:

  • structured the main grid for both The Variable Game and Jester AI
  • added the tech tags (JavaScript, Firebase, Python Syntax, etc.) and wired up the github repo link
  • shooked up the asset for Jester AI (jester.png) and set up the “In Development” card layout for project 1

next up is doing a quick pass on style.css to make sure spacing and card alignment look right across different screen sizes.

0
0
9
Ship

made a browser puzzle where you write Python-like variable assignments to satisfy 25 rules simultaneously - think neal.fun’s password game but for code. rules unlock one by one and start contradicting each other the deeper you go.

most proud of the destruction mode. when the 45s timer hits zero the editor gets a red caret and starts deleting your code line by line from the bottom until you hit sync. it creates this genuine panic that felt fun to build.

hardest part was making all 25 rules mathematically solvable at the same time. some rules override earlier ones so you keep rewriting the same lines - getting that supersession logic right without breaking the win condition took a while.

to test it: just start typing variables. x = 5 will get you past rule 1. it gets weird around rule 7.

  • 3 devlogs
  • 6h
  • 15.96x multiplier
  • 99 Stardust
Try project → See source code →
Open comments for this post

2h 40m 35s logged

script.js is done. parser reads whatever you type and pulls out strings, numbers, and lists - inline and multiline. 25 rules with a supersession system so later rules can step on earlier ones without creating impossible states. progressive unlock, 45s countdown, sync button, destruction mode that eats your code line by line from the bottom when the timer runs out.

0
0
7
Open comments for this post

3h 2m 35s logged

the layout skeleton is officially complete now that style.css is implemented. i went for a dark, high-contrast, brutalist terminal look to match the puzzle theme.

here are the key UI updates:

  • custom scrollbar: added a minimal 4px scrollbar to the rules list so it blends perfectly into the sidebar
  • unlock animations: handled the transitions for .rule-item. when a rule becomes visible, it smoothly fades in and slides up into place using transform: translateY(6px) to 0.
  • editor grid algnment: synced the code canvas layout, line numbers, and preview panels so the split-view remains perfectly aligned across different workspace sizes.

the interface looks clean now, so next up i’m wiring the actual parser and the rule engine in script.js to make it work. :3

0
0
5
Open comments for this post

27m 59s logged

just finished the index.html skeleton.

as you can see on the right panel, the embedded preview is currently completely raw and unstyled because style.css is literally a blank file right now. looks like a broken 90s blog.

now I’ll move on to style.css so my eyes don’t bleed from this ugly white screen… but I think the structure of .html is fine

0
0
6

Followers

Loading…