Asteroid Destroyer How it Works

Size: px
Start display at page:

Download "Asteroid Destroyer How it Works"

Transcription

1 Asteroid Destroyer How it Works This is a summary of some of the more advance coding associated with the Asteroid Destroyer Game. Many of the events with in the game are common sense other than the following topics Asteroid Handling Explained The "Asteroid"'s properties, the "Set angle" property is set to "No". This way, the bullet behavior will still make the asteroid move along the screen, but the rotate behavior will define the angle at which the texture will be displayed, giving the "illusion" the asteroid is rotating on itself while following a straight trajectory. Then any time the asteroid will leave the play field, the wrap behavior will automatically make it appear on the other side of the screen. The idea there is that when an "Asteroid" is being shot, it will "break" into two smaller asteroids. "Asteroid" has an instance variable that keeps a "size ratio", to check if, when the asteroid gets shot, it should break into smaller parts or simply disappear. The instance variable is therefore called "Size" and is a number variable, that be used in the "sizing formula". The default value is 1. Breaking down the code (Asteroid Handling) In "esgame" the group "AsteroidHandling" (event 18) contains the code for this game mechanic. Everything happens on a collision between an "Asteroid" and a "Bullet" The first action taken is to destroy the "Bullet" to prevent this event to be executed again next tick, to prevent the "Bullet" to hit another "Asteroid". Event 20 is empty (it has no condition) so will be executed every tick. As it is a sub event to the event 19, it will only execute if the event 19 executes. And the event 19 being a triggered condition (in the "Events run top to bottom" section of the article) this sub event will only run for one tick each time. This allows to create local variables and store values in those. Using a local variable here make sure that those values are reset each tick and can't be modified/used from outside of the current event. So once a collision is detected the first step is to keep the UID (Unique Identification Number) of the "Asteroid" in a local variable. (event 20)

2 UID (Unique Identification Number) All objects at runtime have a unique ID assigned, which is a number starting at 0 for the first instance and incrementing by 1 for every other instance. It is returned by the object's UID expression. This number can be used to uniquely identify a single instance throughout an entire game. For example, it can be stored in instance variables or event variables and later picked again by using the Pick by unique ID condition. This will allow Construct 2 to pick this asteroid again at the end of the process to destroy it. This is in anticipation of the fact that we might spawn two new "Asteroid" instances and that Construct 2 always picks the latest spawned object. The current angle of motion of the bullet behavior of this "Asteroid" instance is also kept in a local variable. It will be used later when spawning new asteroids as trajectory basis from which the newly instances will diverge. Event 21 is a sub event to event 19 and is "paired" with event 25. This event is a test on the current picked instance (the "Asteroid" instance that has collided with a "Bullet") to see if its "Size"'s value is less than 2.5. If it is, this means that we will split the asteroid into two smaller ones. System: Set CurrentSize to Asteroid.Size This action stores the current "Size" (instance variable) value and adds 0.5 to it. This is for the splitting of asteroids which is explained a few lines below. System: Add 1 to Score Adds 1 to the global variable "Score", the player just scored 1 point because he hit a "split able" "Asteroid" with one of his "Bullet". The splitting into two new instances happens event 22 which is a "Repeat 2 times" sub event. It will only execute if it's parent event is executed (event 21, so when Asteroid.Size < 2.5) and will repeat the bunch of actions two times. System: Create Asteroid at Asteroid.X, Asteroid.Y on layer 0 The system creates a new "Asteroid" at the position of the currently picked "Asteroid" instance. The first time the event runs, the picked instance is the instance that was in collision with "Bullet", the second time it is this newly spawned instance. And actually, from this action, this is also the picked instance. All the following actions will apply to this newly spawned instance and only this one.

