Game programming 1.

Slides:



Advertisements
Similar presentations
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Advertisements

Computers: Tools for an Information Age
Chapter 16 Programming and Languages: Telling the Computer What to Do.
CS 104 Introduction to Computer Science and Graphics Problems Software and Programming Language (2) Programming Languages 09/26/2008 Yang Song (Prepared.
SOFTWARE SYSTEMS SOFTWARE APPLICATIONS SOFTWARE PROGRAMMING LANGUAGES.
ALGORITHMS AND PROGRAMMING LANGUAGES Lecture 5: Algorithms and programming languages Networks and Communication Department 1.
1 CHAPTER 4 LANGUAGE/SOFTWARE Hardware Hardware is the machine itself and its various individual equipment. It includes all mechanical, electronic.
Activity 1 - WBs 5 mins Go online and spend a moment trying to find out the difference between: HIGH LEVEL programming languages and LOW LEVEL programming.
Introduction to Programming End Show. Resource Team R.P Ranjan-Lecturer, SPICTEC, Galle. W.M.A.S. Wijesekara-Centre manager,CRC Hali-Ela H.P.U.S Indra.
Introduction to Computer Programming itc-314
CHAPTER FOUR COMPUTER SOFTWARE.
Introduction to Interactive Media Interactive Media Tools: Software.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
Introduction to Computer Application (IC) MH Room 517 Time : 7:00-9:30pm.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 4 Computer Software.
PROGRAMMING LANGUAGES
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
PHICS AND OTHER INTRODUCTION TO GAME CREATION. OVERVIEW Define simulation Give examples of complex systems Distinguish between continuous and discrete.
 Computer Languages Computer Languages  Machine Language Machine Language  Assembly Language Assembly Language  High Level Language High Level Language.
Course Instructor: Hira Farman Course : BY:HIRA FARMAN.
Machine Machine language is PL in which program instructions are written in strings of 0s and 1s.The computer circuitry is wired in a manner that it can.
Introduction to Computer Programming itc-314 Lecture 04.
Lecture-8 Introduction to computer languages.
CSC141 Introduction to Computer Programming Programming Language.
PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.
Programming Language Basics. What is a Programming Language? “A computer, human-created language used to write instructions for a computer.” “An artificial.
CIS 365: Visual Application Development Introduction to Computers and Programming.
Introduction to computer software. Programming the computer Program, is a sequence of instructions, written to perform a specified task on a computer.
Introduction to Programming in C++ Seventh Edition Chapter 1: An Introduction to Programming.
Programming Languages and Data Organization
Chapter-3 Computer Software.
Computer Language
Lecture 1b- Introduction
CMIT100 Chapter 14 - Programming.
Unit 2 Technology Systems
Programming Languages
Programming Languages
Operating System Interface between a user and the computer hardware
Programming Language Hierarchy, Phases of a Java Program
CSCI-235 Micro-Computer Applications
Computer Programming.
CS101 Introduction to Computing Lecture 19 Programming Languages
A451 Theory – 7 Programming 7A, B - Algorithms.
Course: Introduction to Computers
Application Development Theory
Programming Languages and Translators
Chapter 4 Computer Software.
Developing Applications
Unit# 8: Introduction to Computer Programming
TRANSLATORS AND IDEs Key Revision Points.
Translators & Facilities of Languages
Assembler, Compiler, Interpreter
Chapter 12 Programming Concepts and Languages.
Computers: Hardware and Software
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
High Level Programming Languages
Topics Introduction Hardware and Software How Computers Store Data
Chapter One: An Introduction to Programming and Visual Basic
PROGRAMMING AND LANGUAGES
Assembler, Compiler, Interpreter
Programming Language Basics
PROGRAMMING FUNDAMENTALS Lecture # 03. Programming Language A Programming language used to write computer programs. Its mean of communication between.
ICT Programming Lesson 1:
Lecture 8 Programming Paradigm & Languages. Programming Languages The process of telling the computer what to do Also known as coding.
Tonga Institute of Higher Education IT 141: Information Systems
Behind the scenes: software programming
An Introduction to Programming with C++ Fifth Edition
Tonga Institute of Higher Education IT 141: Information Systems
Games Development 2 Tools Programming
Presentation transcript:

game programming 1

What is game?

Hardware and software

Computer Hardware

Computer Software

Computer Programming

Computer programming / programming is a multi step process for designing or creating instructions or solution. Programming language is a set of words (or symbols) & rules used to create instructions for computer to perform. Program / Application is a list of instructions that the computer must follow in order to perform specific assigned task.

Syntax - set of rules to create program Code - computer instructions

Computer Languages

Computer Languages To write a program for a computer, you must use a computer language. Basically, What is a computer language? A computer language is an artificial language that tell the computer what to do. It has the same meaning with programming language .

Computer Languages Over the year, computer languages have evolved. Machine Language Assembly Language High-Level Language

Computer Languages

Machine Language 1st generation of programming language. The only language understood by a computer without translation. It is a language consists of 0s and 1s – that directly correspond to the computer’s electrical states. Also known as binary or machine code.

Machine Language Advantage: Very fast in processing data. WHY? Disadvantages: Machine (or hardware) dependent Time-consuming Difficult to create program (less user friendly) (100110101011001)

Example: Machine Language Program 11110010 01110011 1101 001000010000 0111 11110010 01110011 1101 001000011000 0111 11111110 01100010 1101 001000010010 0111 11110000 01000101 1101 001000010011 0000 111110011 01000011 0111 00000101000 1101 10010110 11110000 0111 000001010100 1100

Assembly Language 2nd generation of programming language. Also known as symbolic language. Assembly language is a language that allows programmers to use symbol or mnemonics (abbreviations), to represent the various machine language. It uses assembler to translate assembly code into machine code.

Assembly Language Advantage: fast in processing data Program can be write more quickly than in machine language Disadvantages: Machine (or hardware) dependent Time-consuming

Example: Assembly Language Program

High-Level Language 3rd generation of programming language. Also known as procedural language. High-level languages use an English-like language instead of symbols and abbreviations. High-level languages are designed to relieve the programmer from the details of the assembly language.

High-Level Language Example of high-level languages are C, Fortran and COBOL. Advantage: Easy to program Machine independent Disadvantages: Requires translator (compiler or interpreter)

Example: FORTRAN Program

Very High-Level Language 4th generation of programming language. Also known as object-oriented or non-procedural language. It is much more user-oriented and allow programmers to develop programs with fewer commands.

Very High-Level Language Some of very high-level languages are also called RAD (rapid application development) tools. The use of visual in programming was also introduced in very high- level language. Example of very high-level languages are C++, Java and Visual Basic.

Example : C++ Programming Language

Example: Visual C++ Program

Example: Visual C++ with OpenGL Program

Natural Language 5th generation of programming language. Natural languages use human language to give people a more natural connection with computers. Natural languages allow questions or commands to be framed in a more conversational way.

Natural Language For example: I WANT THE LIST OF BITE 1513 STUDENTS TO BE PRINTED AT 2.00 PM 09/09/2016 Natural languages are part of the field of study known as artificial intelligence (AI). AI are technologies that attempt to develop machine to emulate human-like qualities.

What is Game Programming Where you program something with a C++ to create great games!! Used to be programmers created games But many great programmers not great game makers With budget shift, emphasis has shifted Game content creators are artist and designers Programmers can be thought of as providing services for content But fate of entire game rests in their hands Based on Chapter 3.1, Introduction to Game Development

Programming Areas – Game Code Everything directly related to game itself How camera behaves, score is kept, AI for bots, etc. Often in scripting language (rest is in C++, more on languages next) Produce faster iterations Allow technical designers/artists to change behaviors More appropriate language for domain (ex: AI probably not easiest in C++) Based on Chapter 3.1, Introduction to Game Development

Programming Areas – Game Engine Support code that is not game specific More than just drawing pretty 3d graphics (that is actually the graphics engine, part of the game engine) Isolate game code from hardware ex: controller, graphics, sound Allows designers to concentrate on game Common functionality needed across game Serialization, network communication, pathfinding, collision detection Based on Chapter 3.1, Introduction to Game Development

CROSS-PLATFORM 2D C++ GAME ENGINE Solarus | An open-source Zelda-like NeoAxis Engine 1.0 CROSS-PLATFORM 2D C++ GAME ENGINE Atomic Game Engine

Programming Areas – Tools Most involve content creation Level editors, particle effect editors, sound editors Some to automate repetitive tasks (ex: convert content to game format) These usually have no GUI Sometimes written as plug-ins for off-the-shelf tools Ex: extensions to Maya or 3dStudio or Photoshop If no such extension available, build from scratch Based on Chapter 3.1, Introduction to Game Development

http://www.pixelprospector.com/the-big-list-of-game-making-tools/

Programming Team Organization Programmers often specialize Graphics, networking, AI May be generalists, know something about everything Often critical for “glue” to hold specialists together Make great lead programmers More than 3 or 4, need some organization Often lead programmer, much time devoted to management More than 10 programmers, several leads (graphics lead, AI lead, etc.) Based on Chapter 3.1, Introduction to Game Development