Sega 500 Scripted events and Sequences Jeff “Ezeikeil” Giles

Slides:



Advertisements
Similar presentations
First of all – lets look at the windows you are going to use. At the top you have a toolbar, with all your various tools you can use when customising your.
Advertisements

The people Look for some people. Write it down. By the water
Introduction to Macromedia Director 8.5 – Lingo
Summer Computing Workshop. Introduction to Variables Variables are used in every aspect of programming. They are used to store data the programmer needs.
Heuristic Search techniques
Word List A.
White Box and Black Box Testing Tor Stålhane. What is White Box testing White box testing is testing where we use the info available from the code of.
How Do You Make a Program Wait?. 1. What is an algorithm? 2. Can you think of a reason why it might be inconvenient to program your robot to always go.
Feature requests for Case Manager By Spar Nord Bank A/S IBM Insight 2014 Spar Nord Bank A/S1.
High-Frequency Words Second Grade Room B10.
Write Your First Computer Game!. Coding: Programming Languages Just like you can speak Chinese to someone who understands Chinese to tell them what to.
Mrs. Chapman. Tabs (Block Categories) Commands Available to use Script Area where you type your code Sprite Stage All sprites in this project.
Scratch Programming Session 9 of 10 Review elements to use in stories, games, etc.
1 Flash Programming Introduction Script Assist. 2 Course Description This course concentrates on the teaching of Actionscript, the programming language.
A tour around Java General introduction to aspects of the language (these will be covered in more detail later) After this tour you should have a general.
Fundamentals of Programming in Visual Basic 3.1 Visual basic Objects Visual Basic programs display a Windows style screen (called a form) with boxes into.
Before you start, you should get all of your pictures together in one file. They should be in.jpg,.png,.tif or.gif format. Open your drive. Make a folder.
Inline, Internal, and External FIle
Java web development Servlet & Java server pages.
Alice Learning to program: Part Two by Ruthie Tucker and Jenna Hayes Under the direction of Professor Susan Rodger Duke University, July 2008.
Spelling Lists. Unit 1 Spelling List write family there yet would draw become grow try really ago almost always course less than words study then learned.
Mr. Wortzman. Tabs (Block Categories) Available Blocks Script Area Sprite Stage All sprites in this project.
The.
Scratch the Cat. Object Oriented Programing Writing computer programs Based on Objects Instead of Actions Based on Data Instead of Logic.
Tutorial for Arrays and Lists By Ruthie Tucker. Description This presentation will cover the basics of using Arrays and Lists in an Alice world This presentation.
Code Club Session 2 Dance Party. What will we learn ?  How to change the background  How to create animations  How to make objects talk to each other.
Sega 500 Intro to Bot AI Jeff “Ezeikeil” Giles
Making a Boat Racing Game in Alice By Jenna Hayes Under the direction of Professor Susan Rodger Duke University, July 2010.
.:::The EA FEAR Division Presents:. When you download FEAR you should be able to load it pretty quickly, so if it’s taking long consider the problems.
Programming with Alice Computing Institute for K-12 Teachers Summer 2011 Workshop.
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
Sega 500 Close Combat weapons Jeff “Ezeikeil” Giles
I am ready to test!________ I am ready to test!________
Sight Words.
Art 315 Lecture 5 Dr. J. Parker AB 606. Last time … We wrote our first program. We used a tool called GameMaker. The program we wrote causes a ball to.
Complete Dolch Sight Word List Preprimer through Third
Chapter 1 - Getting to know Greenfoot
Moving Around in Scratch The Basics… -You do want to have Scratch open as you will be creating a program. -Follow the instructions and if you have questions.
Summer Computing Workshop. Introduction  Boolean Expressions – In programming, a Boolean expression is an expression that is either true or false. In.
Working with the VB IDE. Running a Program u Clicking the”start” tool begins the program u The “break” tool pauses a program in mid-execution u The “end”
Sega 500 Mutators Jeff “Ezeikeil” Giles
Game Maker – Getting Started What is Game Maker?.
Sight Word List.
Alice Learning to program: Part Two Writing Your Own Methods by Ruthie Tucker and Jenna Hayes Under the direction of Professor Susan Rodger Duke University,
Sega 500 Creating a New Game Jeff “Ezeikeil” Giles
Book report by Mrs. Theriault How can I create cool effects? Change the background: right click on the background of the slide. Click on the pull down.
Matlab tutorial course Lesson 4: Writing your own functions: programming constructs
Tutorial for Arrays and Lists. Description This presentation will cover the basics of using Arrays and Lists in an Alice world It uses a set of chickens.
Lesson 2: Reading a program. Remember: from yesterday We learned about… Precise language is needed to program Actors and Classes Methods – step by step.
Sight Words.
M1G Introduction to Programming 2 3. Creating Classes: Room and Item.
Teacher Help Getting a class to be quiet without shouting.
High Frequency Words.
Sega 500 Combo Mutator Jeff “Ezeikeil” Giles
Sega 500 Precaching in UT2003 Jeff “Ezeikeil” Giles
Introduction to Computer Programming - Project 2 Intro to Digital Technology.
A. and away big blue can come down find for.
Introducing Scratch Learning resources for the implementation of the scenario
Created By Sherri Desseau Click to begin TACOMA SCREENING INSTRUMENT FIRST GRADE.
FOP: Multi-Screen Apps
Loops BIS1523 – Lecture 10.
Explain what touch develop is to your students:
Learning to program with Logo
Unreal Scripted Sequences
Editable Attributes (1)
CIS 488/588 Bruce R. Maxim UM-Dearborn
Go to =>
Unit 11 – PowerPoint Interaction
Presentation transcript:

