万本电子书0元读

万本电子书0元读

顶部广告

SFML Game Development By Example电子书

售       价:¥

0人正在读 | 0人评论 9.8

作       者:Raimondas Pupius

出  版  社:Packt Publishing

出版时间:2015-12-29

字       数:226.5万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Create and develop exciting games from start to finish using SFML About This Book Familiarize yourself with the SFML library and explore additional game development techniques Craft, shape, and improve your games with SFML and common game design elements A practical guide that will teach you how to use utilize the SFML library to build your own, fully functional applications Who This Book Is For This book is intended for game development enthusiasts with at least decent knowledge of the C++ programming language and an optional background in game design. What You Will Learn Create and open a window by using SFML Utilize, manage, and apply all of the features and properties of the SFML library Employ some basic game development techniques to make your game tick Build your own code base to make your game more robust and flexible Apply common game development and programming patterns to solve design problems Handle your visual and auditory resources properly Construct a robust system for user input and interfacing Develop and provide networking capabilities to your game< In Detail Simple and Fast Multimedia Library (SFML) is a simple interface comprising five modules, namely, the audio, graphics, network, system, and window modules, which help to develop cross-platform media applications. By utilizing the SFML library, you are provided with the ability to craft games quickly and easily, without going through an extensive learning curve. This effectively serves as a confidence booster, as well as a way to delve into the game development process itself, before having to worry about more advanced topics such as “rendering pipelines” or “shaders.” With just an investment of moderate C++ knowledge, this book will guide you all the way through the journey of game development. The book starts by building a clone of the classical snake game where you will learn how to open a window and render a basic sprite, write well-structured code to implement the design of the game, and use the AABB bounding box collision concept. The next game is a simple platformer with enemies, obstacles and a few different stages. Here, we will be creating states that will provide custom application flow and explore the most common yet often overlooked design patterns used in game development. Last but not the least, we will create a small RPG game where we will be using common game design patterns, multiple GUI. elements, advanced graphical features, and sounds and music features. We will also be implementing networking features that will allow other players to join and play together. By the end of the book, you will be an expert in using the SFML library to its full potential. Style and approach An elaborate take on the game development process in a way that compliments the reader’s existing knowledge, this book provides plenty of examples and is kind to the uninitiated. Each chapter builds upon the knowledge gained from the previous one and offers clarifications on common issues while still remaining within the scope of its own subject and retaining clarity.
目录展开

SFML Game Development By Example

Table of Contents

SFML Game Development By Example

Credits

About the Author

About the Reviewers

www.PacktPub.com

Support files, eBooks, discount offers, and more

Why subscribe?

Free access for Packt account holders

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Downloading the example code

Errata

Piracy

Questions

1. It's Alive! It's Alive! – Setup and First Program

What is SFML?

SFML licensing

Resources and installation

Setting up a Microsoft Visual Studio project

Opening a window

Basics of SFML drawing

Drawing images in SFML

What is a sprite?

Common mistakes

Summary

2. Give It Some Structure – Building the Game Framework

Graduating to ravioli

Implementing the window class

Building the game class

Putting our code to work

Hardware and execution time

Controlling the frame-rate

Using the SFML clock

Fixed time-step

Common mistakes

Summary

3. Get Your Hands Dirty – What You Need to Know

Introducing snake

Game design decisions

Implementing the snake structure

The snake class

The World class

Time to integrate

Hunting bugs

Fixing bugs

Going the extra mile

Common mistakes

Summary

4. Grab That Joystick – Input and Event Management

Retrieving peripheral input

Checking for mouse input

Plug in your controller

Understanding the sf::Event

Introducing the event manager

Standard function wrapper

Building the event manager

Implementing the event manager

Integrating the Event Manager class

Moving a sprite revisited

Principles of use

Common mistakes

Summary

5. Can I Pause This? – Application States

What is a state?

The most simplistic approach

Introducing the state pattern

Defining common types

The state manager class

Defining the state manager class

Implementing the state manager

Improving the Event Manager class

Incorporating the state manager

Creating the intro state

Implementing the intro state

The main menu state

A sample game state

The means to pause

Common mistakes

Summary

6. Set It in Motion! – Animating and Moving around Your World

Use of copyrighted resources

Finding and using the current directory

Using the SFML views

Preparing application states for views

Automated resource management

Designing a resource manager

Implementing the texture manager

Introducing sprite sheets

Implementing a sprite sheet class

The base animation class

Implementing the base animation class

Directional animation

Loading the sprite sheet files

Summary

7. Rediscovering Fire – Common Game Design Elements

The game map

What is a tile?

Building the game world

The flyweight pattern

Designing the map class

The parent of all world objects

Creating the base entity class

Collisions and bounding boxes

Implementing the base entity class

Entity-on-tile collisions

Entity storage and management

Implementing the entity manager

Using entities to build characters

Implementing the character class

Creating the player

Adding enemies

Loading entities from the map file

Final editions to our code base

Changes to the shared context

Putting all the pieces together

Summary

8. The More You Know – Common Game Programming Patterns

Use of copyrighted resources

What is a programming pattern?

The entity component system

What is a component?

The position component

The bitmask

Managing entities

Implementing the entity manager

The factory pattern

Designing the systems

Entity events

Entity event queue

The base system

Implementing the base system

Handling messages

The observer pattern

The message handler class

Managing systems

Implementing the system manager

Implementing the rendering system

The sprite sheet component

The renderer

Putting the ECS to work

The new and improved map

Adjusting the Map class

Summary

9. A Breath of Fresh Air – Entity Component System Continued

Adding entity movement

The movement system

Implementing states

The state system

The entity controller

Animating the entities

Handling collisions

The collision system

Implementing the collision system

Summary

10. Can I Click This? – GUI Fundamentals

Use of copyrighted resources

What is a GUI?

GUI style

Expansion of utility functions

Font management

The core of all elements

Implementing the GUI element class

Defining GUI events

The interface class

Implementing the interface class

Summary

11. Don't Touch the Red Button! – Implementing the GUI

The GUI manager

Implementing the GUI manager

The label element

The text field element

The scrollbar element

Integrating the GUI system

Expanding the event manager

Re-implementing the main menu

Summary

12. Can You Hear Me Now? – Sound and Music

Use of copyrighted resources

Preparing the project for sound

Basics of SFML sound

Playing sounds

Playing music

Sound spatialization

Placing sounds in space

Audio manager

Defining sound properties

Managing sounds

Implementing the sound manager

Adding support for sound

Animation system hooks

Entity component system expansion

The sound emitter component

The sound listener component

Implementing the sound system

Integrating our code

Summary

13. We Have Contact! – Networking Basics

Basics of networking

SFML networking

TCP sockets

Handling multiple connections

TCP protocol specifics

User datagram protocol

Alternative to sending raw data

SFML packets

Non-blocking sockets

Letting the traffic flow

Multi-threading

Shared data protection

Creating a simple communication protocol

Keeping a UDP connection alive

Designing the client class

Implementing the client

The server class

Implementing server

A simple chat application

The chat client

Summary

14. Come Play with Us! – Multiplayer Subtleties

Use of copyrighted resources

Shared code

Additional components

Building our game server

Additions to the entity component system

Implementing combat

Server action timing

Server network system

Implementing the network system

Server entity and system management

Main server class

Implementing the world class

Server entry point

Developing the game client

Entity component system expansions

Network class and interpolation

Implementing the client network class

Client entity and system management

Putting the pieces into place

Main menu adjustments

Summary

Index

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部