Hacker News new | past | comments | ask | show | jobs | submit login
Kartlytics: Applying Big Data Analytics to Mario Kart (joyent.com)
167 points by ChrisArchitect on Aug 8, 2013 | hide | past | favorite | 33 comments



Mario Kart 64 is one thing -- but if this same technique is applied to Street Fighter 2, I am honestly concerned about our Seattle office descending into civil war. Or perhaps having hard data leads to less animal struggle for dominance because the hierarchy of the herd has been quantified?


How many sprites can SF2 possibly have? :)


Not sure, but any who aren't too familiar with fighters might be surprised to learn of frame data [0][1] dissection.

0: http://nki.combovideos.com/data.html

1: http://nki.combovideos.com/flame.html


For anyone interested in the complexities of Super Street Fighter II Turbo, check out a recent tournament: http://www.youtube.com/watch?v=i2gMAOPIHIo


If you liked this, you might also like a general technique for automating NES games, with Mario Bros demo [1]. There is a video, research paper, and source code too.

[1] http://www.cs.cmu.edu/~tom7/mario/


I just about lost my shit during a break here, when at the end of the video the AI actually ragequits during a game of Tetris.


Not only is it logical to rage quit a game after losing, but optimal as well.


Should note (I may have missed it in the article) the website with all of their results is http://kartlytics.com/


This gives me the feeling that the referee guy from 'King of Kong' is about to be replaced by a very small shell script.


Sounds like a nice proof of concept, but I would have tried to identify the in-game variables as in [0] and identify the state of the game from there. Maybe it would take a bit longer, but in the end one could track if a player is sliding or was using an item and so on. Grabbing video frames and doing some kind of template matching on the still images sounds a bit... inconvenient.

[0]: http://orbitaldecay.com/N64/Lesson1/Lesson1.html


Author here. That's an approach we considered as well, but we didn't want to have to use an emulator to play the game. Still, you could potentially get much richer information with that approach, and I'd love to see a demo based on it!

[Edited for detail]


I know what you mean. Nevertheless, there are USB controllers which feel like the real thing. Mupen64plus behaves just like the original console so this might be a start. Here are some memory locations I found: https://sites.google.com/site/jamesskingdom/Home/video-game-...


If you have an Arduino, you just need to connect three pieces of wire to use a proper N64 controller on a computer: http://www.instructables.com/id/Use-an-Arduino-with-an-N64-c...

I've played Conker's Bad Fur Day using one of these and an S-Video cable plugged to the TV, and it really feels like the real thing :)


Oh, hi! I came across your site while I was working on this. I enjoyed the video of dropping a fake question block in Time Trial :)


I too was surprised that the author didn't go that route--especially considering there are hundreds of gameshark codes available to give you interesting RAM locations to monitor. There's a weight modifier code for each player which could make for some interesting analysis, also.


Really neat article and demonstrates a great way to introduce your startup's new product.


I can't be the only person that thinks this would also be a great idea for GoldenEye, right?

I have a lot of learning to do to make that happen, but would happily provide moral support to anyone that might want to attempt it!


Absolutely! GoldenEye is a favorite here too. I haven't thought about it too much, but I bet it would be easy to adapt kartlytics to that, since it also uses a pretty straightforward on-screen display.


The answers to that game are obvious -- Oddjob and the laser.


True - the discovery piece (which weapons work best where, trending, etc) would likely not produce revelations, but it would make for an excellent leaderboard for the extremely competitive.


As I was looking for a non-insane alternative to Hadoop/EMR, I figured I'd check out Manta, the product they're (sort of) trying to push in the blogpost. Can't say if it scales / is fast / is cheap... but it's very developer-friendly. Couple of lines of JSON pipeline config and you're map/reducing.


This is so cool. I'd love to see it's method's applied to other games. In college we played a lot of Super Smash Bros. 64 (same idea as SF2). At work now, Dr. Mario has shockingly become the game to master.


A friend and I were thinking of doing something similar to this for Smash and League of Legends. We probably should!


From a thing I said two years ago:

"Exporting games down to stats per millisecond. Stats I'd want: all the obvious stuff, like gold, KDAs, minion kills, items: but possibly more interesting would be HP per millisecond, and any secondary stats as well. Ability cooldowns. Ward expenditure.

"Could possibly do something interesting for positioning, but I'm not sure how to express that. X,Y coords? That would be enough; it'd be hard to consume, but that's what data processing is for. Clicks and pings would also be worth dumping."

I think you could get a lot of coarse-grained positioning data from the minimap, and possibly coarse-grained HP snapshots from spectator mode. You could definitely get ultimate/summoner spell expenditures from snapshots, too.

I really do expect interesting data to come out of analyzing the spatial layout of the teams.


This is so epic. I want the software. We have a MarioKart 64 room with bean bags at Distilled's London office and I'd die to have stats like this.

I might have to spend some money on setting this up... Thanks for sharing. :)


Liquipedia needs this for StarCraft2 VODs.


You don't even need the VODs, because a replay encodes all the information about the game already in machine readable form. I wouldn't be surprised if someone somewhere is already doing large scale analysis of available SC2 replays.



I don't know if any of those sites use it, but I really like this open source replay analysis library: https://github.com/GraylinKim/sc2reader


We have that in League of Legends already, but the analytics that have been done so far are fairly rudimentary (who counters who, who has the highest win rate, etc.)


Yep, we have been doing this since way back in SC1. Player analytics, APM charting, heatmap, etc.


I'd love to see some beard analytics...


someone hook this thing up to twitch.tv and speedrunslive!!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: