The Evolution of Web Brogue - A Look Back at IRDC 2016 and Beyond
Delve into the progression of Web Brogue from its inception at IRDC 2016 in Sofia, Bulgaria, to its current features, architecture, and scalability. Explore the history, screenshots, and architecture of this online platform for playing Brogue, a game by Brian Walker, with insights into its development timeline, key contributors, and technical details.
Download Presentation
Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
E N D
Presentation Transcript
web-brogue 1 year on IRDC 2016 Sofia, Bulgaria Tom Ford Oxford, United Kingdom
Roguelike bio Dungeon Ascendance (Android - 2012) Becoming Northerly (7DRL 2016) DDRogue (7DRL - 2009) with ShroomArts with ShroomArts brogue-web (2015/6) PrincessRL (7DRL - 2010) TraumaRL (7DRL - 2014) with Kip Raske with ShroomArts RoyaleRL (7DRL - 2015) FlatlineRL (7DRL - 2013) with ShroomArts http://flend.net http://seramygames.net
What is web-brogue? Web application allowing brogue to be played online Brogue by Brian Walker https://sites.google.com/site/broguegame/ Features Games saved between sessions Mouse control High scores Chat Observing games in progress Watching replays Geographical servers http://brogue.roguelikelike.com/ [EU] http://brogue.lumenstone.org/ [US] Offering online brogue for 1 year with no major interruptions
History of the web-brogue project March 2nd 2015: Kip Raske (LunarHarp) announced an online play version of brogue End March 2015: Hosting discontinued June 2015: Tom Ford started committing to the project July Oct 2015: Reworked server architecture for robustness Oct 2015: web-brogue EU launched http://brogue.roguelikelike.com March 2016: web-brogue US launched http://brogue.lumenstone.org/ Oct 2015 Nov 2016: New features added
brogue-web architecture GET /index.html GET /api/games Web server Static content reverse proxy REST API brogue-web Web- sockets Websockets Authentication Starting and playing game 1 [2] brogue process per user running in own directory User credentials High scores Chat log
Scaling brogue-web At last IRDC I discussed scaling limits Estimate 10 concurrent users possible @ $5 / month plan Reality 1 year on Typically have 0 2 games in progress at any time Scaling issues have not arisen, predictably and fortunately!
Scaling brogue-web CPU not stressed 5-10% typical Autoexplore sleep helps Memory is always full (512 MB) many abandoned games 2 week old game expiry time and 2 GB swap solved problem Bandwidth (1 TB / month limit) Typically 4-500 MiB / day = 15 GiB / month
Issues Browser DOM slowness MS Edge is painful Chrome is fine, Firefox is OK Internet lag Game is played on server and output relayed to browser Never going to be as snappy as running locally From UK and Bulgaria it seems pretty good
Issues Browsers weird ideas of what Unicode symbols should look like
Issues Browsers weird ideas of what Unicode symbols should look like U+26AA A ring
Issues Browsers weird ideas of what Unicode symbols should look like U+26AA MEDIUM WHITE CIRCLE Suddenly, in September 2016 Chrome decided that Medium White Circle was best: Big Off-centre Grey Chrome on iPad also liked rendering Taurus symbol with a purple graduated background
Issues Out-of-memory (OOM) situations causing server to be killed Bugs Observers taking control of games Broke registration for a few weeks without noticing File handle leak killing server after 3 months Cross-site scripting (XSS) vulnerability Source code lacks tests
Wish list 2015/6 2016/7 Cookies for credential store (don t log in each time) Global high scores Observer mode Chat Real time elapsed and turn count statistics Inventory display when observing Tile mode (rot.js) Faster for some browsers? Disable local high scores Disable local save CTRL-L screen refresh Sharing links for replays Better mobile browser support
web-brogue statistics A bold claim web-brogue probably has collected the most brogue game records together in one place ever What can we learn about brogue from 4700 deaths? Actually 3900 deaths, since these are EU stats Burned to death on depth 6 with 629 gold.
EU versus US! web-brogue EU 3900 games 405 days up 24 victories 0 masteries 51 lumenstones stolen 9.6 games / day 0.6% victory rate web-brogue US 812 games 235 days up 31 victories 1 mastery 71 lumenstones stolen 3.5 games / day 3.9% victory rate US players are better Being higher on google probably isn t good for your victory rate
Deaths per level No. of deaths Level Most games end on level 3 Even though we have a lot of first timers Why is that ?
Death cause analysis Unholy alliance of Goblin conjurers Jackals Eels!
Death cause analysis early levels More deadly monsters only selected for analysis Enemies most deadly when appearing early Eel (level 2), Pink Jelly (4), Vampire bat (6) Eels and vampire bats still dangerous mid-game
Death cause analysis later levels More deadly monsters only selected for analysis Ogres (6-10), Wraiths (10-14) and Trolls (12-17) are common and dangerous Phantoms catch out a lot of later game adventurers (16-20) With more threats, end game death causes are more diverse Stats for levels >= 20 are very patchy
Future analysis Analysis so far only on the small amount of data collected at end-of- game 4000 recordings which could be analysed Aim to analyse inventories / allies of winning / deep games to gauge the effectiveness of different builds
Thanks Brian Walker For writing a brilliant roguelike Kip Raske For the original web-brogue code on github and running the US server Organisers of IRDC 2016, Sofia, Bulgaria