3 Asteroid: Set Bullet angle of motion to int((currentaom + random(125))%180) degrees This action contains a bit of math and a bit of system expressions. (the expressions each have a definition, be sure to check the manual out whenever you're wondering about them) Let's break it down: int() Is a system expression that will make the content between the parenthesis an integer. CurrentAOM Is a local variable we set earlier that contains the Bullet angle of motion of the parent Asteroid instance. random(125) Is another system expression that will return (generate) a random number. In this case it will generate a number between 0 and 124 (included) to add to the parent s angle of motion, and make sure the child s trajectory is different from its parent s. The value 125 was achieved arbitrary and through trials and errors/tweaking. ()%180 Is the mathematical "modulo" (or "modulus"?) that makes sure the result between the parenthesis can't be greater than 180. The modulo is necessary here because the bullet angle of motion can be expressed in the range of 180 to 180. Asteroid: Set size (width, height) to ( 96 / CurrentSize, 96 / CurrentSize ) Affects the width and height properties of the Sprite object type and sets the current size of the texture/object to 96 (an arbitrary start value) divided by the value of the local variable CurrentSize which is the "Size" (instance variable) value of the parent instance Dividing a value by a greater value returns a diminished result. So the newly spawned "Asteroid" is CurentSize smaller than its parent. Asteroid: Set "Size" (instance variable) value to CurrentSize Sets the current instance's "Size" value to the value of the local variable CurrentSize. As on each split the "Size" value is incremented, the "Asteroid"'s size gets smaller, and it allows for the event21/event25 pairing/logic. Asteroid: Set Rotate speed to random(20,180) degrees per second As earlier, the random() system expression returns a float number here (because there is no int() in the formula) between 20 and 179 (included). It sets the rotation speed (on itself, Rotate behavior) for the current "Asteroid" instance,

4 allowing for a bit of visual diversity on screen (not all asteroids rotates at the same speed). Asteroid: Set Bullet speed to random(asteroidmaxspeed 10,AsteroidMaxSpeed) The two last actions are here for a visual final touch. Asteroid: Set angle to Asteroid.Bullet.AngleOfMotion degrees Asteroid: Move forward random(5,15) pixels The newly spawned "Asteroid" is moved away by a few pixels from its parent. For it to work, for this one tick, the angle of the Sprite is set to its Bullet angle of motion. Then the "Asteroid" is "forwarded" by a random amount of pixels (at least 5, at max 14). This is it for the split. System: Pick all Asteroid And so now, we need to "reset the picking" thanks to the system condition "Pick all". At this point of the code, the instance picked is the second "Asteroid" child instance we spawned. That's why there's the need to "Pick all (instances" here. Picking all "Asteroids" tells Construct 2 that we want to select another instance among all of the "Asteroid" instances available. System: CurrentUID not = 0 CurrentUID being a local variable, each tick its value is reset to 0. It is unlikely that an "Asteroid" instance has the UID 0 (this UID is reserved to the very first object that was created in the project, and it wasn't an "Asteroid"). This check is not really useful, but it prevent execution if an incorrect UID (the local variable default value: 0) is stored. It's only a check, it's not worth much, and it could prevent deleting the wrong instance. Asteroid: Pick instance with UID CurrentUID Finally this common condition pi cks the parent "Asteroid" instance by its UID, which we had kept at the beginning of this process in the local variable CurrentUID. (the blank event 20) The action "Asteroid: destroy" will apply to this instance, and this instance only. Event 25 is a "Else" condition that will occur when event 21 (a test to see if the size of the "Asteroid" in collision is less than 2.5) is not executed (because its condition is not true, the "Asteroid"'s size is 3). If this event executes, it means that the "Asteroid" instance in collision with a "Bullet" "Size" instance variable value is equal to 3. In the game logic, and because that's the value chose via tweaking, it means it is the last piece, it won't split, just be destroyed. It also adds 10 points to the player's score. This closes the "AsteroidHandling" group!

5 Player Health Explained The last point is handled in the group "PlayerHandling" (event 14) Event 15 the "Player" collides with an "Asteroid". Player: Substract int(35/ Asteroid.Size) from Health This action does reduce the "Health" instance variable value according to the "Asteroid"'s "Size" value. If the "Player" collides with a big "Asteroid" ("Size" = 1) it will lose 35 health points. (35/1 = 35) If the "Player" collides with a small "Asteroid" ("Size" = 3) it will lose around 11 health points. (35/3 = ) The "Health" is then displayed by the "LifeBar Asteroid: Destroy The "Asteroid" is simply destroyed. Event 17, the "Player"'s "Health" is equal or less than 0. This is game over. This closes the Player Health! Wave System Explained Each wave "spawns" a limited numbers of asteroids. Once every asteroids have been destroyed, the wave is ended, we wait for an input (press return) from the player and we start the next wave. The background picture is changed every wave. This is where all the previous code and the setting of the "Asteroid" object type comes in play. Every "Asteroid" instances will have the same mechanism/game behavior. They will all react the same way to the events. And "all" that there is to do is to spawn a few of those object at the start of the wave, and the game will play as expected. The wave system is in the group "WaveSystem" in "esgame" (event 25) and makes use of the global variable "Wave" (defined in the same event sheet).

6 The event 28 is actually the event that checks if the wave has ended. Event 29 is useless as long as the wave hasn't ended. The conditions to check if the wave has ended are : Make sure that all the "Asteroid" have been destroyed Make sure that we are not at the start of the game, before the very first wave Make sure that "Player" is still alive That's exactly what the 3 conditions of the event 28 do. Breaking down the code (WaveSystem) System: Asteroid.count = 0 The system condition "Compare two values", first value being the common expression "Count" that returns the number of instances for the object. If the number of instances is 0, it means the player has destroyed all the asteroids. System: Wave > 0 The system condition "Compare global variable" checks the "Wave" global variable to see if it is greater than 0. 0 is the default value of the variable, and is used for the start of the game. As the wave number only increments when the player presses "Return" in between waves, on beginning of the game, the code doesn't consider the situation as an end of wave. Player: Health > 0 Checking if the instance variable "Health" of the "Player" (our ship) is greater than 0, alive. We don't want death of the player to be interpreted as wave ending. As soon as those 3 conditions are true, it is considered as the wave's end. System: Set group "PlayerMovement" deactivated txtwave: Set visible txtwave: Set text to "Wave number: " & Wave + 1 & newline & "Press ""Return"" to play" So once again "PlayerMovement" is deactivated, preventing the player from inputting any control, "txtwave" is displayed to carry the feedback to the user.

7 Player: Set custom movement Overall speed to 0 On end of the wave, the ship is stopped at once. This is done by neutralizing the "Custom movement" behavior "Speed" property. Brakes: Set invisible Thrust: Set invisible If the player was pressing forward or brake when the last "Asteroid" got destroyed, the according sprite(s) might still be displayed, even if the player releases the button (the "PlayerMovement" group is deactivated remember). So even if the sprites are not displayed, these actions makes sure the visuals are not displayed on wave end. Event 30 is the expected input of the player to start in a new wave. System: Set group "PlayerMovement" activated The controls to the player so that he can control the ship. txtwave: Set invisible Simply hiding the text object. The text will be modified either by the Wave System on next wave's end or by the Pausing System. System: Add 1 to Wave The global variable "Wave" gets incremented (1 is added to its current value). System: Add 0.2 to AsteroidMaxSpeed Each wave, the "general" speed of the "Asteroid" gets slightly raised. It modulates the challenge for the player. The value here is totally arbitrary and might be a strong subject to tweaking. You could even use "Wave" in this formula. ex: System: Add (Wave * 10)/100 to AsteroidMaxSpeed This formula would for example add 10% of the "Wave" value to AsteroidMaxSpeed. The first wave would then add 0.1 to the variable. The second wave would add 0.2. Etc... Sub event 32 is the spawning of new "Asteroid" instances. It is repeated "Wave times", meaning that each wave spawns as much "Asteroid" instance (wave 1 spawns one "Asteroid", wave 2 spawns 2, wave 3 spawns 3, etc...) The actions are pretty much the same as in the "AsteroidHandling" group when "Asteroid" was split into two new instances. (Event 22)

8 System: Create object "Asteroid" on layer 1 at ( random(windowwidth), int(choose( 90, 25,825, 890)) ) The "Asteroid" instances are not spawned from one another, they are created at a fixed position on screen, in the layer 1. They can appear randomly on all the screen's width (X), but will appear at either 90, 25, 825 or 890 (Y). int() Is still the system expression that allows to returns the content between parenthesis as an integer. choose() Is a system expression that will return one of the elements in between its parenthesis (separated by comas ","). In this action, it will return one of the four values as the spawning Y position for the "Asteroid". All four positions are out of the screen. I wanted the "Asteroid" instances to come from "outer space" to the closed world (wrap). Asteroid: Set Bullet angle of motion to angle(asteroid.x,asteroid.y,player.x,player.y) degrees Unlike the splitting, the first trajectory for the "Asteroid" will point directly to the player's ship. It forces the player to quickly react to the setting of the new wave and engage in a strategy/action. angle() Another system expression that returns the angle (in a 360 range) between the two sets of coordinates entered as parameter. The rest of the actions are the very same as the splitting method. This is the wave system.

Fruit Snake SECTION 1

Fruit Snake SECTION 1 Fruit Snake SECTION 1 For the first full Construct 2 game you're going to create a snake game. In this game, you'll have a snake that will "eat" fruit, and grow longer with each object or piece of fruit

More information

Creating Breakout - Part 2

Creating Breakout - Part 2 Creating Breakout - Part 2 Adapted from Basic Projects: Game Maker by David Waller So the game works, it is a functioning game. It s not very challenging though, and it could use some more work to make

More information

B - Broken Track Page 1 of 8

B - Broken Track Page 1 of 8 B - Broken Track There's a gap in the track! We need to make our robot even more intelligent so it won't get stuck, and can find the track again on its own. 2017 https://www.hamiltonbuhl.com/teacher-resources

More information

MITOCW watch?v=w_-sx4vr53m

MITOCW watch?v=w_-sx4vr53m MITOCW watch?v=w_-sx4vr53m The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high-quality educational resources for free. To

More information

Pong in Unity a basic Intro

Pong in Unity a basic Intro This tutorial recreates the classic game Pong, for those unfamiliar with the game, shame on you what have you been doing, living under a rock?! Go google it. Go on. For those that now know the game, this

More information

AN INTRODUCTION TO SCRATCH (2) PROGRAMMING

AN INTRODUCTION TO SCRATCH (2) PROGRAMMING AN INTRODUCTION TO SCRATCH (2) PROGRAMMING Document Version 2 (04/10/2014) INTRODUCTION SCRATCH is a visual programming environment and language. It was launched by the MIT Media Lab in 2007 in an effort

More information

MoleMash for App Inventor 2. Getting Started. Introduction. Workshop, S.1

MoleMash for App Inventor 2. Getting Started. Introduction. Workshop, S.1 In the game MoleMash, a mole pops up at random positions on a playing field, and the player scores points by hitting the mole before it jumps away. This tutorial shows how to build MoleMash as an example

More information

Technical Manual Urban Ninja

Technical Manual Urban Ninja Sarah Somers B00330887 CS1106 Section 1 sarah.somers000@gmail.com Technical Manual Urban Ninja Kevin Leach B00321788 CS1106 Section x leach@cs.dal.ca INTRODUCTION Our game is called defend the dojo, you

More information

These are the four symbols which we will use in the picture box to represent the sum instructions.

These are the four symbols which we will use in the picture box to represent the sum instructions. Create a Maths quiz game in Visual studio with C# Guess the symbol This you will need resource images for the symbols 4 labels 1 picture box called symbol num1 will show the first number num2 will show

More information

Smart formatting for better compatibility between OpenOffice.org and Microsoft Office

Smart formatting for better compatibility between OpenOffice.org and Microsoft Office Smart formatting for better compatibility between OpenOffice.org and Microsoft Office I'm going to talk about the backbreaking labor of helping someone move and a seemingly unrelated topic, OpenOffice.org

More information

(Refer Slide Time: 00:51)

(Refer Slide Time: 00:51) Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute Technology, Madras Module 10 E Lecture 24 Content Example: factorial

More information

In further discussion, the books make other kinds of distinction between high level languages:

In further discussion, the books make other kinds of distinction between high level languages: Max and Programming This essay looks at Max from the point of view of someone with a bit of experience in traditional computer programming. There are several questions that come up from time to time on

More information

Creating joints for the NovodeX MAX exporter

Creating joints for the NovodeX MAX exporter Creating joints for the NovodeX MAX exporter (a step-by-step tutorial by Pierre Terdiman) p.terdiman@wanadoo.fr Version 0.3 I) Creating a hinge Here we'll see how to create a hinge joint compatible with

