Sunday, February 22, 2015

An update

I guess I could give a small update on what I'm doing with my life now. The last post was almost a year ago, after all.
Well, probably the most important thing is the fact, that I was hired by Keen SWH back in autumn. They were, and still are expanding in order to accommodate development of two games at the same time. The old one - Space Engineers, and a new one - Medieval Engineers, that went into early access on Steam a couple of days ago.
At the time when I joined, the whole art department of the studio consisted of two people, who had way too much work to chew through. Medieval was in a very unfinished state then, so I have been making new textures and editing existing models for it. Another guy who was hired along with me has been assigned the creation of collision and destruction models.
Other than that I had the pleasure to make weekly update videos for SE - recording footage, weeding out bugs, discussing functionality with programmers and testers. Before the announcement of ME I had to edit some of the videos for it, as well as make promotional screenshots.
So, while my work consist mainly of making art assets for the games, since the studio is fairly small, I get to do other art-related stuff. Sometimes, even weirder things, like recording the voice over for the tutorial for ME.
Company has employees from various European states. Most are local or from Slovakia. However, everyone is expected to be able to speak at least a bit of English, so language barrier is not a problem.

Concerning general living in Prague, I could say that it's a very pleasant place. Fairly low cost of living, beautiful surroundings, and good public transportation system. My main problem currently is the fact that it's very problematic to get by without speaking Czech or Slovak. While places in tourist areas usually have English or Russian-speaking staff, but that's about it. I am lucky if I stumble upon someone who understands a couple of words in these languages anywhere else.
I guess it's not particularly fair from me to expect everyone here to be multi-lingual. I really need to attend some sort of language courses, because basic phrases in Czech can only get you so far. But it's problematic to find time and energy while working full-time.

So, yea, that's about it. Now I'll just wait until spring is here. I'm tired of this cold weather.

Wednesday, May 21, 2014

Trying out UE4.

So now that the Uni is over I have some time to test out some of the software that has come out in the past few months. Including UE4. Especially UE4.
They've changed a lot of stuff in the editor, but overall it is still Unreal we all know and love. Well, at least I do. So far it is very pleasant to work with. I've modelled some stuff and set up a simple scene. Did some sculpting in order to refresh my ZBrush skills as well.
Here's how it looks so far with just a plain flat material.


Can't wait to get to texturing all this stuff. Node-based material editor is the best thing that happened to game development since in-editor game previews.

Tuesday, May 6, 2014

Finish.

Here's the last update on the FMP. The last week or so was quite busy since I was trying to finish all things and bring the level to completion. The old buildings looked too monotonous since there were only two sets, so I've spend a couple of days making a third one. It is deliberately more gray and blocky than the first two in order to be more versatile in reagards to placement opportunities. The fourth building in that old square still consists of parts of the other sets, but I've replaced the materials with different coloured ones. Some additional facade decorations have been made as well. Existing decorations have been improved by getting a baked-in ambient occlusion maps.
Now, having more building modules, I have assembled a slightly more believable background in the inaccesible areas. It doesn not look like the same building copied and pasted around anymore.

A lot of smaller assets have been created to fill the scene. I've added pallets of bricks and cement bags to the areas with scaffolding. They serve both as vision occluders and additional stuff to look at.
A small adition to the futuristic area is the cleaning robot. It didn't come out as good as I wanted it to be, but still is a nice little point of interest. I've also added some signs and an ad poster. The latter looked a bit out of place, so I decided to place it only in the places where it is not very visible.
In order to breathe some life into the scene, I've decided to add some movement. Now there are seagulls circling around in the sky. From technical point of view, they are just planes with a picture of a bird, animated to continuously move in circles. There's also an animated vane on the spire of the old building extrusion, but it is less noticeable.

Some more movement is added by the falling leaf particles next to the trees. I've based the system on the particle that comes together with Cryengine, tweaking the values and changing the used texture to mine.

Other important part of immersion is sound. I've used some sound files that come with the editor. I'm not getting a degree in sound engineering, so I hope this is fine? Anyway, I've added randomized seagull calls, water sound next to the pond, general ambient wind, as well as cloth fluttering sounds. At least the scene doesn't seem to be dead when you walk around it.
And probably the last thing is the camera setup and video output. The work with trackview is enjoyable, however apparently it is impossible to get the render output rght and without any issues straight away. Like most things with Cryengine, nothing is easy and straigtforward.

So, here are some final renders and the video, enjoy.

 

















The project is far from ideal. I definitely have taken on more that I should have. I had to take many shortcuts in order to get so much stuff done, and this means that the quality is sacrificed. Optimization is nonexistant, and the debugger screams at me with many warnings of exceeded budget.
Ideally, materials have to be reworked altogether in order not to have several duplicates. I am so used to UDKs system where you assign materials to IDs of each model that the way it is done in Cryengine seems very inefficient now.
LODs don't exist in this project. I've originally made all individual meshes in such a way that most of them are sub 1000 triangles, and cutting out any would distort the shape too much. However, there are still around 10-20 meshes which could benefit from creating a lowew-poly version of them. I simply did not have time for that, and performance seemed okay.
And while I get decent FPS even now, I can see how I can nearly double that by spending two weeks on optimization.
In any case, I am sort of glad that I've decided to take on such a large project. First of all, the fact that I could alternate between modern and old assets allowed me to not get bored of doind the same thing for nearly four months. This also allowed me to use the full spectrum of techniques that I know - sculpting, image-based texturing, spline and poly modelling. I even had a chance to make some simple animations. At some point in my life I would like to spend a couple of years making my own game with a small team, so the lessons I have learned will definitely be increadibly useful when building something even bigger than this.
Planning was rather funny. I tried to schedule what kind of stuff to do quite early in the production, but most of the plans had to be rearranged as priorities shifted. I'll have to come up with something when planning my future environments to minimize the rescheduling.
Other than that, this was quite interesting. Yes, I had periods when i was just too tired and bored of this, but generally it was rather fun. A great excersice in modularity. However, the next thing I'll do will probably be something small but detailed.

