Showing posts with label Kismet. Show all posts
Showing posts with label Kismet. Show all posts

Monday, 7 April 2014

Programming day.

Back to work on my level, I decided to do some more programming today, I set up the teleporter rooms, but haven't done any programming on them yet because I don't know how I am going to link them yet. I am thinking of asking the player questions which he'll answer by choosing one of the portals, and the wrong answer will lead him to a room with enemies.

One of the many portal rooms

Friday, 28 March 2014

Adding enemy AI

The focus of today was adding enemy AI to the game. First I started by adding a bot on the first floor that greets you warmly with plasma shots. I've also added a little Matinee sequence in there to show the player where to find a weapon.

After that I started adding AI to the last floor. The AI in there is spawning randomly and will go after the player. It should be the most difficult fight for the player, as the fog will be limiting the vision and there will be lots of enemies.

I successfully created the code for spawning randomly, but had problems with the AI not moving around. I still haven't figured out how to fix this, at the moment I am trying to copy and paste this level in a new file. I think the problem is in the navmesh, and hopefully creating the level again should solve it.

Enemy AI spawning at random places

Tuesday, 25 March 2014

Creating custom HUDs.

A new Image Processing assignment has come up, this time I will be designing my own custom HUD's for my 3D game. For this I will be using Adobe Flash and import the .fla file to UDK. The first step is to install the ScaleForm extension, there is a very good tutorial to do that in YouTube. It uses an older version of Flash but it doesn't make a difference to me.


Thursday, 20 March 2014

3D Game update.

Today was a slow day, I spend most of it fixing the lighting on the 5th floor(sauna). The problem is that I had to keep rebuilding the game all the time, so it consumed a lot of my time. But I managed to get a nice result with a dim light and the fog.

I also created the teleporter in the basement. I'm only using it because I couldn't get a ladder working for some reason. The next step is going to be adding the teleporters in the teleporter room and then adding A.I.

Top teleporter

Bottom teleporter with trigger activating teleport code

Lights and fog on 5th floor




Tuesday, 18 March 2014

Back to level building

With my to do and wish lists done, it's easier to focus on what needs to be done. Today I was trying to figure out how to add a teleporter, turns out since i'm using a UDK game type, I can't add the teleporter present in the actor classes, since they only work in a UT game type.

But I also got some more done, I added the lighting to the 4th floor and a couple of soundtracks. The 4th floor is going to be the teleporter room, which is basically a puzzle, but I didn't want the player to just keep trying different teleporters until he got the right one, so I'm going to make a puzzle on that floor. Each room will have a question and the answers will be on top of the teleporters so he can choose the right ones to proceed.

Teleporter to basement

Tuesday, 25 February 2014

Animations

Today I learned how to create a cinematic. Nothing fancy or difficult, I just created a camera animation, showing the player where he has to go after solving one of the puzzles in the level.

I followed the tutorial on World of Level Design, I recommend you guys check it out, it's very good.

I only used for a simple camera movement so far, but you can create a lot of cool stuff with it. I plan to add more on my level, for the intro and end scenes.

Camera actor used in animation

Tuesday, 11 February 2014

Lighting and some programming.

Today's focus was setting up emissive lights and start programming. Since building the level after I added a emissive light to see how it looked would take too long, I opened a new map created a room and added the static mesh with the emissive light to check which values would be good for my level. This way I could simply copy the values and build my level once. Here's how the basement looks like with only emissive lights.

Lighting in Basement

Tuesday, 7 January 2014

Door Keys

Creating keys is a good way to get the player to go to certain areas or accomplishing something within your level. Then the player use the keys to open a door and proceed to the next area.
To do that we need a mesh to act as a key and a door animation. In this example we'll use two keys:

Trigger activating key

Monday, 16 December 2013

Toggling view mode

To enable the player to change his view type during the game, all we need is get a key press:

Getting camera change input

In the node's properties, you can set which key will perform the input by changing its Input Name. On the console command, I used the command 'behindview' to set the third person mode. Then just link a player object to both nodes and voila, when the player press the V key (my chosen input) the camera mode will be change in game.

Friday, 13 December 2013

Life Counter and 3rd Person Camera


To add a number of lives the player will have, all you need is to set an int counter with a decreasing value, then when the player dies X times you announce he ran out of lives and add a command to end the game, which I do not know yet. Don't forget to set the Max Trigger Count in the Player Spawned Node.

Life counter and 3rd person camera view

The third person view is created by using a console command linked to the player. The command is "behind view".

Tuesday, 10 December 2013

Enemy Waves

The next bit of programming I learned in UDK was creating enemy waves. The final code looks something like this:

Enemy waves code

Monday, 9 December 2013

Patrolling AI

Now that I can create an enemy bot, the next level of programming is making it patrol an area.

AI bot moving around in a patrol

This is how the code looks like, now let's break it down:

Thursday, 28 November 2013

Adding a bot AI.

These are the steps you need to follow to add an AI bot to you level

 Right click in level where you want bot to spawn, Choose add actor - add PathNode.
 Select the path node and enter Kismet.
 Right Click anywhere- New Event - Level Loaded
 Right Click anywhere again - new action – actor - actor factory
 right click on spawn point (actor factory)
 choose new object var using PathNode 0
 connect Level Loaded to Spawn Actor
 on the actor factory properties (blue arrow) – choose UTActorFactoryAI
 Click on drop down arrow beside Factory
 Tick Force Deathmatch AI
 Set Controller Class - None
 Set Pawn Class – UTPawn
 Tick Give Default Inventory
 click the little Green Cross on Inventory List and select any weapon from the dropdown menu

The final code should look something like this:

Adding a bot 

Then to have the bot re-spawn follow these steps:
  • Add an Attach to Event Node ( New Action -> Event -> Attach to Event)
  • Then a Death Node (New Event -> Pawn -> Death)
  • Right click on the Spawned thingy in Actor Factory and create a new object variable
The code is as follows:
Respawning bot

One extra thing I added, was a delay before the bot re-spawns. To do that, simply right click on the black thingy on the Death Node and add delay.

You now have a fully shoot-able bot, have fun!