Oh my, I’m a one man Support Center!

As some of you know, I spend more time on developing tools than on playing EVE. But development of tools is not just about programming.

When you open your application up for other people to use, you will start getting questions eventually:

lmeve-support-center

Yup, this is just one weekend of messages!

While I totally don’t mind that, and despite limited time, I try to get back to every single one of you as soon as I can, some of the questions repeat. So to avoid answering the same questions, I’ve created a FAQ on the project’s page on Github:

LMeve Frequently Asked Questions

I hope it answers at least some of your inquiries!

Fly safe o7

– Lukas Rox

PS. LMeve project wiki also holds Installation manual, End user manual and LMeve Northbound API manual

Ore value chart – July 2015

A few months ago I looked at the Ore Value chart in LMeve and found out their value was something quite different from what was designed by the CCP, namely medium value ores were on the top, while the ones supposed to be the best were actually somewhere in the middle.

And then CCP Fozzie came in and rebalanced mining 🙂

In short:

  • CCP doubled Zydrine and Megacyte consumption in manufacturing
  • Devs changed the mineral content of the Null and Lowsec focused ores
  • Devs rebalanced the ore content of the mining anomalies generated by the Ore Prospecting Array

Ore value chart looks much healthier now:

eve-ore-values-2015-07

Mercoxite holds the first place, Bistot is next, with Arkonor and Crokite just behind. In short: ABC ores are again a thing!

Speaking of high sec ores, there were some changes there. The first place these days belongs to Scordite, with Omber – again – closing the table.

Can I check the value of ores myself?

Sure! If you would like to check the ore values yourself, feel free to do so using LMeve Database. Just remember to sort by the last column.

PS. If you are interested in the current shape of the New Eden economy, a friend from Aideron Robotics, Lockefox is running a weekly show, EVE Prosper Market Show which is really cool and I really recommend it!

That’s it for today! Fly safe o7

Blog Banter 65 – Attributes and Skills

This months Banter was suggested by Jakob Anedalle – “I liked the discussion on The Neocom’s recent “Tinfoil Factory” on the future of attributes in Eve. Perhaps piggyback on that and invite those folks into the banter as well?
http://theneocom.com/2015/06/21/the-neocom-presents-the-tinfoil-factory-pilot-attributes/

Attributes and Skills
Does Eve need attributes? It’s been discussed a lot recently. Unlike other MMO’s your characters attributes don’t make a difference in day-to-day gameplay. They simply set how fast you train a skill. Is it time to remove attributes from the game or totally revamp their purpose? Do they add a level of complexity to the game that is not needed? If you really need to use a 3rd party application to get the most from it should it be in the game? Should they be repurposed with each attribute adding a modifier to your ship? Are attributes a relic from the past or are they an important part of Eve – You make your decision and deal with the consequences? Banter on!

It’s been a while since the last time I took part in one of the blog banters, but it’s the high time I get back on track, so… here we go!

If not Attributes, then what?

I’m not a professional game designer, but I could name myself an armchair/amateur one. I did design a few progression systems for games that I’ve never had time to finish, and I love analyzing games that I play from game design perspective. So I will try to get into CCP Fozzie’s shoes and attempt to reblance the current Attributes system.

The current state of equlibrium

Right now the Attribute system touches two main gameplay elements:

  • skills (each skill has primary and secondary attribute)
  • implants (slot 1-5 implants affect attributes, ranging from +1 to +5)

There used to be a third element – learning skills – but they didn’t add meaningful gameplay and have been removed from the game.

The training time is governed by this formula:

Points per hour = 60 * (primary attribute + secondary attribute/2)

  • Base attributes can range between 17 and 27
  • Best implants add 5 on top of that to an attribute
  • Player can map up to 14 attribute points (a maximum of 10 for one attribute) above the default 17

Assuming the above it gives us the current maximum training speed:

60 * ((27 + 5) + (21 + 5) / 2) = 2700

The same way we can calculate the minimum training speed:

60 * ((17 + 5) + (17 + 5) / 2) = 1980

These will be my reference values for the new system:

  • 1530 with worst remap and no implants
  • 1980 with worst remap and max implants
  • 2250 with top remap but no implants
  • 2700 with top remap and max implants

