Monday, 24 March 2014

GDC 2014 - Well That Excalated Quickly

So last Tuesday Elliott told me GDC was coming up and it was going to be streaming the next day. I didn't think much, GDCs before have been pretty standard, new games, refreshed hardware and nothing particularly special. Around the labs everyone has been saying oh yea UE4 will take another few months to be public... Weren't they wrong.


So first Unreal 4 was unveiled as a subscription based service and I found out that it's going to support Linux and have a Linux-based editor! Well that's awesome. As a long time Linux experimenter I have always wanted to try and use Linux but the support for games just isn't there. I'm also an avid Steam OS supporter and I've been personally looking for Linux support not only for the games but also for the creation of the games. Up until now Leadwerks has been one of the few options for that and they've only just got there themselves so I'm pretty excited by Unreal 4. After finding out that it was actually out and that you could download and use it Elliott got straight on that and for $19/month it looks amazing! However from the frame rate it was clear that it's a massive step forward techwise, with SteamBoxes coming at the end of this year I really want to start developing for them and the choice between Unreal 4 and Leadwerks is tough. Leadwerks provides a lower required spec but also doesn't give the power and optimisation of Unreal 4. Decisions...

Head over to Develop for an interesting article about Linux based game development.
http://www.develop-online.net/tools-and-tech/opening-up-linux-is-the-os-becoming-ripe-for-game-development/0190717

Alongside the exciting UE4 announcement Next-Gen CryEngine was announced as a subscription based service for $10 a month. Rather than an entirely new editor and an entirely new program this CryEngine is pretty much the same but its the CryEngine that some of the Crytek Studios have been using for the past few months/years which has PBR and other next gen goodies. Unity 5 was announced with the same next gen awesomeness but also with some really nice extras like a pretty sweet sound editor and a pretty intuitive UI editor. This however is $75/month bare minimum which makes it less and less appealing. The lack of royalties is a nice thing but its definately something to research.


Probably the thing that excited me the most however was... Oculus Dev Kit 2.


Oculus DK2 is soo exciting and considering it will be shipped in July it is perfect timing for my final year of Uni. After spending the past 6 months thinking about trying to work on Oculus for my final year I have some very exciting things happening in my brain at the moment, especially because I have pre-ordered my very own. I hope that after the Easter I will have an elevator pitch ready for this FMP idea, I'm trying to get some things down on paper and trust me its exciting and awesome...

Saturday, 15 March 2014

"Academic"

I have always been interested in a fairly large array of subjects and whether or not I was good at them didn't dissuade me from being interested. That being said I don't think I have ever considered myself "academic", I was recently described as "more academic" and this really made me think. I don't think of this as a bad thing but more as unexpected but perhaps quite true. I do however feel that I need to change something about what I am doing to learn more and get more creative, interesting work done; this academic aspect to me has been coming out more than ever recently. I have become transfixed with something and this fixation seems to have made me think more academically in a hope this will allow me to achieve my goals. Lets try and find the interesting Kiwii from time gone by.

I have been going through the motions to create environments and I feel like this is perhaps the wrong way to go about things. My focus has never wavered but I feel that the way that I have been applying that focus recently hasn't been helpful and hasn't been productive or creative. I seem to be creating meshes, unwrapping them, texturing them, placing them in engine, and repeat. I haven't been an artist for the past few weeks I have been a construction line worker, and this has really taken its toll on my imagination and creativity. I am really enjoying the group project and how things are coming together and I'm really excited for what the dockyard could look like but there is something which isn't quite right. Without a really strong direction of what I want the dockyard to look like I feel like I am just creating assets which will go in the environment, which is great practice, but I don't feel that I am learning anything from it other than the continual push/pull of time management. Both projects seem to be really big and the end of them seems distant, but neither is. My goal was to have 3 compositionally solid renders of the dockyard and a short flythrough finished by the time I come back for the Summer Term and that's when the Group Project is being handed in for Uni's deadlines. Here's a quick look at how things are progressing with the dock yard. (The images below the renders are the reference for what I want to eventually achieve - Here's the Pintrest board)




As you can see I haven't managed to do a great deal in the past month. This is something I need to address and I'm going to do everything I can to work this out. I may end up going back to the drawing board and trying to create a concept to unify the ideas in my mind so that I can work out what I need to make. I have created an animation for our group project which I am becoming more proud of, there will hopefully be a video of it by the end of the week on the group project blog over at http://www.theflyingbuttress.co.uk.

