elma.online - Announcement, explanation, features

General discussion about the games and the scene.

Moderator: Moporators

Post Reply
User avatar
Kopaka
39mins club
Posts: 6610
Joined: 23 May 2002, 13:59
Team: LAME
Location: In a northern danish city beating YOUR record.
Contact:

elma.online - Announcement, explanation, features

Post by Kopaka »

Hi there. So by now you probably know about the new version of the elma online website, aka. elma.online. There haven't really been a proper announcement and explanation of this site, so I'll try to do that now, as well as listing the new and changed features.

The history
Around four years ago, in discussing the future of the current site elmaonline.net it became clear that no one in the scene myself included had any interest in working with the technologies used, primarily PHP. So the only way forward was to start from scratch with new technologies and making it open source, since that's a big task for one person.

In 2018 choice of frameworks etc. was decided and the real work started. First focus was to make some features that was missing from the old site and the community, rather than recreating the old features. So for this reason both sites was available side by side.

Come 2020 this was still the case, but slowly old features were starting to be remade on the new site. At this point things started breaking on the old site for one reason or the other, so instead of trying to fix them a bigger focus was put on remaking them on the new site. With the World Cup coming up, while there were no sign of the cup page breaking, I simply didn't trust the old site anymore and decided to recreate this feature as well before the cup. Which brought us to a point where we could turn off most features on the old site and make people use the new one primarily.

Current status
So today the status is that just news, admin and help pages needs to be recreated on the new site in order to completely turn off the old, at which point elmaonline.net will also be pointed to the new one. While a few years has passed, the main technologies used are still relevant today, so we can keep moving forward with this version of the site.

As mentioned the site is made open source, and it has been a group effort. A total of 10 people have contributed directly to the code, thanks to Kopaka, aswj, 8-ball, Ismo, Pab, pawq, Markku, jonsykkel, Stooq, bene (in order of lines committed). And a few indirectly through libraries used such as maxdamantus and skint. If you're interested in helping out find it on github.

Feedback
So any feedback is welcome of course, but things to focus on would be the following. Bugs as in things not working. Smaller improvements to existing features to improve the experience. New features that either existed on old site or never existed. Many new possibilities exist, but focus on those that are the most important. For design an overall overhaul will happen eventually, so feedback on small issues and general design is not so helpful right now, but more general structure things like what should be on the frontpage, in the menu, what generally works well and what doesn't. For mobile not a lot of optimization has happened, but if there's some specific page which is very important for you on mobile you can mention it.

Optimally bugs and feature requests can be made in a github issue, if you don't want to go there you can do it in this topic as well.

Features
Here I will try to list all features, since there's a lot of small things you may not be aware of. Going forward I'll try to announce new changes in this topic. You can also follow github commits and #developers in discord.

Replays
- Watch replays online in the browser based rec viewer.
- Uploading happens from the frontpage
- You can enter who drove the replay and a comment
- Unlisted means it's not shown in any list on the page, so essentially secret and you need to know the url to find it
- TAS means you've used some kind of save/load or likewise
- Bug means it has a bug bounce, apple bug or similar
- Modded means the replay file was edited in some way or driven in an edited version of the game
- Recent replays are listed on the frontpage as well
- You can also find replays driven by and uploaded by a specific user on their userpage
- Click a replay to go to the replay, here you can watch it, comment and rate it
- On the right side you can click the time to download the replay file, go to level page and find other replays in same level
- For firefox user note that the replay viewer has a serious memory leak, so you may experience some lag in longer replays, and it's a good idea to not leave the replay page open for a long time. Chrome based browsers don't have this issue.
- Pressing G removes grass, P goes low detail

Battles
- On frontpage you can find current and recent battles like the old site
- Click on row or time to go to battle page
- Click on level name to download level
- On battles page you can find older battles by going back to previous dates
- Battle page has replay in rec viewer
- For firefox users rec viewer is disabled untill you click it, so you can browse the page without lag
- Results with times and how much ranking increased and total ranking points after the battle (extra dropdown)
- Battle info on the right with rec and lev downloads
- Chat shows all chat written during the battle

Ranking
- Ranking is fully implemented now with latest algorithm changes and fixes as of this september
- Tabs can be used to select overall, yearly, monthly, weekly and daily
- On the right you can limit by battle type, time period, and some minimum of battles played
- Explanation of ranking algorithm can be seen in the wiki