Now let’s have a look at primary and secondary attributes for skill groups:

Skill Group primary secondary count
Armor intelligence memory 14
Corporation Management memory charisma 7
Drones memory perception 21
Electronic Systems intelligence memory 15
Engineering intelligence memory 12
Engineering perception memory 1
Engineering perception willpower 1
Gunnery perception willpower 38
Gunnery willpower intelligence 1
Leadership charisma willpower 14
Missiles perception willpower 24
Navigation intelligence memory 2
Navigation intelligence perception 11
Neural Enhancement charisma willpower 3
Neural Enhancement intelligence memory 5
Planet Management charisma intelligence 2
Planet Management intelligence memory 3
Production intelligence memory 6
Production memory intelligence 6
Resource Processing intelligence memory 2
Resource Processing memory intelligence 26
Rigging intelligence memory 10
Scanning intelligence memory 7
Science intelligence memory 38
Science memory charisma 1
Shields intelligence memory 12
Social charisma intelligence 9
Spaceship Command perception willpower 56
Spaceship Command willpower perception 16
Subsystems intelligence memory 12
Subsystems perception willpower 8
Targeting intelligence memory 8
Trade charisma memory 9
Trade charisma willpower 2
Trade willpower charisma 3

As you can see, some skill groups have multiple primary/secondary attributes pair. We will have to dumb down simplify that in our new system!

Armchair game designer extravaganza!

Here’s my core assumptions for the task:

  • I don’t want character attributes in the new skill training system
  • I want to preserve training times similar to the current training times
  • I want to preserve the existence of learning implants
  • I want to preserve exisiting, or create new ISK sinks if possible
  • Flexibility comes secondary

In the new system we will get rid of attributes completely. Everything will now be up to implants!

  • The base training speed will be 1500
  • Implants will give a percentage bonus to training time of specific skill groups.
  • There will be new Slot 11 implant, which will significantly boost training time for a specific skill group – this will function like attribute remap works currently

First, let’s simplify that skill group table:

Skill Group primary secondary
Armor intelligence memory
Corporation Management memory charisma
Drones memory perception
Electronic Systems intelligence memory
Engineering intelligence memory
Gunnery perception willpower
Leadership charisma willpower
Missiles perception willpower
Navigation intelligence perception
Neural Enhancement intelligence memory
Planet Management intelligence memory
Production intelligence memory
Resource Processing memory intelligence
Rigging intelligence memory
Scanning intelligence memory
Science intelligence memory
Shields intelligence memory
Social charisma intelligence
Spaceship Command perception willpower
Subsystems willpower perception
Targeting intelligence memory
Trade charisma memory

The new implant tiers will have the following bonuses:

Implant tier Primary skill bonus Secondary skill bonus
-no suffix- 3% 1%
Beta 6% 2%
Basic 9% 3%
Standard 12% 4%
Improved 15% 5%

In our example we will look at Spaceship Command, which uses the following implants:

Neural Boost – Improved

This is a data processing unit implanted in the Parietal lobe.

15% bonus to training times of the following skill groups: Subsystems

5% bonus to training times of the following skill groups: Gunnery, Leadership, Missiles, Spaceship Command

Ocular Filter – Improved


This image processor is implanted in the occipital lobe.

15% bonus to training times of the following skill groups: Spaceship Command, Gunnery, Missiles

5% bonus to training times of the following skill groups: Drones, Navigation, Subsystems

And here’s the new implant that would be equivalent to Willpower +10 and Perception +4 remap

Neuroplasticity Enhancer: Spaceship Command

This advanced implant bridges specific regions of the brain to improve pilot’s cognitive abilities which result in improved training times for Spaceship Command skills.

50% bonus to Spaceship Command skills training time

There would be a total of 11 Neuroplasticity Enhancers introduced to the game:

