IBS
Carrello Lista desideri Login Registrati Aiuto e FAQ Buoni regalo Spedizioni
Ricerca Ricerca avanzata 
Books
Reparti Books
Antiques & Collectibles
Architecture
Art
Biography & Autobiography
Body, Mind & Spirit
Business & Economics
Comics & Graphic Novels
Cooking
Computers
Crafts & Hobbies
Drama
Education
Family & Relationships
Fiction
Foreign Language Study
Games
Gardening
Health & Fitness
History
House & Home
Humor
Juvenile Nonfiction
Juvenile Fiction
Language Arts & Disciplines
Law
Literary Collections
Literary Criticism
Mathematics
Medical
Music
Nature
Performing Arts
Pets
Philosophy
Photography
Poetry
Political Science
Psychology
Reference
Religion
Science
Self-Help
Social Science
Sports & Recreation
Study Aids
Technology
Transportation
Travel
Newsletter
Vuoi conoscere le
nostre offerte? Iscriviti alle newsletter di IBS
Libri Books
Dischi MP3
DVD Blu ray
Games eBooks
Tutte
Informativa sulla privacy

Beginning Game Programming: A Gamedev.Net Collection

Beginning Game Programming: A Gamedev.Net CollectionTitoloBeginning Game Programming: A Gamedev.Net Collection
Prezzo
Sconto 15%
€ 26,78   Spedizioni gratuite in Italia
(Prezzo € 31,51 Risparmio € 4,73)
CategoriaComputers: Programming - Games
RilegaturaPaperback
Dati514 p.; ill.
Anno2009
EditoreCourse Technology
Normalmente disponibile per la spedizione entro 5 giorni lavorativi (poche copie disponibili)

Aggiungi alla lista dei desideri
Prezzo di copertina: Dollari $ 39.99 (Come calcoliamo i prezzi in euro)
nectarQuesto prodotto dà diritto a 27 punti Nectar . Per saperne di più
Condividi  Email Facebook Twitter altri
Descrizione
Part of the new GameDev.net series, "Beginning Game Programming: A GameDev.net Collection" features a compilation of the best articles from GameDev.net on basic game programming topics, including C]+, SQL, XML, collision detection, debugging, and scripting, chosen by the editors of the site. All articles have been updated and revised for the current technology, and the book also includes brand new articles never before published. The book includes a foreword from a leading member of the GameDev.net team and is a great reference for all beginner game programmers including professionals, students, and hobbyists.

