2d video game development with MacRuby

Size: px
Start display at page:

Download "2d video game development with MacRuby"

Transcription

1 2d video game development with MacRuby matt aimonetti rubyconf 2009

2 test your memory

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26 Video Games are fun

27 Ruby Programming is fun

28 You have a mac

29 (if not, get one!)

30 OLD SCHOOL video games on OSX from scratch

31 truth

32

33

34

35 but

36

37

38 popular games

39 Massively Multiplayer online role-playing games (MMORPG)

40

41

42

43 too much work for a hacking project

44 first person shooter

45

46

47

48 new types of games

49

50

51 online games

52

53

54

55 iphone games

56

57

58 demo

59 MacRuby

60 Ruby for SCottish

61 Laurent Sansonetti

62

63

64 on obj-c runtime and GC

65 COCOA Apple's Objective-C based programming environment for Mac OS X

66 VIDEO GAME

67

68

69 keyboard

70 key event keyboard

71 key event GameData keyboard

72

73 game loop

74 ❶ update 174 layers game loop

75 ❶ update 174 layers game loop update game items

76 ❶ update 174 layers game loop update reposition game items

77 ❶ update 174 layers game loop update reposition ❷ collisions game items

78 ❶ update 174 layers game loop update reposition ❷ collisions lives points game items sound

79 GAME DATA LOOP play

80 GAME PLAY

81

82 NSView subclass Interface Builder

83 NSView subclass Interface Builder

84 class KeyboardControlView < NSView def keydown(event) end end

85 class KeyboardControlView < NSView def keydown(event) end end

86 acceleration

87 relative positioning

88

89 GAME LOOP

90 usual workflow

91 usual workflow

92 video game

93 video game

94 30 x per second

95 moves player moves objects resolves collisions updates score/level redraws graphics plays sounds

96 module GameLoop def = NSTimer.scheduledTimerWithTimeInterval 0.03, target: self, selector: 'refresh_screen:', userinfo: nil, repeats: true end def refresh_screen(timer=nil) # end end

97 cocoa class method time interval NSTimer.scheduledTimerWithTimeInterval 0.03, target: self, method to call selector: 'refresh_screen:', on the target userinfo: nil, repeats: true some stuff we don t care about ;)

98 IntervalTimer.new(0.03, :target => self, :selector => 'refresh_screen:')

99 def refresh_screen(timer=nil) GameData.all_layers.each{ layer layer.update } collided_bombs, collided_rubies=gamedata.collisions if!collided_bombs.empty? loose_a_life collided_bombs.each{ layer layer.item.reset! } else collided_rubies.each do layer GameData.increase_points(layer.item.points) points.attributedstringvalue = GameData.points.to_s layer.item.reset! end SoundEffects.collision(0.2) unless collided_rubies.empty? level_change! if change_level? end end

100 GameData.all_layers.each do layer end layer.update

101 collided_bombs, collided_rubies = GameData.collisions

102 def collide_with?(other_rect) end NSIntersectsRect(rect_version, other_rect)

103 if!collided_bombs.empty? loose_a_life collided_bombs.each do layer layer.item.reset! end

104 else collided_rubies.each do layer GameData.increase_points(layer.item.points) update_points_display layer.item.reset! end

105 unless collided_rubies.empty? SoundEffects.frog(0.2) end level_change! if change_level? end

106 module SoundEffects = NSSound.soundNamed("Frog") def withobject: nil, afterdelay: delay) end end

107 GAME DATA

108

109 module GameData end module_function

110 class GameController def awakefromnib GameData.register_controller(self) end end

111 GameData.all_layers

112 class GameController def display_item(item) new_layer = ImageLayer.alloc.initWithItem(item) GameData.all_layers << new_layer # [...] end end

113 module GameConfig module_function def = { :levels => [ { :name => 'Pond', :rubies => 3, :bombs => 12, :score_limit => 30, :vehicle => 'nenuphar', :bomb_image => 'bomb', :bomb_ratio => 1, :ruby_ratio => 1.5, :player_width => 0.2, :player_height => 0.2 }] } end

114 cocoa hax

115 CocoaClass =~ RubyClass

116 don t like an API?

117 Wrap it

118 class NSButton end def title_color=(color) current_font = self.attributedtitle.attribute(nsfontattributename, atindex: 0, effectiverange: nil) opts = { NSForegroundColorAttributeName => color, NSFontAttributeName => current_font } self.attributedtitle = NSAttributedString.alloc.initWithString( self.title, attributes: opts) end

119 compilation

120

121 PATH="$PATH:/usr/local/bin" macruby_deploy "$TARGET_BUILD_DIR/ $PROJECT_NAME.app" --embed --no-stdlib --compile

122 wanna hack?

123 best score post score

124 gosu framework

125 chipmunk physics

126 mattetti/phileas_frog

127

128 Thanks

About MSDOSX. Lecture 0