Nr Implant Name Skill groups affected Old primary attribute Old secodnary attribute
1 Neuroplasticity Enhancer – Trade Trade charisma memory
2 Neuroplasticity Enhancer – Leadership Leadership charisma willpower
3 Neuroplasticity Enhancer – Social Social charisma intelligence
4 Neuroplasticity Enhancer – Navigation Navigation intelligence perception
5 Neuroplasticity Enhancer – Scientific Armor, Electronic systems, Engineering, Neural Enhancement, Planet Management, Production, Rigging, Scanning, Science, Shields, Targeting intelligence memory
6 Neuroplasticity Enhancer – Corporation Management Corporation Management memory charisma
7 Neuroplasticity Enhancer – Drones Drones memory perception
8 Neuroplasticity Enhancer – Resource Processing Resource Processing memory intelligence
9 Neuroplasticity Enhancer – Spaceship Command Missiles, Gunnery, Spaceship Command perception willpower
10 Neuroplasticity Enhancer – Subsystems Subsystems willpower perception
11 Neuroplasticity Enhancer – Balanced

Each character will start with Neuroplasticity Enhancer chosen at character creation time. It will be already plugged in to prevent character rolling abuse. Additional Neuroplasticity Enhancers will be available from LP Stores for 90.000 LP and 90M ISK (this should be adjusted with how much of ISK sink the economy needs – IMHO 90M might be even a little too low with current PLEX inflation).

Now let’s see how the new formula for training times will look like:

Points per hour = 1500 * (1 + <neuroplasticity enhancer bonus>) * (1 + <ocular filter bonus>) * (1+<neural boost bonus>)

when we substitute placeholders with actual values for top implants, it will look like this:

Points per hour = 1500 * 1,50 * 1,15 * 1,05 = 2716

It seems we just got rid of the attributes and reduced complexity of the game, while preserving similar training times (actually, improved it by 0.5%). We have additionally added an ISK sink the economy needs!

Op success! o7

But really? Is this really a simpler solution? In my opinion it is not, because to find which implants affect which skill group, you will now have to dig trough all of them, and read carefully. Does the game really need more careful reading and a more complicated system just to get rid of some old fashioned character attributes? Does EVE need a less flexible remap system? Please mind the new Neuroplasticity Enhancers would not allow to set attributes gradually like remaps do now; it’s either maxed out, or no go at all. And do we really need 11 new expensive implants? To make players even more risk averse?

PS. If I ditched Neuroplasticity Enhancers and used 2250 SP/hour as a base learning rate, the above revamp would actually work!

Aegis Static Data Dump Conversion Delayed

Update: Aegis SDE conversion is now available: https://www.fuzzwork.co.uk/dump/

Most of the players don’t realize that almost all third party apps need to be updated every time there is a new release of EVE. This is because of the Static Data – a special database made by CCP and released to the third party developers of EVE. It used to happen two to four times a year, but with the new release cadence it now happens every 5 weeks.

Usually the process is rather simple: CCP releases a MS SQL backup with the static data (plus some tables in YAML files), then Steve Ronuken (rather famous third party developer and a CSM member) combines both MS SQL and YAML files into one databse and converts it to several formats, such as MySQL (by far the most popular one), PostgreSQL and SQLite.

In Aegis release, CCP has changed one of the core tables – invTypes – from MS SQL database table to a YAML file. And unfortunately it caused some trouble:

Steve Ronuken [1:42 PM] It’s just because there’s data missing, due to the conversion

Steve Ronuken [1:50 PM] invGroup, invCategory data is totally missing. much of invTypes is missing

and

Forum thread about Aegis 1.0 SDE – Released

What does this mean for a regular EVE Online player? Most of the third party apps will be stuck on Carnyx static database, meaning there will be no Hecate or new missile modules there. We have to wait until CCP rectifies the situation, so Steve can convert the DB for the rest of third party devs.

Maybe it would be a good idea for CCP to consider releasing a complete database in all popular formats (or at least one), instead of data being scattered between MS SQL backup and several YAML files?

LMeve dev blog: drill down & aggregate

Hi space friends!

Today I’m going to talk about how important constructive feedback is and how to show more information in the same amount of space 🙂

A few days ago I was contacted by an interpid industrialist who is using LMeve in his daily work. The amount of ideas this pilot sent me was amazing – thank you very much, sir! There were also two bug reports in that single mail. Awesome!

This is the kind of feedback is very useful, so if you have ideas for LMeve or found a bug in it, please don’t hesitate to contact me.

Okay, now onto the new features