Sega 500 Scripted events and Sequences Jeff “Ezeikeil” Giles

Thus far We’ve played lots with the game dynamics to change how UT2003 runs. But, we’ve done little to nothing on how to cause a chain or sequence of events.

Today This, boys and girls is the land of the scripted sequence. We’re going to look at what it takes to include one in our game.

“I’m a programmer Jim, not a level designer” What are they and why do I care? Scripted Sequences are great tools to that allow the game to tell a story, set a mood or have something happen that “makes sense”.

“I’m a programmer Jim, not a level designer” Look a some of the other games that have used them to great effect…

Half-life

Max Payne

And of course…UT2003

UT2003

Fine, Fine… Enough about the story…why do I care…Me programmer! As programmers, we should and do care about these sequences since we could quite realistically be asked to build tools for them.

Our Goal For the next few lessons is to look at and develop an understanding of how these work. Then, develop a action sequence or two of our very own.

Oh, yeah You can also use the AIScript component of the scripted sequence to affect to behaviour of a bot in game. Thus changing it’s AI properties… e.g. it’s behaviour.

Getting started Today, our play in UScript is going to be minimal. We’re back in the Editor. But first, some set up info…

Getting started All bots in the game derive from Scripted controller, which is what allows our bots to follow other scripts. It is the AI controller which is the “brains” for the pawn. Achieved through a scripted sequence specified by an AIScript.

Getting started These work in close conjunction with AIScript’s which are placeable into the level. Used by Level Designers to specify special AI scripts for pawns placed in a level, and to change which type of AI controller to use for a pawn.

Getting started AIScripts can be shared by one or many pawns. Game specific subclasses of AIScript will have editable properties defining game specific behavior and AI.

Getting started The one we’re interested in is the UnrealScriptedSequence. This derives from ScriptedSequence provides the core functionality for setting up scripted sequences for pawns. A ScriptedController is spawned to carry out the scripted sequence.

Getting started Lastly, we have our actions list… It’s a rather long list of scripted actions available to the scripted controller These are the Actions that are used by a ScriptedSequence script which are the commands that tell the script what to do.

Getting started For a really good look and description of these actions, consult the wiki.

Getting started Now that’s out of the way, time to build our own basic sequence. In short, we’ll get a bot to run around the room and then do something at each corner.