In creation of this project the following resources were used:
Cry Dev forums
DMUGA facebook pages
3dmotive tutorials
Eat 3d tutorials
Polycount forums
Varisous tutorials on Youtube
Various small blogs and forums
Help from the coursemates and tutors

← Previous post

Friday, April 25, 2014

Almost there.

This is probably the last update before finish, since we only have 11 days before submission. So without further ado, let's get this blog up to date.
The past couple of weeks I've spent working on the futuristic area. Most of it was already modelled, but I've made a lot of small tweaks, as well as adding new stuff. Obviously, the texturing was the main issue. In real life modern minimalistic building can have a completely plain, white surface, and this will work pretty well in correct lighting. Games, however, are still far away from realistic realtime global illumination, so this kind of plain material will look absolutely flat. So I settled on a couple of variations of concrete.



A new addition to already existing abundance of curves is the abstract sculpture in the central plaza.
In order to break up the clean whiteness, I've decided to add a bunch of organic stuff - rocks, grass, waterlilies. If I'll have some time, I'll add fishes to the pond as well.




Distance buildings don't look exactly as I wanted them to be, but they look detailed enough to serve as a fairly neutral background. Thre are 5 or so models that I've rotated and scaled in order to create this composition.



I still want to place more decals to add some dirt, as well as make the areas look more unique than just a bunch of surfaces with tiling textures on them.

Some funny things have occured as well. I was experimenting with wheteher it is possible to make a dynamic puddle using the dafault water shader. Turns out it's not. But there is an increadibly interesting glitch that occurs if you try to apply a water volume material to a custom plane.



Applying a solid decal messed up the look of the bricks. I've solved the issue by cutting out the bricks, so it's slightly better. Limits usability though.


Another issue that I'm still experiencing and can't find how to solve is some weird shadow behaviour. Basically, as the player moves around shadows that are supposed to be solid spaz out and let some light through. There are some issues with sun shadow casting range, where it works fine in some areas abut not the others. So far no solutions that I've found online work, so I'm out of ideas.

I plan to spend the last week getting the old area in order, adding some stuff, changing the existing things. A lot of stuff still doesn't have collision yet, so there's that. Plenty of work to do, but it should be fine.

← Previous post Next Post

Thursday, April 3, 2014

Area population

I've spent some time populating the old area. Now I want to move on to the futuristic area, since it's completely empty. Some assets that I want to make are going to be reusable, so it should all work out in the end.








A very major issue I'm having at the moment is the fact that decals refuse to project on brush geometry. They do project on flat collision and terrain.
Hopefully I'll be able to fix this, or I'm screwed.

← Previous post Next Post

Sunday, March 9, 2014

Rowing, rowing down the stream.

I did quite a lot of different things in the past two or so weeks. For one, I tried to sort out the background of the level. Originally, I planned to have just planes with pre-rendered images on them, but it did not work that well - they were obviously flat. So I replaced them with some simple models.




As you can hopefully see, I refined the modern plaza area as well. I assume I'll be able to texture the area soon.
Most of the old buildings are textured now, but still I need more meshes to break up the area.


Another nice addition is the trees. The foliage movement was a bit tricky to work out. Three Vertex Paint modifiers stacked together and used as RGB channels? Really, was there no way to make it work with just one?
Some similar issues were happening to the cloth pieces I used for the scaffolding. I don't really get why the editor is so adamant on only working with the materials created in 3ds Max. Why should it care whether the material used for viewport display is physicalized? I understand that there is some optimization going on in the background, but it is very annoying when you have to spend an hour trying to solve some stupid problem instead of doing actual work.


← Previous postNext Post

Friday, February 21, 2014

Yet another update

I probably should write slightly more often, but I keep forgetting about this blog. In any case, since last time I've added some materials to the buildings. I planned to use interchangeable texture sheets originally, but so far it seems like separate tileable materials are a better fit even if there is a small performance hit.

Figuring out the way maps work in CryEngine was definitely fun. I wonder who thought that it was a good idea to save displacement map as an alpha of an empty texture. It used to be an alpha of the normal map, which kind of makes sense, but apparently they wanted it to be a separate map. I wish I could just export specular, gloss and displacement maps as grayscale files, but oh well.
Additionally, there was a lot of glitches with how cubemaps worked. One of the issues included environment map rendering everything flat.

Luckily, this particular issue seems to have solved itself.
Additionally, I changed the museum building slightly, as well as added water. It's not like the player is going to see it a lot, but it is useful for the fly through video.
 

← Previous postNext Post