First off, the Industry Statistics got some love, namely, I broken down the amount of jobs started by activity type. So now you see how many of them are manufacturing jobs, and what else did your corp members do. The underlying code has been changed as well, because previously I constructed the JSON data for graph plugin by hand (inefficient!) and now I create a PHP object that gets json_encode()-d instead. In the end, more information is displayed in the same amount of space, and the code is less spaghetti!

industry-statisticsThere will be one more graph coming in Industry Statistics – with jobs delivered this time.

The second feature was requested by our new CEO (hi Razeu o7). In short, it allows to aggregate the Timesheet output at player level rather than character level. Some corp members use all of their characters for industry, and paying out monthly wage to each character is very inefficient – plus those players will then have to move the ISK to one pilot afterwards if they want those hard-earned money in one wallet. So now instead of a list of characters and how much they earned, you get a shorter list made of players.

aggregate-by-player

If you wonder if running high sec industry CAN earn you a PLEX  monthly, wonder no more. One of our players made 837 million ISK last month. He was only running industry on two characters, and one of the toons made over 600 million! Like that kind of income? <recruiter hat on> Apply to Aideron Technologies right away! </recruiter hat off>

The last new feature is a little thing (now I know how CCP Karkur & CCP Punkturis feel when adding little things), but for some players it will proove very useful: EVE Time is now displayed on the top of LMeve window. It is a client side thing, so your computer clock has to be set right for this to work (enable NTP, set the correct time zone).

Bug hunting is a thing these days

The second part of the last LMeve update is bug fixes. There are three in this release:

  • Session timer now correctly counts since LAST ACTION done in the app, rather than since logon time
  • Ore Value Chart is now restored (a small bug related to code refactoring prevented it from displaying)
  • CREST is now using HTTPS. For some reason I forgot to do this earlier and it was using HTTP. Doh!

As usual, the latest update is available on Github.

SKINs support added in LMeve (with CCP WebGL preview)

SKINs support added in LMeve (with CCP WebGL preview)

Hi space friends!

Team Size Matters at CCP has recently shipped a very cool feature that I’ve already praised in this post. In short, you can now apply different paintjobs to your ships, and you can even change them mid-flight, in space!

The first time I saw it in game I realized it would be damn cool to use CCP WebGL and have it in LMeve as well – either for reference, or to choose which SKINs you’d like to buy.

Steve Ronuken again proved his place on the CSM is one well deserved. He was so helpful, that he already imported the new SKIN YAML files to his MySQL conversion of EVE Static Data.

All I had to do is bind them to Database module in LMeve. Sounds easy, right?

Well, not so fast. While CCP was generally very helpful by providing all the data I need, they provided this data in a bit inconsistent way. I’m talking about SKIN icons in Image Export Collection. Every typeID in the game, be it a ship, module or even DUST weaponry has two sizes of icons in Types.zip file. It applies to all items, but not SKINs! SKINs have their icons in Icons.zip “because SKINs are not linked to typeIDs” according to CCP FoxFour. Well, I agree to some extent, but then when you look at it, all SKIN Licenses typeIDs have an icon in Types.zip already – they just have this exclamation mark icon instead of the pretty hull colour preview known from the game client.

I didn’t realize that these icons were in the other file – as soon as I saw the exclamation mark, instead of digging in more files, I have immediately set out to create a piece of code to draw these icons myself.

It didn’t take long before I ended up with this JavaScript piece: https://jsfiddle.net/zbasb4jc/


Possible? Possible! It does not look *exactly* like SKIN icon in game. First I didn’t know how to do gradients of the top of my head, and secondly, by now you’ve realized the first icon above is for Wiyrkomi SKIN, right? Then it means it is good enough 😉

The second step was to modify the Database view to display a list of available SKINs for selected ship, and modifying code handling CCP WebGL to load the correctly skinned version.

Here’s an example page for Caldari Raven, and a fullscreen 3D preview:

lmeve-skins-database lmeve-skins-preview

Feel free to explore this new feature yourself – the public version of LMeve Database has been updated to show SKINs as well!
http://pozniak.pl/database/index.php?id=10&id2=1&nr=638

Positive Feedback

