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.

A quick technical post regarding ship skins

After yesterday’s dev-blog about ship skins, most players again discuss the micropayment issues. Others discuss the technical aspects – instead of introducing 8 ship skins, maybe it should be possible to create your own, unique color sets?

Remember the game Homeworld? Even though it’s several years old, it allowed changing the colors of the stripes on all ships in the fleet. Would that be possible to do in EVE Online? Could corporations have their own “stripe colors”?

The answer is YES, technically it’s not very difficult*

* – I know for sure it’s possible to do in CCP WebGL, but I do not have enough knowledge about EVE Online client code

When me and T’Amber talked about CCP WebGL, I remember we’ve discussed ship shaders being text files. What does it mean? Each CCP WebGL ship skin is simply an XML plaintext file that says which files contain the 3d model, what textures to load and all the other parameters (hue, specular, effects etc.) are set there as well, all in plain text.

How does that apply to fully customizable ship skins? Some parameters could be dynamically changed at runtime, for example Diffuse Color (hue). You wouldn’t be freely able to change the entire textures, or shape of the ship, but you would get the Homeworld-like ability to change the colourable parts of the hull to any shade you want. Like Punkturis’ neon pink? Change the hue to pink (#FF00FF) and set saturation to max. Like matte black? Change the saturation to zero and luminosity to low, and you’ll get your black.

As an example, below is the color for Gallente ships from Tristan’s .red file:

<MaterialDiffuseColor>
<name>MaterialDiffuseColor</name>
<value json="true">[0.2901961,0.3764706,0.3843137,1.0,]</value>
</MaterialDiffuseColor>

for those who want to test, here’s the same colour as HTML ( 0.2901961 * 255 -> convert result to hex )

#4A6062

What does it give us? Instanced ships items (i.e. unpacked ships) would have to contain a few more numbers, that are then used by the game client to replace the default Diffuse Color a moment before rendering the ship on screen. Would that put a lot of strain on GPU? A little bit, yes, because client would have to keep many more shaders at runtime, but the amount of actual texture files would be exactly the same.

Here I replaced the default Gallente color with this:

#FF4CFF

 

And this is the result (requires WebGL compatible browser):

Tristan ‘CCP Punkturis’ Edition
tristan-pink

Now that I’m not a CCP developer, I don’t know if EVE Online client works exactly the same way as CCP WebGL. But I bet CCP knows that already 😉

TL;DR: Hull colors are numbers, saved in plain text. You can easily change them a moment before displaying ship on the screen.

How much would you pay for ship skins?

How much would you pay for ship skins?

Roden Shipyards Megathron
CSM said in their statment, that vanity items means clothing and ship skins. So, how much would you pay for a Roden Megathron skin, or lets say an EOM Apocalypse? If these paintjobs were to be one run items, I would personally pay for such a skin a maximum of 1000 AUR, which is halfway to the price of a Navy Mega (skinned Megathron is still just a regular Megathron). For cruisers, the acceptable price for me would be max 500 AUR. What do YOU think? How much would YOU pay?

EoM Apocalypse (Death Lord)The more expensive skins get, people are less likely to fly them (and loose them), so CCP should make the price low enough so that people buy the skin again, if they lost their skinned ship.

@LennekShadow:
@rox_lukas well simply put they better be MICRO. I have no problem buying things but they beter be 1 or 2 dollors max.

[poll id=”2″]