More information

CS 201 Advanced Object-Oriented Programming Lab 4 - Asteroids, Part 2 Due: February 24/25, 11:30 PM

CS 201 Advanced Object-Oriented Programming Lab 4 - Asteroids, Part 2 Due: February 24/25, 11:30 PM CS 201 Advanced Object-Oriented Programming Lab 4 - Asteroids, Part 2 Due: February 24/25, 11:30 PM Introduction to the Assignment In this lab, you will complete the Asteroids program that you started

More information

CS 142 Style Guide Grading and Details

CS 142 Style Guide Grading and Details CS 142 Style Guide Grading and Details In the English language, there are many different ways to convey a message or idea: some ways are acceptable, whereas others are not. Similarly, there are acceptable

More information

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch Purpose: We will take a look at programming this week using a language called Scratch. Scratch is a programming language that was developed

More information

6.001 Notes: Section 17.5

6.001 Notes: Section 17.5 6.001 Notes: Section 17.5 Slide 17.5.1 Now, let's look at one example in which changing the evaluation model allows us to explore a very different kind of computational problem. Our goal is to show how

More information

--APOPHYSIS INSTALLATION AND BASIC USE TUTORIAL--

--APOPHYSIS INSTALLATION AND BASIC USE TUTORIAL-- --APOPHYSIS INSTALLATION AND BASIC USE TUTORIAL-- Table of Contents INSTALLATION... 3 SECTION ONE - INSTALLATION... 3 SIDE LESSON - INSTALLING PLUG-INS... 4 APOPHYSIS, THE BASICS... 6 THE TRANSFORM EDITOR...