Indice e argomenti trattati
Forewordxix
PART 1 INTRODUCTORY PROGRAMMING
1
What Language Do I Use?
3
John Hattan
C
4
C++
5
C or C++?
6
Assembly Language
7
Java
8
.NET Languages (Specifically C# and Visual Basic)
10
Flash and ActionScript
12
Python
13
Server Languages
14
PHP
15
ASP.NET
15
Ruby on Rails
15
Other Languages Worth Mentioning
16
JavaScript
16
D
17
Conclusion
17
Good Coding Practices
19
Drew ``Gaiiden'' Sikora
Writing Code That Is Clean and Efficient
20
Whitespace
21
Indentation
23
Alignment
24
Grouping
25
Techniques Applied
26
Writing Code That Is Easy to Understand
27
Use Unique and Descriptive Variable Names
27
Do Not Use ``Magic Numbers'' or ``Magic Strings''
29
Use Enumerated Data Types Wherever Possible
30
Writing Code That Can Be Reused and Maintained
31
When You Should Comment
32
Why Over-Zealous Commenting Still Has Potential
33
Other Uses for Comments
33
Commenting Examples
34
Conclusion
36
Using PDL for Code Design and Documentation
37
Drew Sikora
Using PDL Correctly
38
PDL Uses
40
Debugging in Visual Studio---Part 1
43
Richard ``Superpig'' Fine
Issue Recognition
45
Intelligence Gathering
47
Visual Studio Debugging: Execution Flow Tools
48
Visual Studio Debugging: State-Inspection Tools
52
Visual Studio Debugging: Other Tools
60
Diagnosis and Prescription
61
Response
63
Verification
63
Dealing with a Couple of Common Runtime Bugs
64
Access Violation
64
Logic Bug
66
Miscellany
67
Prevention, Not Prescription
67
Postmortem Debugging
69
Rolling Your Own Debugging Facilities
70
The Probe Effect
71
Conclusion
73
Further Reading
74
PART 2 GRAPHICS
75
Extended Graphical Templates for Sprite Management
77
Ernest Pazera
One Sprite, One Image
77
Simple Tileset
77
Proprietary Format
78
Templates
78
Conclusion
82
Isometric and Hexagonal Maps
83
Ernest Pazera
Types of Tile Maps
83
How Maps Are Constructed
84
Plotting Tiles
88
Walking the Map
88
Mouse Mapping
91
Summary
93
Mouse Maps for Isometric Height Maps
95
Steven Harrison
Experiment 1: One Color per Tile
96
Experiment 2: Adapting the Mouse Maps to Be Tile Independent
96
Explanation of How To Use My Method
98
The Code for the Mouse Maps
100
A Slight Problem with the Previous Techniques
106
Bezier Curves and Surfaces
109
Jesper Tveit
Parametric Curves
109
Bezier Curves
110
Curved Surfaces
115
Conclusion
125
Direct3D vs. Open GL: Which API to Use When, Where, and Why
127
Promit Roy
Direct3D: The Hard Facts
128
History
128
Structure
129
Looking at the Header
130
Strengths
131
Weaknesses
131
Language Support
132
The Future
132
Comments/My Advice
132
OpenGL: The Hard Facts
133
History
133
Structure
134
Looking at the Header
135
Strengths
135
Weaknesses
135
Language Support
136
The Future
136
Comments/My Advice
136
Performance and Quality Factors
137
The Future in General
137
Putting It All Together
138
But We Can't Use Direct3D! John Carmack Denounced It!
138
Miscellaneous Addenda
138
Contributors
139
PART 3 SCRIPTING
141
An Introduction to Lua
143
Ash Matheson
Whys and Whatnots
143
Enough Insights and Rants
145
Hey, I Thought You Said Enough Rants
146
State of the Union (or Who's Got a VM?)
146
Doing Something Useful with Lua
149
Getting Data from a File
154
Integrating with Your Code
157
Lua Specifics
158
Lua's Stack
160
Final Words and References
163
Introduction to GameMonkey Script
165
Oli Wilkinson
Prerequisites
166
What Is GameMonkey Script?
166
Comparison to Lua
167
Introduction to the Language
167
Syntax Overview
168
GameMonkey Scripts Defined
168
GameMonkey Variables
168
Comments
169
Expression and Conditional Syntax
169
Loops and Iterations
170
Scripted Functions
172
GameMonkey Script Tables
172
Tables as Arrays
172
Tables as Associative Arrays
173
Tables as Mixed Arrays
173
Iterating Table Data: foreach
174
Simulation of Structs and Simple Classes with Tables
174
Scoping
175
Embedding GameMonkey Script
178
Setting Up Your Compiler Environment
179
Creating the GM Virtual Machine
179
Executing a String as a Script
180
Executing a Script from a File
182
Basic Error Checking
183
More on Script Execution
185
The GM Script Objects
187
gmVariable Object
187
Calling a Scripted Function
190
Using gmCall
191
Creating a Host-Bound Function
192
Creating a Simple Type
194
Choosing What to Bind
195
Binding a Simple Vector Type
196
Constructor with Parameters
198
Operator Overrides
200
GetDot Operator
201
SetDot Operator
202
Garbage Collection
205
Further Exploration
207
References
207
PART 4 NETWORKING
209
The Internet, TCP/IP, and Socket Programming
211
Jered Wierzbicki
The Internet
211
Protocols
212
Ethernet
213
IP (Internet Protocol)
213
IP Addresses
214
IP Routing (Data Delivery Through Wishful Thinking)
215
Facts to Know about IP
216
UDP (User Datagram Protocol)
216
TCP (Transmission Control Protocol)
216
TCP vs. UDP
218
DNS
218
HTTP
218
Network Programming: Sockets
218
The Socket Model
219
Example: A Simple TCP Client Program
219
Initializing the Library
221
Creating a Socket
221
!Order Byte about Warning A
222
Looking Up an Address Using DNS
222
Utility Functions for Dealing with Addresses
223
Connecting to a Remote Socket
223
Sending Data on a Socket
224
Receiving Data on a Socket
224
Closing Socket and Cleaning Up
224
Example: TCP Client/Server Tic-Tac-Toe Game
224
Setting Up the Library, Creating the Socket
227
Setting Socket Options
227
Binding a Socket to an Address
227
Listening for Connections
228
Accepting Client Connections
228
Talking with Clients
228
Using MSG_PEEK with recv()
228
Other Noteworthy Stuff about Tic-Tac-Toe
229
Example: TCP Client/Server Chat Program
229
Making a Socket Non-Blocking
234
Using select to Poll for I/O Availability
235
Other Notes about the Chat Server
236
Client Program
236
Example: UDP Client/Server Nibbler Game
237
Setting Up the Server Socket
242
Sending and Receiving Messages: sendto() and recvfrom()
242
Handshaking with Clients
242
Partitioning Game State Between Client and Server/Message Design
243
What Happens If the Server Is Unreachable?
246
Datagram Order
247
Congestion, Synchronization, and Metering
247
Conclusion
247
Programming with Asynchronous Sockets
249
Drew Sikora
Asynchronous != Non-Blocking
250
Windows Socket Messages
250
Setting Up the Asynchronous Sockets
251
Handling Notification Messages
252
Shaking Hands: Connecting and Accepting
255
Re-Enabling Functions
256
Sending and Receiving Data
257
Conclusion
259
PART 5 ALGORITHMS
261
Vectors and Matrices: A Primer
263
Phil Dadd
What Is a Vector?
263
Vector Mathematics
264
What Is a Matrix?
273
Matrix Arithmetic
275
Determinants
277
Matrix Transformations
283
Transformation Matrices
283
Translation
284
Scaling
284
Rotation
285
Frames
287
Summary
289
References
289
Collision Detection and Response
291
General Introduction
291
Collision Response via Projection
292
Bounce and Friction
292
Separating Axis Theorem (SAT)
293
Summary of SAT
293
Calculating the Projection Vector
295
Separating Axis Theorem for AABBs
295
Triangles
296
Round Shapes
298
Separating Axis Theorem for Circles
299
Voronoi Regions
301
Other Shapes
302
Separating Axis Theorem for Points
303
Fast-Moving Objects
303
Swept Tests
304
Multi-Sampling
304
Conclusion/Source Code
304
Source Code
304
Contacting Us
305
Resources
305
Appendix A: Basic Geometry
305
Normalization
306
Dot Product
306
Projection
306
Perproduct
308
A* Pathfinding for Beginners
309
Patrick Lester
Introduction: The Search Area
309
Starting the Search
310
Path Scoring
311
Continuing the Search
313
Summary of the A* Method
317
Something to Note about Pathfinding Discussions
318
Notes on Implementation
318
Other Units (Collision Avoidance)
318
Variable Terrain Cost
320
Handling Unexplored Areas
321
Smoother Paths
321
Non-Square Search Areas
321
Some Speed Tips
322
Maintaining the Open List
323
Dijkstra's Algorithm
324
Additional Notes on Heuristics: Manhattan Method
325
Additional Notes on Heuristics: Diagonal Shortcut
325
Further Reading
326
PART 6 C++
329
Organizing Code Files in C and C++
331
Ben Sizer
Terminology
331
Why Split Code into Several Files?
331
How to Do It: The Basics
333
Potential Pitfalls
335
Fixing Problem 1
336
Fixing Problem 2
337
Fixing Problem 3
340
Fixing Problem 4
343
Other Considerations
347
Conclusion
347
An Exceptional Quest
349
Robin Tan
Why Bother with Exceptions?
349
What Are Exceptions?
350
Try/Catch/Throw
350
How to Try/Catch
351
Rethrow
353
Exception Safety and Error-Handling
353
Scenario 1: Exception Safety in Functions
353
Scenario 2: Exception Safety in Classes and Resource Wrapping
358
Exception Class
360
The Base
360
What Can You Do with It?
361
Windows Exception Class
362
SEH Exception Class
362
Sample
363
More! I Want More!
363
More Information
363
Final Thoughts
364
The One: A Singleton Discussion
367
Robin Tan
Why Singletons?
367
Meyers' Singleton
368
Nifty Counter
370
Sample Singleton
371
More Problems
371
Exception Safety
371
Thread Safety
372
Abuse of Singletons
372
Glocal
373
PART 7 MISCELLANEOUS TOPICS
375
Introduction to Pointers, Structures, and Linked Lists
377
Chris Bennett
Introduction to Pointers
377
Introduction to Structures (and Typedefs)
379
Structures
379
Typedefs
381
C++ and Typedef Struct
382
Introduction to Simple Linked Lists
383
Introduction to Dynamic Memory Allocation
385
Dynamic Memory Allocation
386
Sorting
389
Double Linked Lists
389
Sorting Linked Lists
390
Introduction to Recursion
396
Introduction to Member Functions
403
Introduction to Classes
407
Class Design
408
Brief Introduction to Inheritance
413
A Quick Peek at Multiple Inheritance
415
Brief Introduction to Polymorphism
416
Brief Introduction to Operator Overloading
422
Sound Formats and Their Uses in Games
425
Casey Wireman
Formats
426
WAV
426
MP3
427
OGG
427
MIDI
428
APIs
429
SDL and SDL_mixer
429
WAV
430
OGG
432
FMOD
433
BASS
435
OpenAL
437
Using XML Technologies for Enhancing Log Files
441
Jack Hoxley
Oli Wilkinson
Why Bother?
442
Why Use XML?
443
Basic Requirements and Background
443
Writing the Data to an XML File
445
Prettifying XML Using XSLT
451
Enhancing XSLT Using JavaScript
460
Conclusion
469
SQL in 60 Seconds
473
Albert ``Thec'' Sandberg
Introduction to SQL
473
Creating Tables and Getting Started
474
The Member Table
475
The News Table
476
Tables Done
477
Insert Something into the Database
477
Update Changed Data
479
Select (View) Your Data
479
Delete Something
481
Common Questions
481
Item Management Systems
483
Victor Nicollet
System Architecture
483
Representing Item Properties
484
Items and the Item Database
484
Implementation
485
Item Packs
487
Implementation
489
Conclusion
490
A Comparison of Browser and Widget Platforms
493
Ernest Pazera
What Do I Mean By Platform?
493
What Language Should You Use?
494
Some Platforms Compared
494
Java
494
Flash
495
Silverlight
495
Widget/Gadget Engine
495
JavaScript+HTML
496
Third-Party Engine/Library
496
XNA
497
Summary
497
Index499

I più venduti: Computers - Programming - Games
1. Rules of Play: Game Desi Rules of Play: Game Design Fund...
Salen, Katie; Zimmerman, Eric
MIT Press (MA)
€ 36,83
2. Play Between Worlds: Exp Play Between Worlds: Exploring ...
Taylor, T. L.
MIT Press (MA)
€ 21,39
3. Second Person: Role-Play Second Person: Role-Playing and...
Taylor, T. L.
MIT Press (MA)
€ 30,50
Ricerca Ricerca avanzata
Vai a inizio pagina
Libri
Libri in italiano
Libri in inglese
Libri al 50%
Libri scolastici
eBooks
Film e video
DVD
Blu-ray
Musica
CD musicali
MP3
DVD musicali
Blu ray musicali
Games
Personal computer
Nintendo Wii
PlayStation 3
PlayStation 2
Xbox 360
Sony PSP
Nintendo DS
Nintendo 3DS
Download
eBooks
MP3
Il mio IBS
I miei dati
I miei ordini
Le mie preferenze
IBS Premium
Lista dei desideri
IBS consiglia

 

Informazioni utili:
Spese e tempi di spedizione
Invio regali
Buoni acquisto (Happy Card)
FAQ
Condizioni generali di vendita
Informativa sulla privacy
PuntiNectar

Pagamenti:
Carte di credito
Carta di credito accettate
PayPal
Paypal
Contrassegno

Come contattarci:
Invio messaggi al servizio di Assistenza Clienti
Tutti i contatti
Lavora con noi

• Seguici su  Facebook

Servizi per i clienti:
Password dimenticata
Controllo e modifica dei propri dati
Verifica degli ordini effettuati

Opportunità per aziende e enti:
Servizi per le biblioteche
Programma di affiliazione (Partnership Programme)

Concessionaria di pubblicità:


Con la collaborazione di Argento vivo per il settore editoria libraria

Dati audience certificati Audiweb

Ufficio stampa: Daniela Ravanetti


Altri siti del network IBS:
Libraccio.it
MYmovies.it
Wuz.it


Internet Bookshop Italia S.r.l.
Sede Legale Via Giuseppe Verdi n.8 - 20090 Assago MI
Reg. Imprese di Milano 12252360156
CCIAA Milano 1542508
P.IVA 12252360156
Capitale sociale € 500.000 i.v.



Copyright © 1998-2012 Internet Bookshop Italia, tutti i diritti riservati

Licenza SIAE n. 229/I/05-359.

Internet Bookshop Italia è una società di Giunti & Messaggerie

 



Funzione di ricerca basata su FACT®Finder di OMIKRON