Hello, I’m Lukas Cone.
I live in the middle of nowhere in state of decay. My specialization is IO Programming, however its not my job. How I got into this? Well relax and read.
It was somewhere around year 2008 (maybye earlier), and I played little game called Starship Troopers, note this that Starship Troopers was my first FPS game ever, along with FlatOut 2 and Dark Sector. Funny thing I was running them on weak Nvidia chipset, so every game was lagging af. I was 12 or 13 years old so yeah, pretty late for gaming huh… well middle of nowhere, poor family what else did you expect. Well back to game. I really wanted to get models of bugs or arachnids, whatever you call it. All of them. So I searched and I searched hard. And finally found program for unpacking and program for reading model format. I was really hyped “I can view bugs without game launch yeee.” Note that I was really scared when I was playing this game, especially when I played Plasma Mountain mission, it was really stressfull for me, well n00b, never played any game, you get the picture. I’ll return to this game in a sec.
Then I started activelly watch Stargate, first Atlantis, then SG-1. I fell in love with those series, for few moths I watched them every day and it was holiday. And I realized, “There must be a game for that.” So I searched again, and found little video with called “StarGate GMOD”, it was a mod for Garry’s Mod, game completely unknown to me. So I got the game and mod as well. I played a LOT and LOT of hours, placing StarGates in map, using wepons to kill NPC’s, lot of fun for me back then. I had no idea what I was playing back then. I accidentally found some old playing cards, with monsters from games, and I was like “Hey I’ve seen the monster, I killed him dozen times in GMOD, Antlion Guard? Half-Life 2? What are those games?” And “bam”, I got hit really hard by my most belowed game Half-Life 2. I played both GMOD and HL2 a lot, and somehow forget on mod I was playing back then. I realized that GMOD is not original game, even not standalone (back then). In year 2011 I ordered Orange Box, and new epoch has begun. In year 2012 I started to learn how to compile models for Source Engine, found out how GMOD handles model spawn and started experimenting with bug models I had exported in obj format, or 3ds, I’m not sure now. I used Milkshape 3D back then, becouse it was simple for learning how models and bones works. Few moths later I was completely sucessfull with my first complete project called “Starhip Troopers Ships”, it was my first project I have ever put on small domain called garrysmod.org. It took a few weeks after when I uploaded Bugs Ragdolls. And then GMOD 13 happened, standalone version with steam workshop support. Back then I played Prey (original version from Humanhead studios). And I started working on SWEP’s conversion. I was forced to work with 3ds Max. I really hated that program, since it was so confusing to me, but in time started to like it, especially animating stuff. I started to learn Lua scripting and Source Engine shader techniques and finally released my first properly but poorly scripted mod for GMOD called “Prey SWEP’s”, after that I got better with Lua and programming basics and released my beloved “Starship Troopers bugs SNPC’s”, I’ve put everything I got into this little mod, constantly updating, adding my custom animations, custom code, until breaktrough with mod called “Halo Flood SNPC’s”.
I realized that Source Engine is lacking bone scale animations, and thus, my first 3ds max script was born. I called it ScaleBoneDefinition (SBD), it was doing only one job, collect any scale curves on every bone in scene and export it into binary format, frame by frame. It was working pretty well, I just dumped array of short and float as time and value with bonenames. My mods are still using it for scale animations on some models. But I was thinking I could optimize curves by manually deleting linear keys. So I had to create gui program for editing values. I used C# for that, wrote loading namespace and gui handles. I won’t lie, I watched a lot of tutorial videos on C# back then. I started to like C# atrough didn’t know its biggest defect. From now on I used C# for my few first applications. It was year 2014 and I started research my first big game called Just Cause 2. I has it simple, some fraction of import code was done by Rick and others, all in C#, whinch was readable by me, so I gave it a try. Few weeks after I had sorta finished my first official 3ds max script for importing some geometry from Just Cause 2 model format, but released to public many months later. Between I wanted to know secrets of storing 3d geometry in binrary file, so my first private exporter called EasyMesh was born, it was exporting only raw geometry, and file seemed to me much bigger then files used in Just cause 2, so I started digging and learned value quantization. From now on, I have used this technique everywhere I could and in final result made to perfection. Thus first stable version of EasyMesh format was born, as a result of it, is small mod called “Chimeran Fleet”, I wrote C# program for converting EasyMesh directly into Source Engine mdl format. I was satisfied, and wanted to use it as my primary store format.
But something happened, that something was .NET Decompiler, all my work could be converted from exe directly into source code in just one click. So I completely abandonned C# and moved to C++, it took really few weeks until I undestood pointers and memory management, what is static memory, and heap memory, etc… But at the end of year 2015, I have completely rewritten EasyMesh format into C++ architecture, finished my fist import/export plugin for 3ds max, but there was a catch, plugin crashed, a lot. Problem was in char* strings, I used them instead of std::string, whinch was biggest mistake I have ever done. Over year I started to research more model formats from various games and updating EasyMesh. I rewrote code for it multiple times, unti I got into my final magnum opus. I completely removed EasyMesh and started a new project, where I wanted to learn true pover of C++ architecture, inheritance and polymorhism especially. And in year 2016 first version of my final achievement was born, EasyMesh was no more. I have made my own block based universal format called EasyStuff, where I couldn’t just store static meshes, but everything I could ever imagine. Everything was independend, yet linked toghether. It is still beutifull sight.
So if somenone wandering why I don’t make mods for GarrysMod, its simple, I found my final destination in IO programming. Someday I will post more info about EasyStuff format, even got little suprise for some researchers, but not now.
It’s year 2017 and I’m writing my history, history of lone wolf at the end of the world. What will avait me at the end of my road? I cannot say that. In my short life I have, when I’ll feel my end is close, I send my legacy to the world, legacy named EasyStuff.
Who knows how many angry developers will contact me, that I researched their format and stuff. We are living in strange times when rules changes ovetime. My answer to is simple, don’t be lazy, if you think you can store everything in float, good for me, If you think you can store data in quantized format, also good for me. I will always find a way to crack open any nut of mysteries. If you put your time and heart into things you admire, you can achieve big things. Sadly for me, I fell down on the opposite side.
The mods I have done are not right, I’m very aware of that, but what I did was purely for entertainment, I never wanted or forced anyone to pay for theese. All I had was a few stars, few smiles on someones faces, same satisfactions I felt the right way I was making them, tested them, healed them. But at the end, there is always someone who will take your work, and use it for own gain, I’m talking about those people who reused models and code, both took weeks to convert and make, every second of my free time, unfortunetly, I don’t have much free time left and I’m afraid someday I won’t have any. I wanted to return to mod making, but everytime I open workshop pages, I feel sick, and my taste for modding is gone. Then I return to any project I was working on. Unforunately most of them are private, becouse I’m perfectionist and that means I’m never satisfied with any tool I’m making. I also like discovering new things more than doing some stereotypical activity. Right now I completely moved into Unreal Engine 4, only things left from Source are memories.
I don’t expect your sympathy or many viewers, this blog will be always a small dot in the universe.