More information

Decisions, Decisions. Testing, testing C H A P T E R 7

Decisions, Decisions. Testing, testing C H A P T E R 7 C H A P T E R 7 In the first few chapters, we saw some of the basic building blocks of a program. We can now make a program with input, processing, and output. We can even make our input and output a little

More information

BONE CONTROLLER ASSET VERSION 0.1 REV 1

BONE CONTROLLER ASSET VERSION 0.1 REV 1 Foreword Thank you for purchasing the Bone Controller! I m an independent developer and your feedback and support really means a lot to me. Please don t ever hesitate to contact me if you have a question,

More information

Pacman. you want to see how the maze was created, open the file named unity_pacman_create_maze.

Pacman. you want to see how the maze was created, open the file named unity_pacman_create_maze. Pacman Note: I have started this exercise for you so you do not have to make all of the box colliders. If you want to see how the maze was created, open the file named unity_pacman_create_maze. Adding

More information

BEGINNER PHP Table of Contents

BEGINNER PHP Table of Contents Table of Contents 4 5 6 7 8 9 0 Introduction Getting Setup Your first PHP webpage Working with text Talking to the user Comparison & If statements If & Else Cleaning up the game Remembering values Finishing

More information

INFORMATICS LABORATORY WORK #4

INFORMATICS LABORATORY WORK #4 KHARKIV NATIONAL UNIVERSITY OF RADIO ELECTRONICS INFORMATICS LABORATORY WORK #4 MAZE GAME CREATION Associate Professor A.S. Eremenko, Associate Professor A.V. Persikov Maze In this lab, you build a maze

More information

Damaging, Attacking and Interaction

Damaging, Attacking and Interaction Damaging, Attacking and Interaction In this tutorial we ll go through some ways to add damage, health and interaction to our scene, as always this isn t the only way, but it s the way I will show you.

More information

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 [talking head] This lecture we study theory design and implementation. Programmers have two roles to play here. In one role, they

More information

Better UI Makes ugui Better!

Better UI Makes ugui Better! Better UI Makes ugui Better! 2016 Thera Bytes UG Developed by Salomon Zwecker TABLE OF CONTENTS Better UI... 1 Better UI Elements... 4 1 Workflow: Make Better... 4 2 UI and Layout Elements Overview...

More information

Animations involving numbers

Animations involving numbers 136 Chapter 8 Animations involving numbers 8.1 Model and view The examples of Chapter 6 all compute the next picture in the animation from the previous picture. This turns out to be a rather restrictive

More information

Introduction to Unreal Engine Blueprints for Beginners. By Chaven R Yenketswamy

Introduction to Unreal Engine Blueprints for Beginners. By Chaven R Yenketswamy Introduction to Unreal Engine Blueprints for Beginners By Chaven R Yenketswamy Introduction My first two tutorials covered creating and painting 3D objects for inclusion in your Unreal Project. In this

More information

Setting up A Basic Scene in Unity

Setting up A Basic Scene in Unity Setting up A Basic Scene in Unity So begins the first of this series of tutorials aimed at helping you gain the basic understanding of skills needed in Unity to develop a 3D game. As this is a programming

More information

SPRITES Moving Two At the Same Using Game State

SPRITES Moving Two At the Same Using Game State If you recall our collision detection lesson, you ll likely remember that you couldn t move both sprites at the same time unless you hit a movement key for each at exactly the same time. Why was that?

More information

We created a few different effects and animations using this technique as applied to clones.