I don’t usually fly Amarr. When I first began playing EVE ten years ago, I’ve chosen Gallente for my main character. Gallente felt most European from all the races, and I really didn’t like the slavery thing in Amarr background. Caldari reminded me too much about rat race, and I was afraid the Minmatar ships will break itself apart. Let’s say I didn’t trust in the rust back then.

But now thanks to the new SKIN system I began to fly Amarr. Why? Because Khanid Oracle is simply gorgeous.

oracle-khanid

Ship skins and customization isn’t a new idea. I mused about flying Gurista Raven back in 2012, and T’Amber has been developing his ship painting tools for at least a couple of years. So what makes ship skinning such a spot-on feature? It’s microtransactions after all, and players didn’t seem to like them back in Incarna.

There’s a couple of reasons. Incarna failed, because avatar customization in a spaceship game was not really meaningful for the players. EVE is a spaceship game, set in space, so SHIP customization feels way more fitting. Other developers understood it earlier. In WoW the main way of transportation are mounts. Thus mounts make an important element of core gameplay. There are premium mounts, which, except for different looks, work exactly the same as their regular counterparts. The core gameplay of World of Tanks is… surprise: tanks. Tanks can have different camo patterns that can be purchased for in game money (time limited) or real money (permanent). Why do people buy them? Because they can customize element of the core gameplay (well camo reduces tank visibility, so it has actual in game function, too). And now EVE has ship skins. Fits just right!

So why do I like Khanid Oracle? As I said earlier, I didn’t like Amarr. Khanid Kingdom is part of Amarr Empire, but they are closer to Caldari, and I can live with flying Caldari ships (because Gallente should know their nemesis). That’s one of the reasons I really liked flying my brick tanked Damnation 🙂 Ship skins are not just a way to customize ships, for me it actually opens up a whole race I’ve been ignoring for the past 10 years.

So my TL;DR feedback for CCP FoxFour and the whole Team Size Matters is: SKINS ARE GREAT, I WANT MORE! 🙂

What next?

Well, some skins could have an actual in-game meaning or mechanic tied to them. For example pirate ship skins, when activated, would cause NPCs of the same faction to ignore the player’s ship. But should the player engage these NPCs, the skin would expire immediately and rats would start shooting. This is of course just one example, but with working skin system, the possibilities are there.

*) The above idea is intended only for 30-day pirate NPC skins which drop as loot.

Site restored following a VMware crash

In the middle of the night last week, Torchwood Archives, LMeve Database, Yearly Stats and Aideron Technologies instance of LMeve vanished from the internet.

But it wasn’t a DDOS attack.

It turns out hypervisors (such as VMware) sometimes crash, just like Windows does.

There was connection to neither the Linux system that powers my websites, nor to the VMware running under the hood. So at first it all looked like a good old fashioned hardware fault. It took a good while to restore, because my server is colocated in a different city, and due to real life I couldn’t just go there and investigate it locally.

Here’s where a remote KVM comes in handy. It’s a special device that acts as keyboard, mouse and monitor, but you can access it remotely by visiting a special web page.
KVM which was connected to my server died a week earlier and was sent to RMA…

With connectivity to Linux and VMware gone, and KVM unavailable, the only way was to have a look locally, by connecting keyboard and monitor directly to the server.

What did the datacenter techie see on my box? Bluescreen I hear you say. Close. But on VMware bluescreens are… Pink. So there was a Pinkscreen waiting there. A simple power restart was enough to restore all the services back online.20121120_124732093_iOS

P.S. My coleague from work says VMware Pinkscreens are not PINK, they are PURPLE.

LMeve dev-blog: Bugfixes and POS tracking improvements

Hi space friends!

More and more of you have already tried LMeve, which I am incredibly grateful for. This means more people are testing the app and I get more feedback, which is awesome. I also get a lot of questions which I try to answer the best I can and in a timely fashion.

Remember: by trying and using LMeve you help developing it!

Few players also caught some bugs, that I’m happy to announce, have been properly squashed in the 0.1.52 release.

  • Bug fix in db.php “Notice: LM_dbhost is not defined” – added $LM_dbhost to global declaration in db.php
  • Bug fix in Database – “function eregi() is deprecated” – replaced with preg_match()
  • Bug fix in YAML updater – changed ‘DROP TABLE’ to ‘DROP TABLE IF EXISTS’ to prevent errors if the table was not created yet.

