Advanced statistics interface for SteemNova

in #utopian-io6 years ago (edited)

Components

The open source browser game SteemNova with its reference implementation available at https://steemnova.intinte.org/ offers a statistics screen where logged in players are able to view summary statistics and rankings of alliances and fleets. Currently it is possible to sort these rankings for total points, points for fleet, science, buildings and defence. The view is offered via a javascript implementation, which does make it hard for users without direct access to the backend database to download the actual rankings and points of the players.


steemnova-stats.png

Example view of the offered statistics from

https://steemnova.intinte.org/game.php?page=statistics

Proposal

A player or author who wants to make accurate statistics to offer the steem community insights into the game dynamics and in depth statistical analysis does have the need for dynamic access to real-time accurate statistical data. Then most convenient way to achieve this is currently to access the statistics page with tools like phantom.js and after that to scrape locally the generated html files with python's beautifullsoup. A lot of work done by hand is needed therefor, the methods are affected by changes in the delivered js/html, and even then only users used to work with such tools would be able to achieve the tasks.

The proposal to solve these problems and to extract additional value out of the game dynamics for the steem community would be to offer a consistent API delivering the data as a JSON structure or at least as CSV files. It should be discussed if using the API has to requier login or additional credentials.

Mockups / Examples

E.g. something like
https://steemnova.intinte.org/game.php?page=statistics&item=alliances&sorting=points&start=1&end=100 should result in a JSON object representing the information included in the above screenshot. An even more convenient way would be to offer a pure route base access like e.g.
https://steemnova.intinte.org/statistics/alliances/points/1/100.

Benefits

Developers and authors would be able to extract real time statistical data from the game to follow the game's and players' dynamics, analyze it, verify information given in the projects daily payout post and create additional graphical and textual analysis to present and explain the dynamics, economics and politics of the game universe in high quality posts, offered as valuable content to the steem community. Additional benefits would result from the fact that these extracted data could be stored in an seperate database and/or stored on the steem blockchain. Which would enable us to use this data as an oracle or feed for games or contracts running on the steem blockchain, expanding the application area even further.



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

Hey @a-dalora I am @utopian-io. I have just upvoted you!

Achievements

  • Seems like you contribute quite often. AMAZING!

Suggestions

  • Contribute more often to get higher and higher rewards. I wish to see you often!
  • Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!

Get Noticed!

  • Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x

Thank you for the contribution. It has been approved.

You can contact us on Discord.
[utopian-moderator]

API is definitely one the way. However discussed internally at Discord only.
We will need API before completely redraw game UI into React.js library.

Glad to hear about that. Additionally I want to mention that a statsAPI has to fullfill other needs than the API used by the frontend of the game, as it should be callable from outside the main program and should support features usually not needed in-game by players.

@resteemator is a new bot casting votes for its followers. Follow @resteemator and vote this comment to increase your chance to be voted in the future!

Coin Marketplace

STEEM 0.16
TRX 0.15
JST 0.027
BTC 59944.92
ETH 2307.28
USDT 1.00
SBD 2.48