To address my creative-block/excess academic-ness I think I am going to try and focus more on smaller more achievable experiments instead of larger testaments of my current abilities.

I'm going on an adventure to recover Kiwii.

Elements of Game Technology: Sound

Sound is a vital part of our experiences with media, it is where media started from with radio. Sound within interactive media is if anything more important than it is within film. The immersion can be easily broken if sound does not fit or if it is implemented poorly. Sound is such a key part to conveying emotion and atmosphere that games have used it from the very early ages to adjust the player's mentality to be receptive to what they are being presented with.


If its the simple, cheer-y and fast paced sound of Tetris or the melodic, calm and classical epic grandeur of Morrowind it is key to realise how important music is to creating the correct environment.


Personally I found that the most effective soundtrack was that of the Quake series, perhaps the artists being some of my favourite artists helped with that but Nine Inch Nails and Front Line Assembly did a great job in creating an atmosphere of getting things done! The speed and intensity of the game was perfectly accented by the speed and intensity of the music. What I personally enjoyed the most was where Sonic Mayhem and Front Line Assembly worked together to make a variation of musical styles which cover the the different play styles of different maps. Here is a compilation of the tracks.

After the sound tracks comes the foley and voice acting which is something that is still being vitally tweaked by modern games. This video documenting the making of "The Last of Us" is really good at showing how sound is being implemented and how acting, not just voice acting, has become a vital aspect to games. The section on sound starts at 47 minutes through.

Wednesday, 19 February 2014

Elements of Game Technology: Game Engines

Game engines are the programs behind a game. They contain all of the code which will tell a computer what to do when a certain thing happens, they will tell the computer how to compute the textures and triangles. This means they are incredibly complex and have improved greatly since the '90s. Explaining a game engine may have been somewhat easier, as the visuals weren't really hiding what was going on as much, where now we have decals, particle effects, tens of thousand tri limits and various techniques to create better and better visuals. A triangle is now an incredibly complex idea for people to understand while looking at a game and the fact that there can sometimes be a million on the screen being rendered makes this more difficult to comprehend.

If we look at Doom its far easier to say that the walls here are made of triangles between vertices, the Doom level is like a 3 dimensional graph with points plotted at positions like 1,2,10 (x,y,z) many of these points make up the level. It is the engine's job to read the information of where the points are, and what other points they are connected to, to create each triangle, it then needs to render the texture on to that triangle.



Game engines are maths, they are maths and code. Nowadays they are incredibly advanced pieces of programming capable of rendering some incredible artwork realtime. There are a couple of engines which are being used regularly by both developers and are free for the public to use for non-profitable purposes. Unreal Engine 3 is probably the most commonly used and the content created with the engine is incredibly varied, it has recently been used a great deal for mobile games. CryEngine 3 is often considered the most powerful and dynamic open engine, rather than having to bake lighting CryEngine has a very successful dynamic lighting system. More recently just before the next generation of engines and consoles (PS4 and Xbox One) came out Unity3D became very popular. It is a cross-platform engine which has increased in popularity with the indie market because of the difference in price to publish a game in the engine. An engine which is used less commonly but still worth mentioning in the list of publically available engines is the Source engine. The Source engine is Valve's engine created for Coutner-Strike: Source and Half-Life 2 it is mainly used by the public to create maps for valve games but it is occasionally used to create full games such as Dear Esther and The Stanley Parable.

Game Engines were initially the developer's tools for creating the game and so they were fairly set in what kind of games would be easier to create in them, for example UDK, CryEngine3 and Source engine are all engines based around the First-Person Shooter and so building other types of games was fairly difficult at the start of their use, now engines are being used by so many different independent developers to create varied games that the creators of the engines are more interested in making the tools usable for different styles of games. The more closed off companies often have their own in house game engines which means that they don't have to provide support to outside users but rather create an engine which does is required of it.

UDK has a really efficient and powerful shader system which uses flow graphs to create procedural materials.
Cry has realtime lighting it is incredibly versatile.

Something that I'm very interested in is the move to supporting Linux as a platform games to run on. Previously no one has had any interest in using Linux as it is an open-source operating system which has many variations each with their own differences and often Linux is unsupported by hardware creators. All of this has been changing since Valve decided to port their games to Linux in 2012 it is now clear that this was the start of the creation of SteamOS a variant of Debian, a Linux distribution. This has opened up some interesting developments such the creation of the Leadwerks Game Engine, an engine which is focused on indie developers and Linux with a cost of £76 and no royalty fees it seems like it has come along at the perfect time to fit with the release of SteamOS this summer. Unfortunately as it is a recent development it is no where as refined or efficient as the other engines which have been developed over years and years.



