Live data from Hacker News

How to parse EVE Online chat logs (in Common Lisp)

blog.michaeldresser.io

1–10 of 24 posts

Re: How to parse EVE Online chat logs (in Common Lisp)

#3
I like to enhance games with log parsing too. Been playing muds again lately and writing logs with the mud/telnet client (tintin++) to be parsed/spat out in tmux splits, which works great

(as an aside, I started looking and testing mushclient, which is adored by many. nick gammon has been upkeeping it for years and it offers a ton of features/settings)

Re: How to parse EVE Online chat logs (in Common Lisp)

#6
post #2

I love love love posts talking about using our skills to make our entertainment ours. Kudos for sharing and much love for sharing how you are making EVE just a little more fun.

Thanks for the kind words. One of the things I have always loved about EVE is how open it is (relative to other MMOs) with information like this as well as providing APIs [1] and game data dumps [2]. The data isn't always perfect, and the APIs don't always cover everything the playerbase wants, but I'm just happy any of it exists in the first place! I used the data dump in conjunction with this log parsing to get an automatic "distance from my current location" of enemy players. It isn't anything too special—other developers have made much better tools—but it has been a very fun project.

[1] https://wiki.eveuniversity.org/EVE_API_Guide

[2] https://wiki.eveuniversity.org/Static_Data_Export

Re: How to parse EVE Online chat logs (in Common Lisp)

#7
post #4

In general, what is a good language to parse game logs?

Most languages can do most things, so you should pick the one(s) you know best.

That said traditionally perl would be the choice for parsing, and it is still a good candidate. For simple extraction - think "programatic grep" - then awk is also a good choice.

Re: How to parse EVE Online chat logs (in Common Lisp)

#8
post #4

In general, what is a good language to parse game logs?

I've found for down and dirty parsing, you can almost always parse simple log/structured output using operations like `split`, `substring`, `prefix`, and `suffix` where :

- `split` splits a string at an index or into substrings separated by a pattern - `substring` takes a substring of a string for a range of indices - `prefix` returns true if the start of the string matches a pattern, false otherwise - `suffix` returns true if the end of the string matches a pattern, false otherwise

Python and C++ both have good standard library functions for these tasks. What's less important than a language for your parser is a language to plug the output into to make something useful.

Re: How to parse EVE Online chat logs (in Common Lisp)

#9
I loved my time playing EVE, spent a fair few years running a major (couple hundred players) Corp in one of the big alliances back pre-pearlabyss. We had a whole suite of web apps that integrated with EVE auth and API, and managed various aspects of the game for us. Threat Intel by putting bots into enemy chats then scraping for keywords (mentions of certain system names), tools to monitor the markets for certain prices/shortages we cared about, custom maps that let players submit scan data, etc etc.

I’ve never experienced any other game that gives you the rush of a major alliance battle in EVE.

It’s an incredible game with a lot of insanely smart people playing and some great communities around it, but regretfully I had to “win” as life is life.

o7

Re: How to parse EVE Online chat logs (in Common Lisp)

#10
post #4

In general, what is a good language to parse game logs?

Unless the game logs are in json or xml, the easiest language to get started in (assuming a few regexs isn't enough) is whatever language you know, that has a good packrat parser library.
Post reply on HN