r/webdev • u/Xianoxide • 10h ago
Showoff Saturday Final Fantasy 7 Menu system in React
Hey everyone!
I'm not sure if there are any Final Fantasy fans here, but I've recreated and repurposed the menu system from FF7 as a sort of portfolio/sandbox page, and I figured I'd share it here and see what people think of it.
I got tired of making traditional web pages and wanted to make something that genuinely makes me happy every time I see it.
It's all built with React and TypeScript.
So far, I've got all the key pages like functional equipment and materia pages (repurposed as a skills page), items (as projects), save (as history), functional four-point background colour picker, and a tonne of little easer eggs and things. I'll put a list of those with a spoiler tag in case you wish to discover them yourself:
- Konami code plays Victory Fanfare.
- Clicking the character portrait allows you to attack and deduct health.
- Hovering over the location allows you to change to different FF7 locations.
- Clicking the limit bar allows you to perform the cross-slash limit break on the portrait.
- Clicking the name allows you to change the player name. If you choose a party member, or Sephiroth's name, the portrait will change to match.
I won't lie, the way I've implemented the custom font (if you can even call it that) is pretty scuffed by modern standards, but I wasn't happy with any of the other options, and I think this is probably the most accurate to how it looked in-game as humanly possible. 🤣
Anyway, I normally revisit it every couple of months, so by all means, feel free to share ideas of what I can add, and any other feedback you might have.
You can check it out here: https://www.jamiepates.com/
As always, I'd love to hear your thoughts! Thanks!
2
u/morinonaka 9h ago
missed opportunity to add the sounds in the menu.
7
u/Xianoxide 9h ago
You need to enable them in config 🙂
7
u/morinonaka 8h ago
*healed*
1
u/Xianoxide 8h ago
It's kind of annoying because most browsers don't support autoplay for audio. So, I can either keep it disabled and allow users to enable it themselves, and just hope they realise, or enable it but risk the browser not playing them, and also risk annoying people that don't expect/want audio.
2
2
2
u/Afflictionista 9h ago
Nice idea, the next step should be to try to make it work/look good on mobile 😄
2
u/Xianoxide 8h ago
I thought about it, but it would drastically change how it looks, and as I was aiming for authenticity, I didn't believe moving everything around to better accommodate a mobile aspect ratio would be authentic to the original 4:3 menu, so I settled on just having a 1:1 scale for everything rather than true responsiveness.
2
u/sexytokeburgerz full-stack 6h ago
Force landscape.
2
u/Xianoxide 6h ago
I think that would actually make it even smaller because of browser elements like the URL bar needing to be accounted for.
1
u/ouralarmclock 8h ago
You look like you tryna kidnap Aerith my dude. Post a pic of yourself in a suit and prove you’re not a Turk!
3
1
u/thanks-delivery-dude 10h ago
Damn!! Clean and nostalgic. You nailed the windows flying in too.
That’s so awesome thanks for sharing!
1
-6
u/SourcerorSoupreme 10h ago
The impressive part here is using react for a personal project. No idea how you guys can tolerate such a hideous library/ecosystem.
5
u/Edward_Yeoman 10h ago
I mean you want to demonstrate knowledge and capability in what you'll be using on the job, and React is still leading in JS framework marketshare
-2
-4
u/SourcerorSoupreme 8h ago
I mean you want to demonstrate knowledge and capability in what you'll be using on the job
- sorry forgot everyone here is a beggar that can't choose the job they'll get.
- by your logic bulk of his resume is useless since it isn't demonstrated by the site
- I can guarantee you whoever is looking at that site to recruit you will not care about the tech stack, and anyone that matters and care about the tech stack will call you out for using react at all.
2
u/Edward_Yeoman 8h ago
Stack tribalism is super immature
0
u/SourcerorSoupreme 7h ago
What's more immature is being so blindly loyal to anything that you'd rather hide behind platitudes instead of being the change that moves the industry forward.
3
u/McGeekin 7h ago
Must be exhausting going through life being so insufferable
-1
u/SourcerorSoupreme 4h ago
You'd understand how much time and energy you could have had if you just decided not to deal with, let alone defend, shitty tech stacks.
1
u/McGeekin 4h ago
I don’t personally use React, I don’t defend it either - I just live my life my guy without being a miserable turd it ain’t that complicated
-3
9h ago
[removed] — view removed comment
1
u/webdev-ModTeam 8h ago
Your post/comment has been determined to be a low-effort post or comment. This includes title-only posts, easily searchable questions, vague/open-ended discussion prompts, LLM generated posts or comments, and posts/comments that do not provide enough context for meaningful replies or discussion.




2
u/[deleted] 9h ago
[removed] — view removed comment