Saturday, 18 January 2014

Elements of Game Design: Documentation

Documentation is incredibly important to the design and creation process, at my stage documentation helps to solidify the things you learnt over the process. Documenting where you made mistakes and how you fixed these mistakes has a great impact on your learning curve, it also provides a place to turn to when you come up against similar issues at a later date. Essentially documentation allows your process to be explained to someone else so that they could create the same piece.

In a professional environment this documentation is incredibly important as it provides reference to the rest of the team as to how you produced the work and if someone is to pick up half way through a project all of the information they need is within the documentation. Most importantly documentation sets out things like art style, naming conventions and technical limitations it acts as a reference for the artists working on the project.

I am currently creating an environment for the BMW Art Test and so decided to use this project as the basis for this excercise.

Brief:
"To create an environment suitable for advertising a product, it should display your artist judgement and abilities within 3D art and realistic rendering"

Outline:
I will create an environment which can be used both for my art test and for my portfolio, this means that it should be optimised for game standards in terms tri limit and texture space. Even with this limitation I am aiming for a photo realistic representation of a dockyard. I chose a dockyard because of its modularity, I should be able to make a tileset containing a shipping container, shipping pallet, oil drums, water drums, cardboard boxes, warehouse shelving, airconditioning ducts, and then make the main warehouse. I want to focus on quick techniques for producing efficient and realistic assets. The audience for this project is a professional marketing visualisation team the idea being to display my artistic judgement and abilities. For the purposes of this blog post I will pretend that there is to be a Lead character and NPC in this scene.

Reference Material:




Technical Specifications:
I want to hit a specific frame rate and to do this I need to keep a consistent amount of tris and draw calls on the screen. This needs to be closely considered so that the level runs smoothly. Fortunately for me the floor of this environment is going to be amost entirely flat so I can easily reduce my terrain limit and save tris and draw calls in that area. However because of the nature of dockyards there are going to need to be a fair amount of decals to break up the concrete and tarmac.

Software:
- 3Ds Max
- Photoshop
- nDo2
- CryEngine3

Lead Character
- 10,000 Tris
- 2x 1024 Materials
      - 2x Diffuse (1x Specular, 1x Opacity Map in Alpha)
      - 2x Normal (2x Gloss in Alpha)
      - 1x Colour Specular

NPC
- 7,000 Tris
- 1x 1024 Material
- 1x 512 Material
       - 2x Diffuse (1x 512 Opacity Map in Alpha)
       - 2x Normal
       - 2x Specular (2x Gloss in Alpha)

Vehicle (Hero Asset)
- 13,000 Tris
- 2x 1024 Materials (or equivilent memory space)
       - 2x Diffuse (1 x Opacity Map)
       - 2x Normal (2x Gloss in Alpha)
       - 2x Specular (1x Colour Specular)

Warehouse Building
- 5,000 Tris
- 4x 512 Tilable Materials
       - 2x Diffuse
       - 2x Normal
       - 2x Specular (2x Gloss in Alpha)

Oil Drums
- 2,000 Tris
- 1x 1024 Material (4 Variations)
       - 1x Diffuse
       - 1x Normal
       - 1x Specular (Gloss in Alpha)

Water Drums
- 3,000 Tris
- 1x 1024 Material
       - 1x Diffuse
       - 1x Normal
       - 1x Specular (Gloss in Alpha)

Shipping Pallet
- 200 Tris
- 1x 512 Material (3 Variations)
       -1x Diffuse
       -1x Normal (1x Specular in alpha)

Barrier
- 2,000 Tris
- 1x 1024 Material
       - 1x Diffuse (1x Specular in alpha)
       - 1x Normal

Shipping Container LOD 0
- 10,000 Tris
- 1x 1024 Material (5 Variations)
       -1x Diffuse (1x Gloss in alpha)
       -1x Normal (1x Specular in alpha)

Shipping Container LOD 1
- 5,000 Tris
- 1x 1024 Material (5 Variations)
       -1x Diffuse (1x Gloss in alpha)
       -1x Normal (1x Specular in alpha)

