Been a year now?

Guess it's been an year or so since my last post.

Tried a bit of web development over the last year. Tried my hands on NodeJS, ASP.NET MVC etc etc. 

Node + JS
While I really liked Node, JS part turned out to be a tricky little fuck!
I really love the simplicity of JS. But then there is the "this" pointer fuck-ups that keep happening x_x

ES6
Recently tried Traceur. Wanted to explore how the ES6 has changed the JS landscape. Welcome improvements, but to what end? Coming from C# background, LINQ lovers will love the new ES6 stuff. There's also better way to create classes, and don't forget - Futures and Promises, the Internet of 2014 Things.

But I really didn't like the way classes are gonna be implemented. Need to qualify every member variable / function with "this". WTF.. half of my class code will be "this". Fuck this, fuck that. Also, this context is lost as usual, and using ( ) => is the only way to fix the "this" context.

Heroku
Hosted my site on Heroku for a while. The command line upload, using Git and shit for deployment was fun. Not to forget, Heroku file system is case sensitive.

App Engine
Now my site resides in Google's AppEngine. They have a GUI to upload O_o
My site is static for now, cos I had no time to invest in Python frameworks.
Google is the new Microsoft - they won't support Dart in their own App Engine, and they call it the future (I know about the VMs.. they no free Senor). Also they fucked up Maps big time :P

C#, ASP.NET MVC
Yeah, all things Microsoft. Also Windows 10. 
C# and it's Async / Await took the world by storm didn't it? C# 6 didn't raise a single eyebrow.
Guess others have caught up to C#, now the cycle repeats.
And MS's definition of Cross-Platform remains Windows 8 + Win Phone only.
Windows 7 dead already? Nope, and fuck you MS and your Air-Space Issues in WPF.
Waiting for .NET native though (I meant on all platforms)

C++11
That was nice. Being able to see it in action, in blogs and videos.
Clang is the only, truly, really complete implementation yet - like it or not. 
And I gave up tryin to get Clang working with CLion
Also, Futures and Promises. Amazeballs right?
VS2013 has no fucking support to write u8"" strings, fuck this shit. It's 2014

Alright, enough of cynical shit. The good things...

Dart
Latest adventures. Pretty awesome language. Very very non-verbose. To the point language.
Very rare thing to come across. And I'm as of now, hooked.
Made a little game in Dart, check it out
Playing with ThreeJS & Dart for now

Unreal Engine 4
Best news of the year so far. And the entire source-code, for 20 bucks. Love those EPIC guys.
It was so so long since I saw those ugly MACROS in C++ X_x
My laptop though, hates it. Blueprints though, are really amazing.
UE4 is a step in the right direction from UDK.
But no scripting language :\

Rust
Rust is the most anticipated language for now. Like it or not. The syntax is again is lot less verbose for a native language. I've been dumping my learning on Github, Yeah you can read about pros and cons everywhere. The best part of Rust is the Reddit community. Fucking awesome, really nice people, best of devs.


HTML5
Videos play nice now don't they. Finally.
Most of the browsers now support HTML5 and WebGL (even IE! Woot!)

Microsoft
Ok, all things said and done, they have shown interest in open source software.
With Roslyn and Node tools (this was really cool)
Also MVC is open source now, & so is Typescript
Not to forget, Azure is becoming more cross platform than their SDKs

Azure is also very nice to work with (I mean nice like a fluffy cute bunny), but little expensive to begin with (fucking bunnies -_-)

Ok, so the following posts will mostly be about Dart & Rust I guess. Oooo.. and WebGL may be?
















LakeView - UDK Map

My 1st UDK Map - I call it LakeView. 
Here's a couple of videos.






Things I learnt :

1. Always, always block out the level first instead of going into details

2. Plan ahead if you are making multi-floor approach (like 2 floors or more)

3. Terrains are one-way objects.. means to say from below they are invisible

4. Design levels based on type of game. For something like Unreal Tournament don't waste time beautifying the level - players don't get a chance to enjoy them much, so focus more on elements that add up the fun.

5. If possible make copies of UDK assets in your custom package (don't edit the original)

6. Add bots and test out the level in the initial phase itself. You see, you can have this glorious imagination of bots acting like smartasses and doing cool things - but they don't.

7. Check out UDK documentation for path nodes and stuff. You can see the navigation map in the editor that shows connections and also color-codes the links. It's really helpful when bots don't use way points.

8. If you make a 3D editor - for fuck's sake don't use mouse right click for navigation.

9. Fog - very useful to blur out those distant objects. Use exponential height fog when possible

10. Never make a "forest" type of level for your first map. Foliages (grass, leaves, herbs etc) are hard to place - they can cause a hit on frame-rates. Experience will teach where to use and how much to use.

11. I use blender - use your scale properly. If the model is too small then even if you scale in editor, the lightmaps will still have issues. Also, if fbx is ASCII format - you can set default scale using notepad++ :P

12. These 3D level editors - any of them - be it UDK, Unity or CrySDK, they keep crashing. Always take backups of your files - multiple ones. Use them as check points. (For me, UDK removed a lot of foliages by itself and by the time I realized they were wrong I had made too many changes to just revert to old version)


NTFS: Recording game play, compressing and uploading videos is a fucking pain in the ass

Mecanim Tryout

Let's make Unity's Ethan shake hand with a very very hot invisible chick. Press 'X' to shake hands
Very simple state machine










Idle to Shake Transition




















Shake To Idle Transition




















Flowchart-
Idle keeps looping
When "Shake" is set >> transition to Shake
Stay there until exit-time has occurred and Shake is set to false (It should be play once)

So we do need to write some code for this, Mecanim can't variables and stuff I think (not sure).

The trick for using "Boolean" trigger in Mecanim is -
Check if we are in proper state.
Set Flag
Next loop - Unset flag

Animation re-targeting is cool and all.. but I'm not so impressed with the design / architecture yet. Looks to me like it's gonna end up being a big pile of mess with lot of patch-works everywhere. Hope I'm wrong for my own sake..