Zombie Skank. To Mudbox, to Max, to Photoshop.

Zombie Sketch

A male Zombie. Sorry about the quality, I do have a scanner but it doesn't work with Windows 7.

As I’m going to be doing some experimenting with Kinect next week with some colleagues, I thought it would be a good time to start on a model and rigging so that I have something to apply the captured data to. I’ve decided to do one of the zombies first, mainly due to the fact that at my current state with the prototype, the player is believable, but the moonwalking zombie robots aren’t. I’ve also decided to start with a female zombie, which for the time being I’ve called Zombie Skank.

So I sat down to do some research on Zombies in the only way I can; I watched the Dawn of the Dead remake. Why this film I hear you ask? Because it has zombies that run. Also I hadn’t seen it for a while and I realised the HD-DVD still had the wrapper on it. (Yes I have HD-DVDs, big whoop, wanna fight?).

Continue reading

Posted in Max, Mudbox, Photoshop | Tagged | 5 Comments

Zombie, go there, there, there and there.

With any luck you have compiled your scripts and everything is hunky dory. Time to add your bots to your level. Start by placing a bunch of notes in the positions you want your zombies to be spawned. I use notes as they have no function like pathnodes or playStarts so take up no more time when rendering paths.

Placement of note objects in a level

4 rows of 12 notes to give an army of 48 startpoints for zombies.

All of this will be initated through Kismet

Continue reading

Posted in Uncategorized | 3 Comments

Zombie, do thy bidding.

Once again, I want to state this builds on tegleg’s tutorial which can be found here http://forums.epicgames.com/showthread.php?t=755213

Script wise, this comes in two parts, one for the Pawn, on for the AI controller. So lets look at the Pawn first.

Continue reading

Posted in Uncategorized | Leave a comment

Zombie bots from hell…

Blimey Charlie! You know when you haven’t updated you blog in a while when you can’t remember the admin URL! Luckily for me I’ve been getting a few comments left on pages with have needed moderating from helpful individuals telling me how many more hits they are getting than me, that they outrank me on google from people who have farming blogs, surfing blogs, hearing aid blogs and other random people wanting to leave links on my pages. So thanks to the latest one, from the email reminder link to moderate, I was able to find my admin page!

Anyway, I utterly digress again. Today’s update is about enemies and enemy AI and why it is best to actually heed the advise of people online when they are telling others that certains techiques don’t work well. On techniques that I was so sure would work well was to use crowds for my zombies. Initally it seemed like a very good idea, crowds run from one point to another and can react to your proximity. Crowds also take very little damage to kill, perfect for a bog standard zombie, so why am I about to tell you to not use crowds?

Continue reading

Posted in UDK | Tagged , , , , | Leave a comment

Still alive.

Just a little update to say that I am alive and will be continuing with”Retroshooter” very soon (Monday) but last week it was exam board city and this week I’ve been visiting my family back home. The next part I will be looking at will be crowds.

If anyone is at Unreal University in London on Wednesday 14th July, I’ll see you there.

Posted in Uncategorized | Tagged | Leave a comment

UDK June 2011 Beta

The newest UDK beta has been released featuring quite a few new tools including a Kismet debugger and improved foliage tools to name a few. I’ve downloaded the 1.5Gb update and will be trying Retroshooter on it later to make sure everything is tip top. I’ll report back then but meanwhile there is an interview with Mark Rein from Epic at http://www.next-gen.biz/features/epic-making-something-unreal which details some of the new tools and the future of UDK.

Posted in Uncategorized | Leave a comment

Adjusting the player’s weapon aim (Part 3)

Following one from parts 1 and 2 of this section, I have implemented the trace functions to measure changes in elevation in front of the player and to adjust the aim.


Continue reading

Posted in Uncategorized | Leave a comment

Influences for RetroShooter.

RetroShooter is a work in progress title for the Isometric shooter just incase anyone is confused. I thought it would be prudent to show the influences for what I am attempting…

Lara Croft and the Guardian of Light (2010, XBLA, Square Enix, Edios Interactive)

I absolutely hammered this game on XBLA and rinsed all of the achievements. It was really playable and is the major reason for this prototype. Although the puzzles were very well implemented, I was left wishing for more enemies to mow down. Retroshooter will take inspiration from the level design to a large extent.

Continue reading

Posted in Uncategorized | Leave a comment

Adjusting the player’s weapon aim (Part 2)

Now that Roll, Pitch and Yaw are clearer, it’s almost time to focus on pitch and how we are going to use this to aim the players weapon up or down hill.

There are a few rules that have to be considered first, so to aid with visualising the issues, I’ve drawn a few diagrams. When I have a problem to overcome, I try to visualise real world logic and in this case I intend to use two traces to look for a collision with the ground and any other objects.

1) Aiming straight ahead on a flat surface with no obstructions.

In this first diagram. The first trace goes from the player (1) to a position in front of the pawn (2) which is equal to the weapon’s height from the ground. Then from that point (2) another trace is run to gauge the distance from the ground (3). In this example the ground is flat, the first trace has no obstruction and the second trace will register the height ahead as no different from the weapon’s distance from the ground.

A) The pawn should shoot directly ahead without changing pitch.

Continue reading

Posted in Uncategorized | Tagged | Leave a comment

Adjusting the player’s weapon aim (Part 1)

At the moment, the player has been set to only fire directly in the direction that the pawn is facing. This would be fine for a completely flat level, but as soon as we add inclines or drops, the player would continue to shoot straight ahead and if facing an uphill slope, the player would shoot directly into the ground, causing any zombie hoards that are a little uphill from the player to be completely safe.

In this prototype, this happens because I fixed the pitch of the pawn aim rotation to 0.

simulated singular event Rotator GetBaseAimRotation()
{
   local rotator   POVRot, tempRot;

   tempRot = Rotation;
   tempRot.Pitch = 0;
   SetRotation(tempRot);
   POVRot = Rotation;
   POVRot.Pitch = 0;

   return POVRot;
}

Before I go on, I want to make sure that Pitch, Roll and Yaw are understood so I have made a little diagram.

Pitch Roll and Yaw

Roll, Pitch and Yaw.

Lets start with Roll. Roll affects the X axis, which in UDK is the direction the player is facing (Unless I’m mistaken, various engines and 3d modelling apps use different axis in different ways). Imagine a drill bit rotating. If this were applied to the pawn, it would end up doing cartwheels.

Pitch affects the Y axis and for the purposes of aiming uphill, is the rotation method we are interested in. If you imagine a fighter pilot dive bombing a submarine, he has to change his pitch to fly towards the ground. Look up at your ceiling, the look down at your keyboard, you’ve just pitched your head.

Yaw is something I’ve already tinkered with. Yaw affects the Z axis and we have used yaw to enable the player to face the direction of the dual sticks. Look behind you, your body and head have just changed their yaw.

 

 

Posted in UDK | Tagged | Leave a comment