Shipping Container LOD 2
- 2,000 Tris
- 1x 512 Material (5 Variations)
       -1x Diffuse
       -1x Normal (1x Specular in alpha)

Reference:
http://docs.unity3d.com/Documentation/Manual/OptimizingGraphicsPerformance.html

http://freesdk.crydev.net/display/SDKDOC3/Asset+Performance+Guidelines#AssetPerformanceGuidelines-ImportanceofAssetOptimization

Saturday, 11 January 2014

Mortal Engines Self Portrait

Finally finished and handed in my self portrait. This project was really satisfying to finish, there is something about finishing a rig which really helps the character feel finished. I did have to overcome multiple issues with the rigging process, they are quite obvious things when you look at the character, the pouches on the hips, the scarf, the collar and the pony tail caused the biggest problems. The material definition isn't quite as good as I was hoping for but I hope to improve upon this in the captain's desk brief.







Sunday, 5 January 2014

Elements of Game Design: Level Design

Level design is pretty much composition on a larger, more varied and complicated scale. It requires some use of compositional techniques similar to those used on a 2d plane but in the 3rd and 4th (time) dimension as well and a thought into the psychology of the player for. Level design is very easily equated to designing a maze Doom is a perfect example where the levels were essentially mazes with keys to open doors. This is an aspect which has developed with games, the mazes have become more and more in depth and complicated. As these mazes got more and more complex interactivity between the player and the level also became more and more complex which adds yet another level to the lives of the level designers.

Within the different genres there are many variables and considerations that need to be taken into account. For example multiplayer first-person shooters require a great deal of thought going into the likely conflict points, whether team based, duel or all-on-all. Singleplayer story based games require a lot more focus on implicitly telling the story without being too in your face about things. All level design has to be intuitive and the ease of completion needs to be judged carefully, obviously you don't want the maze to be too easy for these pesky mice/gamers but you also don't want people to stop playing because they're unable to work it out.

One person who has shown their understanding of this particular subject, whether purposefully or accidentally, is David Johnston. He is the original designer of de_dust and de_dust2, for those of you who don't know, de_dust was the most played maps in the world at one point. I would personally say that it has significantly changed gaming history, I know I spent far too long wandering around those particular mazes. They were made for the 4th beta of the Half-Life mod Counter-Strike back in 1999 and were kept in for the final released mod and then kept in for Valve's release, and then made again for Counter-Strike: Source in 2004 and made again for Counter-Strike: Global Offensive in 2012. The Counter-Strike games have been some of the most successful and longstanding games in the PC gaming and esports environment with the original Counter-Strike still being played in some tournaments today. De_dust and De_dust2 are the staple maps in the series, they are played by virtually everybody who plays the game. Now that I've got that off my chest back to level design and David Johnston. I said "purposefully or accidentally" because although it is clear that he really knows what he's doing now, he was around 16 or 17 when he made de_dust.

Level Plan of de_dust from Counter-Strike 1.6


You can read about the making of dust here where he explains that he had previously had "little pre-planning" when making maps and the same was true for de_dust. After reading through the page it is clear to me that there is one main thing that helped him make some incredibly successful maps is that he thought about what he was doing, isn't that simple? In all seriousness if you put your mind to something and just think about how people will perceive it and how you want to affect that perception it seems you can do a great deal by just thinking. In this case he thought about how the terrorists and counter terrorists would play, what the fastest routes would be, where the sniper nests would be, how to make things fair for both sides... he though about everything. And he solved issues as he found them. He used common sense as he puts it. Here he has written a really good article on common sense as a designer.

Environment art and level design often get confused. Orange and grey maps which are used by Valve to test how well a level works without confusion or distraction show the clear difference between level design and environment art. These have been adopted by the modding community for Counter-Strike Source and as you can see below these maps are very interesting, and they are definitely gameplay focused. That is the point of multiplayer FPSs, they are about gameplay, they are essentially sports and so the visuals are extra, they are nice but they add to the gameplay.

Level available here http://maps.cs-bg.info/maps/css/1667/

In Quake Live(online version of Quake 3) there is even a setting to tone down the textures so they appear more like those in the above image to reduce distraction when playing in a competitive environment. Level design is vital in today's games, the mazes are getting ever more complex in regard to most games while getting ever more refined in regard to esports.

Reference:
http://simonlundlarsen.com/level-design-patterns/
http://www.postdesk.com/creator-of-de_dust-dave-johnson-interview
http://www.johnsto.co.uk/