Getting started Start off with a simple test level, a box. Then add a XPawn and an UnrealScriptedSequence.

Simple Script At this point, the Script and Bot have no knowledge of each other, they need to be linked. If we run it now, the game will run as normal with this xPawn spawning in with us.

Linking the xPawn to the Script To link a pawn to a UnrealScriptedSequence, you need to set the pawn's AIScriptTag to the Tag of the UnrealScriptedSequence. This will cause the sequence to start executing as soon as the pawn is active in the level (usually as soon as the level begins).

Linking the xPawn to the Script AIScript tag must match the xPawns events Tag.

Linking the xPawn to the Script If all goes well, when the xPawn is selected a blue line will link the pawn to it’s script.

Linking the xPawn to the Script Lastly, we need to tell the UnrealScriptedSequence which controller this script affects. For now, just set it to ScriptedController so that we have total control over our pawn. It will have no brain of its own.

Linking the xPawn to the Script If you run the level now, you should have a dumb bot that simply stands there playing it’s idle animation.

Add some actions In your UnrealScriptedSequence actor, under AIScript is a dynamic array of Actions. These actions determine how the bot will behave. Notice that it starts with a default set of actions.

Add some actions Initially, your Actions array will be empty. To add a new action, click on Add. This will create an empty element in the array (Add will always create elements at the end of the array).

Add some actions Caution: If, at any point, you click on Empty, it will clear the whole array, and you will lose any data that was in it. We don’t want the default actions, so empty the list.

Add some actions Once you have an empty element in the array, you can expand it, and get a drop-down box which lists all the items which can be added into the array. To create a specific item for the array, select the item you wish to use from the drop-down-box, and click on New. The item that has been created can then be expanded to allow access to its variables.

Getting our dude to move So in the AIScript pull down, add an action from the pull down menu. In this case ACTION_MoveToPoint and hit new. Lastly set the destination tag.

Getting our dude to move Of course we need a destination. I’m going to use pathnodes. But really, we could use anything. Place one in the far corner and give its tag the same name as the destinationTag in the ACTION_MoveToPoint

Getting our dude to move And our dude springs into action, running to the path node of matching tag.

Getting our dude to move Now, if we place a node in each corner and string them together, we can make our bot do laps. Simply by adding new move to actions and pathnodes with matching tags.

Doing laps

Cool! Your very first scripted sequence. The bot does one lap of the room and then runs in place at the last node. We can get him to stop that by adding another action at the end of the list, say ACTION_TurnTowardPlayer

Doing laps But, better idea, there’s a goto action where we can jump to any action in the list. I’m going to jump to the first on so he goes in circles….forever.

Doing laps Let’s make the circuit a bit more interesting and make him do something unique at each corner.

Doing laps Corner 1: Jump Easy to set up, Just insert the Action_Jump, select the jump type and move to corner 2.

Doing laps Corner 2: play a sound Like above, real easy. Select a sound from the list.

Doing laps Corner 3: pause then seek the player A bit different, but still easy to set up. But there are 2 Actions here, ACTION_WaitForTimer and ACTION_MoveToPlayer

Doing laps Once the player is touched, the bot will return to its circuit.

Doing laps Corner 4: Wait for an event, repeat the circuit. The bot will remain at this location until an event is received. We’ll just set up a trigger to broadcast one.

Doing laps And use ACTION_WaitForEvent to hold until the event is broadcast.

Doing laps Now, setting up the trigger is a bit different as it’s looking for an event an not the usual broadcast tag. This causes an error to be generated but it works fine. You can make the error go away by using the tag in the triggers event also.

That’s a wrap This is only scraping the surface of what can be done via scritped sequences. But it’s a good starting point. And remember, these can be used to influence / over ride regular bot AI too.

Next Day… We’ll be looking at another item know as the scripted trigger which functions in a similar manner to the scripted sequences. But can be used for timing / triggering or setting off a series of sequential events.