Search
- Search is always available in the top bar
- Click level, battle, replay, player or team to select your type of search
- Type something and press enter to start the search
- ? and * can be used as wildcards for one or multiple characters respectively
- Level will show levels by filename, level packs by name and level packs that has levels with the filename that matches search
- Battle will show battles by level filename, and by designer
- Replay will show replays by replay filename, by driven by and by level filename
- Player will show players by nick
- Team will show teams by team name

Levelpacks
- Levels has the list of levelspacks
- Click the round button in bottom right corner to add a pack
- On a pack page you'll find records on the first tab
- Click a row to see all times in the levels, here you can also click the levelname to open the individual level page
- Green download text for downloading zip of the levels
- Click the cog icon to open settings, here you can change how long to highlight new times, this applies to all sub tabs
- Next tab is total times
- King list uses a point system that gives points to top 20 in each level
- On personal you'll see your own time by default
- You can also click the player name to type in any other player and see their times
- Multi records works like the normal record page, click row to see all multi times in lev
- If it's your levelpack you can click admin tab, here you can add levels, remove levels and sort levels

Level page
- The individual level page can be found from search, from level pack and most places where a level is mentioned
- This page shows a map you can move around in (again this is disabled by default in firefox to avoid memory issues when it's not needed)
- Under the map you can find the best times in the level
- All times tab will show all finished runs in the level
- Personal stats shows things like your total amount of runs and play time in the level
- On the right you can download the level
- Under here you can find all battles made in the level as well as replays uploaded in this level

Kuskis/teams
- Kuskis and Teams page works similary
- Lists all players/teams divided into starting letter
- In filter text box you can search and filter down the lists
- Click player/team to do to the individual player/team page

Team page
- Team page currently only lists members

Player page
- Player page has a number of stats on the specific player
- Top bar shows nick, shirt, team, internal total time, battles played and won
- Played battles shows most recent battles the player participated in with stats like their position, click row to go to the individual battle
- Latest times shows all finishes the player has made recently, and on the right all new PRs
- Replays uploaded shows recs uploaded by the player but could be driven by anyone
- Replays driven shows replays where the player has been put as the driver but could be uploaded by anyone
- Info has player rights and achievements

Editor
- This is a browser based level editor that supports co-op editing
- To do co-op editing click on rooms
- Typing a name and pass will join a room or create a new one if it doesn't exist

Map
- The kuski map is made to visualize where in the world kuskis live and maybe inspire irl meetings
- To add your marker make sure you're logged in and then simply click on the map

Chat log
- All public chat written in eol can be found here
- By default most recent will be shown
- You can filter by Kuski, text and time frame
- For big time frames it may take a little while to load

Settings
- On user info tab you can change basic things like nick, team, email and password
- On team tab you can lock and unlock team, a locked team is impossible for anyone to join, an unlocked team can be joined by anyone
- On ignore tab you can add users to your ignore list, this means you will not see their chat in-game

Help
- Help page currently has the basic info required to get started with eol
- Other stuff is still on the old site, shirts, crew list, donate

Cups
- Cups page has all cups listed on the left
- On the right you can create your own cup
- Cup page for an individual cup starts with a dashboard, this is where you can upload your replay, you can also see summary of things like current event, standings and most recent event
- All times are shown in your time zone
- Events tab lists the events of the cup, click one to see results
- In results you can also use the sub tabs to see map, interview and leader history
- Standings tab shows overall standings for players, teams and nations, for team and nations top 3 players in each event count
- Click the plus icon to see all event results for the individual player
- Rules & Info has on the left specific info for the cup and on the right general cup information, how to play etc.
- Blog tab is a place where the arranger of the cup can add news articles
- Personal tab lists all your uploaded replays
- Check mark will share or unshare the replay with rest of team
- Play icon will play the replay in the online rec viewer
- On the right you'll see your finished times in current event, this can be used to double check times are registered and matches replay
- Team tab shows all uploaded (and shared) replays by team mates, play icon here will also show replay in online rec viewer

Discord bot
- Posts in #times when anyone makes a new PR in any level (unless locked, hidden lev)
- Posts all chat in #battle
- Posts battle starting, ending and results in #battle
- Announces a new cup interview in #events
- Battle notifier that will message you when a specific type of battle starts, type !bn in #talk-to-bots to set up
Last edited by Kopaka on 24 Nov 2020, 09:18, edited 1 time in total.
User avatar
jblaze
38mins club
Posts: 745
Joined: 23 Apr 2010, 20:36
Location: chair

Re: elma.online - Announcement, explanation, features

Post by jblaze »

very nice, big clap for all contributors!
thank you
It's nice to be important, but it's more important to be nice.
(Devann) u are the master of your own universe. remember that
User avatar
specter2
Kuski
Posts: 111
Joined: 29 May 2020, 08:07
Location: banned on a scapegoat island

Re: elma.online - Announcement, explanation, features

Post by specter2 »

Excuse me and my critical views, and this post is not meant to discourage anyone who has contributed to this project. Just my thoughts and maybe it could start a proper discussion about the new site and how it's built.

When this new site was initially set up i thought it would be nice to finally get a new place where things would be efficiently available and neatly organized. However, as the development has gone further it seems like the only purpose of this new site is to just rewrite everything in js with very little attention to other aspects. I'm not sure what's the point in rewriting everything in new language if the outcome is just as bloated as the previous version was? Many parts of the site look very off, some of the UX/UI is possibly even worse than the old site had, not to mention mobile usability which seems to be totally dropped on some pages. At the moment it looks like yet another app will need to be created if one wanted a neat mobile experience browsing the content.

So what's the direction and priorities of this project? Does any code contributor or site user have any comments or similar thoughts or wonderings?
User avatar
pawq
38mins club
Posts: 6547
Joined: 24 Aug 2008, 19:56
Team: TR
Location: Southampton, UK

Re: elma.online - Announcement, explanation, features

Post by pawq »

I'm only a very scarce contributor, but I've been up-to-date with the project so I'll say a few things.

The most important thing to highlight is: it's a work in progress, and will be for quite some time still. The immediate priority was to implement all the essential features that the old site (elmaonline.net) had, so that the old one could be deactivated. This is now almost complete, with only a couple of things left that are not implemented on elma.online yet (though Kopaka is actively working on it).

Rather than just about rewriting, this project was more about creating a platform that firstly uses some modern technologies and design, and secondly is open-source, with everyone free to contribute. These things have been successful so far, with at least 8 or so diff people contributing, which bodes well for the future.

With regards to the current design, I agree that it's very suboptimal in a lot of places, but again need to bear in mind that it's a work in progress. The site already has tons of functionality that the old site did not, and unlike in the old site, here it's actually manageable (or even easy) to add new functionality, so things will only get better.

I think it's quite clear that it's an amateur project with no structured management, but that's because it is a free-time project with no management, but one guy doing 90% of the work when he can find the time and the orkage. Given the incredible amount of time spent on this and similar projects by Kopaka, complaining about anything or questioning the very existence of the project is nat very helpful. Pointing out particular bits that don't work is though, especially in the form of github issues:
https://github.com/elmadev/elmaonline-site/issues
On top of everything, Kopa has invested quite a bit of time to make the project accessible to newcomers:
https://github.com/elmadev/elmaonline-site
So feel free to join in and help out! In case of trouble, people are generally happy to help in #developers on the elma discord server.
User avatar
Kopaka
39mins club
Posts: 6610
Joined: 23 May 2002, 13:59
Team: LAME
Location: In a northern danish city beating YOUR record.
Contact:

Re: elma.online - Announcement, explanation, features

Post by Kopaka »

specter2 wrote: 24 Nov 2020, 12:19I'm not sure what's the point in rewriting everything in new language if the outcome is just as bloated as the previous version was?
The point would be that if we didn't do that, there may not have been a working website today. This is what I tried to explain in the history section.

For the rest of your points I don't disagree, but getting something actually working has been a bigger priority. So it's just a matter of finding enough time to do the rest.
User avatar
Kopaka
39mins club
Posts: 6610
Joined: 23 May 2002, 13:59
Team: LAME
Location: In a northern danish city beating YOUR record.
Contact:

Re: elma.online - Announcement, explanation, features

Post by Kopaka »

Just want to repeat that if there's a new feature or fix you care about, write a github issue or a reply in this topic. Many things are mentioned in places like discord and irc, if you only do that it's likely to be missed or forgotten.
Post Reply