Jump to content

Replay Pallàs — A platform to share your replays


Stan`
 Share

Recommended Posts

Hello everyone,

Today I would like to share a project that's been in the back of my mind for a while. Sharing replays has always been a mess and annoying and I wanted to address that a bit by providing a centralized address so that all replays you want to share can be uploaded there. 

I made a proof of concept Using Svelte &, Fastify and I'd like to hear your feedbacks about what you'd want the UI to look like, what filters would you like to see etc, details about the match (we don't have the possibility to get all the info)

Here are some screenshots (Keep in mind the layout isn't set in stone, just wanted to have a convenient way to test things out)

For security reasons there will be no direct upload button there if it gets online, but rather you'll be able to upload replays to single thread and it will be scrapped periodically. 

One can upload a zip containing a replays or containing multiple folders with replays, or just the commands.txt or the commands.txt and the metadata.json.

 

LIVE AT: https://replay-pallas.wildfiregames.ovh/

 

Sources at:

Quote

 

 

 

 

 

 

 

Capture d’écran 2024-01-31 à 09.39.23.png

Capture d’écran 2024-01-31 à 09.38.59.png

Capture d’écran 2024-01-31 à 09.39.13.png

  • Like 9
  • Thanks 4
Link to comment
Share on other sites

One of the things I had in my mind as nice to have. Just I'd start with an export / import replay feature in-game. There are many who struggle with exporting manually and we see formats like 7z, rar and what not. Also there are possible file collisions with this approach. So having a standardized replay file format (pyroreplay ?) taking care of all such nuisances would already much improve the replay sharing situation. Once in place this format would then be the basis of such a service.

Link to comment
Share on other sites

39 minutes ago, hyperion said:

Also there are possible file collisions with this approach

Well MatchId is supposed to be unique. If that proves to not be enough we can add the timestamp.

40 minutes ago, hyperion said:

One of the things I had in my mind as nice to have. Just I'd start with an export / import replay feature in-game. There are many who struggle with exporting manually and we see formats like 7z, rar and what not.

Yeah rar and 7zip would be an issue. So far most people usually upload a zip or two files.

Yeah export would be nice inside the game but adding something to save files anywhere from JS is a can of worms I suppose. Same as exposing a curl api.

The main issue is that on macOS and Linux all the interesting files are in hidden folders...

Importing replays sounds more manageable if we drag and drop them like mods.

For now though I don't plan to touch the game :)

1 hour ago, Feldfeld said:

Good idea, could be nice if we could name replays and perhaps provide a description.

I'll think about it. For now I planned to call it more a vs b vs c or a,b,c vs d,e,f.

And adding tags like, tournament, 1v1 etc

 

 

Link to comment
Share on other sites

10 minutes ago, Stan` said:

Yeah export would be nice inside the game but adding something to save files anywhere from JS is a can of worms I suppose. Same as exposing a curl api.

The main issue is that on macOS and Linux all the interesting files are in hidden folders...

Would it not be possible to link the replay folder to a visible location like ~ at some point, maybe on game start or installation?

Link to comment
Share on other sites

Just now, Stan` said:

Well I could then overwrite your .bashrc...

If it is done on installation and the user can assume that the installation file is trustworthy, you would only have to link once. Meaning that the possible exploit is limited to a time frame of installation.

Never thought about this, but is there no way of prompting a UNIX user for such operations? Or use sudo for that single operation? Something of that sorts.
Once there is a link to the replay DIR, no further w/access would be needed.

Link to comment
Share on other sites

14 minutes ago, Stan` said:

Well MatchId is supposed to be unique. If that proves to not be enough we can add the timestamp.

Not using the service but the current approach of zipping and unzipping with "date-gamenumber". Also people use arbitrary root, wonder whether they need metadata.json and so on.

 

18 minutes ago, Stan` said:

Yeah export would be nice inside the game but adding something to save files anywhere from JS is a can of worms I suppose. Same as exposing a curl api.

Those things would have to be done by the engine (c++) ofc. The UI just calls into the engine.

 

10 minutes ago, sternstaub said:

Would it not be possible to link the replay folder to a visible location like ~ at some point, maybe on game start or installation?

You can simply create a symlink to the replay directory at any time, no need for the engine to know about it at all.

Link to comment
Share on other sites

3 minutes ago, hyperion said:

You can simply create a symlink to the replay directory at any time, no need for the engine to know about it at all.

Then there is no problem to be solved here.

 

1 hour ago, hyperion said:

Just I'd start with an export / import replay feature in-game.

?

Link to comment
Share on other sites

11 minutes ago, hyperion said:

Not using the service but the current approach of zipping and unzipping with "date-gamenumber". Also people use arbitrary root, wonder whether they need metadata.json and so on.

As long as you have the commands.txt it's fine. I just assume one commands per subfolder. 

That's because the game creates folders like that. 

Commands.txt have a unique MatchId, which is shown on one of the screenshot, you can turn the timestamp into a date aswell.

Gamenumber doesn't really make much sense since it depends on the machine.

Link to comment
Share on other sites

1 hour ago, sternstaub said:

?

42 ... , well this question doesn't have enough meat for me to answer. :)

 

1 hour ago, Stan` said:

