November 2018 Week #1

Another month gone. It has been almost one and a half months since development on A Thug's Ascension began, and what have we got? A badass player who can walk, run, crouch, go prone, jump, pick stuff up, interact with the environment and most importantly, become a ragdoll.


ADITYA CHANDRA (Lead Developer)

I started out by cleaning code and on the way I created a cool GameManager that... well, manages all stuff in the scene. My code is now solid and a lot easier to understand because it is now cleaned and has a lot of //comments. Then I gave the player an identity with a cool CharacterProfile script (that is supposed to sit on all other characters in the game as well). It has fields for name, class (standard, V.I.P., etc. (more to be added)), type (player, ally, enemy, civilian, police, etc.), gender and some values like strength and speed. I also created a simple crosshair.


Then I just quickly opened up the profiler and did some Thanyok stuff to decrease C.P.U. usage for rendering and stuff. As of now, the frame rate in-editor is well above a 100 F.P.S. and everything's awesome.

Last week I did ragdoll stuff, so I decided to put that to good use, and made scripts to enable and disable the ragdoll element of a character, and later also a script with a list of conditions on which functions which enable the ragdoll would be called. The first condition is a player should experience air-time of over 1.8 seconds (there's a 'speed hitch' when the player becomes a ragdoll in mid-air... I'll remove it next week), the second is that the player should experience a force of 2.3 or more units, and there's also a third: if you press the [L] key, the player will go limp.


And you use [L] to get up as well. Earlier if you pressed [L] while in mid-air, the player would 'get up' right there in the air (!), and I fixed that by requiring you to be rested on a surface before getting up. Getting up works by spawning a new player in the ragdoll's location and assigning it to the camera as its new follow-target. All this is handled by the GameManager.

This was followed by me cleaning more code, renaming some important variables with more descriptive identifiers, cleaning out the animation web and fixing some ugly bugs.

I also improved the aiming a lot. Earlier for some reason if you tried to look up in the air while aiming on the steps of a staircase or something, the player would become a ragdoll with the console displaying the message I defined:
RAGDOLL ENABLED! REASON: Force threshold exceeded
I fixed it by setting some conditions for aiming.



The next step after the PlayerController and ragdoll crap was definitely an inventory system. I want a full-fledged inventory system in the game which will be used to carry everything from weapons to broken calculators, and even interact with certain stuff (e.g., keys with doors).

So I created a Canvas and implemented some really basic U.I. for an inventory:



Then I implemented basic player-to-items interaction using raycasts, and made a strong "foundation" base class for all interactables (which by the way sits on the GameManager). After that I started working on a system which lets the player pick stuff up, and in its current state it just destroys the object to be picked up and logs Picked up <ObjectName>.

And then it was Monday, so I optimized stuff and wrapped everything up. Good progress.

Also check out this playtest recording... it covers everything:





DIWANGSHU KAKOTY (3D Artist)

I had to dedicate a lot of time to the junior congress for international peace and stuff (something called 'M.U.N.') I had to participate in, but I didn't let that slow my progress down.

I made a bunch of toys...
I mean WEAPONS (heh, heh... kinda the same)


And, oh, the blueprint system is up and running.


Really good progress this week but I don't think I'll be able to work the next or even the next to next week because of my last unit tests of this session. I promise that after my graduation, I'll blow my school up with a licensed nuke.


Thanks, guys. That's it for now, and we have a whole week of holidays because of Diwali, so we're hoping to get a truckload of stuff done by the time the next blog is published. Until then, cheers!

And a very happy Diwali!

Comments