Sims 4 Random Legacy Roller

07/09/20191 Min Read — In Gaming, Coding

Generate Random Sims 4 Legacy Challenge.

Link to the Website

I built a Sims 4 online tool to generate Random Legacy Challenge. The Random Legacy Challenge is a 10-generation legacy-style challenge which is defined by its randomly-generated parameters governing careers, types of marriage, number of children, and even more aspects of the Sims 4 game, that each generation must follow.

You can still find the original rules if you are curious.

Background

TLDR My wife is a Sims 4 gamer and she asked me to build this tool for her. So I did.

I haven't played Sims 4 in a long time, but my wife really likes the game. She's been playing it for years already and she still enjoys playing Sims 4 especially with community-designed end-game challenges.

There are a bunch of websites out there that does pretty much the same thing as the tool I built. But most of the existing sites are lacking in features or poorly designed. So my wife has been requesting me a couple of times already to build an improved version of the Random Legacy Challenge that she can use.

Aside from the core functionality, the tool needs to be designed such that the game rules could easily be updated. Apparently, EA still releases DLC's for the game and most of the rollers out there are already outdated.

It just so happen I'm looking for a small project to work on so I can brush up on styled-components, a CSS-on-JS library. I also wanted try out a new React boilerplate base with Typescript. This small project seems to be an opportune way for me to do it.

The completed site has an API built on Scala typelevel libraries and a full-blown domain model for randomizing the different parameters of the legacy challenge. The tech stack seems a bit overkill to be honest, but it was really fun building it.

Here's the Scala API Boilerplate that I used as template for the backend for this project.

And after two weekends of work, I finally completed the project! And the site just went up a couple of hours ago.