170 likes | 631 Views
Lecture 1 Game Programming Introduction Lecture 1 Game Programming Introduction Choosing the Right Language and Game Library In this course we will use standard C/C++ as our programming language with Allegro.
E N D
Lecture 1 Game Programming Introduction Lecture 1 Game Programming Introduction
Choosing the Right Language and Game Library In this course we will use standard C/C++ as our programming language with Allegro. Allegro is an open-source graphics library that is designed to support game development. In Windows, Allegro accesses the graphics and sound features of DirectX. Using C++ with Allegro will permit us to write game programs that can be ported to any computer platorm running any operating system, including Windows, Mac OS X, Solaris, BeOS, FreeBSD, and Linux.
Simple Program using Allegro #include <allegro.h> int main(void) { allegro_init(); allegro_message("Welcome to CSC 575"); allegro_exit(); return 0; } END_OF_MAIN()
Why Game Programming? FORTUNE! GLORY!FUN! Programming games can be more enjoyable than playing them. Computer/Video Game Industry is now larger than the Movie Industry A great new game concept can make its creator famous. Game programming give a deeper understanding of many CS topics: Real-Time Systems Issues Modeling/Physics Graphics and Animation Sound Generation Graphical Design and Layout Human/Computer Interfaces Scientific Visualization : :
Types of Games Classic Arcade 1st Person Shooter RPG Sports/Racing Board Games Adventure/Puzzle Solving Flight Simulators World Simulations Strategy/Wargames Fighting Games
Can One Person Still Write a Great Game ? YES! While many popular computer games are the result of 100s of programmers, designers, writers, artists, and producers, there is still a place for the lone programmer. The growing popularity of online (e.g. applet-level) games and games on PDA's, handhelds, and even cell-phones provide a wide variety of opportunities for individuals and small start-up game companies.
Establishing and Maintaining a Game Theme One of the most important and most difficult aspects of game design is a consistent and enjoyable theme. The theme of a game affects the mood of the player. It is important to put some thought into choosing an appropriate theme before jumping into the details of game design and development. Keep the theme of your game in mind as you design graphical elements of the background and characters, select sounds, and sequence events.
compute elapsed time t user controls read player input state data update game state S(t) image data render and display S(t) user display The Game Loop
Lessons Learned • There are limits to what you will be able to cover in this course. If your dream is to create a Massive Multiplayer Role-Playing Game (MMRPG), you will have to take solice in the fact that the lessons learned in this course apply directly to game development projects that are much bigger than can be accomplished here. • Understanding the physics of motion and body on body interations is the same for all applications. • The incorporation of and manipulation of sound applies to the simple single-player game as well as the larger multiplayer game. • The techniques of animation can be applied equally well to an animated sprite as to a intro/segway video sequence. • The methods to maintain real-time interations as the complexity of the game scene varies are the same for any level of complexity. • The skills developed in creating an enjoyable single-player game are essential for development of an (MMRPG).