We created a few different effects and animations using this technique as applied to clones. Contents Scratch Advanced: Tick technique and Clones... 1 The tick-technique!... 1 Part 1: The Game Time Loop... 1 Part 2: The setup... 2 Part 3: The sprites react to each game tick... 2 The Spinning Shape

More information

Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides

Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides for both problems first, and let you guys code them

More information

TEAM 12: TERMANATOR PROJECT PROPOSAL. TEAM MEMBERS: Donald Eng Rodrigo Ipince Kevin Luu

TEAM 12: TERMANATOR PROJECT PROPOSAL. TEAM MEMBERS: Donald Eng Rodrigo Ipince Kevin Luu TEAM 12: TERMANATOR PROJECT PROPOSAL TEAM MEMBERS: Donald Eng Rodrigo Ipince Kevin Luu 1. INTRODUCTION: This project involves the design and implementation of a unique, first-person shooting game. The

More information

Adding Depth to Games

Adding Depth to Games Game Maker Tutorial Adding Depth to Games Written by Mark Overmars Copyright 2007-2009 YoYo Games Ltd Last changed: December 23, 2009 Uses: Game Maker 8.0, Pro Edition, Advanced Mode Level: Intermediate

More information

Smasher Video Game Design

Smasher Video Game Design Smasher Video Game Design CSEE 4840 Spring 2012 Project Design Prepared for Prof. Stephen Edwards Prepared By Jian Liu, jl3784 Tong Zhang, tz2176, Chaoying Kang, ck2566 Yunfan Dong, yd2238 Mar 20 th,2012

More information

Spell Casting Motion Pack 5/5/2017

Spell Casting Motion Pack 5/5/2017 The Spell Casting Motion pack requires the following: Motion Controller v2.49 or higher Mixamo s free Pro Magic Pack (using Y Bot) Importing and running without these assets will generate errors! Overview

More information

12/15/2008. All about Game Maker. Integrated Development Environment for 2D games Global idea

12/15/2008. All about Game Maker. Integrated Development Environment for 2D games Global idea Game Design 2008 Lecture 09 All about Game Maker Which is required for last assignment Integrated Development Environment for 2D games Global idea Simple to use, using drag-and-drop Still considerable

More information

The Stack, Free Store, and Global Namespace

The Stack, Free Store, and Global Namespace Pointers This tutorial is my attempt at clarifying pointers for anyone still confused about them. Pointers are notoriously hard to grasp, so I thought I'd take a shot at explaining them. The more information

More information

Burning CDs in Windows XP

Burning CDs in Windows XP B 770 / 1 Make CD Burning a Breeze with Windows XP's Built-in Tools If your PC is equipped with a rewritable CD drive you ve almost certainly got some specialised software for copying files to CDs. If

More information

Microsoft Access 2016 Intro to Forms and Reports

Microsoft Access 2016 Intro to Forms and Reports Microsoft Access 2016 Intro to Forms and Reports training@health.ufl.edu Access 2016: Intro to Forms and Reports 2.0 hours Topics include using the AutoForm/AutoReport tool, and the Form and Report Wizards.

More information

Dissolving Models with Particle Flow and Animated Opacity Map

Dissolving Models with Particle Flow and Animated Opacity Map Dissolving Models with Particle Flow and Animated Opacity Map In this tutorial we are going to start taking a look at Particle Flow, and one of its uses in digital effects of making a model look as though

More information

MITOCW watch?v=0jljzrnhwoi

MITOCW watch?v=0jljzrnhwoi MITOCW watch?v=0jljzrnhwoi The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To

More information

pygame Lecture #5 (Examples: fruitgame)

pygame Lecture #5 (Examples: fruitgame) pygame Lecture #5 (Examples: fruitgame) MOUSE INPUT IN PYGAME I. Detecting Mouse Input in pygame In addition to waiting for a keyboard event to precipitate some action, pygame allows us to wait for a mouse

More information

RENDERING TECHNIQUES

RENDERING TECHNIQUES RENDERING TECHNIQUES Colors in Flash In Flash, colors are specified as numbers. A color number can be anything from 0 to 16,777,215 for 24- bit color which is 256 * 256 * 256. Flash uses RGB color, meaning

More information

VANSTEENKISTE LEO DAE GD ENG UNFOLD SHADER. Introduction

VANSTEENKISTE LEO DAE GD ENG UNFOLD SHADER. Introduction VANSTEENKISTE LEO 2015 G E O M E T RY S H A D E R 2 DAE GD ENG UNFOLD SHADER Introduction Geometry shaders are a powerful tool for technical artists, but they always seem to be used for the same kind of

More information

How to approach a computational problem

How to approach a computational problem How to approach a computational problem A lot of people find computer programming difficult, especially when they first get started with it. Sometimes the problems are problems specifically related to

More information

Flowmap Generator Reference

Flowmap Generator Reference Flowmap Generator Reference Table of Contents Flowmap Overview... 3 What is a flowmap?... 3 Using a flowmap in a shader... 4 Performance... 4 Creating flowmaps by hand... 4 Creating flowmaps using Flowmap

More information

Tacky Golf Senior Project Write-Up By Robert Crosby

Tacky Golf Senior Project Write-Up By Robert Crosby Tacky Golf Senior Project Write-Up By Robert Crosby Abstract This project implements a simple miniature golf game in 3d for the iphone. Using a modular approach the game engine was written in several modules

More information

Handout Objectives: a. b. c. d. 3. a. b. c. d. e a. b. 6. a. b. c. d. Overview:

Handout Objectives: a. b. c. d. 3. a. b. c. d. e a. b. 6. a. b. c. d. Overview: Computer Basics I Handout Objectives: 1. Control program windows and menus. 2. Graphical user interface (GUI) a. Desktop b. Manage Windows c. Recycle Bin d. Creating a New Folder 3. Control Panel. a. Appearance

More information

Advanced Reporting Tool

Advanced Reporting Tool Advanced Reporting Tool The Advanced Reporting tool is designed to allow users to quickly and easily create new reports or modify existing reports for use in the Rewards system. The tool utilizes the Active

More information

Practice Exam Sample Solutions

Practice Exam Sample Solutions CS 675 Computer Vision Instructor: Marc Pomplun Practice Exam Sample Solutions Note that in the actual exam, no calculators, no books, and no notes allowed. Question 1: out of points Question 2: out of

More information

Invent Your Own Computer Games with Python

Invent Your Own Computer Games with Python Dragon Realm Invent Your Own Computer Games with Python Heejin Park College of Information and Communications Hanyang University Introduction Dragon Realm Sample Run Source Code Code Explanation def statements

More information

MITOCW watch?v=kz7jjltq9r4

MITOCW watch?v=kz7jjltq9r4 MITOCW watch?v=kz7jjltq9r4 PROFESSOR: We're going to look at the most fundamental of all mathematical data types, namely sets, and let's begin with the definitions. So informally, a set is a collection

More information

Click on the empty form and apply the following options to the properties Windows.

Click on the empty form and apply the following options to the properties Windows. Start New Project In Visual Studio Choose C# Windows Form Application Name it SpaceInvaders and Click OK. Click on the empty form and apply the following options to the properties Windows. This is the

More information

Python & PixelPAD. FIRST Robotics. Power Up Tutorial. Introduction to App Dev with PixelPAD

Python & PixelPAD. FIRST Robotics. Power Up Tutorial. Introduction to App Dev with PixelPAD Python & PixelPAD Introduction to App Dev with PixelPAD FIRST Robotics Power Up Tutorial 1 Table of Contents Getting Started... 4 What is PixelPAD?... 4 Scripts... 6 Scripts... 6 The Game Script... 7 Default

More information

Mobile Touch Floating Joysticks with Options version 1.1 (Unity Asset Store) by Kevin Blake

Mobile Touch Floating Joysticks with Options version 1.1 (Unity Asset Store) by Kevin Blake Mobile Touch Floating Joysticks with Options version 1.1 (Unity Asset Store) by Kevin Blake Change in version 1.1 of this document: only 2 changes to this document (the unity asset store item has not changed)

More information

Skill 1: Multiplying Polynomials

Skill 1: Multiplying Polynomials CS103 Spring 2018 Mathematical Prerequisites Although CS103 is primarily a math class, this course does not require any higher math as a prerequisite. The most advanced level of mathematics you'll need

More information

Introduction pixels (but it is allowed to come out of limits)

Introduction pixels (but it is allowed to come out of limits) The SMBX1...64 *.LVL file specification Reverse-engined by Wohlstand 02/12/2014 (100% done) Level file is a TEXT file. All parameters are written sequentially with separating by CRLF newline character

More information

Lightning Strikes. In this tutorial we are going to take a look at a method of creating some electricity zapper effects using Particle Flow.

Lightning Strikes. In this tutorial we are going to take a look at a method of creating some electricity zapper effects using Particle Flow. Lightning Strikes In this tutorial we are going to take a look at a method of creating some electricity zapper effects using Particle Flow. Open a new scene in 3DS Max and press 6 to open particle view.

More information

Start Visual Studio, create a new project called Helicopter Game and press OK

Start Visual Studio, create a new project called Helicopter Game and press OK C# Tutorial Create a helicopter flying and shooting game in visual studio In this tutorial we will create a fun little helicopter game in visual studio. You will be flying the helicopter which can shoot

More information

Getting help with Edline 2. Edline basics 3. Displaying a class picture and description 6. Using the News box 7. Using the Calendar box 9

Getting help with Edline 2. Edline basics 3. Displaying a class picture and description 6. Using the News box 7. Using the Calendar box 9 Teacher Guide 1 Henry County Middle School EDLINE March 3, 2003 This guide gives you quick instructions for the most common class-related activities in Edline. Please refer to the online Help for additional

More information

>print "hello" [a command in the Python programming language]

>print hello [a command in the Python programming language] What Is Programming? Programming is the process of writing the code of computer programs. A program is just a sequence of instructions that a computer is able to read and execute, to make something happen,

More information

Game Board: Enabling Simple Games in TouchDevelop

Game Board: Enabling Simple Games in TouchDevelop Game Board: Enabling Simple Games in TouchDevelop Manuel Fähndrich Microsoft Research One Microsoft Way, Redmond WA 98052, USA maf@microsoft.com February 23, 2012 Abstract TouchDevelop is a novel application

More information

Python & PixelPAD. FIRST Robotics. Maker Labs Tutorial. Introduction to App Dev with PixelPAD

Python & PixelPAD. FIRST Robotics. Maker Labs Tutorial. Introduction to App Dev with PixelPAD Python & PixelPAD Introduction to App Dev with PixelPAD FIRST Robotics Maker Labs Tutorial 1 Table of Contents Getting Started... 4 What is PixelPAD?... 4 Scripts... 6 Scripts... 6 The Game Script... 7

