Community Spotlight – EVEMon


Introduction

The EVE Online sandbox universe is a place of incredible freedom: the wildest dreams can come true here as players shape their own destiny amongst the stars. In the EVE Online universe players have the freedom of choice what, when and how to do things and everyone can create their own career plan and set their own goals.

Since the very beginning of EVE Online its community is encouraged to create their own tools – tools which provide superb help; for example by setting up and following your own career plan. Playing around with such tools and planning ahead your career, the full sandbox experience of EVE Online can become even more enjoyable.

Over time many incredible and useful tools were released, but only few are as well-known and popular as the skill tracking and character monitoring program named EVEMon.

Current Lead developer
 Desmont McCallock

EVEMon badge

Original EVEMon developer
Six Anari

 

Overview

EVEMon is a well-known and established Windows based skill tracking and character monitoring standalone program for EVE Online with an estimated 4 million total downloads over all releases so far. Originally first presented to the EVE Community in 2006, EVEMon was improved over the years by a dedicated team which is currently lead by Desmont McCallock.

With EVEMon you can browse offline the skills of your EVE character and inspect the current training status, ISK balance and more – it is also possible to easily keep track of multiple characters across multiple accounts. Furthermore you can set up a detailed skill training plan, train specifically towards ships and modules and optimize the plan for a minimum skill training time via attribute respecs.

Main window of EVEMon

The passionate development team of EVEMon published so far 36 releases and updates since 2006 until now. Despite this excellent development, Desmont McCallock is confident about having plenty of ideas for EVEMon upgrades in the future.

 

Early phase

The EVEMon project was started by Six Anari for the Goonfleet corporation – the exact starting date of EVEMon seems to be unfortunately lost in the mist of history. EVEMon was orginally designed to be used as a skill manager and viewer and to help members of Goonswarm corporation to better plan their skill training. After considerable development, Six Anari released EVEMon as an open source project for the whole EVE community and continued to add features to the application.

While the initial reception of the EVEMon project was very positive, also concerns about the use of API keys (which are necessary to query to CCP database for any updates on the player character) and the security were voiced at that time. But since EVEMon is an open source project, everyone is able to check the code used and thus can help clarifying any questions. Furthermore it is possible to change API keys at any time and thus to block API queries. Therefore after the early stage, EVEMon got firmly established with now 120.000 downloads per release in average and the whole project can be considered being a major success which is praised beyond doubt.

When Six Anari – the only person with full access to the source code at that time – decided to stop working on the EVEMon project, the administration was taken over by fellow contributors of the project (namely Anders Chydenius with Safrax, Eewec Ourbyni, Brad Stone and Stevil Knevil). In August 2006, BattleClinic.com graciously offered to host all aspects of the EVEMon project and supports it since.

The EVEMon project is driven by passionate developers, bug hunters and contributors as well an enthusiastic community. In August 2009 for example DonQuiche undertook the vast task on re-factoring and re-engineering the foundations of the whole EVEMon code. These changes laid the foundations for the rapid development of new features added after EVEMon 1.3.0 was released.

 

Technical aspects

The EVEMon project is well documented and follows specific guidelines and practices along with standards like TDD and MS code analysis rules.

EVEMon is mainly written in .NET 4.0 / C# and the whole development took 41 person-years so far, this translates to 2,2 million US-$ according to the basic COCOMO model.

Starting with around 35,000 lines of code (45,000 lines in total) in Version 1.0.25, the code base grew considerably over the years to now 163,000 lines of code (251,000 lines in total) due to the help of several contributors and a wonderful community.

The EVEMon development team constantly communicates with the EVEMon community via the EVEMon "Discussion and Help" forum and Desmont McCallock (and not only he) is especially thankful for this wonderful community.  

 

EVEMON Lead Developer Desmont McCallock

Desmont McCallock got involved with the EVEMon project as a bug hunter on August 2009. In order to submit bug fixes and because of Desmont’s passion for EVEMon, he started learning .NET/C# all from scratch.

As soon as Desmont got grip of EVEMon’s code, the next step for him was to start submitting whole features and enhancements to existing ones, ending up assuming the position of Senior Developer.

On December 2010 the former Lead Developer had to resign due to real life circumstances. After a small period of EVEMon’s future hanging in the balance, on February 2011 Desmont assumed the position of the Lead Developer, although he never intended to do so in the first place.

Learning a programming language from scratch just to help with bug fixing your favorite game tool and then ending up being Lead Developer and in charge of the whole project several years later is an astounding story that deserves high praise. In fact at some points in time Desmont was so passionate that he spent whole days (literally) coding.

 

Future plans

With EVEMon being already a powerful and popular tool, it might be difficult to see how it could be improved even further, but the EVEMon development team and Desmont already have plans for the future.

The ultimate goal – creating a tool for complete EVE monitoring which utilizes the entire EVE API – is not achieved yet.

We can see interesting things on Desmont’s personal roadmap such as additional monitors (checking for calendar events, contact list changes, kill log changes etc.) and support for Corporations. We can also see additional tools such as a combat analyzer, invention calculator, market price fetcher, route planner and support for Planetary Interaction. It looks like the EVEMon team is indeed not running out of steam any time soon.

Contributions and discussions about current features and future ideas are always welcome by the EVEMon team and a good start to learn more about contributing to EVEMon can be found on the EVEMon wiki.

Suggestions and feature requests can be submitted to voting using the EVEMon "UserVoice" forum and for discussions regarding existing code or ideas for code optimization, the EVEMon "Development Discussion" forum is the place to visit.

 

The most special (and scary at the same time) moment was when I decided to apply for the position of lead dev and my application was accepted (Holy shivers!).

— Desmont McCallock