Crawl

With my internship ‘finished’ and school kicking off again, it is time I come crawling out from under a rock 😉

School things:
Project Stella Incognita, extend an game-engine (Irrlicht) with 4 teams of 4 people, and per team make a game with that extended engine featuring your extension. Sounds complicated, and it probably will be! 16 People working together in one GIT repo with almost no experience in C++ and GIT, yay!

Advanced Physics, as the name says, its a continuation of the ‘basic’ 3D math courses we had, with more focus on the physics side of things. For assignments we have to do things with the cyclone physics engine, which was a royal pain to set up…
One of the lessons was about shaders, how they work and the cool things you can do with them. Check out http://shadertoy.com/ for example! :O

Persistent Storage, SQL and databases, database table relationships and how to set them up. Quite tricky assignments, a lot more complicated for someone who only made simple SQL querys. Especially involving subquerys and recursion!

Only 2 courses, and 1 project, lots of free time? Nope. It might sound like I’m blowing it out of proportions but they give you enough work to think about 😉

Projects:

MAV Warfrare has had very little attention, small features introducing new bugs (for example chat is no longer working) and not enough time are the main causes for this.

Time was spent however into M-Sat!
About 2 years ago me and Kjeld were messing around in Minecraft, and made a mod, it was just a few items and a block which had an GUI. Nothing functional apart from that.
About 4 months ago I thought, why not try and port it over to 1.6.4. We got back together to fix some of the errors, and figuring out how things worked in the new version.
One thing led to another, a design document was made, and in our free time we were messing around, trying to implement our features. And here we are, M-Sat!

It stands for Multipurpose Satellites, or Minecraft Satellites if you want. We’re not disclosing a lot, but here are a few screenshots, showing from where we started to what it is currently:

This slideshow requires JavaScript.

Custom entities, models, GUI’s, networking (SMP works! 😀 ) Multiblock strucutres and the list goes on! More info soon ™

Machinima conclusion

Making a machinima is much harder than it seems. I spent a total of 200 hours (= little more than 8 days if you work 24/7 without pause) working on it.  And that doesn’t include research in the summer vacation and tests! I’m very pleased with the result (despite the audio being messed up by the encoder) and I’m sure I’ll make more. The biggest problem was the deadline, making something as nice and as good as possible in a short amount of time is just not possible. If there wasn’t a deadline it would have become much better. Take Ross Scot (Civil Protection) for example, he spent more than a year working on something that is only 10 minutes! The quality difference is absolutely there.

Of course, since I’m a beginner, there’s always room for improvement, such as better video quality, the video shows a great deal of lag in certain shots (because the map is so big the GPU can’t handle it) Also the characters can be made more ‘alive’ (more humane movements instead of upper body movements only) but I couldn’t do that in this time frame.

This is the last post made about The Q-Bet, all newer posts will have other subjects which are not part of the PWS (if you don’t know what that means don’t bother 😉 )

And last but not least a little tutorial about writing a story (this will be the first tutorial on the tutorial page):

There are ideas enough which can be used, the question you need to ask yourself is, is this feasible? Many ideas can’t be done due to lack of resources. Once you think your idea is realizable the next step comes into view, the character design. In my place this ment looking for models which suit the character in your idea. Once that is done the actual writing begins. Every story has an introduction, middle part and ending. Most machinima’s have this as well. Characters and basic environment need to be introduced in the introduction (of course) then the main part goes into the middle part and the ending must be closed (so the viewer isn’t sitting and thinking WTF… why did they stop in the middle of something? etc.) I tried to avoid it in part 2 but still the ending goes very quick. Try to avoid having the ending shorter than 7 scenes. Ok, once your writing is done you need to find voice actors which suit your character. I know mine has got voices which don’t really fit but under the circumstances I’m quite happy I found them so quickly. After your done writing its lip synchronizing, animating, filming, editing and publishing. I hope that the tutorial’s I made, the software I wrote and the links I gave provide you with enough information to make your own machinima!

Here we go again! Part 2 released!

Ok part 2 is up and running on YouTube! Unfortunately the encoder messed up the audio again + YouTube’s own encoding software made it even worse. So as usual subtitles have been added apart from the hard subbed (baked into the movie) ones.

Also the encoder (mine and You Tube’s) cut off a small section of the upper and lower part of the video, there’s no way I can fix that. Some of the credit’s have disappeared due to this, I fixed that as good as possible by placing the missing parts in textbaloons.

