Chisel floor levels and doom3 botlib experimentation, documentation and extension

Similar documents
Programming Proverbs

Game Engine Design. GNU/Linux lab. GNU/Linux lab. in this module we will examine: tools necessary to develop game engines:gdb,

GNU/Linux lab. Chisel. chisel/map/doors.txt

Programming Proverbs

Programming Proverbs

Adding auto lights to chisel

Linux Software Installation Exercises 2 Part 1. Install PYTHON software with PIP

Programming Proverbs

This tutorial will guide you how to setup and run your own minecraft server on a Linux CentOS 6 in no time.

Know your tools. Programming Proverbs. emacs customisation ($HOME/.emacs) for ioquake. emacs

SolidWorks Import Tutorial

Using the Zoo Workstations

Lecture 3: Processing Language Data, Git/GitHub. LING 1340/2340: Data Science for Linguists Na-Rae Han

WRITING CONSOLE APPLICATIONS IN C

Lecture 6: more pandas (and git/github) LING 1340/2340: Data Science for Linguists Na-Rae Han

Introduction to the Command line. Introduction to the command line. Introduction to the Command line. GNU/Linux at South Wales

Installation and Upgrade Guide Zend Studio 9.x

1 Getting Started with Linux.

Installation and Upgrade Guide Zend Studio 9.x

CMPT 300. Operating Systems. Brief Intro to UNIX and C

Autonomous Parking. LEGOeducation.com/MINDSTORMS. Duration Minutes. Learning Objectives Students will: Di culty Beginner

CMPSCI 187 / Spring 2015 Hanoi

Design a three-input, two-output sequential digital circuit which functions as a digital locking mechanism. LOCK ALARM

XNA Tutorials Utah State University Association for Computing Machinery XNA Special Interest Group RB Whitaker 21 December 2007

Code::Blocks Student Manual

PGE Introduction. PGE is a Predictive physics Game Engine it operates by predicting the time of next collision rather than using aframe based approach

CSC BioWeek 2018: Using Taito cluster for high throughput data analysis

Traditional Access Permissions

CSC BioWeek 2016: Using Taito cluster for high throughput data analysis

TangeloHub Documentation

Compile and Run WordCount via Command Line

Getting Started with UNIX

Introduction to UNIX command-line II

Solr Installation User Guide. Solr Installation Brainvire Infotech Pvt. Ltd

Getting Started With UNIX Lab Exercises

No Food or Drink in this room. Logon to Windows machine

Managing Projects with Git

OO Fortran Exercises

bwunicluster Tutorial Access, Data Transfer, Compiling, Modulefiles, Batch Jobs

Brunch Documentation. Release Brunch team

Unix/Linux Basics. Cpt S 223, Fall 2007 Copyright: Washington State University

Fundamentals: Expressions and Assignment

HW #4. Hierarchical Temporal Memory

Systems Programming and Computer Architecture ( ) Exercise Session 01 Data Lab

bwunicluster Tutorial Access, Data Transfer, Compiling, Modulefiles, Batch Jobs

213/513/613 Linux/Git Bootcamp. Cyrus, Eugene, Minji, Niko

Quintic Software Tutorial 3. Take a Picture

Keyframing an IK Skeleton Maya 2012

Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras

Overview. during this tutorial we will examine how touse git from the command line. finally we will explore a graphical visualisation of git activity

CPS109 Lab 1. i. To become familiar with the Ryerson Computer Science laboratory environment.

1.00 Lecture 2. What s an IDE?

Adept Lynx Triangle Drive: Configuration and Applications

Introduction to the shell Part II

CSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup

Unix - Basics Course on Unix and Genomic Data Prague, January 2017

Exercise sheet 1 To be corrected in tutorials in the week from 23/10/2017 to 27/10/2017

Preparing and Running C Programs for CS 136 (W08)

Code::Blocks Student Manual

Using Annotation Sets Part 3 TIP TUTORIAL. Using Annotation Sets Part 3

DarkRift Server Plugin Tutorial

Identify parallel lines, skew lines and perpendicular lines.

Programming Proverbs

emacs Know your tools emacs keys Minimal number of key commands for emacs GNU Emacs is an extensible, customisable text editor-and more

Image Sharpening. Practical Introduction to HPC Exercise. Instructions for Cirrus Tier-2 System

Installing and getting started with Visual Studio for C programming in Windows.

EE , GPU Programming

How Emacs Evolves to Suit Your Needs p. 1 How Emacs Differs from Other Software p. 3 Software and the User p. 4 Emacs Vocabulary and Conventions p.

Computer and Programming: Lab 1

Other languages and C++ Writing bash scripts

SECTION 2: HW3 Setup.

PC4G - University of Waterloo December 8, 2017

HOW TO USE CODE::BLOCKS IDE FOR COMPUTER PROGRAMMING LABORATORY SESSIONS

Unit 13. Linux Operating System Debugging Programs

CS 460 Linux Tutorial

Tutorial 19 - Remotely Debugging Projects

Lab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio

TREX Set-Up Guide: Creating a TREX Executable File for Windows

EL2310 Scientific Programming