More information

What You're Building 2. Getting Started 3 Introduction 4 Iteration or how we will get to Finished App. 4

What You're Building 2. Getting Started 3 Introduction 4 Iteration or how we will get to Finished App. 4 Table of Contents What You're Building 2 Getting Started 3 Introduction 4 Iteration or how we will get to Finished App. 4 Iteration 1 Create still image of our Game 5 Getting Ready 5 Set up the Components

More information

Chaos Culture. Multiclip Editor / Multiclip Note preview 1.5. Edited by Jason Cowling

Chaos Culture. Multiclip Editor / Multiclip Note preview 1.5. Edited by Jason Cowling Chaos Culture Introduction... 2 Important stuff... 2 Setup... 3 Editing clips... 4 Using the editor... 5 Settings... 9 Workflow settings... 10 Performance... 13 Future updates... 13 Editor 1.6.61 / Note

More information

Intro. Speed V Growth

Intro. Speed V Growth Intro Good code is two things. It's elegant, and it's fast. In other words, we got a need for speed. We want to find out what's fast, what's slow, and what we can optimize. First, we'll take a tour of

More information

Blitz2D Newbies: Definitive Guide to Types by MutteringGoblin

Blitz2D Newbies: Definitive Guide to Types by MutteringGoblin Blitz2D Newbies: Definitive Guide to Types by MutteringGoblin Types are probably the hardest thing to understand about Blitz Basic. If you're using types for the first time, you've probably got an uneasy

More information

Beginning a New Project

Beginning a New Project 3 Beginning a New Project Introducing Projects 000 Creating and Naming a Project 000 Importing Assets 000 Importing Photoshop Documents 000 Importing Illustrator Documents 000 Importing QuickTime Movies

More information

To use the keyboard emulation, you must activate it in the tray icon menu (see 2.6 Enable keyboard emulation)

To use the keyboard emulation, you must activate it in the tray icon menu (see 2.6 Enable keyboard emulation) LEA USER GUIDE Notice: To use LEA you have to buy the client and download the free server at: https://www.leaextendedinput.com/download.php The Client is available in the App Store for IOS and Android

More information

Open GL Framework For A Computer Graphics Course

Open GL Framework For A Computer Graphics Course Open GL Framework For A Computer Graphics Course Programmer: Daniel Odle Sponsor / Advisor: Dr. Morse University of Evansville 4-26-03 Table of Contents Introduction 3 Statement of Problem 3 Design Approach

More information

[ the academy_of_code] Senior Beginners