About MSDOSX. Lecture 0 About MSDOSX Lecture 0 Goal: make an app of your own design for the Mac or iphone The Plan Lectures + Labs for several weeks Project proposals (about halfway through the semester) Work on project Present

More information

User Interfaces. Lecture 15. Application Programming on Mac OS. Hamza Bennani September 4, 2018

User Interfaces. Lecture 15. Application Programming on Mac OS. Hamza Bennani September 4, 2018 User Interfaces Lecture 15 Application Programming on Mac OS Hamza Bennani hamza@hamzabennani.com September 4, 2018 Logistics Office hours: Tue/Thu, 2pm to 3pm. Office: 250 Geoff Wyvill. Acknowledgment:

More information

Object-Oriented Programming with Objective-C. Lecture 2

Object-Oriented Programming with Objective-C. Lecture 2 Object-Oriented Programming with Objective-C Lecture 2 Objective-C A Little History Originally designed in the 1980s as a fusion of Smalltalk and C Popularized by NeXTSTEP in 1988 (hence the ubiquitous

More information

Mac OS X port : The Next Step. Eric Bachard / Porting Project / OooCon 2006 Lyon France

Mac OS X port : The Next Step. Eric Bachard / Porting Project / OooCon 2006 Lyon France Mac OS X port : The Next Step Summary Introduction Other project tasks achieved since last year Native port: Demo Todo and roadmap Mac porting project objectives Thanks Introduction Speaker introduction

More information

CS 371L - Mobile Computing (ios) Dr. William C. Bulko. CS 371L Mobile Computing (ios) Introduction

CS 371L - Mobile Computing (ios) Dr. William C. Bulko. CS 371L Mobile Computing (ios) Introduction CS 371L - Mobile Computing (ios) Dr. William C. Bulko CS 371L Mobile Computing (ios) Introduction 2014 The Evolution of Computing Mainframes Minicomputers - fridge-size PCs - desktop and deskside Laptops

More information

Microsoft Office is a collection of programs that you will be already using in school. This includes Word, PowerPoint, Publisher, Excel etc..

Microsoft Office is a collection of programs that you will be already using in school. This includes Word, PowerPoint, Publisher, Excel etc.. i Contents Introduction... 1 What is Office for Personal Devices?... 1 How do I get Office for Personal Devices?... 2 How to download... 3 How to Install... 3 Can My Computer Run It?... 4 Minimum Requirements...

More information

User Interfaces. Lecture 16. Model - View - Controller. Hamza Bennani September 6, 2018

User Interfaces. Lecture 16. Model - View - Controller. Hamza Bennani September 6, 2018 User Interfaces Lecture 16 Model - View - Controller Hamza Bennani hamza@hamzabennani.com September 6, 2018 Last Lecture Summary Default Cocoa application. NSApplication NSApplicationDelegate XIB/NIB-file

More information

Touch Bar Fundamentals

Touch Bar Fundamentals Session App Frameworks #WWDC17 Touch Bar Fundamentals 211 Chris Dreessen John Tegtmeyer 2017 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from

More information

IBM Case Manager Mobile Version SDK for ios Developers' Guide IBM SC

IBM Case Manager Mobile Version SDK for ios Developers' Guide IBM SC IBM Case Manager Mobile Version 1.0.0.5 SDK for ios Developers' Guide IBM SC27-4582-04 This edition applies to version 1.0.0.5 of IBM Case Manager Mobile (product number 5725-W63) and to all subsequent

More information

Object-Oriented Programming in Objective-C

Object-Oriented Programming in Objective-C In order to build the powerful, complex, and attractive apps that people want today, you need more complex tools than a keyboard and an empty file. In this section, you visit some of the concepts behind

More information

Cocoa. Last Week... Music 3SI: Introduction to Audio/Multimedia App. Programming. Today... Why Cocoa? Wikipedia - Cocoa

Cocoa. Last Week... Music 3SI: Introduction to Audio/Multimedia App. Programming. Today... Why Cocoa? Wikipedia - Cocoa Music 3SI: Introduction to Audio/Multimedia App. Programming IDE (briefly) VST Plug-in Assignment 1 hints Last Week... Week #5-5/5/2006 CCRMA, Department of Music Stanford University 1 2 Today... Cocoa

More information

CLOCK TUTORIAL VERY SIMPLE HELLO WORLD COCOA APPLICATION

CLOCK TUTORIAL VERY SIMPLE HELLO WORLD COCOA APPLICATION http:clanmills.com Page 1/10 CLOCK TUTORIAL VERY SIMPLE HELLO WORLD COCOA APPLICATION Life in a new programming environment has to start somewhere. Everybody knows the hello world application written in

More information

Author Bob Ippolito Conference. PyObjC Hacking. PyCon DC, March 2005

Author Bob Ippolito Conference. PyObjC Hacking. PyCon DC, March 2005 Author Bob Ippolito Conference PyObjC Hacking PyCon DC, March 2005 Intended Audience Python developers using Mac OS X 10.3 or later... that aren't (very) afraid of C Who probably know a little about Objective-C...

More information

Mobile App Development. ios Platform

Mobile App Development. ios Platform Mobile App Development ios Platform Overview Introduction Development Environment & Tools App Store Pros & Cons Programming Recommendations Objective-C Primer Demo What is ios? An operating system that

More information

CS193P: HelloPoly Walkthrough

CS193P: HelloPoly Walkthrough CS193P: HelloPoly Walkthrough Overview The goal of this walkthrough is to give you a fairly step by step path through building a simple Cocoa Touch application. You are encouraged to follow the walkthrough,

More information

iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5

iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5 iphone App Basics iphone and ipod touch Development Fall 2009 Lecture 5 Questions? Announcements Assignment #1 due this evening by 11:59pm Remember, if you wish to use a free late you must email me before

More information

X Review. Mac OS X Roots: NeXT. BWS Available for virtually every OS

X Review. Mac OS X Roots: NeXT. BWS Available for virtually every OS X Review Distributed window system Server is the user s Terminal Client runs the application WM Xlib Application Widget Set Xt Intrinsics Xlib Highly modular X Server (exchange WM, Widget Set) BWS Available

More information

Media and Gaming Accessibility

Media and Gaming Accessibility Session System Frameworks #WWDC17 Media and Gaming Accessibility 217 Greg Hughes, Software Engineering Manager Charlotte Hill, Software Engineer 2017 Apple Inc. All rights reserved. Redistribution or public

More information

Interactive Fiction Language (IFL)

Interactive Fiction Language (IFL) Interactive Fiction Language (IFL) Team Introduction Project Manager: John Liu Language Guru: Matthew Suozzo System Architect: Michael Yan System Integrator: Qian Yu System Tester: Heather Fisher Interactive

More information

User Interfaces. Lecture 19. Cocoa: Mouse and Keyboard Events. Hamza Bennani September 18, 2018

User Interfaces. Lecture 19. Cocoa: Mouse and Keyboard Events. Hamza Bennani September 18, 2018 User Interfaces Lecture 19 Cocoa: Mouse and Keyboard Events Hamza Bennani hamza@hamzabennani.com September 18, 2018 Last Lecture Where did we stop? 1 Events Events get filtered into a queue by MacOS X

More information

Mobile Game Programming

Mobile Game Programming Mobile Game Programming Just that facts. guest instructor: Matt Meyer Introduction I Mobile Devices (Primary Purpose): Gaming Devices: Nintendo DS, PSP. Music Devices: ZUNE, IPod. Cellphone Devices: Nokia,

More information

CLOCK4 TUTORIAL VERY SIMPLE HELLO WORLD COCOA APPLICATION

CLOCK4 TUTORIAL VERY SIMPLE HELLO WORLD COCOA APPLICATION http:clanmills.com Page 1/8 CLOCK4 TUTORIAL VERY SIMPLE HELLO WORLD COCOA APPLICATION Life in a new programming environment has to start somewhere. Everybody knows the hello world application written in

More information

Introduction to PyObjC

Introduction to PyObjC Author Bob Ippolito Conference Introduction to PyObjC PyCon DC, March 2005 Intended Audience Python developers using Mac OS X 10.3 or later Spies from the Linux and Win32 camps Hopefully a GNUstep porter/maintainer

More information

CS193p Spring 2010 Wednesday, March 31, 2010

CS193p Spring 2010 Wednesday, March 31, 2010 CS193p Spring 2010 Logistics Lectures Building 260 (History Corner) Room 034 Monday & Wednesday 4:15pm - 5:30pm Office Hours TBD Homework 7 Weekly Assignments Assigned on Wednesdays (often will be multiweek

More information

Science. Computer Science

Science. Computer Science Introductions CS 442: Mobile App Development Michael Saelee Michael (Sae) Lee - lee@iit.edu - moss.cs.iit.edu - Office: SB 226A Agenda - Syllabus & Administrivia - Course overview Android

More information

CSC 581: Mobile App Development Spring 2019

CSC 581: Mobile App Development Spring 2019 CSC 581: Mobile App Development Spring 2019 The ios landscape iphone/ios market share ios history ios architecture Cocoa Touch, media layer, core services, core OS ios development XCode & Swift 1 Vendor

More information

minimum 800 X 600 screen (15' monitor) 32 MB memory 30 MB hard disc space

minimum 800 X 600 screen (15' monitor) 32 MB memory 30 MB hard disc space Purpose: Requirements: Windows: Mac: Contact information: Sight Words Manual The Sight Words program provides intensive and practical practice in a structured format of the most common words in English

More information

the gamedesigninitiative at cornell university Lecture 9 Memory Management

the gamedesigninitiative at cornell university Lecture 9 Memory Management Lecture 9 Gaming Memory Constraints Redux Wii-U Playstation 4 2GB of RAM 1GB dedicated to OS Shared with GPGPU 8GB of RAM Shared GPU, 8-core CPU OS footprint unknown 2 Two Main Concerns with Memory Getting

More information

Add the backgrounds. Add the font.

Add the backgrounds. Add the font. To find all sprites, font, and backgrounds look in your resources folder under card game. Pick sprites for the following: The Mouse Desired Objects A disappearing animation for the desired objects Clutter

More information

Interactive Game Design with Greenfoot YEAR 2 Greenfoot Single-player Interactive Game

Interactive Game Design with Greenfoot YEAR 2 Greenfoot Single-player Interactive Game MESA VIRTUAL COMPUTER SCIENCE COMPETITION CYBER RULES 2016 Interactive Game Design with Greenfoot YEAR 2 Greenfoot Single-player Interactive Game Level: Type of Contest: Composition of Team: Number of

More information

Objective-C Phrasebook (Developer's Library) By David Chisnall READ ONLINE

Objective-C Phrasebook (Developer's Library) By David Chisnall READ ONLINE Objective-C Phrasebook (Developer's Library) By David Chisnall READ ONLINE The Go Programming Language PHRASEBOOK DEVELOPER S LIBRARY. maintainer of the GNUstep Objective-C 2 runtime library and the associated

More information

CS193E: Temperature Converter Walkthrough

CS193E: Temperature Converter Walkthrough CS193E: Temperature Converter Walkthrough The goal of this walkthrough is to give you a fairly step by step path through building a simple Cocoa application. You are encouraged to follow the walkthrough,

More information

Game Development for

Game Development for Game Development for Who am I? Harry Krueger Senior Programmer at Housemarque Games Lead Programmer on Resogun Presentation Flow Intro to Housemarque and Resogun Housemarque Engine and Tools Platform-specific

More information

Xcode and Swift CS 4720 Mobile Application Development

Xcode and Swift CS 4720 Mobile Application Development Xcode and Swift Mobile Application Development Why Java for Android? Let s first recap: why do you think Android uses Java? 2 Why Java for Android? Some good reasons: You can t find a CS major that doesn

More information

Apple Mac Games For Windows 7 Ultimate 64 Bit

Apple Mac Games For Windows 7 Ultimate 64 Bit Apple Mac Games For Windows 7 Ultimate 64 Bit Jan 5, 2015. I have a retail copy of Windows Vista Ultimate 32 and 64 bit. I had Boot Camp Win 7 installed but downgraded to Vista so some Games for Windows

More information

Computer Basics 1/24/13. Computer Organization. Computer systems consist of hardware and software.

Computer Basics 1/24/13. Computer Organization. Computer systems consist of hardware and software. Hardware and Software Computer Basics TOPICS Computer Organization Data Representation Program Execution Computer Languages Computer systems consist of hardware and software. Hardware includes the tangible

More information

1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney

1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney 1 Build Your First App The way to get started is to quit talking and begin doing. Walt Disney Copyright 2015 AppCoda Limited All rights reserved. Please do not distribute or share without permission. No

More information

ARCHITECTURE FOR CASUAL GAMES

ARCHITECTURE FOR CASUAL GAMES ARCHITECTURE FOR CASUAL GAMES How to finish coding a game without despising it. Keith Peters BIT-101 / Wicked Pissah Games Great Idea! Complete (or not...) Prototype/ Proof of Concept Pain and Suffering

More information

News and remarks. CS68 Principles of Programming Languages. Contents today. Concurrency. Declarative concurrency. Threads

News and remarks. CS68 Principles of Programming Languages. Contents today. Concurrency. Declarative concurrency. Threads News and remarks CS68 Principles of Programming Languages Håkan Jonsson Dept of Computer Science and Electrical Engineering Luleå University of Technology, Sweden and Computer Science, Dartmouth College

More information

Introduction to System Programming

Introduction to System Programming Introduction to System Programming Introduction to System Programming Why system programming? Basic operation of a computer system Summary Acknowledgement: slides based on the cs:app2e material 2 Why System

More information

MANNING IN ACTION SAMPLE CHAPTER. Brendan G. Lim. WITH Jerry Cheung AND Jeremy McAnally

MANNING IN ACTION SAMPLE CHAPTER. Brendan G. Lim. WITH Jerry Cheung AND Jeremy McAnally MANNING IN ACTION SAMPLE CHAPTER Brendan G. Lim WITH Jerry Cheung AND Jeremy McAnally MacRuby in Action by Brendan G. Lim with Jerry Cheung and Jeremy McAnally Chapter 1 Copyright 2012 Manning Publications

More information

Space Shooter - Movie Clip and Movement

Space Shooter - Movie Clip and Movement Space Shooter - Movie Clip and Movement Type : TextSource File: space-shooter-movie-clip-and-movement.zip Result : See the result Index Series Next >>> In this tutorial series you will learn how to create

More information

3.0.1 Version history Issues resolved & undocumented features. March, 2012 Steinberg Media Technologies GmbH

3.0.1 Version history Issues resolved & undocumented features. March, 2012 Steinberg Media Technologies GmbH 3.0.1 Version history Issues resolved & undocumented features March, 2012 Steinberg Media Technologies GmbH Table of contents About... 3 Sequel 3.0.1... 4 Issues resolved... 4 Undocumented features...

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

Building an Application

Building an Application Building an Application 7 Anatomy of an Application Compiled code Your code Frameworks Nib files UI elements and other objects Details about object relationships Resources (images, sounds, strings, etc)

More information

Ios Sdk Documentation For Windows 7 32 Bit Full Version

Ios Sdk Documentation For Windows 7 32 Bit Full Version Ios Sdk Documentation For Windows 7 32 Bit Full Version Download Latest ios SDK & Sample Project Got the SDK? v5.3.0 (May 7, 2015) Native ios SDK now sends the version of the Unity wrapper SDK along with

More information

Memory Management: The Details

Memory Management: The Details Lecture 10 Memory Management: The Details Sizing Up Memory Primitive Data Types Complex Data Types byte: char: short: basic value (8 bits) 1 byte 2 bytes Pointer: platform dependent 4 bytes on 32 bit machine

More information

Team 19: Skit. Andrew Figpope: Project Manager Michelle Zhang: Language Guru Márcio Paiva: System Architect Thomas Huzij: System Integrator

Team 19: Skit. Andrew Figpope: Project Manager Michelle Zhang: Language Guru Márcio Paiva: System Architect Thomas Huzij: System Integrator Team 19: Skit Andrew Figpope: Project Manager Michelle Zhang: Language Guru Márcio Paiva: System Architect Thomas Huzij: System Integrator There exists numerous ways to set up and play Settlers, including

More information

Building Apps with the ArcGIS Runtime SDK for ios

Building Apps with the ArcGIS Runtime SDK for ios Building Apps with the ArcGIS Runtime SDK for ios Nick Furness @geeknixta ArcGIS Runtime SDKs 10.2 Released! Runtime platforms OS X Desktop Desktop Client Windows Store QT ios.net JavaSE Mobile Android

More information

Computer Basics 1/6/16. Computer Organization. Computer systems consist of hardware and software.

Computer Basics 1/6/16. Computer Organization. Computer systems consist of hardware and software. Hardware and Software Computer Basics TOPICS Computer Organization Data Representation Program Execution Computer Languages Computer systems consist of hardware and software. Hardware includes the tangible

More information

UPDATING SOCRATES Version Build May 2018

UPDATING SOCRATES Version Build May 2018 UPDATING SOCRATES Version 3.5.8.7 Build 10124 May 2018 10124 Update ALL USERS... 1 MAC USERS... 1 When to run the update... 1 XP USERS... 1 How often to update... 1 Registering to access the client section

More information

Incremental GC for Ruby interpreter

Incremental GC for Ruby interpreter Incremental GC for Ruby interpreter Koichi Sasada ko1@heroku.net 1 2014 Very important year for me 2 10 th Anniversary 3 10 th Anniversary YARV development (2004/01-) First presentation at RubyConf 2004

More information

Cocoa Programming. David Chisnall. March 18,

Cocoa Programming. David Chisnall. March 18, March 18, 2010 http://cs.swan.ac.uk/~csdavec/papers/safariwebcast.pdf The Story So Far What is Cocoa? Why Cocoa? GNUstep Overview GNUstep Look and Feel A Brief History of Objective-C 1980: Smalltalk-80

More information

Manual Java For Mac Os X Combo Update

Manual Java For Mac Os X Combo Update Manual Java For Mac Os X 10.6 8 Combo Update Java is outdated in terms of security in Mac OS X 10.6. combo with the font update, or the 10.6.8 combo followed by the Thunderbolt update if applicable. Manuals,

More information

How to refresh a Wireless Profile on your computer

How to refresh a Wireless Profile on your computer How to refresh a Wireless Profile on your computer This document details how to delete the old Wi-Fi connection profile stored on your computer so it does not conflict with your new Wi-Fi connection When

More information

Unity Tutorial. Fall /15-666

Unity Tutorial. Fall /15-666 Unity Tutorial Fall 2014 15-466/15-666 Game World model, video, audio, interaction Often like Model-View-Controller Art, mechanics, levels, items, etc. Game Engine World model, video, audio, interaction

More information

SWIFT! init(title: String) { self.title = title } // required initializer w/ named parameter

SWIFT! init(title: String) { self.title = title } // required initializer w/ named parameter SWIFT! class Session { let title: String // constant non-optional field: can never be null and can never be changed var instruktør: Person? // variable optional field: null is permitted var attendees:

More information

WebStore9 Services. Web Development Services

WebStore9 Services. Web Development Services WebStore9 Services Web Development Services ASP.Net MVC Development Services ASP.Net Development Services ColdFusion Development Services SharePoint Development Services Classic ASP Development Services

More information

Computer Life (CPL) ISSN: Based on Ios Sales Management System Survey Function Design

Computer Life (CPL) ISSN: Based on Ios Sales Management System Survey Function Design Computer Life (CPL) ISSN: 1819-4818 Delivering Quality Science to the World Based on Ios Sales Management System Survey Function Design Shaohui Zhang a School of Network Engineering, Zhoukou Normal University,

More information

A massive challenge: The cross-platform approach of the mobile MMO TibiaME Benjamin Zuckerer Product Manager, CipSoft GmbH

A massive challenge: The cross-platform approach of the mobile MMO TibiaME Benjamin Zuckerer Product Manager, CipSoft GmbH A massive challenge: The cross-platform approach of the mobile MMO TibiaME Benjamin Zuckerer Product Manager, CipSoft GmbH 1 / 31 What is this session about? Introduction to CipSoft and TibiaME TibiaME's

More information

CS558 Programming Languages

CS558 Programming Languages CS558 Programming Languages Winter 2018 Lecture 7b Andrew Tolmach Portland State University 1994-2018 Dynamic Type Checking Static type checking offers the great advantage of catching errors early And

More information

Beginning Mac Programming

Beginning Mac Programming Extracted from: Beginning Mac Programming Develop with Objective-C and Cocoa This PDF file contains pages extracted from Beginning Mac Programming, published by the Pragmatic Bookshelf. For more information

More information

Java Technology for Blu-ray and TV: Creating your own Blu-ray Java Discs

Java Technology for Blu-ray and TV: Creating your own Blu-ray Java Discs TM Java Technology for Blu-ray and TV: Creating your own Blu-ray Java Discs The Blu-ray Java Authoring Team: Bill Foote, Chihiro Saito, A. Sundararajan, Jaya Hangal TS-5449 Talk Outline HD Cookbook Community

More information

FIREFOX REVIEWER S GUIDE. Contact us:

FIREFOX REVIEWER S GUIDE. Contact us: FIREFOX REVIEWER S GUIDE Contact us: press@mozilla.com TABLE OF CONTENTS About Mozilla 1 Favorite Firefox Features 2 Get Up and Go 7 Protecting Your Privacy 9 The Cutting Edge 10 ABOUT MOZILLA Mozilla

More information

An overview of mobile and embedded platforms

An overview of mobile and embedded platforms ES3 Lecture 2 An overview of mobile and embedded platforms Basic Classes Embedded devices: These are in toasters, cars, mice, etc. Usually very real-time focused (us accuracy) Very small memory, not usually

More information

A computer is an electronic device, operating under the control of instructions stored in its own memory unit.

A computer is an electronic device, operating under the control of instructions stored in its own memory unit. Computers I 1. Operating Systems In order to grasp the concept of Operating Systems and understand the different types of windows available we first need to cover some basic definitions. 1.1 Computer Concepts

More information

Introduction to Cocoa Programming

Introduction to Cocoa Programming Introduction to Cocoa Programming Dr. Ken Tabb Computer Science Dept. University of Hertfordshire Agenda Brief history of Cocoa Apple s free Developer Tools - Xcode - Interface Builder Cocoa programming

More information

Reverse Engineering Swift Apps. Michael Gianarakis Rootcon X 2016

Reverse Engineering Swift Apps. Michael Gianarakis Rootcon X 2016 Reverse Engineering Swift Apps Michael Gianarakis Rootcon X 2016 # whoami @mgianarakis Director of SpiderLabs APAC at Trustwave SecTalks Organiser (@SecTalks_BNE) Flat Duck Justice Warrior #ducksec Motivation

More information

WELCOME Mobile Applications Testing. Copyright

WELCOME Mobile Applications Testing. Copyright WELCOME Mobile Applications Testing Copyright NataliaS@portnov.com 1 CyanogenMod and Lineage OS Latest Version for all devices Marshmallow offers a number of useful features that CM and Lineage leverages,

More information

Introduction to Computer Science I

Introduction to Computer Science I Introduction to Computer Science I Graphics Janyl Jumadinova 7 February, 2018 Graphics Graphics can be simple or complex, but they are just data like a text document or sound. Java is pretty good at graphics,

More information

Manually Clear Chrome Cache Mac Os X Mountain Lion

Manually Clear Chrome Cache Mac Os X Mountain Lion Manually Clear Chrome Cache Mac Os X Mountain Lion Learn how to reset (flush) the DNS cache. Apple Store Mac iphone Watch ipad ipod itunes Support OS X Mavericks, Mountain Lion, and Lion. Information about

More information

iphone Development Setup Instructions Nikhil Yadav Pervasive Health Fall 2011

iphone Development Setup Instructions Nikhil Yadav Pervasive Health Fall 2011 iphone Development Setup Instructions Nikhil Yadav Pervasive Health Fall 2011 Requirements Apple Mac Computer (Desktop or laptop) with recent snow leopard builds Apple Developer Registered Profile (create

More information

Inspiring Creative Fun Ysbrydoledig Creadigol Hwyl. App Inventor Workbook

Inspiring Creative Fun Ysbrydoledig Creadigol Hwyl. App Inventor Workbook Inspiring Creative Fun Ysbrydoledig Creadigol Hwyl App Inventor Workbook App Inventor is a cloud-based application development tool, enabling users to develop Android applications for free! App Inventor

More information

ITP 342 Mobile App Dev. Unit Testing

ITP 342 Mobile App Dev. Unit Testing ITP 342 Mobile App Dev Unit Testing Testing Xcode provides you with capabilities for extensive software testing. Testing your projects enhances robustness, reduces bugs, and speeds the acceptance of your

More information

Campus Automation. Joe Neville Aruba Consulting System Engineer

Campus Automation. Joe Neville Aruba Consulting System Engineer Campus Automation Joe Neville Aruba Consulting System Engineer - @joeneville_ Agenda Network Automation What is it and why is it? Aruba, Python and APIs Fingers crossed (demo time) Start Small - Building

More information

Getting Started with Apple ios Development Link-OS SDK Objective-C

Getting Started with Apple ios Development Link-OS SDK Objective-C Getting Started with Apple ios Development Link-OS SDK Objective-C Overview This document describes the end to end process of designing, packaging, deploying and running an Apple iphone /ipod application

More information

Uninstall Java Manually Mac Os X 10.6 Update 6 Developer Package

Uninstall Java Manually Mac Os X 10.6 Update 6 Developer Package Uninstall Java Manually Mac Os X 10.6 Update 6 Developer Package It's more or less consistent with Java 6 (Java Language and Virtual Machine There is also packages called "Java for Mac OS X 10.6 Update

More information

The Incredible Code Machine with Swift Playgrounds

The Incredible Code Machine with Swift Playgrounds The Incredible Code Machine with Swift Playgrounds Facilitator Guide The Incredible Code Machine with Swift Playgrounds Facilitator Guide 1 Welcome What you ll need Lead your own EU Code Week event Celebrate

More information

//gravity of the game. //speed of the obstacle. //force with which it jumps. //an array to store all the obstacles

//gravity of the game. //speed of the obstacle. //force with which it jumps. //an array to store all the obstacles ActionScript 3 package{ import flash.display.movieclip; import flash.events.keyboardevent; import flash.ui.keyboard; import flash.events.event; //used for ENTER_FRAME event public class Main extends MovieClip{

More information

Multitasking Support on the ios Platform

Multitasking Support on the ios Platform Multitasking Support on the ios Platform Priya Rajagopal Invicara (www.invicara.com) @rajagp Multitasking on ios? Multitasking allows apps to perform certain tasks in the background while you're using

More information

ArcGIS Viewer for Flex Advanced Topics

ArcGIS Viewer for Flex Advanced Topics Esri International User Conference San Diego, California Technical Workshops July 27, 2012 ArcGIS Viewer for Flex Advanced Topics Lloyd Heberlie Björn Svensson Before we begin Who are we? - Bjorn Svensson

More information

python. a presentation to the Rice University CS Club November 30, 2006 Daniel Sandler

python. a presentation to the Rice University CS Club November 30, 2006 Daniel Sandler python. a presentation to the Rice University CS Club November 30, 2006 Daniel Sandler http://www.cs.rice.edu/~dsandler/python/ 1. 2. 3. 4. 1. A young mind is corrupted. Me, circa 2000 (very busy) Many

More information

<Insert Picture Here> JavaFX 2.0

<Insert Picture Here> JavaFX 2.0 1 JavaFX 2.0 Dr. Stefan Schneider Chief Technologist ISV Engineering The following is intended to outline our general product direction. It is intended for information purposes only,

More information

Object Model Comparisons

Object Model Comparisons Object Model Comparisons 1 Languages are designed, just like programs Someone decides what the language is for Someone decides what features it's going to have Can't really understand a language until

More information

Multimedia-Programmierung Übung 3

Multimedia-Programmierung Übung 3 Multimedia-Programmierung Übung 3 Ludwig-Maximilians-Universität München Sommersemester 2016 Ludwig-Maximilians-Universität München Multimedia-Programmierung 1-1 Today Ludwig-Maximilians-Universität München

More information

Accelerating Ruby with LLVM

Accelerating Ruby with LLVM Accelerating Ruby with LLVM Evan Phoenix Oct 2, 2009 RUBY RUBY Strongly, dynamically typed RUBY Unified Model RUBY Everything is an object RUBY 3.class # => Fixnum RUBY Every code context is equal RUBY

More information

ActionScript package{ 2. import flash.display.movieclip; 3. import flash.events.keyboardevent; 4. import flash.ui.keyboard;

ActionScript package{ 2. import flash.display.movieclip; 3. import flash.events.keyboardevent; 4. import flash.ui.keyboard; ActionScript 3 1. package{ 2. import flash.display.movieclip; 3. import flash.events.keyboardevent; 4. import flash.ui.keyboard; 5. import flash.events.event; //used for ENTER_FRAME event 6. 7. public

More information

CS193E Lecture 17. Multiple Document Windows OpenGL & Cocoa

CS193E Lecture 17. Multiple Document Windows OpenGL & Cocoa CS193E Lecture 17 Multiple Document Windows OpenGL & Cocoa Multiple Views onto a Model Xcode Keynote Finder Dreamweaver TreeGenerator 3D NSDocument Architecture Supports two approaches: Simple, single

More information

How the Other Half Lives

How the Other Half Lives How the Other Half Lives Developing SDR Software for the Macintosh Platform Jeremy C. McDermond, J.D. 1 (NH6Z) 1. As of May 22, 2010 About the Author Licensed in 1986 at age 14 as KB7AKH Began to program

More information

Computer Software A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and

Computer Software A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and Computer Software A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and Applications software. Systems software provides infrastructure

More information

WHAT S NEW WITH FLASH PLAYER 11.2 & ADOBE AIR 3.2. Joseph Labrecque. Hawaii Flash User Group May 10 th 2012

WHAT S NEW WITH FLASH PLAYER 11.2 & ADOBE AIR 3.2. Joseph Labrecque. Hawaii Flash User Group May 10 th 2012 WHAT S NEW WITH FLASH PLAYER 11.2 & ADOBE AIR 3.2 Joseph Labrecque Hawaii Flash User Group May 10 th 2012 Joseph Labrecque, MA University of Denver - OTL Senior Interactive Software Engineer Adjunct Faculty

More information

INTERFACES. 24-Dec-10 INTERFACES VS. INHERITANCE. Boaz Kantor Introduction to Computer Science IDC Herzliya ( Reichman ) Interfaces: Inheritance:

INTERFACES. 24-Dec-10 INTERFACES VS. INHERITANCE. Boaz Kantor Introduction to Computer Science IDC Herzliya ( Reichman ) Interfaces: Inheritance: My name is Ryan; I inherited the ship from the previous Dread Pirate Roberts, just as you will inherit it from me. The man I inherited it from is not the real Dread Pirate Roberts either. His name was

More information

Boaz Kantor Introduction to Computer Science IDC Herzliya ( Reichman )

Boaz Kantor Introduction to Computer Science IDC Herzliya ( Reichman ) My name is Ryan; I inherited the ship from the previous Dread Pirate Roberts, just as you will inherit it from me. The man I inherited it from is not the real Dread Pirate Roberts either. His name was

More information

Gsm phone safety guide lines

Gsm phone safety guide lines DownloadGsm phone safety guide lines. Free Download Shall i send it to you like that subject of a lot of scholarly discussion. Multiple users 2. Gsm phone safety guide lines Gsm phone safety guide lines

More information

App Development. Quick Guides for Masterminds. J.D Gauchat Cover Illustration by Patrice Garden

App Development. Quick Guides for Masterminds. J.D Gauchat   Cover Illustration by Patrice Garden App Development Quick Guides for Masterminds J.D Gauchat www.jdgauchat.com Cover Illustration by Patrice Garden www.smartcreativz.com Quick Guides for Masterminds Copyright 2018 by John D Gauchat All Rights

More information

Advanced Cocoa Text Tips and Tricks. Aki Inoue Cocoa Engineer

Advanced Cocoa Text Tips and Tricks. Aki Inoue Cocoa Engineer Advanced Cocoa Text Tips and Tricks Aki Inoue Cocoa Engineer 2 Introduction Only on Mac OS Diving deeper Understanding the layout process Getting comfortable with extending and customizing base functionalities

More information

Jython. An introduction by Thinh Le

Jython. An introduction by Thinh Le Jython An introduction by Thinh Le precursor_python! Google App Engine! Dropbox! PyGTK (Gnome)! Vim (embedded)! BitTorrent/Morpheus! Civilization/Battlefield Jython! Interpretation of Python (1997)! Jim

More information

Mobile Apps 2010 iphone and Android

Mobile Apps 2010 iphone and Android Mobile Apps 2010 iphone and Android March 9, 2010 Norman McEntire, Founder Servin Corporation - http://servin.com Technology Training for Technology ProfessionalsTM norman.mcentire@servin.com 1 Legal Info

More information

Virtual Drumline 2 QuickStart Guide

Virtual Drumline 2 QuickStart Guide Virtual Drumline 2 QuickStart Guide Introduction Congratulations on your purchase of Virtual Drumline 2 by Tapspace the world s most powerful, complete marching battery and concert percussion sample library

More information

CS193p Spring 2010 Thursday, April 29, 2010

CS193p Spring 2010 Thursday, April 29, 2010 CS193p Spring 2010 Announcements You should have received an e-mail by now If you received e-mail approving enrollment, but are not in Axess, do it! If you have any questions, please ask via e-mail or

More information