February 20th, 2015 - New Features Part 2: (Old) Water
(continuation of previous post - thumbnail will be broken, click through to the whole entry to see video)
Acquired Stardust
taylor price
cherry valley forever

Kiana Khansmith
Lint Roller? I Barely Know Her
I'd rather be in outer space 🛸

Not today Justin

Kaledo Art
Claire Keane
AnasAbdin


shark vs the universe

izzy's playlists!
styofa doing anything

@theartofmadeline
YOU ARE THE REASON
he wasn't even looking at me and he found me

Love Begins

seen from United Kingdom
seen from Chile
seen from United States
seen from South Korea
seen from United States

seen from Slovenia
seen from United States
seen from United States
seen from United States
seen from United States
seen from United States

seen from Iraq
seen from United States

seen from United States
seen from United States
seen from Iraq
seen from United States

seen from United States
seen from United States
seen from United States
@relaxok
February 20th, 2015 - New Features Part 2: (Old) Water
(continuation of previous post - thumbnail will be broken, click through to the whole entry to see video)

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
February 20th, 2015 - Taking care of more missing features
Hi all.. pretty heavily working on new features of the engine. Â This post shows two things - clouds in progress and emissive lighting. Â
Clouds were created via perlin noise, but not yet properly changing over time. Â Very close though. Â Figuring out exactly how to color them is a challenge.
Emissive lighting uses additional terrain lighting (not terrain modulation lighting) to light objects that are placed over the emissive area, or that move through it. Â I need to lerp it a little bit across nearby vertices but overall pretty good. Â The pictures show before and after emissive light is considered.
I've also spent a ton of time on the shaders to try to get them exactly correct and will try to show some complex examples soon.
I recently joined the Neo WoW editor project being worked on by Cromon and others, and hope to add anything missing from that editor as I learn it for my engine.
The other thing I worked quite a bit on is doing old style non-procedural water. Â It's looking pretty damn close, though I only implemented an ocean style so far. Â Video is in the next post.
January 14th, 2015 - Busting through the new build barrier!
It's been an awfully long time since I posted a build, I apologize. Â The more work I did the more of a pain in the ass I knew it would be to get an actual release ready so I just kept putting it off.
Anyway, it's finally done.. I'm pasting the commit msg below. Â As usual, contact me (see FAQ) if you're interested in testing.
--
build 32 - committed - 64-bit - plus UI API - REQUIRES FULL CONVERSION
Too many changes to describe fully. -- Make sure to uninstall any previous version -- 64-bit only now, sorry! -- UI library is IN! You can make an xml/lua UI just like WoW. Most features are supported. If you sandbox with MoP, a fair amount of the UI works if you set up the confs to use it. -- Character rendering is in! (that includes NPCs that use Character models). HD soon. -- Frontend/Glue is in! You can bypass it with TEST_LOGIN=1 in the client conf (which I have in the default conf). This logs in with test/test and chooses realm 1 character 1. -- You probably don't need to literally do full game conversions anymore, now that the converter can crawl map tiles -- unless you want to, anyway. If you want mob spawns and character rendering and stuff to work you'll convert some other things though. -- I will be updating the wiki over the next several days, with a bunch of new information. -- mmosdk_sandbox.sql is a complete database for testing MoP data. May or may not work with latest WoD. -- CHANGES has everything, cl by cl.. about 400 changelists, or 25% of the entire project up to the previous build changelist. Needless to say I have been hard at work -- This is such a massive change that there is almost guaranteed going to be a follow-up build fixing some major thing. Hopefully some people that are testing will give it a go and I can get to the bottom of any major issues quickly. Glad to be back.. and more soon!
November 17th, 2014 - UI Flow & Audio
Hello again! Â I've been hard at work on the UI, API and the beginnings of an audio library.
I've put together a video showing an example of the login flow and a tiny bit of in-game UI.
Rest assured any issues with models/textures/etc in the video are known issues - I am pretty anal.
October 9th, 2014 - Character Rendering
Just a quick update. Â I took about 2 months off due to IRL work overload, but I'm back on this project hardcore.
Since I've been working on UI so much (see last post), I realized that in order to do character selection and character info frame etc, I was going to need to finally tackle character rendering. Â
It may seem weird that I haven't done it yet, but if you'll notice going back through the screenshots the only thing I had done was mob rendering which is quite a bit easier. Â Mobs just render using skin textures and do not actually equip items.
I now have all characters rendering with all equipment included. Â This work involved a bunch of new systems:
Compositing textures - This lets you render several chunks of other textures into a single one. Â For this, I used a deferred device context in D3D11 so that I can queue up commands for the device on a different thread (in this case the loading thread) then execute the command list in the main rendering thread. Â This is used for non-attachment equipment such as chestpieces, wrists, gloves, etc. by compositing texture sections onto the character model. Â They are not additional models.
Geoset control - This also pretty much only comes into play in character rendering which is why I never did it before. Â Certain meshes are enabled or disabled depending on the items equipped.
Attachments - These are items like weapons, helms, shoulders that have actual separate models and rather than being world objects in themselves, are sub-models of the character and attached to a particular bone in the model.
One issue is starting to arise here: Â over-reliance on particular database structures in order to support all of this. Â I am implementing sql tables that are mirrors of the record structure of certain Blizzard tables. Â There's no reason they have to be that way, but it lets me work a bit faster rather than designing new table structures and then converting the old one (e.g. ignoring columns I don't use, etc.) Â I would like to eventually have a better way to handle with this as my end goal is not to use their structures.
Anyway, on to more UI work including inheriting UI element templates in a much faster way than re-parsing the xml, and also rendering with the correct draw order based on frameStrata, frame level, texture sublevel, etc. Â So far, I've completely ignored that and it's causing problems.
Another 'too much blizzard' issue is starting to come up in the UI work. Â A lot of API work needed to be done on the client side, and for ease of use I'm using the same names and order of return values for things like e.g. 'GetCharacterInfo'. Â Not sure how I want to deal with this in the future.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
UI - July 7th, 2014
Hi all. Â Lest you think I am doing nothing, or even perhaps just slacking off -- nothing could be further from the truth. Â In fact, I'm probably working more now on the project now than ever before. Â I've just had the current build tied up in such a way that it doesn't make sense yet to make a new release.
Anyway, the UI code for my engine was one of the things done a very long time ago. Â It was okay in that it 'worked', but there was absolutely no way to write UI other than with code and custom sub-classing for any type of frame you wanted to create. Â What I really needed to do was support something like the xml/lua framework that WoW has.
I started out thinking that perhaps I'd look into some newer technologies, treating the UI more like a browser - some people recommended just doing it with some sort of embedded chromium overlay or at least using html5/css in some way. Â
Since I have no background at all in web stuff, I figured hey, I just want to keep my base class the same and make the rest scriptable. Â I have WoW's UI xml and lua, I'll just support that general idea - I'll use one of their frames as an example and build on it over time. Â How hard could it be?
Well, extremely hard. Â But 2 months, endless headaches, and thousands and thousands and thousands of lines of code later, I have almost the entire XML/LUA framework of WoW working in the client. Â Essentially, you will be able to build a UI for MMOSDK exactly as you would for a game like WoW. Â There's frame types that are pre-defined with some special properties like edit boxes, buttons and the like - on top of an API that accesses stuff in the game state. Â
Anyway, my goal is that my next release of the engine has this UI system enabled. Â I'm really proud of the work that's been done on it and I hope that it's an indicator of my dedication to making an actual usable engine when all is said and done.
(the screenshot above is from the working glue UI - yes you can login and select characters and etc from it)
April 22nd, 2014 - MoP/WoD Support
New build based on MoP+ data has been pushed to github finally, after about 2 1/2 months. Â Sorry for the delay. Â The next builds will focus on usefulness and bugginess of actual editor functionality.
April 8th, 2014 - Warlords of DraenorÂ
Fiddling around with WoD data. Â Tons of work still being done.. Changes list for Build 29 will be truly insane (212 changelists and counting..) - It's just quite a lot of work. Â Hopefully within the next week I will release it.
March 5th, 2014 - Tons of work continues on MoP features
Lots more new stuff supported in the engine, blending fixed, etc. etc. Â Color anim blocks (for e.g. glow mask colors), particle systems, and fully supporting changing skyboxes are some of the next things on the agenda.
February 14th, 2013 - 5.x conversion Just a little taste of 5.x/MoP data. Okay, technically it's content from Cataclysm, but... In the process of working out the kinks.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
February 13th, 2014 - New sandbox
After some experimenting, I think the time has come to change the sandboxing support from WOTLK (3.x) to MoP (5.x) data. Â It's time to get with the times and let go of the old.
I'm trying to support both, but I'm not yet sure if that's going to be possible. As usual, the github commit description will say if you need to use MoP data or not.
February 11th, 2014 - Optimization
The ability to cleanly profile things and learning more about the intricacies of D3D11 has enabled me to vastly, vastly increase rendering performance. Â How much faster? Â Well, about 500%. Â Now it's not uncommon to have typical viewport scenes running at 1000-1100+ fps.
Some of the optimizations:
-- Switching from raw RGBA textures to BC3_UNORM compressed textures
-- Moving away from a single vertex format. Â Every model type now has a vertex format only exactly the size that it needs. Â Distant terrain for example is now position only. Â Vertex buffers have lost a ton of weight because of this.
-- Speeding up quadtree culling immensely by marking a leaf calculated so it never gets recalcuated that frame, pre-calculating 4 map-tile sub-quadrants, and also making sure water rendering uses the same quadrant marking that terrain did rather than recalculating it.
-- Water was being drawn twice, simple bug
-- Portals were not properly marking attached-models in order to avoid rendering them, only the geometry. Portals are still IP and they're off by default right now, but this is a huge boost.
-- Running over shaders with a fine toothed comb and noticing years-old inefficiencies. Â For example the terrain/decal/largeterrain shaders were doing world matrix calculations despite the fact that the vertices are already in world space.
-- Not multiplying vertex positions through bone matrices with 0 bone weights.
-- Being incredibly anal going through the rendering loop to find areas not passing by reference.
-- Trying to get rid of all string-related work in the loop
-- Changing from the decade-old zthreads to the C++11 thread classes, which alone yielded performance improvements.
The interesting thing is that there is still a lot more optimization to be done, like packing row major matrices for the shaders so I don't need to transpose matrices in code anymore, improving portals, etc.
The part I enjoy most about working on this project is that there's always things to do, and new ideas come to me all the time.
January 15th, 2014 - Build 23, tons of editor work
Well, although the terrain editing shown in the previous video was a good start.. the basics of world editing are now almost completely done. Â Just need a few bug fixes and to finish up water drawing. Â Extrusion (without normal bugs), vertex painting, alpha painting, texture picking/adding/replacement, and hole drawing are all complete. Â Â I also finished object adding/adjustment for the most part. Â Â
Sorry for the bad quality video and a few bugs in the testing, but just wanted to show the features in action and get it in under the video size limit.
Build 23 has been pushed to the github repo - once again, let me know if you'd like access. Â The more testers the better.
January 6th, 2014 - Back in action and a new build pushed
Sorry - I was on vacation/etc mostly for about a month but I've pushed a new build that allows significant customization of the map system. Â Before it was hardcoded to WoW values. Â I added this system when I was working on converting Wildstar formats (in-progress), but realized it was going to be required at some point to give people the ability to do crazy things - like use 1024x1024 terrain textures and increase/decrease terrain resolution after already working with a unit scale for awhile,
I mostly fixed normal re-calculation after terrain extrusion. Â The major thing to add in build 23 (in progress) is going to be some sort of GUI for terrain picking when alpha painting. Â There's a way to do it now but without seeing the texture you're going to use, it seemed a bit pointless to describe the method.
November 21st, 2013 - Huge Terrain Editing Build
Greetings! Â Recently I probably spent the most time I've ever spent on this project and it's really starting to pay dividends now that I've had time to focus on it.
I've done a huge amount of work on the editor. Â It's possible to create maps from scratch now, plus edit them. Â The terrain editing is also getting fairly full-featured, though are still some bugs to work out (as you can see with normals and alpha in the video above)
The editor also requires NO WoW data at all anymore. Â
Thanks a lot to everyone who has tested alphas and given me feedback and crash dumps, especially akspa420 and Cromon lately.
Build 19 has been posted to github and includes a shitload of changes and improvements.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
November 16th, 2013 - Alive and Well
Hello! Â After a couple months of quite a lot of IRL work and some vacation, I'm back and working again on the engine! Â Actually, there were only a few weeks where I wasn't working on it at all. Â Just not much flashy to report.
I will still continue to make posts here with significant new progress, but all day-to-day changes and build submissions are now going on at github. Again, email me at relaxok at mmosdk dot com if you would like access.
Build 18 has been committed some minutes ago, further removing more WoW files from being required. Â This is the first build that can create completely new maps, but alpha painting still is not enabled and terrain editing is very much WIP.
Though the editor is doing quite well now, a few of you have mentioned being unable to run the client and connect it to the server. This has been tracked down to a UI elements issue. Â The client UI is one of the last things that needs to be pried away from WoW data, and on top of that it requires some UI that's from a more recent mpq of interface data than the 3.x MPQs. Â I should fix all that in the next couple days.
Things are actually at quite a good point right now. Â A huge amount of really important back-end work is done, and it's just waiting for some of my patented slam-fest late-nighters to finish off some huge features. Also, thanks to some great beta testers, stability has improved 1000% in the graphical apps. Â Won't be too long now before building worlds is full steam ahead.
I suspect within the next 3 months I will convert my github to an organization and open up installer access to the public.
September 17th, 2013 - Distance Render Test
Well, we've come a long way haven't we...? This is above valgarde with 1200 draw distance, 1200 object draw distance, 2 map tile radius, 4 low rez tile radius. I'm pretty happy that I've been able to optimize the culling and rendering to deal with throwing this much stuff at it. Â Portals are still only partially implemented, which will increase the power quite a bit.
Obviously there's still some weirdness with some texture anims and transparent meshes, you can see some not-so-pretty bits here, but we're getting closer.