tag:blogger.com,1999:blog-91354010725689004272024-03-13T15:16:05.306+00:00Technical Game DesignBecause it takes more than ideas to make a game.Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.comBlogger63125tag:blogger.com,1999:blog-9135401072568900427.post-5099755163694464082014-03-20T09:52:00.002+00:002014-03-20T13:32:16.950+00:00Good news!As you may have heard the news, Unreal Engine 4 is now <a href="https://unrealengine.com/" target="_blank">available to everyone</a> via a quite interesting subscription model.<br />
<br />
This means I'll probably have to start my "Understanding Unreal" series all over again. As usual, I'm making no promises on what will be covered when, as the process is still about documenting my findings as I learn the engine, so watch this space!<br />
<br />
In other news, I now have a <a href="https://twitter.com/HauCed" target="_blank">Twitter account</a>, so you can see what I'm up to or get in touch with me. (Note that I will not respond to tutorial requests.)Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-7881496589938667272013-08-03T14:40:00.001+01:002013-08-03T14:40:42.224+01:00No woman, no CryEngineNothing to do with women actually, but I thought I'd let you know I'm stopping my study of the CryEngine 3.<br />
<br />
It's not that I've found that it's bad, I still think it deserves more attention from the community that it currently has, but from a personal perspective, there is no point for me to dig deeper than I have.<br />
<br />
I can't get into the specifics, but that means you won't find any new articles explaining the inner workings of CryEngine 3.<br />
<br />
Good luck to those who carry on working with it, make something awesome!Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-66607421641567135112013-05-12T10:57:00.000+01:002013-05-12T10:57:20.463+01:00Off-topic: PhotosA bit of shameless self-promotion.<div>
<br /></div>
<div>
In my free time, when I'm not doing games related stuff, I do a bit of photography. I like it very much, because much like design, it's a discipline that is both technical and creative.</div>
<div>
<br /></div>
<div>
If you've got a moment to spare, you could take a look at my <a href="http://500px.com/Mougli" target="_blank">500px profile</a> and let me know what you think. I love to talk about technique and settings, so don't hesitate to throw questions my way.</div>
Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-21358091280474245612012-08-18T21:48:00.000+01:002012-11-15T21:02:11.741+00:00Understanding CryEngine 3 code: The camera<div style="text-align: justify;">
After having looked at how the player moves, I was interested in looking at how the camera's position is updated.</div>
<div style="text-align: justify;">
<br></div>
<div style="text-align: justify;">
Using the information collected from my previous investigations, I followed a lead that seemed obvious. I was in for a surprise.</div>
<br>
<a href="http://technicalgamedesign.blogspot.com/2012/08/understanding-cryengine-3-code-camera.html#more">Read more »</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-37703033018196161962012-08-02T21:40:00.001+01:002012-09-09T12:11:36.041+01:00Website troubleSo, I've switched <a href="http://www.moug-portfolio.info/">www.moug-portfolio.info</a> to point to the new server (with the new website), and for some reason, it broke MySQL.<br />
<br />
Until I can figure out what's going on, the website will be down.<br />
<br />
Sorry about that.<br />
<br />
<b>EDIT:</b> Should be OK now, please let me know if you encounter any issue.Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com2tag:blogger.com,1999:blog-9135401072568900427.post-69250626979770400382012-07-30T22:38:00.002+01:002012-07-30T22:38:26.185+01:00Website change coming soon<div style="text-align: justify;">
I've been in the process of making some changes to my <a href="http://moug-portfolio.info/" target="_blank">website</a>, mainly switching to a WordPress powered site and changing the skin as well. I'll publish this change by the end of the week. While the main address will remain the same, any bookmark or RSS feed subscription will become invalid. I'll post here again and on G+ once the new site is live.</div>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-51348197274280739362012-07-25T21:35:00.000+01:002015-03-12T11:33:37.210+00:00What is a technical game designer?<div style="text-align: justify;">
I've started this blog over a year and a half ago, but I never really explained where it takes its name from.</div>
<div style="text-align: justify;">
<br></div>
<div style="text-align: justify;">
So what's a technical game designer then? The short and simple answer would be "a designer who can code". However, that would be inaccurate and incomplete, so let's look at the long answer.</div>
<div style="text-align: justify;">
<br></div>
<div style="text-align: justify;">
<i>DISCLAIMER: This is a personal take on a position I happen to occupy. In no way it is meant to be a universal definition.</i><br>
</div><a href="http://technicalgamedesign.blogspot.com/2012/07/what-is-technical-game-designer.html#more">Read more »</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-80464169918860448152012-07-15T19:29:00.000+01:002012-07-15T19:33:04.588+01:00Understanding CryEngine 3 code: Moving the playerLet's have a look at how player input gets turned into character movement. But first, we need to talk about game actions.<br>
<div style="text-align: justify;">
</div><a href="http://technicalgamedesign.blogspot.com/2012/07/understanding-cryengine-3-code-moving.html#more">Read more »</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-46001749694759706212012-06-20T22:00:00.000+01:002012-06-21T09:17:04.986+01:00Understanding CryEngine 3 code: player character<div style="text-align: justify;">
Now, I want to know about the player character, especially about the way it's set up code-wise.<br>
<br>
</div><a href="http://technicalgamedesign.blogspot.com/2012/06/understanding-cryengine-3-code-player.html#more">Read more »</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-86789440485782517352012-06-13T21:12:00.000+01:002012-06-13T21:12:33.350+01:00Add me to Google+<div style="text-align: justify;">
Well, if you want to. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
I'm slightly changing my "posting policy" on this blog. From here on, I will only post on the blog articles I wrote. For links or random thoughts, I'll use public posts on Google+. So if you happen to be interested in what I have to share outside of my articles, you can <strike>follow</strike> <strike>circlify</strike> add me to Google+. I'll also share there the links to any new blog post. Just click on my name on this post and it should send you to my G+ profile.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
And no, I don't have Twitter and I don't like it :)</div>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-48313038304036137782012-06-12T22:36:00.000+01:002012-06-12T22:36:38.607+01:00Understanding CryEngine 3 code: loading a level<div style="text-align: justify;">
Last time I took a look at the startup sequence of a CryEngine 3 game. Now, it's time to investigate what happens when loading a level, up to the spawning of the player's character. This will eventually lead us to the Lua side of the engine.<br>
<br>
The investigation will start from when the player selects a level from the main menu.</div>
<div style="text-align: justify;">
<br></div>
<div style="text-align: justify;">
</div>
<a href="http://technicalgamedesign.blogspot.com/2012/06/understanding-cryengine-3-code-loading.html#more">Read more »</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com3tag:blogger.com,1999:blog-9135401072568900427.post-46581666367977957722012-06-12T22:29:00.001+01:002012-11-29T13:17:55.669+00:00Understanding CryEngine 3 code: Starting the game<div style="text-align: justify;">
I'm starting to look at the programming side of the CryEngine 3 Free SDK. I've been quite surprised to see that the official documentation gives little to no information on the overarching concepts and systems that are present in the engine. I then decided go down the brutal path to understand the system, which is putting breakpoints (almost) everywhere, and see what happens, in which order.</div>
<div style="text-align: justify;">
<br></div>
<div style="text-align: justify;">
As usual when I do that kind of self-teaching, I find that writing up the results of my investigation helps me making sure I know what I'm talking about. And it might as well be useful to other people.</div>
<div style="text-align: justify;">
</div>
<a href="http://technicalgamedesign.blogspot.com/2012/06/understanding-cryengine-3-code-starting.html#more">Read more »</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com2tag:blogger.com,1999:blog-9135401072568900427.post-31924289161319002132012-04-22T16:12:00.001+01:002012-04-22T16:12:27.764+01:00UDK vs CryEngine 3 SDK - Exporting animated meshes<div style="text-align: justify;">
We've seen how to make and export static meshes, now it's time to look at meshes you can play animations on. As in the previous article, I'll investigate how the pipeline expects the data to be set up, then take a look at how you export that data, and what happens in the process.</div>
<div style="text-align: justify;">
<br></div>
<div style="text-align: justify;">
Note that I'm focussing on non-character objects (i.e. humanoïds, animals, etc) because, well, characters aren't the only ones that need animations, and because it is slightly easier for me to generate data for them. I will cover characters though. Someday.</div>
<div style="text-align: justify;">
<br></div>
<h2>
<b>Why should I care?</b></h2>
<div style="text-align: justify;">
Pretty much the same as usual, to see how restrictive or flexible the pipeline is, what's done in the editor, what's done in the modelling package.</div>
<div style="text-align: justify;">
</div>
<a href="http://technicalgamedesign.blogspot.com/2012/04/udk-vs-cryengine-3-sdk-exporting.html#more">Read more »</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-46346571243943780542012-04-07T10:00:00.000+01:002012-04-07T10:01:22.836+01:00Animation Chronicles - Episode 7: First animation, playblast and graph editor<div style="text-align: justify;">
I am now all set to animate my helicopter. I'll need a bunch of animations to make my tests and I'll start with a simple one : a looping animation of the rotors turning. This will be the opportunity to talk about a few of Maya's animation related features: referencing, playblasts, and the graph editor.</div>
<div style="text-align: justify;">
</div>
<a href="http://technicalgamedesign.blogspot.com/2012/04/animation-chronicles-episode-7-first.html#more">Read more »</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-45374477751425302412012-03-27T17:46:00.001+01:002012-03-28T22:55:26.259+01:00Animation Chronicles - Episode 6: Rigid skinning<div style="text-align: justify;">
Preparing a new article for the UDK vs CryEngine 3 SDK series, I had to rig a non-organic object (read: not a character) in order to test the animated object pipeline with something simple. It also gave me the opportunity to make a skeleton from scratch and learn about skinning (or binding, in Maya language), which is the topic of this article.</div>
<div style="text-align: justify;">
<br></div>
<div style="text-align: justify;">
For a number of reasons that don't need explaining, I chose to rig a vehicle, an helicopter to be precise. I took the Black Hawk from the CryEngine 3's sample assets. However, it wasn't rigged, so I had to it myself as I wanted to try and export this model into UDK. Good exercise.</div>
<div style="text-align: justify;">
<br>
</div><a href="http://technicalgamedesign.blogspot.com/2012/03/animation-chronicles-episode-6-rigid.html#more">Read more »</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-56847899405252970832012-02-25T18:22:00.001+00:002012-02-25T18:22:49.490+00:00Naomi Alderman on video gamesI happened to catch that on the radio in my car yesterday (yeah, I do listen to Radio 4)<br />
<br />
<a href="http://www.bbc.co.uk/iplayer/episode/b01c7xfd/Front_Row_Naomi_Alderman_on_video_games/">BBC iPlayer - Front Row: Naomi Alderman on video games</a><br />
<br />
Rare to hear about that topic on the radio (at least in a good way).Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-20187038840007051592012-02-22T21:10:00.003+00:002012-02-22T21:10:56.640+00:00Gamasutra - News - Tips from a combat designer: Fibonacci game designInteresting article on how to know when to say "stop, no more", and how to use the golden ratio in game design.<br />
<br />
<a href="http://www.gamasutra.com/view/news/40294/Tips_from_a_combat_designer_Fibonacci_game_design.php">Gamasutra - News - Tips from a combat designer: Fibonacci game design</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-69637463566523045592012-02-18T20:26:00.001+00:002012-02-18T20:26:23.439+00:00Articy:draft<div style="text-align: justify;">
Earlier this week, a co-worker let me know about a tool aimed at helping people write branching story lines, mainly for games. It's called <a href="http://www.nevigo.com/index.php?id=5" target="_blank">Articy:draft</a> and allows you to define the flow of your story, the conversations (even handles multiple-choice dialogue systems). You can also create annotated maps of the various locations. It's multi-user and integrates with version control systems. It looks really cool, but the benefits/price ratio will make it hard to convince anyone to buy licences.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Regardless, it's worth checking it out:</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/S2NQJtkLnsw?feature=player_embedded' frameborder='0'></iframe></div>
<br />Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-5556148472798357572012-02-08T23:22:00.000+00:002012-03-18T13:48:17.701+00:00UDK vs CryEngine 3 SDK: Custom geometry<div style="text-align: justify;">
Today, I'll take a look at the pipeline for getting your own meshes into the editor. I will focus on "normal" meshes (i.e. those that are not rigged).</div>
<div style="text-align: justify;">
<br></div>
<div style="text-align: justify;">
I won't spend any time explaining the actual process, the documentation (<a href="http://udn.epicgames.com/Three/FBXStaticMeshPipeline.html" target="_blank">UDK</a>, <a href="http://freesdk.crydev.net/display/SDKDOC3/Exporting+Basic+Geometry" target="_blank">CryEngine</a>) does that well enough. I'll be pointing out the restrictions and peculiarities that rule the way the artists should work. I will then go over geometry export, collision export, and material export.</div>
<div style="text-align: justify;">
<br></div>
<div style="text-align: justify;">
Note that as I'm a Maya user these days, I may talk more about Maya than about Max.</div>
<div style="text-align: justify;">
<br></div>
<div style="text-align: justify;">
<b><span style="font-size: large;">Why should I care?</span></b></div>
<div style="text-align: justify;">
I want to know how quick it is to get a new model into the game, and how quick it is to update it.</div>
<br>
<a href="http://technicalgamedesign.blogspot.com/2012/02/udk-vs-cryengine-3-custom-geometry.html#more">Read more »</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com4tag:blogger.com,1999:blog-9135401072568900427.post-71536607700495178412012-01-22T23:17:00.000+00:002012-01-22T23:26:42.431+00:00UDK vs CryEngine 3 SDK: Object manipulation<div style="text-align: justify;">
As I was testing things out for the article on whiteboxing, I realised that each editor has its own set of nice features that makes your life easier when placing meshes and various entities in the world. I thought it deserved an article of its own.<br>
<br>
<b><span style="font-size: large;">Why should I care?</span></b><br>
Well, because the easier it is to mess about with level's objects, the faster I can work.<br>
<br>
</div><a href="http://technicalgamedesign.blogspot.com/2012/01/udk-vs-cryengine-3-sdk-object.html#more">Read more »</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-15711462906071366182012-01-02T18:14:00.001+00:002012-01-22T21:17:44.144+00:00UDK vs CryEngine 3 SDK: Whiteboxing<div style="text-align: justify;">
Today 's post is focussed on the whiteboxing tools available in UnrealEd and Sandbox. And I've just realised I haven't written a glossary entry about whiteboxing, so I'll quickly explain what it is. Whiteboxing is the process of producing a very crude version of the level's layout. It focuses on the playable space and its purpose is to evaluate things like scale, navigability and timings. </div>
<div style="text-align: justify;">
<br></div>
<div style="text-align: justify;">
<b><span style="font-size: large;">Why should I care?</span></b></div>
<div style="text-align: justify;">
<br></div>
<div style="text-align: justify;">
As an evaluation tool, a whitebox level will be modified many times, and sometimes started over from scratch. This is why whitebox geometry must be cheap to produce and easy to modify, so people (especially artists) don't feel like their time is wasted. Ideally, the whiteboxing tool would be simple enough so you don't actually need modelling skills to create those basic shapes, allowing level designers to completely own that stage. That's why the tools must be easy to use and their result easy to modify.</div>
<div style="text-align: justify;">
</div>
<a href="http://technicalgamedesign.blogspot.com/2012/01/udk-vs-cryengine-3-sdk-whiteboxing.html#more">Read more »</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com2tag:blogger.com,1999:blog-9135401072568900427.post-47058453801322192812011-12-14T22:23:00.001+00:002012-01-29T14:42:27.287+00:00UDK vs CryEngine 3 SDK: Creating a new level<div style="text-align: justify;">
Today, I'll look at how to create a level. Fairly straightforward, but what's interesting here is knowing what makes a level and what are the options available.</div>
<div style="text-align: justify;">
<br></div>
<div style="text-align: justify;">
<b><span style="font-size: large;">Why should I care?</span></b></div>
<div style="text-align: justify;">
Because, depending on the type of game the engine/level editor has been built for, some assumptions are made about the components of a level. And if we ever want to make something different, those assumptions may get in the way. We must know them to be able to circumvent them (if needed).<br>
<br>
</div><a href="http://technicalgamedesign.blogspot.com/2011/12/udk-vs-cryengine-3-sdk-creating-new.html#more">Read more »</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com3tag:blogger.com,1999:blog-9135401072568900427.post-35468296091810254392011-12-12T23:45:00.000+00:002012-03-03T09:32:14.237+00:00UDK vs CryEngine 3 SDK: Getting started<div style="text-align: justify;">
So, let's do this in chronological order. One of the first things we want to do when starting a project (well, after the design phase) is to set up the SDK so we can actually start to make something. I'm going to take a look at what's needed to get the SDK installed and running.</div>
<div style="text-align: justify;">
<br></div>
<div style="text-align: justify;">
My M.O. will be as follows (and will be the same for every article in the series): I'll start by explaining why I'm looking at what I'm looking at, then I'll tell about what I know (UDK) before looking at how it's done in the CryEngine.</div>
<a href="http://technicalgamedesign.blogspot.com/2011/12/udk-vs-cryengine-3-sdk-getting-started.html#more">Read more »</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-74873885184690700642011-12-11T19:16:00.001+00:002012-01-29T14:43:01.660+00:00UDK vs CryEngine 3 SDK: A no-nonsense comparison<div style="text-align: justify;">
Catchy title, hey?</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
For various reasons I've decided to park my learning of animation skills and now I'm interested into taking a closer look at the CryEngine 3 SDK.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Being a UDK user, I'm obviously going to compare both engines a lot. However, my goal is not to determine "the best engine", but to find out where are their respective strengths and weaknesses. This will be a series of blog posts, each focussing on a specific topic. The two engines will be evaluated on about 3 criteria:</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<ul>
<li>How straightforward the process is (i.e. number of steps required to get things done).</li>
<li>How easy it is to iterate on content.</li>
<li>How easy it is to make something different from the default game.</li>
</ul>
<br />
<div style="text-align: justify;">
<i>DISCLAIMER: As much as I'll try to give unbiased information, I cannot guarantee that the ratings on the above criteria will be objective, as what seems easy to me may not be easy to you and vice versa. But at least this will give you an idea.</i></div>
<div style="text-align: justify;">
<i><br /></i></div>
<div style="text-align: justify;">
The first topic will be about getting the SDK up and running.<br />
<br />
You'll find all the articles in the series by following <a href="http://technicalgamedesign.blogspot.com/p/udkcryengine-3-tool-set-comparison.html">this link</a>.</div>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com0tag:blogger.com,1999:blog-9135401072568900427.post-64038089683823158122011-11-02T23:05:00.000+00:002011-11-19T22:40:27.367+00:00Animation chronicles - Episode 5: Character sets and poses<div style="text-align: justify;">
I'm about to create the control rig for my character's arms. Like the legs, it's going to be based off IK solving, though it's going to be a bit more complex. Unless you're making a dancing game or a fighting game, your characters are unlikely to have as complex movement in the legs as in the arms, especially when it comes to twisting. I'm going to need to test my shoulder controllers with the arm straight (as in bind pose) and with the elbow bent. And I'll probably want to go back an forth between those, which is I'll create a character set.</div>
<div style="text-align: justify;">
</div>
<a href="http://technicalgamedesign.blogspot.com/2011/11/animation-chronicles-episode-5.html#more">Read more »</a>Cédrichttp://www.blogger.com/profile/15905401462420909537noreply@blogger.com2