CSE 15L Winter Midterm :) Review

Module 01 Processing Recap. Program structure Types Declarations Expressions Statements

Introduction. Overview of 201 Lab and Linux Tutorials. Stef Nychka. September 10, Department of Computing Science University of Alberta

Introduction. Key features and lab exercises to familiarize new users to the Visual environment

Exercises. Notes: Exercise 1. Install the Cacti Plugin Architecture (Cacti PA)

Dalhousie University CSCI 2132 Software Development Winter 2018 Lab 8, March 22

Working with GIT. Florido Paganelli Lund University MNXB Florido Paganelli MNXB Working with git 1/47

Software and Programming 1

Effective Software Development and Version Control

CHEF MANUAL. Installation and Configuration. SGT, Inc. Innovation Technology Center

Introduction to UNIX command-line

Tools Basics. Getting Started with Renesas Development Tools R8C/3LX Family

The Edit-Compile-Run Cycle. EECS 211 Winter 2017

Git Tutorial. André Sailer. ILD Technical Meeting April 24, 2017 CERN-EP-LCD. ILD Technical Meeting, Apr 24, 2017 A. Sailer: Git Tutorial 1/36

SECTION 2: Loop Reasoning & HW3 Setup

Lab 2. Lexing and Parsing with ANTLR4

Quick Start Guide for TWR-S08LL64 TOWER SYSTEM MC9S08LL64. S08 ultra-low-power LCD segment MCU

SECTION 2: Loop Reasoning & HW3 Setup

Getting started with Hugs on Linux

This is a combination of a programming assignment and ungraded exercises

XLink Kai Raspberry Pi Beginners Tutorial

Transcription:

slide 1 Chisel floor levels and doom3 botlib experimentation, documentation and extension for your coursework you need to alter chisel and also extend the doom3 botlib API during this tutorial we will attempt to modify the floor level in chisel make astart on changing the botlib API this section will start with some experimentation, to gain confidence about the botlib API

Step 1: new emacs configuration file slide 2 download and install a new emacs configuration file $ cd $ rm -f skeleton-doom3-data.tar.gz $ wget http://floppsie.comp.glam.ac.uk/download/targz/skeleton-doom3-data.tar.gz $ tar zxvf skeleton-doom3-data.tar.gz

Step 1: new emacs configuration file slide 3 this new emacs configuration has the cheat sheet built in via, F10 other useful features (shown in the cheat sheet) open up a terminal and update your dhewm3 code $ cd $HOME/Sandpit/git-doom3/pybot-dhewm3 $ git pull $ cd $HOME/Sandpit/git-doom3 $ rm -rf build

Step 2: chisel floor levels slide 4 currentlypen2map converts a penguin tower file into a doom3 map file however map floor is completely level it would be good aesthetically to introduce minor floor level changes between rooms start upemacs and press F7 and then press F10 inpen2map.py search forward forfloorlevel notice how itisinitialised to zero in theroominfo constructor

Step 2: chisel floor levels slide 5 modify this so that it is 0 for an even room number and -0.25 for an odd room number test these changes on a two room map test these changes on a three room map test these changes on a four room map aunit of 1 in a penguin tower map represents 48 inches in the doom3 world homework: see if you can think of a better algorithm in which to change floor levels

slide 6 quitemacs make sure that dhewm3 runs in a window (not full screen) now set the environment variabledebug_pybot from your command line, then restart emacs this will allow you to debug the python bot and the doom3 game engine $ export DEBUG_PYBOT=yes $ emacs &

slide 7 use emacs to load the file$home/sandpit/git-doom3/pybotdhewm3/python-bot/python_doommarine_1.py remember$home is shorthand for/home/yourusername recall that you can use the <tab> key to complete filename and directory names in emacs

slide 8 now press F12 and when this has completed F5 this will compile dhewm3 (F12) and then debug dhewm3 (F5) press F10 for help make sure that dhewm3 has been configured to run in a window (not full screen) if not reconfigure it and quit dhewm3 and then press F5 in emacs

slide 9 open up another terminal $ cd $HOME/Sandpit/chisel/python $./developer-txt2map../maps/python.txt

slide 10 open up another terminal $ cd $HOME/Sandpit/git-doom3/pybot-dhewm3/python-bot $ python python_doommarine_1.py this will run the python bot from the command line and allows you to see any debugging output return to the dhewm program and pull down the in game console (using ) now type: dmap tiny.map map tiny.map

slide 11 you should see Python bot appear and run in a circle the game engine is being run under the debugger python bot is being run from the command line

slide 12 see if you can changepython_doommarine_1.py to make Python bot walk around in a circle rather than run create two functionswalkcircle andruncircle finally change the program to make Python bot turn without walking see if you can change botlib.py sothat an turn angle of 0 degrees is straight up in the penguin map you will need to read and study the file$home/sandpit/gitdoom3/pybot-dhewm3/python-bot/botlib.py

slide 13 homework, write out a list of functions implemented inbotlib.py together with their functionality complete the walkcircle/runcircle and turn exercises from above consider what extra basic movements are desirable inbotlib.py