[ the academy_of_code] Senior Beginners [ the academy_of_code] Senior Beginners 1 Drawing Circles First step open Processing Open Processing by clicking on the Processing icon (that s the white P on the blue background your teacher will tell

More information

Table of Laplace Transforms

Table of Laplace Transforms Table of Laplace Transforms 1 1 2 3 4, p > -1 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Heaviside Function 27 28. Dirac Delta Function 29 30. 31 32. 1 33 34. 35 36. 37 Laplace Transforms

More information

LAB 2: DATA FILTERING AND NOISE REDUCTION

LAB 2: DATA FILTERING AND NOISE REDUCTION NAME: LAB TIME: LAB 2: DATA FILTERING AND NOISE REDUCTION In this exercise, you will use Microsoft Excel to generate several synthetic data sets based on a simplified model of daily high temperatures in

More information

Max and Programming Is Max a Programming Language?

Max and Programming Is Max a Programming Language? There are several questions that come up from time to time on the Max discussion list. Is Max a real programming language? if so how do I do [loop, switch, bitmap, recursion] and other programming tricks

More information

Troubleshooting Maple Worksheets: Common Problems

Troubleshooting Maple Worksheets: Common Problems Troubleshooting Maple Worksheets: Common Problems So you've seen plenty of worksheets that work just fine, but that doesn't always help you much when your worksheet isn't doing what you want it to. This

More information

Game Programming with. presented by Nathan Baur

Game Programming with. presented by Nathan Baur Game Programming with presented by Nathan Baur What is libgdx? Free, open source cross-platform game library Supports Desktop, Android, HTML5, and experimental ios support available with MonoTouch license

More information

Erasmus+ Project: Yestermorrow Year 1 Maths: Pythagorean Theorem

Erasmus+ Project: Yestermorrow Year 1 Maths: Pythagorean Theorem Erasmus+ Project: Yestermorrow Year 1 Maths: Pythagorean Theorem Workshop (Coding Android Mobile Apps): Collision Detection and the Pythagorean Theorem (Based on the code.org worksheet) WORKSHOP OVERVIEW

More information

Understanding an App s Architecture

Understanding an App s Architecture Chapter 14 Understanding an App s Architecture This chapter examines the structure of an app from a programmer s perspective. It begins with the traditional analogy that an app is like a recipe and then

More information

DarkBASIC Pro: Counters and Timers Copyright 2011 A. Stewart 1

DarkBASIC Pro: Counters and Timers Copyright 2011 A. Stewart 1 DarkBASIC Pro: Counters and Timers Copyright 2011 A. Stewart 1 Counters and Timers Introduction Many games need to display either counters, or timers, or both. We need to count how many points you ve accumulated

More information

Designing and Printing Address Labels

Designing and Printing Address Labels Designing and Printing Address Labels This file will show you one way to use your computer for producing stick-on address labels, helping you to reduce the time involved in preparing the year's set of

More information

PaintPot: (Part 1) What You're Building. Before starting

PaintPot: (Part 1) What You're Building. Before starting PaintPot: (Part 1) This tutorial introduces the Canvas component for creating simple two-dimensional graphics. You'll build an app that lets you draw on the phone screen in different colors. Historical

More information

08 NSBasic Moving Target Page = 1 = 13 October 2015

08 NSBasic Moving Target Page = 1 = 13 October 2015 08 NSBasic Moving Target Page = 1 = 13 October 2015 08 NSBasic Moving Target Download the Moving Target V3.00 NSBasic start file from your home folder. This is the file that you will start with in the

More information

How to Create Greeting Cards using LibreOffice Draw

How to Create Greeting Cards using LibreOffice Draw by Len Nasman, Bristol Village Ohio Computer Club If you want to create your own greeting cards, but you do not want to spend a lot of money on special software, you are in luck. It turns out that with

More information

Making use of other Applications

Making use of other Applications AppGameKit 2 Collision Using Arrays Making use of other Applications Although we need game software to help makes games for modern devices, we should not exclude the use of other applications to aid the

More information

IP subnetting made easy

IP subnetting made easy Version 1.0 June 28, 2006 By George Ou Introduction IP subnetting is a fundamental subject that's critical for any IP network engineer to understand, yet students have traditionally had a difficult time

More information

CS102: Standard I/O. %<flag(s)><width><precision><size>conversion-code

CS102: Standard I/O. %<flag(s)><width><precision><size>conversion-code CS102: Standard I/O Our next topic is standard input and standard output in C. The adjective "standard" when applied to "input" or "output" could be interpreted to mean "default". Typically, standard output

More information

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications

Hello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications Hello World! Computer Programming for Kids and Other Beginners by Warren Sande and Carter Sande Chapter 1 Copyright 2009 Manning Publications brief contents Preface xiii Acknowledgments xix About this

More information

Tracking changes in Word 2007 Table of Contents

Tracking changes in Word 2007 Table of Contents Tracking changes in Word 2007 Table of Contents TRACK CHANGES: OVERVIEW... 2 UNDERSTANDING THE TRACK CHANGES FEATURE... 2 HOW DID THOSE TRACKED CHANGES AND COMMENTS GET THERE?... 2 WHY MICROSOFT OFFICE

More information

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Table of Contents Introduction!... 1 Part 1: Entering Data!... 2 1.a: Typing!... 2 1.b: Editing

More information

Introduction to Game Programming Lesson 4 Lecture Notes

Introduction to Game Programming Lesson 4 Lecture Notes Introduction to Game Programming Lesson 4 Lecture Notes Learning Objectives: Following this lecture, the student should be able to: Define frame rate List the factors that affect the amount of time a game

More information

Screenshots Made Easy

Screenshots Made Easy Screenshots Made Easy Welcome to the simplest screenshot tutorial ever. We'll be using the simplest graphic editing tool ever: Microsoft Paint. The goal of this tutorial is to get you making your own screenshots

More information

Simulator. Chapter 4 Tutorial: The SDL

Simulator. Chapter 4 Tutorial: The SDL 4 Tutorial: The SDL Simulator The SDL Simulator is the tool that you use for testing the behavior of your SDL systems. In this tutorial, you will practice hands-on on the DemonGame system. To be properly

More information

Software Prototyping. & App Inventor

Software Prototyping. & App Inventor Software Prototyping & App Inventor Prototyping This & next several slides distilled from: http://appinventor.mit.edu/explore/teaching-app-creation.html Prototype: preliminary, interactive model of an

More information

ReggieNet: Content Organization Workshop. Facilitators: Mayuko Nakamura (mnakamu), Charles Bristow (cebrist) & Linda Summers (lsummer)

ReggieNet: Content Organization Workshop. Facilitators: Mayuko Nakamura (mnakamu), Charles Bristow (cebrist) & Linda Summers (lsummer) ReggieNet: Content Organization Workshop Facilitators: Mayuko Nakamura (mnakamu), Charles Bristow (cebrist) & Linda Summers (lsummer) Content Organization Overview There are many ways to organize content

More information

Chapter 1 Operations With Numbers

Chapter 1 Operations With Numbers Chapter 1 Operations With Numbers Part I Negative Numbers You may already know what negative numbers are, but even if you don t, then you have probably seen them several times over the past few days. If

More information

Lesson 4: Who Goes There?

Lesson 4: Who Goes There? Lesson 4: Who Goes There? In this lesson we will write a program that asks for your name and a password, and prints a secret message if you give the right password. While doing this we will learn: 1. What

More information

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #43. Multidimensional Arrays

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #43. Multidimensional Arrays Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #43 Multidimensional Arrays In this video will look at multi-dimensional arrays. (Refer Slide Time: 00:03) In

More information

Written test, 25 problems / 90 minutes

Written test, 25 problems / 90 minutes Sponsored by: UGA Math Department and UGA Math Club Written test, 5 problems / 90 minutes October 1, 017 Instructions 1. At the top of the left of side 1 of your scan-tron answer sheet, fill in your last

More information

Table of Contents 1.1. Introduction Installation Quick Start Documentation Asynchronous Configuration 1.4.

Table of Contents 1.1. Introduction Installation Quick Start Documentation Asynchronous Configuration 1.4. Table of Contents Introduction 1 Installation 2 Quick Start 3 Documentation Asynchronous Configuration Level Streaming Saving And Loading Slot Templates 1.1 1.2 1.3 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1

More information