The development of this machinima has practically come to an end but the site won’t be shut down! Other projects (including more machinima 😀 ) will be posted here, as a new home for SciFi Heiloo, our (old) forum hasn’t been used or visited in months.

EDIT: In the following post I fixed a few of the bugs in the YouTube version.

Random bits tutorial:

The Q model used in the machinima wasnt originally an NPC, it was a ragdoll model. I copied its model files, looked up one of the NPC’s from *this* package installed.

It’s quite easy, in the package (once installed) in the folder\lua\autorun you open the lua file with notepad.

You copy the ragdoll’s model file to the \models\startrek folder in the package.

Then in the lua file, change one of the NPC’s code:

local NPC = {     Name = “TNGF01”,
Class = “npc_citizen”,
Model = “models/startrek/fstDS9_01.mdl”, //change this to the ragdoll’s mdl file!
Health = “100”,
KeyValues = { citizentype = 4 }, /* this part applies to citizens, these are the keyvalues of the citizen to let
the AI know what type of character it is. (1 = citizen; 2 = DownTrodden; 3 = Rebel; 4 = Medic)*/
Category = Category    }

list.Set( “NPC”, “npc_TNG01”, NPC )

Now save the lua file. Open Gmod and spawn NPC TNGF01. Now it has the ragdoll’s model!

NOTE: This won’t always work! For optimal results you need to create your own model (which is not described in this machinima project, maybe in upcoming)

finaly…

Animations are done, filming starts tomorrow!!!

I’m worrying about how I’m going to do some scenes but I’ll figure that out tomorrow.

EDIT: The method I used for animating non NPC’s has its limitations.

For example, if you spawn a helicopter (console command: give npc_helicopter )(also I suggest you try out give npc_strider; its fun) it will hover around the place you were looking at when issuing the command. But if you try to move the helicopter (because you found out its making a terrible noise the closer it’s getting) it will fly back to that point.

To use this as an advantage do the following:

  • Disable the AI
  • Move the helicopter to a start point (spawn point = end point)
  • Get your camera into position and start recording
  • Enable AI
  • Watch the helicopter move to the end point.
  • Stop recording.

Voillá! A simple animation by messing with console commands and a stubborn helicopter.

10 days..

Ok 10 days left and the first part is only at 56%…. Gona make it to the deadline? First part yes, second part no. Gona make it after christmas vacation? 75% chance.

I’m currently busy with the 6th page (out of 9 in part 1 and of 16 in total). Filming of this page will commence tomorrow. I’m doing some homework right now (why don’t those teachers understand that I’m terribly busy 😉 ) but anyway.

Ok as for the tutorial part, here it comes:

After you read trough all the pages here and learned on how to do a proper animation, here’s how I did it and how I exported it into Gmod

First of all the SDK must use engine version 2006 and point at half-life 2 (and NOT HL2 DM!!!)

Put all the voices you want animated into \steam\steamapps\username\half-life 2\hl2\sound\YOURSUBMAP

Then, when you’ve added phonetics to all those sentences copy and paste them all in here:

\steam\steamapps\username\garrysmod\garrysmod\sound\YOURSUBMAP

When making a new animation always put them in \steam\steamapps\username\garrysmod\garrysmod\scenes

Then when making an animation choose (when using the wav file option) file name: sound/YOURSUBMAP/yourfilename.wav (don’t forget to add .wav!!!) This way the map structure is preserved and the animation doesn’t mess up.

Once you created the animation, save and close faceposer. And start up Garrys Mod.

Start up a single player level which loads very quickly (for example this one) then spawn an NPC, and open the console while pointing at him. Use the following code:

ent_setname ACTORNAME

Since you specified ACTORNAME at the beginning when you started a new animation in faceposer these 2 must of course be the same.

Then (you can stop looking at the NPC) enter the following code: ent_fire ACTORNAME setexpressionoverride scenes/YOURSCENENAME.vcd (dont forget to add .vcd!!!)

Now the NPC will play the animation you made in a continuous loop. Just record (with fraps for example) 1 or 2 of those loops and you can edit them with your video editing software.

To change the NPC’s animation into the standard use ent_fire ACTORNAME setexpressionoverride idle

This will give an error and that results in the NPC going into its default behaviour.