MyEduSmart: find your grades

Hi all, I’m Jamie. I’m not in any way a career game developer, but sometimes you have an idea for a project and you’ll stop at nothing to build it, and for me that’s MyEduSmart.

MyEduSmart is an in-development browser game in the “desktop simulator” genre, and the goal is to find your grades in the worst college website ever created. There are no ARG or horror elements in it, it’s just a lot of jokes, parodying not just school websites but also everything you hate about work, government, and healthcare portals. (Now that I think about it, maybe it IS a horror game.)

I’ve demoed this game for a lot of people in person (the reactions are always fun to see) but this is the first place I’ve announced it publicly online.

Tech stack

Unsurprisingly, MyEduSmart runs in the browser, and uses a typical frontend stack: TypeScript, Vue.js for frontend framework, Vite for packaging/bundling/dev environment, Tone.js for audio playback. I’ve generally been very reluctant to adopt anything in the modern JS ecosystem, but TS and Vue eventually won me over.

Although it looks like multiple pages, it is in fact a single HTML file, and hosting the game requires only a static file server. It all fits in an iframe on Itch.

There are a few instances where more unusual browser features are employed as jokes in the game. (Sadly, I can’t request to enable desktop notifications from within an iframe. “Stay in the know with MyNotifications!”)

Graphics

There’s a certain look to school websites from different eras that I’m going for here. There are a few parts of it that look dated and amateurish, but I try not to use that as too much since it can be a crutch. It often tends to be funnier when the site design is modern, professional, and utterly soulless, and the humor is delivered more through behavior and writing. More importantly, the design philosophy here is to look inconsistent, rushed, and either under-budgeted or over-budgeted.

I have a big folder full of reference screenshots (some sent over by friends from their work and school websites) that I’m still mining ideas from. I have no idea what I’m doing with CSS and have no professional web or graphic design experience, which is almost a plus here.

Vue 3’s “single-page components” and scoped styles proved particularly nice for this project because I can define completely different CSS for each part of the game. This helps sell the notion that MyEduSmart is a dozen or so incompatible services from different teams stapled together.

I grab a lot of assets from OpenClipArt, Pixabay, and Pexels. FontAwesome and Material for icons. Lots of Google Fonts too. Tip: if you plan on using Google Fonts, use google-webfonts-helper to download and self-host them.

Writing

My vision for this game is 90% Easter eggs. Anything you click on should have a dumb joke. There is in fact a plot to the game, which gradually plays out over the MyInbox messaging system and the “virtual assistant” chatbot MartyHelp.

My most recent milestone was making it possible to play MyEduSmart start to finish. The original concept was that the game ends when you find your grades and your “grades” are just the statistics on how quickly/efficiently you finished them, but that felt anticlimactic, and the current ending is much more bombastic and fittingly absurd. But even if someone just clicks around for 15 minutes and laughs, that’s a success in my book.

Project management

I had the idea around 2017, and I was in community college at the time. When COVID hit and the “e-Learning” industry exploded, MyEduSmart became so urgent that I couldn’t not make it. I really buckled down and officially started the project in August 2023, and I’ve been working on it on and off since then. It’s mostly a solo effort, but I have one other person who’s contributed a lot to the “learning modules,” which we make in Google Slides.

All game devs know that the craft is not just the sum of programming, writing, visual art, music, sound design, and game design, because above all those it challenges your skills in managing and sticking to a large project (and particularly, managing yourself).

I feel pretty confident about this one and I’m expecting to have a public beta at some point before 2025.

Glad to finally see some public writing on this! As someone who literally has worked on college webapp infra the development angle on all this is pretty funny to me. Making good tech choices to result in a bad UX sounds very delicious. Several of our older less-used pages on the app I used to work on had turned out to be broken for months because we thought we could graciously get rid of having to link two different versions of bootstrap at the same time.
But Jamie: how will you beat the ARG allegations?

that looks… fun?? will follow closely, and for sure try on release

One of the challenges of this game is that when I’m working on some part of it, it’s really hard to stop myself from going overboard and creating a lot more work for myself. I wanted to knock out the Stress Module (one of the crucial sections for the plot) a week or two ago, and while working on it I ended up adding five “submodules” each exploring some aspect of stress management. Each submodule contains a quiz to “test your knowledge.” Basically I quintupled the amount of writing I need to do for this section.

The Stress Module is designed to look a lot more professional than the other learning modules, and early feedback tells me that this makes it all the more horrifying.

I call it a “reality game.”

I got a little tired of this project and felt a barrier to working on it as of a few weeks ago, but my energy to move forward with it seems to be back now.

It’s currently in state that only a game dev could appreciate, given the amount of placeholder content, etc. but it’s playable start-to-finish and ready for some early playtesting. If you want the link & password let me know.

Got good feedback from round 2 of playtesters, who comprised @twky and some friends IRL and online who are willing to put up with jank.

For the positives: a lot of remarks on the visual accuracy of the parody, and generally the humor seemed to land. One unintentional bit was that a fake payment system in the game actually causes Chrome to autofill the player’s name and credit card info. Caused a few laughs, and I imagine it will skeeve people out a bit too.

Overall, it seems like the game is too hard. There are intentional puzzles and mechanics illogical enough that they seemed like bugs to playtesters.

The biggest issues concern navigation. The game is designed so that the browser’s navigation buttons are rendered useless, and in certain points there are “escape puzzles” where the goal is to try to get out of a certain page back to where you were. These were frustrating for testers and didn’t really work as jokes either.

My plan is to eliminate all such puzzles and add “back to home page” links as typically found in websites. (twky suggested using a fake navigation bar, which is a good idea, not sure if I’ll follow through with it.) I do want to keep one escape puzzle, which is figuring out how to log back in after the site “logs you out for inactivity.”

Puzzle design is tough and I’m not very good at. Going forward I’m going to reduce a lot of the puzzle aspects and concentrate on the writing and design, especially adding more pages.

there is honestly a very fine line this game seems to straddle on. i can imagine the sinister Devil’s Grin that would push you to make the whole thing as visceral as possible here, and really the further you lean into it the more successfully it does execute on the base premise at the cost of a lot of accesibility. tip the scales too far the other way and the game would probably end up feel like a slide show of jokes. does it feel like you are needing to ‘pare things back’ in that regard?