(The little gamer) Christian C-Keen Kellermann. FrOSCon s quasiconf the little gamer) FrOSCon /37
|
|
- Cornelius Reeves
- 8 years ago
- Views:
Transcription
1 the little gamer) FrOSCon /37 (The little gamer) Christian C-Keen Kellermann FrOSCon s quasiconf 2012
2 the little gamer) FrOSCon /37 Why program games? Definition of game: game noun: an amusement or pastime: children s games. webster s dictionary Games are known to ease learning So why not learn a language and have fun at the same time?
3 First steps ASCII Most programming introductions will tell you how to write text-based games They can get pretty fancy Unless you are a roguelike fan (like I am) or fond of text adventures, this will not hold attention span older machines, like the C64 did better I want pictures So why don t you get graphics in these books? Graphical IO (i.e. modern HW access) is complicated! (the little gamer) FrOSCon /37
4 SDL / GL / Allegro / WTF / BBQ Game engines and frameworks come by the dozen Different entry levels Many programming languages available Too much detail Advanced language features (the little gamer) FrOSCon /37
5 Available frameworks (a small selection) SDL Allegro Processing LÖVE How to design worlds (TeachScheme now!) (Your favourite one is probably missing... ) (the little gamer) FrOSCon /37
6 (the little gamer) FrOSCon /37 SDL This has been used by many many (more or less) popular games Fast, reliable, etc. Very low level Game loop needs to be implemented
7 (the little gamer) FrOSCon /37 Allegro Looks bigger than SDL Featurer complete, huge Supports Joysticks, Gamepads, Storage, Audio Game loop needs to be implemented
8 (the little gamer) FrOSCon /37 Processing Not really for games but visualisations Pseudo C like language + IDE Distribution is easy: Javascript, Java applet Lots of things have to be written from scratch
9 LÖVE Written in LUA Moderately big community Lots of new games Easy to get started Easy to distribute games (the little gamer) FrOSCon /37
10 How to design worlds Not really a game framework but a way of teaching programming Uses Racket as base Very nice emphasis on graphics Get the book for free (CC-BY-NC-SA 3.0) at Usage outside of classes unknown to me The exercises are fun to reprogram if you are bored. ( Why did the chicken cross the road... ) (the little gamer) FrOSCon /37
11 (the little gamer) FrOSCon /37 My favourite: CHICKEN Scheme A practical and portable Scheme system: Mailing lists: chicken-users, chicken-hackers Friendly helpers online: #chicken on freenode Comes with hundreds (> 500) extensions ( eggs ) Easy FFI to C/C++
12 (the little gamer) FrOSCon /37 Your options with CHICKEN Scheme Graphics SDL, OpenGL, GLUT Cairo Graphics Allegro simple-graphics doodle Sound OpenAL libsdlmixer Physics engines Box2D Chipmunk
13 (the little gamer) FrOSCon /37 Doodle My attempt to just open a window for graphics Goal: Find a convenient API / language / method for writing games 2D only Geared at the curious beginner and casual game programmer (like I am) Usable for games and visualisations, graphs, L-Systems, Turtlegraphics... A work in progress, still looking for the golden path...
14 (the little gamer) FrOSCon /37 Example L-Systems (define-l-system grass "F" ( "F" -> "F[+F]F[-F]F")) (draw-system grass 6 x: center-y y: h angle: -90 angle-step: 25.7 step-width: 2) (save-screenshot "grass.png")
15 Example Mouse events (the little gamer) FrOSCon /37
16 Example Tile set (the little gamer) FrOSCon /37
17 (the little gamer) FrOSCon /37 Sprites Not there yet, I am not sure of the API, demo:
18 Basic structure (use doodle) (new-doodle) ;; opens a window (define red ( )) ;; some nice transparent red (filled-circle (/ doodle-width 2) (/ doodle-height 2)) (show!) ;; If you want to save stuff (save-screenshot "circle.png") The easy way for visualisations: open a window draw things show window For games with interaction we have a game loop... (the little gamer) FrOSCon /37
19 (the little gamer) FrOSCon /37 Open the window (new-doodle #!key (width 680) (height 460) (title "Doodle") (background solid-black) (fullscreen #f)) Adjust to your own needs If background is a string, the file by that name will get loaded
20 The world Game loop (new-doodle) (world-inits (lambda ()...)) (world-changes (lambda (events dt exit-continuation)...) (world-ends (lambda ()...) (run-event-loop) Modelled after LÖVE and Processing, thanks! The world has three stages world-inits, world-changes, world-exits You can implement the ones you need Start the game loop with run-event-loop Those are (scheme) parameters, so you can reset them dynamically in the interpreter (the little gamer) FrOSCon /37
21 Drawing primitives Lines Circles Rectangles Text (True Type Fonts) Image blitting (the little gamer) FrOSCon /37
22 the little gamer) FrOSCon /37 An interactive example (use matchable doodle) (define *paint* #f) (define red ( )) (world-changes (lambda (events dt exit) (for-each (lambda (e) (match e (( mouse pressed x y 1) (set! *paint* #t) (filled-circle x y 10 red)) (( mouse released x y 1) (set! *paint* #f)) (( mouse moved x y) (when *paint* (filled-circle x y 10 red))) (( key pressed #\esc) (exit #t)) (else (void)))) events))) (new-doodle title: "Doodle paint" background: solid-white) (run-event-loop)
23 (the little gamer) FrOSCon /37 Beesteroids Heavily influenced by Andy Diver s CL version: Ships, Rockets, Space! Gets unnecessary cruel later in the game Was done in 333 lines of code (sloccount) A tiny portion of the code has to do with actual graphics or sound!
24 Beesteroids Screenshot (the little gamer) FrOSCon /37
25 (Poor) Design Choices No object system is used but regular scheme records All drawable objects are things All things have a velocity and a direction Vectors and points are just lists Things are drawn as polygons, which points are stored and transformed Objects should wrap around the screen when they leave, but only whole objects are drawn (the little gamer) FrOSCon /37
26 the little gamer) FrOSCon /37 The things: Like... a ship (define (make-ship #!key (angle (random 360)) heading (pos center) (radius 30) velocity (speed 0) (thrust 0)) (let* ((h (or heading angle)) (nose (radial-point-from pos radius h)) (left (radial-point-from pos radius (- h 130))) (right (radial-point-from pos radius (+ h 130))) (tail (radial-point-from pos (round (* radius 0.5)) (+ h 180))) (velocity (or velocity (map - (radial-point-from pos speed angle) pos)))) (make-thing ship pos velocity h thrust radius (list nose left tail right))))
27 (the little gamer) FrOSCon /37 Drawing things... ;; Draws a polygon from a list of points (define (draw-poly points) (unless (null? points) (let loop ((ps (cdr points)) (last (car points))) (cond ((null? ps) (line last (car points))) (else (line last (car ps)) (loop (cdr ps) (car ps))))))) ;; This draws the polygon of a thing (define (draw-thing thing) (draw-poly (thing-edges thing)) (when *debugging* (let ((pos (thing-pos thing))) (circle (first pos) (second pos) (* 2 (thing-bounding-radius thing)) ( )) (line pos (map + (map (cut * 100 <>) (thing-velocity thing)) pos))))) ;; Draw all things (define (draw-things. list-of-things) (for-each (lambda (things) (for-each draw-thing things)) list-of-things))
28 (the little gamer) FrOSCon /37 Dodging Bullets: Movement ;; Move one thing around (define (move-thing dt t) (let* ((pos (thing-pos t)) (thrust (* dt (thing-thrust t))) (heading (thing-heading t)) (velocity (thing-velocity t)) (thrust-vec (map - (radial-point-from pos thrust heading) pos)) (scaled-vel (map (cut * 100 <> dt) (map + velocity thrust-vec))) (new-vel (map + velocity thrust-vec))) (thing-pos-set! t (map + pos scaled-vel)) (thing-edges-set! t (map (lambda (e) (map + e scaled-vel)) (thing-edges t))) (thing-velocity-set! t new-vel))) ;; Move objects around (define (move-things time-delta. list-of-things) (for-each (lambda (things) (for-each (lambda (t) (move-thing time-delta t)) things)) list-of-things))
29 (the little gamer) FrOSCon /37 All the things belong somewhere... The world object holds asteroids, bullets, our ship and everything the game rules need. (define-record world paused? level lives score bullets-left shield bullets asteroids ship)
30 (the little gamer) FrOSCon /37 Hits and misses: Collision detection Works on the world, as it influences world state such as lives, score etc. (define (check-collisions world) (let ((bullets (world-bullets world)) (ship (world-ship world)) (asteroids (world-asteroids world))) (cond ((find (cut collides? ship <>) asteroids) => (lambda (a) (if (zero? (world-shield world)) (ship-wrecked) (begin (world-asteroids-set! world (delete a asteroids)) (asteroid-destroyed a)))))) (for-each (lambda (b) (cond ((find (cut collides? b <>) asteroids) => (lambda (a) (world-asteroids-set! world (delete a asteroids)) (world-bullets-set! world (delete b bullets)) (world-bullets-left-set! *w* (add1 (world-bullets-left *w*))) (asteroid-destroyed a))))) bullets)))
31 (the little gamer) FrOSCon /37 Putting it together DEMO!
32 Need it simpler? The simple-graphics extension by Alaric Snell-Pym gives you turtle graphics In a REPL! Easy to save pictures Approved by real children (the little gamer) FrOSCon /37
33 Adding sound OpenAL bindins and SDL mixer bindings available Beesteroids uses sdl-mixer The sdl-mixer extension is an attempt to make the API more scheme like There is one piece of music and there are samples, you can play them all at the same time (open-audio) (set! *thrust-sound* (load-sample "assets/thrusters.wav")) (set! *firing-sound* (load-sample "assets/firing-rocket.wav")) (set! *explosion-sound* (load-sample "assets/explosion.wav")) (set! *background-music* (load-music "assets/myveryowndeadship.ogg")) (play-music *background-music*) (music-finished (lambda () (play-music *background-music*))) ; meanwhile somewhere else... (when (< 0 bullets-left) (play-sample *firing-sound* channel: 2 duration: 1000)) ; much later... (close-audio) the little gamer) FrOSCon /37
34 Lessons learned so far during game sprints I always come back to a OO like model of the world no matter how hard I resist UI handling is not hard but cumbersome I am not there yet (the little gamer) FrOSCon /37
35 (the little gamer) FrOSCon /37 Things I would like to work on in the future Better collision detection support in doodle Direct access to the graphics engine w/o cairo (Optional) integration of sound
36 (the little gamer) FrOSCon /37 What to take home Game programming is easy if your language helps you Programming games in a lisp is fun There are options for evey skill level in CHICKEN Scheme
37 (the little gamer) FrOSCon /37 Where to go from here? Find these slides on the froscon pages or at: More doodle examples on my blog: Grab beesteroids and enhance it, play it, make it your own: $ git clone git@bitbucket.org:ckeen/beesteroids.git Flamewars criticisms, thoughts, questions can be directed to me also via C-Keen on IRC (drop by in #chicken on on twitter ckeen@pestilenz.org
Game Programming with DXFramework
Game Programming with DXFramework Jonathan Voigt voigtjr@gmail.com University of Michigan Fall 2006 The Big Picture DirectX is a general hardware interface API Goal: Unified interface for different hardware
More informationTen easy steps to creating great MicroWorlds EX projects. Steve Robson
How do I? Ten easy steps to creating great MicroWorlds EX projects. Steve Robson Contents Page 2 Page 3 Page 4 Page 5 Page 6 Page 7 Page 8 Page 9 Page 10 Introduction How do I move the Turtle? How do I
More informationScheme Slides 101 by Paulo Jorge Matos May 4th, 2006 http://sat.inesc-id.pt/~pocm
Scheme Slides 101 by Paulo Jorge Matos May 4th, 2006 http://sat.inesc-id.pt/~pocm 1 Scheme Slides 101 by Paulo Jorge Matos May 4th, 2006 http://sat.inesc-id.pt/~pocm Welcome my -friends... Let's get it
More informationDiscovering new features in HTML5 Offline applications
1 Introducing HTML5 Games Discovering new features in HTML5 Offline applications Discovering new features in CSS3 CSS3 animation The benefit of creating HTML5 games Breaking the boundary of usual browser
More informationAn evaluation of JavaFX as 2D game creation tool
An evaluation of JavaFX as 2D game creation tool Abstract With the current growth in the user experience,and the existence of multiple publishing platforms, the investigation of new game creation tools
More informationVisualizing Data: Scalable Interactivity
Visualizing Data: Scalable Interactivity The best data visualizations illustrate hidden information and structure contained in a data set. As access to large data sets has grown, so has the need for interactive
More informationU.Rahamathunnisa 1, S. Pragadeeswaran 2 *Assistant Professor, SITE, VIT University, Vellore. **MS(SE) Student, SITE, VIT University, Vellore.
COLLISION DETECTION GAME USING COCOS2DX-A CROSS PLATFORM U.Rahamathunnisa 1, S. Pragadeeswaran 2 *Assistant Professor, SITE, VIT University, Vellore. **MS(SE) Student, SITE, VIT University, Vellore. Abstract
More informationModern PHP Graphics with Cairo. Michael Maclean FrOSCon 2011
Modern PHP Graphics with Cairo Michael Maclean FrOSCon 2011 Who am I? PHP developer for a number of years Working on some PECL extensions Mainly graphics extensions What is Cairo? It's a vector graphics
More informationA little code goes a long way Cross-platform game development with Lua. Ivan Beliy, Software Engineer
A little code goes a long way Cross-platform game development with Lua Ivan Beliy, Software Engineer 9/25/14 Marmalade. Trademarks belong to their respective owners. All rights reserved. 1 A bit of History!
More informationBeginning Android 4. Games Development. Mario Zechner. Robert Green
Beginning Android 4 Games Development Mario Zechner Robert Green Contents Contents at a Glance About the Authors Acknowledgments Introduction iv xii xiii xiv Chapter 1: Android, the New Kid on the Block...
More informationBlender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine
Blender Notes Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 9 The Game Engine The Blender Game Engine This week we will have an introduction to the Game Engine build
More informationCS 378: Computer Game Technology
CS 378: Computer Game Technology http://www.cs.utexas.edu/~fussell/courses/cs378/ Spring 2013 University of Texas at Austin CS 378 Game Technology Don Fussell Instructor and TAs! Instructor: Don Fussell!
More informationThe Basics of Robot Mazes Teacher Notes
The Basics of Robot Mazes Teacher Notes Why do robots solve Mazes? A maze is a simple environment with simple rules. Solving it is a task that beginners can do successfully while learning the essentials
More informationMake your own Temple Run game
Make your own Temple Run game These instructions will talk you through how to make your own Temple Run game with your pupils. The game is made in Scratch, which can be downloaded here: http://scratch.mit.edu
More informationUser Guide 14 November 2015 Copyright GMO-Z.com Forex HK Limited All rights reserved.
User Guide 14 November 2015 Copyright GMO-Z.com Forex HK Limited All rights reserved. Table of Contents Section ONE: Layout I. General View II. Quotes List III. Chart Window Section TWO: Drawing Tools
More informationIndex. 2D arrays, 210
Index 2D arrays, 210 A ActionScript 2 (AS2), 6-7 ActionScript 3.0 (AS3), 6-7 Adobe Flash Platform Distribution service, 579 Adobe Flash Platform Shibuya service, 579 Adobe Flash Platform Social service,
More informationConditionals: (Coding with Cards)
10 LESSON NAME: Conditionals: (Coding with Cards) Lesson time: 45 60 Minutes : Prep time: 2 Minutes Main Goal: This lesson will introduce conditionals, especially as they pertain to loops and if statements.
More informationFinger Paint: Cross-platform Augmented Reality
Finger Paint: Cross-platform Augmented Reality Samuel Grant Dawson Williams October 15, 2010 Abstract Finger Paint is a cross-platform augmented reality application built using Dream+ARToolKit. A set of
More informationIntroduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps
Introduction Computer stuff Pixels Line Drawing Video Game World 2D 3D Puzzle Characters Camera Time steps Geometry Polygons Linear Algebra NURBS, Subdivision surfaces, etc Movement Collisions Fast Distances
More informationTutorial: Creating Platform Games
Tutorial: Creating Platform Games Copyright 2003, Mark Overmars Last changed: March 30, 2003 Uses: version 5.0, advanced mode Level: Intermediate Platform games are very common, in particular on devices
More informationCreating Animated Apps
Chapter 17 Creating Animated Apps This chapter discusses methods for creating apps with simple animations objects that move. You ll learn the basics of creating two-dimensional games with App Inventor
More informationThe very basic basics of PowerPoint XP
The very basic basics of PowerPoint XP TO START The above window automatically shows when you first start PowerPoint. At this point, there are several options to consider when you start: 1) Do you want
More informationCS 325 Computer Graphics
CS 325 Computer Graphics 01 / 25 / 2016 Instructor: Michael Eckmann Today s Topics Review the syllabus Review course policies Color CIE system chromaticity diagram color gamut, complementary colors, dominant
More informationGetting Started in Tinkercad
Getting Started in Tinkercad By Bonnie Roskes, 3DVinci Tinkercad is a fun, easy to use, web-based 3D design application. You don t need any design experience - Tinkercad can be used by anyone. In fact,
More informationWorking With Animation: Introduction to Flash
Working With Animation: Introduction to Flash With Adobe Flash, you can create artwork and animations that add motion and visual interest to your Web pages. Flash movies can be interactive users can click
More informationTriggers & Actions 10
Triggers & Actions 10 CHAPTER Introduction Triggers and actions are the building blocks that you can use to create interactivity and custom features. Once you understand how these building blocks work,
More informationlubyk lua libraries for live arts Gaspard Bucher (Buma)! artist, musician, coder
lubyk lua libraries for live arts Gaspard Bucher (Buma)! artist, musician, coder lubyk is not a framework Why lubyk? Reuse code from project to project Accelerate development (live coding) Simple APIs
More informationThe Design and Implementation of an Android Game: Foxes and Chickens
Vol.3, Issue.2, March-April. 2013 pp-1129-1134 ISSN: 2249-6645 The Design and Implementation of an Android Game: Foxes and Chickens Justin R. Martinez, 1 Wenbin Luo 2 12 Engineering Department, St. Mary's
More informationWrite Your Angry Bird Game on Tizen for Fun and Profit. Lu Guanqun Intel Corporation
Write Your Angry Bird Game on Tizen for Fun and Profit Lu Guanqun Intel Corporation Why? 3 The market is big! 4 Famous games apps Playing games is fun. Developing a game is more fun. 5 How? Native app
More information#include <Gamer.h> Gamer gamer; void setup() { gamer.begin(); } void loop() {
#include Gamer gamer; void setup() { gamer.begin(); void loop() { Gamer Keywords Inputs Board Pin Out Library Instead of trying to find out which input is plugged into which pin, you can use
More informationCreating Maze Games. Game Maker Tutorial. The Game Idea. A Simple Start. Written by Mark Overmars
Game Maker Tutorial Creating Maze Games Written by Mark Overmars Copyright 2007-2009 YoYo Games Ltd Last changed: December 23, 2009 Uses: Game Maker 8.0, Lite or Pro Edition, Advanced Mode Level: Beginner
More informationTypical asset: valuable, in a remote position, needs to report events about itself (including failures) and/or it environmnent to the company owning
1 Description of a typical M2M chain: An asset is a machine which needs to communicate over the net, without human operator intervention. There can be one or many assets; one of them used as a network
More informationTeachingEnglish Lesson plans. Kim s blog
Worksheets - Socialising (3): Social networking TeachingEnglish Lesson plans Previous post Posted Friday, 25 th November by Kim Kim s blog Next post What I learned about social networking I used to think
More informationUse fireworks and Bonfire night as a stimulus for programming
Learn it: Scratch Programming Make fireworks in Scratch Use fireworks and Bonfire night as a stimulus for programming Create an animated bonfire Design and program a working Catherine wheel Design and
More information3 Ways Your Web Design Can Better Connect You to Your Audience
3 Ways Your Web Design Can Better Connect You to Your Audience by Rafal Tomal Feb 06 How do people recognize good web design? There is a big difference between good and bad design. Many people can identify
More informationFruit Machine. Level. Activity Checklist Follow these INSTRUCTIONS one by one. Test Your Project Click on the green flag to TEST your code
Introduction: This is a game that has three sprites that change costume. You have to stop them when they re showing the same picture (like a fruit machine!). Activity Checklist Follow these INSTRUCTIONS
More informationPROG0101 Fundamentals of Programming PROG0101 FUNDAMENTALS OF PROGRAMMING. Chapter 3 Algorithms
PROG0101 FUNDAMENTALS OF PROGRAMMING Chapter 3 1 Introduction to A sequence of instructions. A procedure or formula for solving a problem. It was created mathematician, Mohammed ibn-musa al-khwarizmi.
More informationMobile Game and App Development the Easy Way
Mobile Game and App Development the Easy Way Developed and maintained by Pocketeers Limited (http://www.pocketeers.co.uk). For support please visit http://www.appeasymobile.com This document is protected
More informationC# and Other Languages
C# and Other Languages Rob Miles Department of Computer Science Why do we have lots of Programming Languages? Different developer audiences Different application areas/target platforms Graphics, AI, List
More informationAnimations in DrRacket
90 Chapter 6 Animations in DrRacket 6.1 Preliminaries Up to this point we ve been working with static pictures. But it s much more fun and interesting to deal with pictures that change over time and interact
More informationDeveloping multi-platform mobile applications: doing it right. Mihail Ivanchev
Developing multi-platform mobile applications: doing it right Mihail Ivanchev Outline Significance of multi-platform support Recommend application architecture Web-based application frameworks Game development
More informationGetting Started with WebSite Tonight
Getting Started with WebSite Tonight WebSite Tonight Getting Started Guide Version 3.0 (12.2010) Copyright 2010. All rights reserved. Distribution of this work or derivative of this work is prohibited
More informationLibGDX játék fejlesztése és publikálása Google Play-en. Vörös Viktor, NNG
LibGDX játék fejlesztése és publikálása Google Play-en Vörös Viktor, NNG Outline 1. Cross-platform játékfejlesztés LibGDX használatával 2. Kihívások a. különböző képernyőméretek kezelése b. irányítás c.
More informationScripting in Unity3D (vers. 4.2)
AD41700 Computer Games Prof. Fabian Winkler Fall 2013 Scripting in Unity3D (vers. 4.2) The most basic concepts of scripting in Unity 3D are very well explained in Unity s Using Scripts tutorial: http://docs.unity3d.com/documentation/manual/scripting42.html
More informationLecture 1 Introduction to Android
These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy
More informationDigital File Management
Digital File Management (AKA: I ve done all this awesome work and I don t want to lose it) Written by Tamzin Byrne I ve worked in community radio and TV for nearly 3 years. On my computer, in my radio
More informationSTART TEACHER'S GUIDE
START TEACHER'S GUIDE Introduction A complete summary of the GAME:IT Junior curriculum. Welcome to STEM Fuse's GAME:IT Junior Course Whether GAME:IT Junior is being taught as an introductory technology
More informationApp and Game Development with Corona SDK
App and Game Development with Corona SDK http://www.anscamobile.com - Altaf Rehmani Jun 11 Jun 12 facebook.com/tinytapps What is Corona? A cross development mobile sdk from AnscaMobile (http://www.anscamobile.com)
More informationPlanning for Learning - Record of Validation
Children s University Planning for Learning - Record of Validation Part A To be completed by the Learning Destination provider prior to the visit / conversation Name of Learning Destination Lead Person
More informationYouthQuest Quick Key FOB Project
YouthQuest Quick Key FOB Project This project is designed to demonstrate how to use the 3D design application, Moment of inspiration, to create a custom key fob for printing on the Cube3 3D printer. Downloading
More informationGetting Started with Scratch
Getting Started with Scratch a guide to designing introductory Scratch workshops draft version, september 2009 Overview There s no one way to host a Scratch workshop. Workshops can take on a variety of
More informationCross-Platform Game Development Best practices learned from Marmalade, Unreal, Unity, etc.
Cross-Platform Game Development Best practices learned from Marmalade, Unreal, Unity, etc. Orion Granatir & Omar Rodriguez GDC 2013 www.intel.com/software/gdc Be Bold. Define the Future of Software. Agenda
More informationAdding emphasis to a presentation in PowerPoint 2010 and 2013 for Windows
Adding emphasis to a presentation in PowerPoint 2010 and 2013 for Windows This document introduces technique to add interest to your presentation using graphics, audio and video. More detailed training
More informationTouchDevelop Curriculum
TouchDevelop Curriculum "I thought programming would have been really hard, but this wasn t. (Darren, 14 year old high school student) Table of Contents Foreword... 3 Session 1 Creating your first application...
More informationKathy Au Billy Yi Fan Zhou Department of Electrical and Computer Engineering University of Toronto { kathy.au, billy.zhou }@utoronto.
ECE1778 Project Report Kathy Au Billy Yi Fan Zhou Department of Electrical and Computer Engineering University of Toronto { kathy.au, billy.zhou }@utoronto.ca Executive Summary The goal of this project
More informationExperiences with 2-D and 3-D Mathematical Plots on the Java Platform
Experiences with 2-D and 3-D Mathematical Plots on the Java Platform David Clayworth Maplesoft What you will learn > Techniques for writing software that plots mathematical and scientific data > How to
More informationWeb design build questions to ask new clients David Tully Web Designer/Developer
Web design build questions to ask new clients David Tully Web Designer/Developer What do you want the web site to do for your company? (is it to just promote brand awareness and for people who hear about
More informationMail Programming Topics
Mail Programming Topics Contents Introduction 4 Organization of This Document 4 Creating Mail Stationery Bundles 5 Stationery Bundles 5 Description Property List 5 HTML File 6 Images 8 Composite Images
More informationTec: A Cross-Platform Game Engine
Tec: A Cross-Platform Game Engine Dept. of CIS - Senior Design 2010: Final Report Christopher Sulmone sulmone@seas.upenn.edu Univ. of Pennsylvania Philadelphia, PA Noir Nigmatov nigmatov@seas.upenn.edu
More informationThe Settings tab: Check Uncheck Uncheck
Hi! This tutorial shows you, the soon-to-be proud owner of a chatroom application, what the &^$*^*! you are supposed to do to make one. First no, don't do that. Stop it. Really, leave it alone. Good. First,
More informationComp215: Software Design
Comp215: Software Design Dan S. Wallach (Rice University) Copyright 2015, Dan S. Wallach. All rights reserved. What exactly is software design? There s a surprising amount of debate about this We do have
More informationJava game programming. Game engines. Fayolle Pierre-Alain
Java game programming Game engines 2010 Fayolle Pierre-Alain Plan Some definitions List of (Java) game engines Examples of game engines and their use A first and simple definition A game engine is a (complex)
More informationIOIO for Android Beginners Guide Introduction
IOIO for Android Beginners Guide Introduction This is the beginners guide for the IOIO for Android board and is intended for users that have never written an Android app. The goal of this tutorial is to
More informationMXwendler Javascript Interface Description Version 2.3
MXwendler Javascript Interface Description Version 2.3 This document describes the MXWendler (MXW) Javascript Command Interface. You will learn how to control MXwendler through the Javascript interface.
More informationIE Class Web Design Curriculum
Course Outline Web Technologies 130.279 IE Class Web Design Curriculum Unit 1: Foundations s The Foundation lessons will provide students with a general understanding of computers, how the internet works,
More informationInvitation to Ezhil : A Tamil Programming Language for Early Computer-Science Education 07/10/13
Invitation to Ezhil: A Tamil Programming Language for Early Computer-Science Education Abstract: Muthiah Annamalai, Ph.D. Boston, USA. Ezhil is a Tamil programming language with support for imperative
More informationPhysics 125 Practice Exam #3 Chapters 6-7 Professor Siegel
Physics 125 Practice Exam #3 Chapters 6-7 Professor Siegel Name: Lab Day: 1. A concrete block is pulled 7.0 m across a frictionless surface by means of a rope. The tension in the rope is 40 N; and the
More informationGAME MASTERS: THE GAME Resource Kit
GAME MASTERS: THE GAME Resource Kit GAME MASTERS : THE GAME Introduction The Game Masters exhibition brings together the world's most incredible designers and over 125 different playable games. Like the
More informationWhat makes a good coder and technology user at Mountfields Lodge School?
What makes a good coder and technology user at Mountfields Lodge School? Pupils who persevere to become competent in coding for a variety of practical and inventive purposes, including the application
More informationGraphics Module Reference
Graphics Module Reference John M. Zelle Version 3.2, Spring 2005 1 Overview The package graphics.py is a simple object oriented graphics library designed to make it very easy for novice programmers to
More informationKotlin for Android Developers
Kotlin for Android Developers Learn Kotlin in an easy way while developing an Android App Antonio Leiva This book is for sale at http://leanpub.com/kotlin-for-android-developers This version was published
More informationJava in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design
Java in Education Introduction Choosing appropriate tool for creating multimedia is the first step in multimedia design and production. Various tools that are used by educators, designers and programmers
More informationOutline. 1.! Development Platforms for Multimedia Programming!
Outline 1. Development Platforms for Multimedia Programming 1.1. Classification of Development Platforms 1.2. A Quick Tour of Various Development Platforms 2. Multimedia Programming with Python and Pygame
More informationDEVELOPING NFC APPS for BLACKBERRY
1 DEVELOPING NFC APPS for BLACKBERRY NFC Forum, Developers Showcase March 21 st, 2014 Larry McDonough, Principal Evangelist @LMCDUNNA 2 CONTENTS Development on BlackBerry BlackBerry NFC Support 5 most
More informationGYM PLANNER. User Guide. Copyright Powerzone. All Rights Reserved. Software & User Guide produced by Sharp Horizon. www.sharphorizon.com.
GYM PLANNER User Guide Copyright Powerzone. All Rights Reserved. Software & User Guide produced by Sharp Horizon. www.sharphorizon.com. Installing the Software The Powerzone gym Planner is a piece of software
More informationChapter 13: Program Development and Programming Languages
15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning
More informationHW Set VI page 1 of 9 PHYSICS 1401 (1) homework solutions
HW Set VI page 1 of 9 10-30 A 10 g bullet moving directly upward at 1000 m/s strikes and passes through the center of mass of a 5.0 kg block initially at rest (Fig. 10-33 ). The bullet emerges from the
More informationFast Paced Strategy Mobile Game
HKUST Independent Project CSIT 6910A Spring 2014 Report Fast Paced Strategy Mobile Game Submitted By, Email: jiefeng218@gmail.com MSc. Information Technology (2013), HKUST Supervised by, Dr. David Rossiter
More informationPIC 10A. Lecture 7: Graphics II and intro to the if statement
PIC 10A Lecture 7: Graphics II and intro to the if statement Setting up a coordinate system By default the viewing window has a coordinate system already set up for you 10-10 10-10 The origin is in the
More informationData Visualization Basics for Students
Data Visualization Basics for Students Dionisia de la Cerda Think about Your Message You want your audience to understand your message. This takes time. Think about your audience and plan your message.
More informationChapter 15 Functional Programming Languages
Chapter 15 Functional Programming Languages Introduction - The design of the imperative languages is based directly on the von Neumann architecture Efficiency (at least at first) is the primary concern,
More informationREFERENCE GUIDE 1. INTRODUCTION
1. INTRODUCTION Scratch is a new programming language that makes it easy to create interactive stories, games, and animations and share your creations with others on the web. This Reference Guide provides
More informationSo today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we
More informationPractical Android Projects Lucas Jordan Pieter Greyling
Practical Android Projects Lucas Jordan Pieter Greyling Apress s w«^* ; i - -i.. ; Contents at a Glance Contents --v About the Authors x About the Technical Reviewer xi PAcknowiedgments xii Preface xiii
More informationUSE OF HYPERVIDEO FOR TEACHING C/C++ Luiz-Alberto Vieira-Dias Andre Catoto-Dias
USE OF HYPERVIDEO FOR TEACHING C/C++ Luiz-Alberto Vieira-Dias Andre Catoto-Dias UNIVAP-Paraiba Valley University School of Computer Science São Jose dos Campos, SP, Brazil vdias@univap.br ABSTRACT This
More informationEmail Marketing Now let s get started on probably the most important part probably it is the most important part of this system and that s building your e-mail list. The money is in the list, the money
More informationT he complete guide to SaaS metrics
T he complete guide to SaaS metrics What are the must have metrics each SaaS company should measure? And how to calculate them? World s Simplest Analytics Tool INDEX Introduction 4-5 Acquisition Dashboard
More informationIntroduction to WebGL
Introduction to WebGL Alain Chesnais Chief Scientist, TrendSpottr ACM Past President chesnais@acm.org http://www.linkedin.com/in/alainchesnais http://facebook.com/alain.chesnais Housekeeping If you are
More informationResearch on HTML5 in Web Development
Research on HTML5 in Web Development 1 Ch Rajesh, 2 K S V Krishna Srikanth 1 Department of IT, ANITS, Visakhapatnam 2 Department of IT, ANITS, Visakhapatnam Abstract HTML5 is everywhere these days. HTML5
More informationEvent processing in Java: what happens when you click?
Event processing in Java: what happens when you click? Alan Dix In the HCI book chapter 8 (fig 8.5, p. 298), notification-based user interface programming is described. Java uses this paradigm and you
More informationLean UX. Best practices for integrating user insights into the app development process. Best Practices Copyright 2015 UXprobe bvba
Lean UX Best practices for integrating user insights into the app development process Best Practices Copyright 2015 UXprobe bvba Table of contents Introduction.... 3 1. Ideation phase... 4 1.1. Task Analysis...
More information1.0-Scratch Interface 1.1. Valuable Information
1.0-Scratch Interface 1.1 Valuable Information The Scratch Interface is divided to three: 1. Stage 2. Sprite/background properties 3. Scratch Action Blocks Building the game by designing the sprites and
More informationLesson 8: Simon - Arrays
Lesson 8: Simon - Arrays Introduction: As Arduino is written in a basic C programming language, it is very picky about punctuation, so the best way to learn more complex is to pick apart existing ones.
More informationChapter 9 Slide Shows
Impress Guide Chapter 9 Slide Shows Transitions, animations, and more Copyright This document is Copyright 2007 2013 by its contributors as listed below. You may distribute it and/or modify it under the
More information6! Programming with Images
6! Programming with Images 6.1! Graphics and Pictures Across Platforms! 6.2! Displaying Static Vector/Bitmap Graphics! 6.3! Structured Graphics: Display Lists, Scene Graphs! 6.4! Sprites Literature:!!
More informationCreate unlimitted hip hop and urban music beats on your pc or mac
Create unlimitted hip hop and urban music beats on your pc or mac How To Make Beats Want To Make Rap And Hip Hop Music Like The Chart Toppers? Read On! We will tell you how you can quickly and easily get
More information13 Managing Devices. Your computer is an assembly of many components from different manufacturers. LESSON OBJECTIVES
LESSON 13 Managing Devices OBJECTIVES After completing this lesson, you will be able to: 1. Open System Properties. 2. Use Device Manager. 3. Understand hardware profiles. 4. Set performance options. Estimated
More informationAudience for This Book. What is emo-framework?
Audience for This Book This book is for all developers who are interested in creating games on smartphone platform, especially on ios (including iphone, ipad, and ipod touch) and Android. This book assumes
More informationState of the GStreamer Project. Jan Schmidt. Centricular Ltd jan@centricular.com
State of the GStreamer Project Jan Schmidt Centricular Ltd jan@centricular.com Who am I? GStreamer developer since 2003 Director & Engineer with Centricular Ltd Introduction I work here for Introduction
More informationTerm paper on gas prices >>>CLICK HERE<<<
Term paper on gas prices. In the early stages of an internet based business opportunity you will need to wear many hats. Term paper on gas prices >>>CLICK HERE
More information