Seminar for Participants An Introduction on Robocode.

Slides:



Advertisements
Similar presentations
INOCULATE THE EGGS BY: HEAVEN AND PAUL INTRODUCTION PART A, B, C, D, E, AND F OF OUR CONCEPT. OUR S.W.O.T. ANALYSIS. TARGET MARKET. PRICING. PRODUCT.
Advertisements

Introduction Games have always been a fundamental part of human life. Space storm “ عاصفة الفضاء” is a 3D SCI-FI game that consists of two stages presented.
Online Game Security - Quake III and its Hacks - (related paper: A Systematic Classification of Cheating in Online Games, Jeff Yanand and Brian Randell.
The Depths of Space Create and command ships worthy of combat. Created By: Peter G Muir.
Robocode. What is Robocode? Robocode is an easy-to-use robotics battle simulator. You create a robot, put it onto a battlefield, and let it battle to.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington UML for design: Class Diagrams.
This Week Cover as much Robocode strategy as we can Monday: Robocode
Programing Concept Ken Youssefi/Ping HsuIntroduction to Engineering – E10 1 ENGR 10 Introduction to Engineering (Part A)
Graduate Capstone Project Breaking Walls: Developing a Successful Robot in Robocode Chris Velez Summer 2011 Advisor :Dr. Xiang.
1 By: Christopher Burgess (CS) and Nathan Roy (IMGD) Advisor: Mark Claypool.
Design, Implementation, & Impact Jeffrey Santos Hofstra University May, 2010.
Java Applets A lab course by Dr. Junaid Ahmed Zubairi SUNY Fredonia.
CIS101 Introduction to Computing Week 11. Agenda Your questions Copy and Paste Assignment Practice Test JavaScript: Functions and Selection Lesson 06,
INTRODUCTION TO SCRATCH. About Me Resources Scratch Website Learn Scratch Washington-Lee Computer.
Games and Simulations O-O Programming in Java The Walker School
GameMaker.  A lot of Different Definitions  Easier to Say What is NOT a Game  Movie is Not a Game  No Active Participation  Final Outcome is Fixed.
Using FangEngine The FangEngine is created by Brian C. Ladd & Jam Jenkins Presentation by Pepper With much credit to: Jenkins, Jam & Brian C. Ladd. Introductory.
SuperCorners. Problem The Corners sample robot has a simple strategy: first, move into a corner of the arena, and second sweep the gun back and forth.
1 Programming James King 12 August Aims Give overview of concepts addressed in Web based programming module Teach you enough Java to write simple.
How does Robocode work? In short it is a framework
CSE AI Game Programming. Installation 
Introduction to Programming G50PRO University of Nottingham Unit 3 : Introduction To Scratch 2 Paul Tennent
Programing Concept Ken Youssefi/Ping HsuIntroduction to Engineering – E10 1 ENGR 10 Introduction to Engineering (Part A)
Human Vision Robot (Light Sensor) Vision White/Light: 100 Black/Dark: 0 Colors:
Ikaruga Charlie Cross CIS Overview Released in 2001 in Japanese Arcades. Released for Dreamcast in 2002 Finally released for Gamecube in.
Description, Classes, Interfaces, Hierarchy, Specifics George Georgiev Telerik Software Academy academy.telerik.com Technical Trainer itgeorge.net.
How to make a Shooting Target game in Scratch!. WE ARE GOING TO MAKE A TARGET GAME. This game will have: A Target that will move when clicked. A Timer.
KRUGLE BY: Roli Shrivastava. STORIES COLIN SAYS “ It was the first day at my new job and one my new colleagues told me that they were looking for a specific.
CSE AI Game Programming. Installation 
Art 321 Lecture 7 Dr. J. Parker. Programming In order to ‘make things happen’ on a computer, you really have to program it. Programming is not hard and.
Idea1 : Net Aooni Arcade Idea2 : Shooting Arcade Project Brainstorming Computer Game 2011 Fall ♣ Lee Sang Min.
Presents By Jack Mcwatters Thomas Reynolds Adrian Lopez Fernando Payan.
11 Adding Tomato Targets Session Session Overview  We now have a game which lets a player bounce a piece of cheese on a bread bat  Now we have.
Sample Video Game & Sound. The Plan 1.Game Theme 2.Game Structure 3.Sprites 4.Trackers 5.Collisions 6.Score 7.Levels 8.Splash Screens 9.Design 10.Implementation.
Assignments. AnatomyBot.java Create a robot that turns all of it parts independently (vehicle, gun, and radar). Turn the vehicle left 360 o Turn the gun.
Tolo-e-aftab higher education 1 th semester Bcs 1/2/1392 MINISTRY OF HIGHER EDUCATION.
Introduction to Data & Advanced Programming Blocks ROBOTICS II Module 1 Done by: Eng Nooran Drak.
University of Limerick1 Computer Applications CS 4815 Robocode.
The Physical Layer: Network Interface Cards Aaron Ehrlich Daniel Dunevant.
Creating a Simple Game in Scratch Barb Ericson Georgia Tech June 2008.
Lawrence Snyder University of Washington, Seattle © Lawrence Snyder 2004 Drawing pictures … It’s not art, it’s fun.
Hex Command Unit Design Skirmishers Fatigue Form Square Cavalry vs. Square Cavalry vs. Square Movement and Terrain Movement and Terrain Artillery Cavalry.
EV3 Software EV3 Robot Workshop
ROBOTC Software EV3 Robot Workshop
For Programming Challenge N. H. N. D. de Silva. Introduction General Game Architecture Server Architecture Joining the game Game initiation Moving and.
(1) Introduction to Robocode Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii Honolulu.
M. Nelson, 21 Mar NorthWest Louisiana Autonomous Robotics Competition (NWLA-ARC) 2 Challenges – 4 Bottle Race – Board Challenge Awards for Event.
GAME:IT Paddle Ball Objectives: Review skills from Introduction Create a background Add simple object control (up and down) Add how to create a simple.
Tank Game Part 2 of 6. Firing Shells Coming up… Players Scores Large Explosions Small Explosions Damage Health Bars Parent Shell Destructible Walls Reappear.
IBM Software Group © 2006 IBM Corporation Confidentiality/date line: 13pt Arial Regular, white Maximum length: 1 line Information separated by vertical.
SNIPING TUTORIAL – BY TMAN THE IDEA: The objective of this tutorial is to create a sniping effect. To create the sniping effect you need to create a scope.
Alice and Java Unit 7 1. Day 1  Objective: Gain an introduction to Java and Eclipse  Essential skill: DM-1: Use technology to advance critical thinking.
Creating a Simple Game in Scratch Barb Ericson Georgia Tech May 2009.
Chapter 14 Part 1: Core Game Mechanics By Nolan Driessen.
Introduction to Programming using Java
RoboCup: The Robot World Cup Initiative
Technology Fair Student Notebook Rose
MOM! Phineas and Ferb are … Aims:
Winning Strategy in Programming Game Robocode
Aaron Camm, Jeff Huggins, Steve Moskal, Patrick Cardwell
Control Structures (Structured Programming) for controlling the procedural aspects of programming CS1110 – Kaminski.
MTAT , 2CP Seminar Ilja Livenson
Java Applets.
Developing a Model-View-Controller Component for Joomla Part 3
Tank Game Part 2 of 6.
Line Following Behavior
Chapter 14 Part 1: Core Game Mechanics By Nolan Driessen
Control Structures (Structured Programming) for controlling the procedural aspects of programming CS1110 – Kaminski.
Creating a Simple Game in Scratch
Robocode A robot is made up of 3 things:
Presentation transcript:

Seminar for Participants

An Introduction on Robocode

The Brainchild of Matthew Nelson A software engineer in the Advanced Technology, Internet Division at IBM A game that allows players to create and control a robot in the Java programming language The goal is to be the last robot standing while being the best scorer. Simple to learn, difficult to master like chess.

Player must write a Java code that creates a robot that can: Move Shoot at other robots Scan for other robots Hit the walls and other robots More Sophisticated Techniques Statistical Analysis, Neural Networks

To help people in learning the Java program while enjoying the experience To help people in learning programming concepts such as control statements, method declarations, inheritance and event handling. To sharpen strategic skills For the excitement of competition For prices?

Body - Carries the gun with the radar on top. Gun - Mounted on the body and is used for firing energy bullets. Radar - Mounted on the gun and is used to scan for other robots when moved.

Must be unique in a specific Robocode installation Advised to be your initials

Import necessary Robocode classes, including the type of robot you will be using You can also import any relevant Java classes including the standard Java classes java.awt.Color; java.util.Random; Event objects of MouseListener, etc.

Extending the right class determines the features that your robot can have: JuniorRobot Robot AdvancedRobot RateControlRobot TeamRobot

Robot The Robot type where most users start Like the JuniorRobot, this class’ methods are blocking calls Have getters and setters instead of public fields AdvancedRobot Has non-blocking calls Support for custom events Can write to the file system

Literally, the life of your robot Majority of the code resides here The body outside the loop is used to ready the robot, i.e. setting colors, positioning the robot, etc. The body inside the loop is used for logic that is not dependent on any event and is supposed to be repeated, i.e. moving though the battlefield.

How to win a battle?

Statistics Total Score Survival Score Last Survivor Bonus Bullet Damage Bullet Damage Bonus Ram Damage Ram Damage Bonus **1sts, 2nds, 3rds

Breakdown Survival Score  Each robot that's still alive scores 50 points every time another robot dies. Last Survivor Bonus  The last robot alive scores 10 additional points for each robot that died before it. Bullet Damage  Robots score 1 point for each point of damage they do to enemies.

Breakdown Bullet Damage Bonus  When a robot kills an enemy, it scores an additional 20% of all the damage it did to that enemy. Ram Damage  Robots score 2 points for each point of damage they cause by ramming enemies. Ram Damage Bonus  When a robot kills an enemy by ramming, it scores an additional 30% of all the damage it did to that enemy.

Breakdown Total Score  All statistics are added to obtain the total score. The total score will determine the rank of the robot in the battle.

Additional **1sts, 2nds, 3rds These do not actually contribute to score. But they are shown to indicate how long the robot survived. They also show the number of rounds the robot was placed 1st, 2nd, and 3rd.

How to win a battle? LAST ROBOT STANDING The last surviving robot does not necessarily indicates the winner in a battle. Reminder: The total score is computed by adding the different statistics of the robot. Even if your robot survived because it has more energy than the others, if it only saves energy and the other robots killed other robots, they will gain more points.

Walls Moves around the outer edge (wall) with the gun facing in A simple robot (inherited from class Robot) A tricky robot; usually lasts the longest in the battlefield with other sample robots

Target Sits still Moves every time energy drops by 20 An advanced robot (inherited from class AdvancedRobot)

Target

Spinbot Characteristics  Body Color: Blue  Gun Color: Blue  Radar Color: Black  Scan Color: Yellow Behavior  Moves in a circle, firing hard when an enemy is detected

Spinbot Additional Info  Inherited from Advanced Robot  Has a damage of 16  Has a maximum speed of 5(in pixels)

Ramfire Characteristics  Body Color: light Gray  Gun Color: Gray  Radar Color: Dark Gray Behavior  Drives at robots trying to ram them, fires when it hits them.

Ramfire Additional Info  Inherited from Robot  Has a damage from

Tracker basically locks onto a robot, moves close to it, then fires when close

Tracker

TrackFire a still robot.; it just tracks and fires at the nearest robot it sees

ode/Scoring ysics