Posts Tagged ‘Dev Log’
Rooks Keep Roundup 2: Greenlight
--------------------------------------------------------------
It’s been too long since I did the last ’roundup’. I really am rubbish at this Anyway, enough despair!
Plenty of things have been happening quietly behind the scenes since the last update, including a new trailer and a Greenlight page!
Firstly, please vote for Rooks Keep on the Steam Greenlight page. You can find all the images on there too.
I will now briefly document improvements and similar such otherworldly things. So, head deeper down to view videos, images, links and details!
--------------------------------------------------------------
Rooks Keep Roundup 1: What’s been happening
--------------------------------------------------------------
In what I hope is the start of a regular series, we’ll summarize in this convenient feature, Rooks Keep updates, improvements, additions, etc. This shall be the first into the fray; a brief overview of the current state of affairs, alongside plenty of pretty pictures and videos.
Also, you won’t see much on Chess in this post, as I’m focusing on the more recent developments.
Well then, read on to see what’s happened over the last few months of development:
--------------------------------------------------------------
Our UDK project updating procedure
--------------------------------------------------------------
This is a basic look at the procedure we use to update our projects to newer UDK builds. I use the update for Rooks Keep I performed today as an example.
First of all, UDKs are installed in a folder named to obviously incidate the project, but also the name must show the UDK version.
The format looks like this: SuperFunGame-20XX-XX.
I install the January 2012 UDK for Rooks Keep to a folder named: RooksKeep-2012-01.
This folder sits next to previous project installs like: RooksKeep-2011-09 and so on.
I NEVER try to overwrite the old install!!!
Once the fresh install is done, I set up desktop shortcuts for: the x86 game exe, the x64 game exe and the editor. I set the “-log” switch on the game shortcuts so the log output window shows up while the game runs.
I then test out the shortcuts and make sure it all runs.
Now on to making it use our own project.
All conent for our projects is always contained in a folder structure seperate from the other UDK and example game content. In this case, the folder where all Rooks Keep’s content goes is ..\UDKGame\Content\RooksKeep.
To put content in the new install is very simple, I just copy the whole RooksKeep content folder. Done.
The localzation files are in a different folder and I have to copy the individual files. There are only three of them in RooksKeep for now. We never edit the stock UDK localization files.
Source code is also quite straight forward. We have three class packages and I just copy those folders across into the …\Development\Src\ folder. I make sure to NEVER edit any of the UDK’s packages and classes, so that whole headache is completely avoided here.
If you noticed that I didn’t copy the compiled .u script files, that was completely deliberate. The old binaries will just crash the new install, so I will have those compiled from source code instead.
Ok, that was all the easy stuff. Next I have to do the config files.
There are a few custom .ini files that are specific to RooksKeep. I just copy those into the new install and there is nothing to overwrite.
The main config files are called DefaultEngine.ini, DefaultGame.ini and DefaultInput.ini. With every new UDK update, something has usually been changed in these and I don’t want to erase those updates so I can’t simply overwrite the .ini files with the ones from teh older RooksKeep install. With these three, I load up both the old and the new of each one and compare them carefully and copy across all the stuff relevant to RooksKeep. I use the ‘Compare’ feature in Notepad++ which makes this whole task bloody quick and simple.
Another thing I do is edit the searchpaths in NP++ to search the sourcecode in the new folder. It sucks to edit code and then realize you were editng the old files…
I also edit a config file of NP++ itself to update the run command I have set up to compile the code. After that is done, I compile the code.
This time I was lucky and there were no compiler errors. Nothing in the UDK’s code had been changed that caused in compatabilties in the code. This could also have something to do with avoiding as many dependancies as possible and basing off the least derived classes I possibly can.
Usually, however, there are a few errors and the only way to deal with them is to manually address each one individually as one would normally handle compile errors.
Finally, testing time. I just run the game. The game always takes a long time to start up when running a newly updated project because it has to build all the shaders for all the materials in the project’s content.
When it had finished, it started with Rooks Keep’s front end map and menu and I tested out a map and it all seemed fine. That was a very simple update!
--------------------------------------------------------------
Rooks Keep Skill Icons
--------------------------------------------------------------
Hail all!
So I’ve just  finished up a bunch of skill icons for Rooks Keep. Gaze upon them in wonderment right here:
A few things I had to remember to do with the icons:
-They had to be descriptive of their skill function
-Each one had to be colored so as to be easily discernible from the others
So at a glance you can easily tell which icon is for what skill. I reckon I got it
--------------------------------------------------------------
Rooks Keep: Character Content Elements
--------------------------------------------------------------
Greetings minions!
Our blog’s been a little lazy here unfortunately, so I’ll strike it with an insightfully intriguing post on the Rooks Keeps character content pipeline. I won’t go into the specifics of actually creating the content, rather focussing on the work inside UnrealEd. This doesn’t include the rather large coding side of things either; it’s simply the content side of things. That’s somehting for another section entirely.
So, let’s start at the beginning then.
————————————–
Firstly, we design the character, followed by the concept art for it. DC does the concept art and modeling for the character, then the UV’s and then renders up all the required maps that I will need for texturing (Normal, Ambient-Occlusion, Cavity and Wireframe). Once texturing concludes, I’ll do the rig and create the required animations, sounds and anything else specific to the character (such as masks).
Once all the work outside of UE is finshed, it’s time to get it all ready for the game. And that’s the stuff I’ll list and explain here.
———————-
-Meshes:
The characters are made up of several meshes, and also require other objects for various gore and FX related purposes.
- Character [The actual character mesh/rig]
- Weapons [The weapon(s) and other attachments that the character holds in their hands]
- Head [This is a character specific head gib used for gore]
- Gibs [These are a global set of gibs used for all characters. These include both flesh and metal pieces]
-Textures: [Often a character has more than one material slot]
The character requires a fair number of textures, which includes the usual Diffuse/Specular/Normal set and extras such as masks and emissive maps. The textures (primarily the masks) will often have various color channels dedicated to specific material functions, which will be listed here as “RGBA=”.
- Diffuse [This is the characters primary color map and sets the overall look of the character] [A=OpacityMask]
- Specular [This sets the 'shininess' of the character texture]
- Normal [The normal map appears to add extra detail to the mesh, by performing some voodoo magic]
- Emissive [This map indicates areas of the texture that are unaffected by lighting, and is often used to make areas glow]
- MaterialMask [We use this texture to set various properties on the characters material, such as reflection intensity, specular power and others] [R=Reflection G=SpecularPower B=Fresnel A=DetailNormal]
- Color Mask [This mask indicates which areas of the character can be colored by the in-game color chooser. It also sets where blood appears] [R=PrimaryColor G=SecondaryColor B=WeaponBlood A=SprayBlood]
- Gore Mask [The gore mask indicates specific areas used by the gore system] [R=Decapitation G=FootBlood B=InjuryBlood]
- Footsteps [These are bloody footstep textures used as decals when a character walks through a blood pool]
- Head Gibs [The textures used by the head gib meshes]
- Gibs [Gib textures]
- Decals [Blood decals used for various gore requirements, such as spatters, explosions, pools and drips]
- Particles [These are the textures used by the various particle systems, including gore and weapon effects]
-Animations:
- Walk
- Run
- Charge [A walking sequence used when a piece is in combat with another]
- Idle
- Idle one-shots [Idle sequences to break up the otherwise looping idle animation]
- Blocking
- Quick Attacks
- Slow Attacks
- Parry: Left / Right / Up / Down [Each piece requires a parry sequence in each basic direction]
- Quick Attacks Parried [These sequences are used when the attack of the character is parried by the enemy]
- Slow Attacks Parried [These sequences are used when the attack of the character is parried by the enemy]
- Death: Stab / Slash / Decapitated / Fried
- Pain
- Dodge
-Sounds:
- Pain[Beasts]
- Effort[Beasts] [Used when the character attacks and performs some other movements]
- Die[Beasts]
- Impacts [These are sounds of weapons successfully hitting characters. They come in both flesh and metal variants]
- Footsteps [These include various foot types on various surface types]
- Swing Weapon [Played when weapons are swung]
- Attacks [Character attack sounds. Right now, these are used by the Bishops of both sides]
- Parry Attack [The sound played by the attackers weapon when it is parried]
- Enemy Parry [Played by the victims weapon when it successfully parries an attack]
- Weapons on ground [Played by weapons left by dead players as they are moved around]
- Corpse Impacts [Sounds of dead bodies been moved around by other players]
- Blood Splats [When blood hits a surface]
- Decapitation [The joyous sound of a head leaving it's owner]
- Gibs [Gib impacts with surfaces]
- Heads [Decapitated head impacts with surfaces]
- Explosion [When a character explodes]
-FX:
-Particles
- Gore Slash
- Gore Stab
- Gore Smash
- Gore Decap
- Gore Explode
- Gib Trails [Blood particles flicking off flying bits]
- Weapon Impacts [Played when weapons parry]
- Weapon Drips [Blood drips from bloody weapons]
- Weapon Trails [Trails left by weapons swinging through the air]
- Attacks [Effects used by certain attacks, such as the Bishop fire and lighting]
-Decals
- Blood Pools
- Blood Splats
- Blood Footsteps
- Gib Impacts
- Blood Explosion
-Other/Miscellaneous: These are some of the other, equally important, elements that need to be added:
Material
The primary material/shader of all characters. This blends all the character textures and masks into the final shader that is applied to the meshes.
Material Instances
These are instances of the main character material that simply change variables from it’s parent.
AnimTree
The ‘AnimTree’ handles most animation functionallity, animation blending, and is used for other features such as: Shrinking head bones for decapitation and Foot placement IK.
Physics Asset
The Physics asset is used for Ragdoll physics and other physics based calculations and collisions.
Mesh LOD’s
The main character mesh also requires 3 extra LOD’s to improve performance when required. These can, fortunately, be generated inside UE.
Sockets
Sockets are locations placed on meshes that are referenced by code.
- Neck [Spawns a head stump mesh when decapitated]
- HeadGore [Gore particle spray upon decapitation]
- Three Weapon Edges [These are used by weapon FX trails, referenced by animation notifies]
- Weapon Sockets [Held weapons]
Notifies
Notifies set events during animation sequences, such as when to play trails left by weapons as they swing and when to play footstep sounds.
Cloth
Physics calculated cloth objects, such as the cloaks on the King and Queen of the ‘Knights’ faction.
Physics Material
Physics materials set various properties on meshes and physics objects.
SoundCues
Sounds Cues are used to blend together various sounds, tweak volumes, attenuation and other audio properties. Almost all sounds played are SoundCues.
Map Based Environment/Reflection-maps
We’ve added support to character materials, that allows them to search for map-specific reflection maps.
———————————————–
Whew! And that’s that for now! As you can see, a lot of work goes into each character piece, and this doesn’t include the actual content creation and coding for them.
I trust you found this insightful, useful or an otherwise educational experience. If, on the other hand, you were bored stiff and angry by the end of it.. Hahaha! Sucker!
--------------------------------------------------------------
Rooks Keep: Beasts and Free roaming mass combat unleashed!
--------------------------------------------------------------
That’s right, there have been some big changes to Rooks Keep! The beasts set has been implemented in-game, the UIs are starting to look wicked and music is starting to go in, but the biggest change of all has been to the combat.
The combat system has been given a total overhaul so instead of having limited movement in 1vs1 combat, players will now be able to roam freely around the arena in third person and engage any number of enemies. This opens up lots of crazy new game possibilities including mass battles against many other players and bots, invasion game types and large team battle. BlackEagle is busy right now working on realizing these new gametype possibilities.
With this, player controlled combat is now the primary focus of Rooks Keep, putting chess into the backseat. If you can’t imagine how the game works, to try to give you a general idea of what exactly Rooks Keep is; basically, Rooks Keep is a bit like Unreal Tournament with swords!
Also not minor is that the Beasts have been added. This means there are now 12 characters in-game to engage in various flavors of brutal asymmetric combat.
Don’t let the wild character colors frighten you, we’ll be attending to those as we go.
Also notice ShadowBlade’s new UI graphics compared to the previous shots of the UI I posted.
--------------------------------------------------------------
Moving Parts: Beasts Pawn and Bishop anims
--------------------------------------------------------------
Greetings everyone!
I’ve not shown much of my own work here on the blog, but today I decided to render up some of the animations I’ve been doing for the Beast side in Rooks Keep.
These Beasts were much quicker for me than the ‘Knights’ side i’d already done. The Knights were the first real character anims i’d ever done (with the exception of some sequences for Crucible UT3). I had to get the hang of some of the more advanced rigging aspects, requirements for the engine and the game itself, and then finally tackle the animations themselves.
To start off with, here is the Pawn from the Beasts in action. You can see the walking(forward), parrying at various angles and some quick attacks on display here. Each piece in the game thus far, requires about 30 separate sequences for the combat system to look proper neat
And here is the Beasts Bishop doing his thing. Similar to the Pawn, he features moving(forward), parrying (which will probably also include some neat FX down the line) and some attacks.
I’ll post more short videos in the coming weeks, and try to document more of the goings on on my side
--------------------------------------------------------------
Early Rooks Keep UI
--------------------------------------------------------------
Time for a small update while we wait for some bigger stuff.
Right now, there’s a lot of crazy stuff going down on the gameplay side of things and I’ll post some shots of the finished Queen when I get round to rendering them. Very soon, we’ll have nice shots of the beasts in-game too, but for now here’s something else.
Rooks Keep will not be using Scaleform. Instead, it will be using our own custom built in UnrealScript GUI. The reason for this is because, well Scaleform is probably great for large teams which can find someone who just does flash coding and give them a job. Web coders are more easily available then UScript coders, so that makes sense. Unfortunately, this makes the whole job much bigger and you still need someone to do the UScript side of things. For a tiny team which has more experienced UScript coders, Scaleform and having to go through another interface between the UI and the game doesn’t make much sense.
That’s the reasoning, but probably a bigger contributor is that BlackEagle didn’t like working on Scaleform and we figured we could make a simpler, more solid and totally ass kicking UI system ourselves!
I already had a widget system that was used for organizing the HUD and some primitive UI controls in the game, so I upgraded its design for a full UI system and iterated. At the moment, the system is well developed and functioning quite nicely.
Here is the placeholder main menu we’ve been using:
Those are just placeholder graphics and not all those options will be there like that in the real version.
Unfortunately, you can’t see the animations or hear the sounds it plays in that shot.
Here you can see some more bits.
There you can see that it has tab controls, lists, a test drag thing and a drop down list. Nobody appreciates how much goes into dropdown lists, but they are tricky little buggers!
For now, its looking a bit primitive, ShadowBlade is working on the real graphics for our UI and its gonna look a whole lot better! We are aiming for something similar to what you’d expect of a GUI in Blizzard’s games. Similar in style, simplicity and solidness!
Some cool things about our UI system:
It supports materials and all the effects that come with them!
Simple and direct interface with game.
Opacity and fading effects.
WidgetMods. These are not too simple to describe, but they allow designers to apply all kinds of modifications and effects to UI widgets such as animation, fading, sounds, texture layers, material layers, text and even custom things.
--------------------------------------------------------------
Beasts Update: King and Bishop
--------------------------------------------------------------
Every faction needs a leader. For the beasts, we ellected a shining, magnificent beacon of glory to be king. We elected someone who would embody all that the iconic king stands for.
It just so happens that the beasts have a bishop as well and here is the creature that is the bishop of the beasts. Don’t worry, it doesn’t bite… or scrath… or use evil magic… unless it does.
How about some scupltures… Behold the olympian physique of a champion warrior and leader, but for now heres king blubber bag:
This is the bishop in shades of brightened black:
Just one more to go…
--------------------------------------------------------------
Beasts Update: Rook and Pawn
--------------------------------------------------------------
Ok, the Rook and Pawn meshes for the Beasts side have been finished for a while and sitting around begging to be shown, so I finally decided to finish off the HD renders and actually post them.
here we have the finished Ogre (Rook) HD mesh:
This guy has all the finesse of a drunk elephant. He’ll obviously enter into diplomatic discourse and use that menacing club to outline all the important points.
Next up, you can see my the next installment in my ongoing quest to master muscles. This is the Pawn. You can call him the “Ratman”, but he doesn’t really like that.
Well, there you have the the first three beasts. It was quite a bit of work (learning more about muscle structure, especially on the forearms), but it got more fun as I learnt. Hopefully you like them.
Here are some shots of how the initial meshes were built:
Next up, the King and the Bishop…
Can anyone guess what they’ll look like?
--------------------------------------------------------------