One bug was found by my trusty Aideron Technologies beta testers:

  • Non-recurring Tasks (singleton) bug fix – one-time tasks did not display correctly due to a mistake in SQL query

What’s new besides Bugfixes?

  • Poller now fetches StarbaseDetails.xml and CREST industry cost indexes

The first API feed is used by POS tracking code to display accurate and up-to-date fuel levels in LMeve Inventory. The second CREST feed provides NPC cost index to the build cost estimation formula (I currently use an average system index, so you might pay more or less than what LMeve uses for price estimates).

In the next release I will add a “Industry home system” field in Settings, where you will choose your home system. LMeve will then use this system’s cost index in all it’s calculations.

  • New POS management screen – displays fuel amounts and how long it will last
  • There is now a notification when any tower has less than 48 hours of fuel left

new-pos-screen

  • Tech III invention added. You can now add Tech III invention tasks and get price estimates for Tech III
  • New global setting for the default Relic type for use with Tech III Invention (Intact, Malfunctioning or Wrecked)

Download LMeve here

https://github.com/roxlukas/lmeve/

If you are updating from a previous release, please remember to create new tables included in this release using /data/schema-delta-0.1.51-0.1.52.sql

Try-before-you-buy

Well, LMeve is free software, so you don’t have to buy it 🙂 (donations are of course welcome!). But let’s get back to business. Installation requires some technical knowledge, so to make it easier for you guys to try it out, I have prepared a pre-installed Virtual Machine with LMeve, which runs on free VMware Player. You can download the image here: https://pozniak.pl/lmeve-vm/ 

  • it contains LMeve 0.1.52
  • static data is updated to Scylla
  • after booting it shows the IP address to point your web browser to:

lmeve_vm

Yearly aggregated stats CREST endpoint coming soon

Right now in Reykjavik CCP Quant and CCP FoxFour are in the middle of a presentation, and they are showing a new CREST endpoint, which returns aggregate statistic data for your characters. For example, you will now be able to see how much damage your toon dealt last year, and how that compares to a year before! Of course this applies to a range of possible metrics, including, but not limited to:

  • number of ships built
  • number of BPOs researched
  • number of pod kills in wormhole space
  • number of characters typed in chat
  • number of stargate jumps in high security space
  • damage your character dealt with projectile weapons
  • number of times your toon was tackled
  • many, many more

Ready to see how you did in 2014?

Just open this page and follow instructions: https://pozniak.pl/yearly-stats (by the way this app is mobile device friendly).

slack_for_ios_upload_1024 Screenshot_2015-03-18-14-20-25IMG_1818 IMG_1820

Feel free to check Bellatroix and Aaeriele projects as well. They have pretty graphs!

Technical details

A few weeks before Fanfest 2015, CCP FoxFour asked on forums if there are any third party devs who would be willing to work on a “secret project”. Few familiar faces turned up, and after some time three web apps have been built:

pasted_image_at_2015_03_17_03_20_pm_1024

Unfortunately due to RL I was only able to work on my prototype app for several hours, but it has the core functionality of showing the most interesting statistics in a readable way 😉

Now speaking about the technical details, this new endpoint will be available as authenticated CREST, which means you have to use SSO mechanism first to obtain a Bearer Token (see this news item about authenticated CREST for reference). Only then it is possible to access these new endpoint on the CREST API server. Data itself is returned as a JSON object, so using it in JavaScript and PHP is trivial.

The URL where the data is stored looks like this:

https://<CREST_API_SERVER>/characters/<characterID>/statistics/year/<year>/

where CREST_API_SERVER is either api-sisi.testeveonline.com or api.eveonline.com,

characterID – is the ID of the character (obtained from SSO process)

year – is either 2013, 2014 or 2015 (only these three years are available)

If everything goes fine, you will get a JSON file like this one:

{"combatDeathsPodTotal": 0,
 "combatDamageFromPlayersFighterMissileNumShots": 0,
"combatWebifyingPC": 0,
"socialAddedAsContactNeutral": 0
...}

Once you have the data it’s up to you how you want to display them.