As long as you have the commands.txt it's fine. I just assume one commands per subfolder. 

That's because the game creates folders like that. 

Commands.txt have a unique MatchId, which is shown on one of the screenshot, you can turn the timestamp into a date aswell.

Gamenumber doesn't really make much sense since it depends on the machine.

Well, I only have ever seen 2 users generating replay archives indicating they are aware of the specifics involved and so making it possible for others to just unpack those. (I'm only talking about solving the sharing of replays P2P via forum, mail etc without any dedicated service here)

Developing a service in tandem or first may not be bad tho, as it may highlight additional requirements (title and tags were mentioned already) for a potential pyroreplay format.

Link to comment
Share on other sites

36 minutes ago, hyperion said:

Well, I only have ever seen 2 users generating replay archives indicating they are aware of the specifics involved and so making it possible for others to just unpack those. (I'm only talking about solving the sharing of replays P2P via forum, mail etc without any dedicated service here)

The tournament thread is filled with zip with multiple replays :)

36 minutes ago, hyperion said:

Developing a service in tandem or first may not be bad tho, as it may highlight additional requirements (title and tags were mentioned already) for a potential pyroreplay format.

Yeah Titles are a bit dangerous for me, for its extra moderation. Some of the matches name in the mp lobby are pretty bad.

Not sure how I'm gonna tackle tags though. I was thinking of doing it through the interface with a curated list one could choose from

Link to comment
Share on other sites

1 hour ago, Stan` said:

Yeah Titles are a bit dangerous for me, for its extra moderation. Some of the matches name in the mp lobby are pretty bad.

Not sure how I'm gonna tackle tags though. I was thinking of doing it through the interface with a curated list one could choose from

A somewhat valid concern. Using the match title in the lobby is unsuitable as likely you want to name it after the game and it should also support single-player matches. For tags I'd go with free form first. If it becomes an issues it's still not to late to not show them or even filter them using the service.

Also you haven't mentioned GDPR yet :)

 

Link to comment
Share on other sites

1 hour ago, hyperion said:

A somewhat valid concern. Using the match title in the lobby is unsuitable as likely you want to name it after the game and it should also support single-player matches.

Yeah my point was I don't trust some people uploading replays :) Whether it's SP or MP. As long as it's a handcrafted title, it's risky.

1 hour ago, hyperion said:

Also you haven't mentioned GDPR yet :)

Indeed. Anonymising all nicknames sounds annoying, but it's doable.

Link to comment
Share on other sites

  • 10 months later...

Nice to see it up!

Seems like the website enforces a password of length 9 despite claiming it should be 8 characters.

On the Local Ratings section, the number of matches column doesn't seem consistent with other data. (also I'd argue that for 1v1 some form of elo system is always going to be better than local ratings)

Link to comment
Share on other sites

4 hours ago, Feldfeld said:

Nice to see it up!

Seems like the website enforces a password of length 9 despite claiming it should be 8 characters.

On the Local Ratings section, the number of matches column doesn't seem consistent with other data. (also I'd argue that for 1v1 some form of elo system is always going to be better than local ratings)

Indeed, thanks for the report(s)!

I do have the game's elo from the names, would you like to see a graph about that ? Plotted by date something like Game Rating Evolution?

Link to comment
Share on other sites

26 minutes ago, Stan` said:

Indeed, thanks for the report(s)!

I do have the game's elo from the names, would you like to see a graph about that ? Plotted by date something like Game Rating Evolution?

The idea I had in mind was to start an elo ranking from scratch and give it the data from the replays collected only.

Link to comment
Share on other sites

Sounds fine (we can still compare it with the in-game rating)

I don't know the maths though, so I'll need some help with that. Also I need to know which replays would be concerned or how many elos one would have.

There is rated/non rated
Teams locked NvN
AI's

Some matches don't have informations about who won and should probably be excluded.

If I can gather a good enough specification, I can make the code.

Link to comment
Share on other sites

My idea would be for 1v1 only both ranked and unranked, team games would use the Local Ratings.

As for the algorithm, I heard some form of Glicko was state of the art but I don't know more.

Would need opinions of others to know if it even is a desired feature.

Link to comment
Share on other sites

25 minutes ago, Feldfeld said:

My idea would be for 1v1 only both ranked and unranked

Separate ratings for both? Or one ?

Spoiler

 team games would use the Local Ratings.

Should it keep the 1v1 then?

27 minutes ago, Feldfeld said:

Would need opinions of others to know if it even is a desired feature.

Sure I'll wait for the input :)

Link to comment
Share on other sites

  • Stan` pinned this topic

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...