A Passion project for a upcoming gamemode in MMORPG Runescape.
Gitlab link available on request.
Live: https://salty.gg (As it is in development, constantly changing)
Early adventures of a Passion Project.
Salty GG started from together with few friends, we were throwing out funny domain names we thought would be great to own. Then someone mentioned Salty Bay, something we sometime name our groups in games and online overall.
While we were looking at domain endings we found .gg , a relatively ignored domain by most but recently propped up in the gaming community alot. In the moment it made sense to get Salty.gg as a domain since both .gg and Salty were aimed at gaming.
As we bought the domain we really did not think anything we could make it into but few days later the new upcoming game mode was released and I knew instantly that our newly acquired domain will have a great use. A project to learn, grow and advance my interest in Frontend development while also potentially being beneficial to players when made public.
Concept of the platform is to create a adventure log and group organizer platform with features to aid groups in their…well..adventures.
Using MoSCoW Methodology I have created a prioritized features list for the MVP ( Minimum Viable Product ).
Must Have :
- Adventure Log. Showcasing other peoples achievements, users and group achievements
- Group Management. As the new gamemode is based on groups playing together , this is a must.
- Group todo lists and adventure log
- Public Highscores. By the websites definition this is required.
- Public Adventure log feed of everyone on the platform currently achieving goals.
- Sign On Forum system for community engagement ( Discourse for this as they offer a simple SSO integration )
- Right to be forgotten. Possibility for users to wipe themselves of the site whenever they want with just two button presses. The project only requires the persons email address but even for some that might be too much. Any potential leak ( lets be honest, nobody is safe ) would only include email and a hash, which isn’t much but is still personal.
Should Have :
- Public sharable profiles. To show off users accomplishments to their friends.
- Custom User name effects. For dedicated users, potentially future supporters.
- Runelite plugin to request API from the java client.
- Patreon integration
- Easy Join Groups. A simple link to join a group you have been invited to for ease of use.
Could Have :
- Highscores detailed filters. Mostly because every other stat aggregating website has them, but was not my goal.
- Mobile App. Potentially make it easier for users to track their groups achievements and others, room for pop notifications but so distant on the roadmap that you’d need a NASA telescope.
- Interactive Ingame Map. With the idea of java plugin comes the concept of creating a map that could track where the players are ingame, downside is the amount of data required to be reliable and 1:1 coordinate custom map creation.
Shouldn’t Have :
- Advertisements. Plan is to help the community, not to make their experience annoying.
- Paid Features. Restricting features that lock off a part of the platform with core features. There will be supporter features like custom badges and name colors but they aren’t restricting features.
- Permanent Data. No data should stay on the site if the user doesn’t want it.
As my more impatient side kicked in, I wanted to get right into it as it was just an idea and not a fully planned “product” per say, I went and created some really rough layouts for what I would expect the platform to feel like. Nothing special but focused on the colors and the feature feel to have a vision to work off.
After these building blocks were established I went and started working on it right away. Firstly from really early on I knew the framework I will be building this project on. ReactJS as Frontend and NodeJS with Express as Backend, I debated using VueJS as I had early experience with it in my Final year of University with the “SPARK” Project but in the end React is a more established framework currently. As seen from StateOfJS research, React even with new frameworks coming around, it holds strong.
UX Designer in me has been taught to go Mobile First with design but as this website will be focused on desktop users the design currently does not reflect mobile first. That said I did look ahead and chose a more mobile friendly approach to design with Material UI React library. Sites nowadays use a unbelievable amount of Bootstrap because not only is it fast to prototype but also easy to adapt to mobiles, with that in mind I wanted to same direction to still keep the mobile first just few lines away but also not Bootstrap which lead me to Material UI which is based of Googles Material Design guidelines.
All the current design choices can be seen on the live version but below are some that as of 04.02 are not yet live.
Part of UX design I was taught is to keep user interested and make sure the website interacts with the user when doing even the most minor thing such as scrolling a feed. Minor things but they look and feel more streamlined.
Some of the other design choices I have taken are pretty similar to the building blocks I chose in the beginning but I aimed for a more “Spartan” look or “Minimalistic” with only the required information and nothing more.
Currently the design choices are simply Material UI pre built components but will change as development wraps up.
To be written..
- Adventure Log generator the ups and downs of building it
- API Security and how tutorials don’t tell you about it
- Approaches I learned of
- Best strategy that I did not know of
- Other learning experiences