Last Uploaded Books

Get to know techniques and approaches to procedurally generate game content in C++ using Simple and Fast Multimedia Library
ABOUT THIS BOOK * This book contains a bespoke Simple and Fast Multimedia Library (SFML) game engine with complete online documentation * Through this book, you'll create games that are non-predictable and dynamic and have a high replayability factor * Get a breakdown of the key techniques and approaches more » applied to a real game. WHO THIS BOOK IS FOR If you are a game developer who is familiar with C++ and is looking to create bigger and more dynamic games, then this book is for you. The book assumes some prior experience with C++, but any intermediate concepts are clarified in detail. No prior experience with SFML is required. WHAT YOU WILL LEARN * Discover the systems and ideology that lie at the heart of procedural systems * Use Random number generation (RNG) with C++ data types to create random but controlled results * Build levels procedurally with randomly located items and events * Create dynamic game objects at runtime * Construct games using a component-based approach * Assemble non-predictable game events and scenarios * Operate procedural generation to create dynamic content fast and easily * Generate game environments for endless replayability IN DETAIL Procedural generation is a growing trend in game development. It allows developers to create games that are bigger and more dynamic, giving the games a higher level of replayability. Procedural generation isn't just one technique, it's a collection of techniques and approaches that are used together to create dynamic systems and objects. C++ is the industry-standard programming language to write computer games. It's at the heart of most engines, and is incredibly powerful. SFML is an easy-to-use, cross-platform, and open-source multimedia library. Access to computer hardware is broken into succinct modules, making it a great choice if you want to develop cross-platform games with ease. Using C++ and SFML technologies, this book will guide you through the techniques and approaches used to generate content procedurally within game development. Throughout the course of this book, we'll look at examples of these technologies, starting with setting up a roguelike project using the C++ template. We'll then move on to using RNG with C++ data types and randomly scattering objects within a game map. We will create simple console examples to implement in a real game by creating unique and randomised game items, dynamic sprites, and effects, and procedurally generating game events. Then we will walk you through generating random game maps. At the end, we will have a retrospective look at the project. By the end of the book, not only will you have a solid understanding of procedural generation, but you'll also have a working roguelike game that you will have extended using the examples provided. STYLE AND APPROACH This is an easy-to-follow guide where each topic is explained clearly and thoroughly through the use of a bespoke example, then implemented in a real game project. « less
A pragmatic guide for developing your own games with Python
ABOUT THIS BOOK * Strengthen your fundamentals of game programming with Python language * Seven hands-on games to create 2D and 3D games rapidly from scratch * Illustrative guide to explore the different GUI libraries for building your games WHO THIS BOOK IS FOR If you have ever wanted to create more » casual games in Python and you would like to explore various GUI technologies that this language offers, this is the book for you. This title is intended for beginners to Python with little or no knowledge of game development, and it covers step by step how to build seven different games, from the well-known Space Invaders to a classical 3D platformer. WHAT YOU WILL LEARN * Take advantage of Python's clean syntax to build games quickly * Discover distinct frameworks for developing graphical applications * Implement non-player characters (NPCs) with autonomous and seemingly intelligent behaviors * Design and code some popular games like Pong and tower defense * Compose maps and levels for your sprite-based games in an easy manner * Modularize and apply object-oriented principles during the design of your games * Exploit libraries like Chimpunk2D, cocos2d, and Tkinter * Create natural user interfaces (NUIs), using a camera and computer vision algorithms to interpret the player's real-world actions IN DETAIL With a growing interest in learning to program, game development is an appealing topic for getting started with coding. From geometry to basic Artificial Intelligence algorithms, there are plenty of concepts that can be applied in almost every game. Python is a widely used general-purpose, high-level programming language. It provides constructs intended to enable clear programs on both a small and large scale. It is the third most popular language whose grammatical syntax is not predominantly based on C. Python is also very easy to code and is also highly flexible, which is exactly what is required for game development. The user-friendliness of this language allows beginners to code games without too much effort or training. Python also works with very little code and in most cases uses the “use cases” approach, reserving lengthy explicit coding for outliers and exceptions, making game development an achievable feat. Python Game Programming by Example enables readers to develop cool and popular games in Python without having in-depth programming knowledge of Python. The book includes seven hands-on projects developed with several well-known Python packages, as well as a comprehensive explanation about the theory and design of each game. It will teach readers about the techniques of game design and coding of some popular games like Pong and tower defense. Thereafter, it will allow readers to add levels of complexities to make the games more fun and realistic using 3D. At the end of the book, you will have added several GUI libraries like Chimpunk2D, cocos2d, and Tkinter in your tool belt, as well as a handful of recipes and algorithms for developing games with Python. STYLE AND APPROACH This book is an example-based guide that will teach you to build games using Python. This book follows a step-by-step approach as it is aimed at beginners who would like to get started with basic game development. By the end of this book you will be competent game developers with good knowledge of programming in Python. « less
Build automatic classification and prediction models using unsupervised learning
KEY FEATURES * Harness the ability to build algorithms for unsupervised data using deep learning concepts with R * Master the common problems faced such as overfitting of data, anomalous datasets, image recognition, and performance tuning while building the models * Build models relating to neural more » networks, prediction and deep prediction BOOK DESCRIPTION Deep learning is a branch of machine learning based on a set of algorithms that attempt to model high-level abstractions in data by using model architectures. With the superb memory management and the full integration with multi-node big data platforms, the H2O engine has become more and more popular among data scientists in the field of deep learning. This book will introduce you to the deep learning package H2O with R and help you understand the concepts of deep learning. We will start by setting up important deep learning packages available in R and then move towards building models related to neural networks, prediction, and deep prediction, all of this with the help of real-life examples. After installing the H2O package, you will learn about prediction algorithms. Moving ahead, concepts such as overfitting data, anomalous data, and deep prediction models are explained. Finally, the book will cover concepts relating to tuning and optimizing models. WHAT YOU WILL LEARN * Set up the R package H2O to train deep learning models * Understand the core concepts behind deep learning models * Use Autoencoders to identify anomalous data or outliers * Predict or classify data automatically using deep neural networks * Build generalizable models using regularization to avoid overfitting the training data ABOUT THE AUTHOR Dr. Joshua F. Wiley is a lecturer at Monash University and a senior partner at Elkhart Group Limited, a statistical consultancy. He earned his PhD from the University of California, Los Angeles. His research focuses on using advanced quantitative methods to understand the complex interplays of psychological, social, and physiological processes in relation to psychological and physical health. In statistics and data science, Joshua focuses on biostatistics and is interested in reproducible research and graphical displays of data and statistical models. Through consulting at Elkhart Group Limited and his former work at the UCLA Statistical Consulting Group, Joshua has helped a wide array of clients, ranging from experienced researchers to biotechnology companies. He develops or codevelops a number of R packages including varian, a package to conduct Bayesian scale-location structural equation models, and MplusAutomation, a popular package that links R to the commercial Mplus software. TABLE OF CONTENTS 1. Getting Started with Deep Learning 2. Training a Prediction Model 3. Preventing Overfitting 4. Identifying Anomalous Data 5. Training Deep Prediction Models 6. Tuning and Optimizing Models 7. Bibliography « less
Start building amazing projects with the Raspberry Pi right out of the box
ABOUT THIS BOOK * Explore the vast range of opportunities provided by Raspberry Pi and other hardware components such as a webcam, the Pi camera, and sensors * Get hands-on experience with coding, networking, and hardware with the Raspberry Pi platform * Learn through ample screenshots that offer more » a play-by-play account of how to implement Raspberry-Pi-based real-life projects WHO THIS BOOK IS FOR What's the best way to learn how to use your Raspberry Pi? By example! If you want something exciting to do whilst getting to grips with what your Pi can offer, this is the book for you. With both simple and complex projects, you'll create a wide variety of cool toys and functions with your Raspberry Pi - all with minimal coding experience necessary. WHAT YOU WILL LEARN * Set up your Raspberry Pi and get it ready for some interesting real-life projects * Work with images, videos, webcams, and the Pi camera and create amazing time-lapse videos * Explore the amazing world of Minecraft Pi * Get to know how to use PiGlow for GPIO programming * Interface your Pi with Grove Sensors and implement IoT applications * Build your own cluster with Raspberry Pi * Understand the networking and network programming fundamentals IN DETAIL Want to put your Raspberry Pi through its paces right out of the box? This tutorial guide is designed to get you learning all the tricks of the Raspberry Pi through building complete, hands-on hardware projects. Speed through the basics and then dive right in to development! Discover that you can do almost anything with your Raspberry Pi with a taste of almost everything. Get started with Pi Gaming as you learn how to set up Minecraft, and then program your own game with the help of Pygame. Turn the Pi into your own home security system with complete guidance on setting up a webcam spy camera and OpenCV computer vision for image recognition capabilities. Get to grips with GPIO programming to make a Pi-based glowing LED system, build a complete functioning motion tracker, and more. Finally, get ready to tackle projects that push your Pi to its limits. Construct a complete Internet of Things home automation system with the Raspberry Pi to control your house via Twitter; turn your Pi into a super-computer through linking multiple boards into a cluster and then add in advanced network capabilities for super speedy processing! STYLE AND APPROACH This step-by-step guide to building Raspberry-Pi-based projects is explained in a conversational and easy-to-follow style. Each topic is explained sequentially in the process of creating real-life projects, and detailed explanations of the basic and advanced features of various Python libraries are also included. « less
Design scalable and robust RESTful web services with JAX-RS and Jersey extension APIs
ABOUT THIS BOOK * Get to grips with the portable Java APIs used for JSON processing * Design solutions to produce, consume, and visualize RESTful web services using WADL, RAML, and Swagger * A step-by-step guide packed with many real-life use-cases to help you build efficient and secure RESTful web more » APIs in Java WHO THIS BOOK IS FOR If you are a web developer with a basic understanding of the REST concepts but are new to the idea of designing and developing RESTful web services, this is the book for you. As all the code samples for the book are written in Java, proficiency in Java is a must. WHAT YOU WILL LEARN * Introduce yourself to the RESTful software architectural style and the REST API design principles * Make use of the JSR 353 APIs and Jackson API for JSON processing * Build portable RESTful web APIs, making use of the JAX-RS 2.0 API * Simplify API development using the Jersey extension APIs * Secure your RESTful web services with various authentication and authorization mechanisms * Get to grips with the various metadata solutions to describe, produce, and consume RESTful web services * Understand the design and coding guidelines to build well-performing RESTful APIs * See how the role of RESTful web services changes with emerging technologies and trends IN DETAIL REST (REpresentational State Transfer) is a simple yet powerful software architecture style to create scalable web services and allow them to be simple, lightweight, and fast. The REST API uses HTTP and JSON, so that it can be used with many programming languages such as Ruby, Java, Python, and Scala. Its use in Java seems to be the most popular though, because of the API's reusability. This book is a guide to developing RESTful web services in Java using the popular RESTful framework APIs available today. You will begin with gaining an in-depth knowledge of the RESTful software architectural style and its relevance in modern applications. Further, you will understand the APIs to parse, generate, transform, and query JSON effectively. Then, you will see how to build a simple RESTful service using the popular JAX-RS 2.0 API along with some real-world examples. This book will introduce you to the Jersey framework API, which is used to simplify your web services. You will also see how to secure your services with various authentication mechanisms. You will get to grips with various solutions to describe, produce, consume, and visualize RESTful web services. Finally, you will see how to design your web services to equip them for the future technological advances, be it Cloud or mobile computing. By the end of this book, you will be able to efficiently build robust, scalable, and secure RESTful web services, making use of the JAX-RS and Jersey framework extensions. STYLE AND APPROACH This book is written as a step-by-step guide to designing and developing robust RESTful web services. Each topic is explained in a simple and easy-to-understand manner with lots of real-life use-cases and their solutions. « less
Build SEO-friendly, high-performance single-page applications with Angular 2
KEY FEATURES * Get up to date with the latest changes to Angular 2, including the improvements to directives, change detection, dependency injection, router, and more * Understand Angular 2's new component-based architecture * Start using TypeScript to supercharge your Angular 2 applications BOOK more » DESCRIPTION AngularJS is a JavaScript framework that makes building web applications easier. It is used today in large-scale, high-traffic websites that struggle with under-performance, portability issues, as well as SEO unfriendliness, and complexity at scale. Angular 2 changes that. It is the modern framework you need to build performant and robust web applications. Switching to Angular 2 is the quickest way to get to grips with Angular 2 and will help you transition in to the brave new world of Angular 2. We'll start with an overview which sets the changes of the framework in context with version 1.x. After that, you will be taken on a TypeScript crash-course so we can take advantage of Angular 2 in its native, statically-typed environment. We'll look at the new change-detection method in detail, how Directives and Components change how you create websites with Angular, the new Angular 2 router, and much more. By the end of the book, you'll be ready to start building quick and efficient Angular 2 applications that take advantage of all the new features on offer. WHAT YOU WILL LEARN * Understand the changes made from Angular 1.x with side-by-side code samples to help demystify the Angular 2 learning curve * Start working with Angular 2's new method of implementing directives * Use TypeScript to write modern, powerful Angular 2 applications * Dig in to the change-detection method, and other architectural changes to make sure you know what's going on under the hood of Angular 2. * Get to work with the new router in Angular 2 * Use the new features of Angular 2 including pipes, or the updated features such as forms, services, and the DI module * Master server-side rendering in Angular 2 to keep your new applications SEO friendly ABOUT THE AUTHOR Minko Gechev is a software engineer who strongly believes in open source software. He has developed numerous such projects, including AngularJS 1.x and Angular 2 style guides, angular2-seed, a static code analyzer for Angular 2 projects, aspect.js, angular-aop, and many others. He runs training courses in JavaScript, Angular, and other web technologies. Minko loves to experiment with theoretical concepts from computer science and apply them in practice. He has spoken about Angular and software development at worldwide conferences and meetups, including ng-vegas, AngularConnect, ITWeekend Kiev, AngularJS-SF, and Angular Berlin. TABLE OF CONTENTS 1. Getting Started with Angular 2 2. The Building Blocks of an Angular 2 Application 3. TypeScript Crash Course 4. Getting Started with Angular 2 Components and Directives 5. Dependency Injection in Angular 2 6. Working with the Angular 2 Router and Forms 7. Explaining Pipes and Communicating with RESTful Services 8. Development Experience and Server-Side Rendering « less
Master performance optimization for Unity3D applications with tips and techniques that cover every aspect of the Unity3D Engine
ABOUT THIS BOOK * Optimize CPU cycles, memory usage, and GPU throughput for any Unity3D application * Master optimization techniques across all Unity Engine features including Scripting, Asset Management, Physics, Graphics Features, and Shaders * A practical guide to exploring Unity Engine's many more » performance-enhancing methods WHO THIS BOOK IS FOR This book is intended for intermediate and advanced Unity developers who have experience with most of Unity's feature-set, and who want to maximize the performance of their game. Familiarity with the C# language will be needed. WHAT YOU WILL LEARN * Use the Unity Profiler to find bottlenecks anywhere in our application, and discover how to resolve them * Implement best-practices for C# scripting to avoid common pitfalls * Develop a solid understanding of the rendering pipeline, and maximize its performance through reducing draw calls and avoiding fill rate bottlenecks * Enhance shaders in a way that is accessible to most developers, optimizing them through subtle yet effective performance tweaks * Keep our scenes as dynamic as possible by making the most of the Physics engine * Organize, filter, and compress our art assets to maximize performance while maintaining high quality * Pull back the veil on the Mono Framework and the C# Language to implement low-level enhancements that maximize memory usage and avoid garbage collection * Get to know the best practices for project organization to save time through an improved workflow IN DETAIL Competition within the gaming industry has become significantly fiercer in recent years with the adoption of game development frameworks such as Unity3D. Through its massive feature-set and ease-of-use, Unity helps put some of the best processing and rendering technology in the hands of hobbyists and professionals alike. This has led to an enormous explosion of talent, which has made it critical to ensure our games stand out from the crowd through a high level of quality. A good user experience is essential to create a solid product that our users will enjoy for many years to come. Nothing turns gamers away from a game faster than a poor user-experience. Input latency, slow rendering, broken physics, stutters, freezes, and crashes are among a gamer's worst nightmares and it's up to us as game developers to ensure this never happens. High performance does not need to be limited to games with the biggest teams and budgets. Initially, you will explore the major features of the Unity3D Engine from top to bottom, investigating a multitude of ways we can improve application performance starting with the detection and analysis of bottlenecks. You'll then gain an understanding of possible solutions and how to implement them. You will then learn everything you need to know about where performance bottlenecks can be found, why they happen, and how to work around them. This book gathers a massive wealth of knowledge together in one place, saving many hours of research and can be used as a quick reference to solve specific issues that arise during product development. STYLE AND APPROACH This book is organized based on the major features of Unity engine and should be treated as a reference guide. It is written as a series of investigations into both common and unusual performance pitfalls, each including a study on why the bottleneck is causing us problems, and a list of enhancements or features that can be used to work around them. Differences in effectiveness, behaviors, or feature-sets between Unity 4.x and Unity 5.x will be highlighted. « less
Master the art of Shader programming to bring life to your Unity projects
ABOUT THIS BOOK * This book will help you master the technique of physically based shading in Unity 5 to add realism to your game quickly through precise recipes * From an eminent author, this book offers you the fine technicalities of professional post-processing effects for stunning results * This more » book will help you master Shader programming through easy-to-follow examples to create stunning visual effects that can be used in 3D games and high quality graphics. WHO THIS BOOK IS FOR Unity Effects and Shader Cookbook is written for developers who want to create their first Shaders in Unity 5 or wish to take their game to a whole new level by adding professional post-processing effects. A solid understanding of Unity is required. WHAT YOU WILL LEARN * Understand physically based rendering to fit the aesthetic of your game * Enter the world of post-processing effects to make your game look visually stunning * Add life to your materials, complementing Shader programming with interactive scripts * Design efficient Shaders for mobile platforms without sacrificing their realism * Use state-of-the-art techniques such as volumetric explosions and fur shading * Build your knowledge by understanding how Shader models have evolved and how you can create your own * Discover what goes into the structure of Shaders and why lighting works the way it does * Master the math and algorithms behind the most used lighting models IN DETAIL Since their introduction to Unity, Shaders have been notoriously difficult to understand and implement in games: complex mathematics have always stood in the way of creating your own Shaders and attaining that level of realism you crave. With Shaders, you can transform your game into a highly polished, refined product with Unity's post-processing effects. Unity Shaders and Effects Cookbook is the first of its kind to bring you the secrets of creating Shaders for Unity3D―guiding you through the process of understanding vectors, how lighting is constructed with them, and also how textures are used to create complex effects without the heavy math. We'll start with essential lighting and finishing up by creating stunning screen Effects just like those in high quality 3D and mobile games. You'll discover techniques including normal mapping, image-based lighting, and how to animate your models inside a Shader. We'll explore the secrets behind some of the most powerful techniques, such as physically based rendering! With Unity Shaders and Effects Cookbook, what seems like a dark art today will be second nature by tomorrow. STYLE AND APPROACH The recipes in this book contain step-by-step instructions, complemented by screenshots and code, and real-world examples. « less
Develop 2D and 3D games Using Apple's SceneKit and SpriteKit
Learn the fundamental elements of the new Swift 3 programming language as applied to game development for new iOS 10. In Part 1 of this book, you'll start with a basic 2D game idea and build the game throughout the book introducing each SpriteKit topic as you add new functionality to the game. By more » the end of the book, you'll have experience with all the important SpriteKit topics and have a fully functional game as a result. In Part 2, you'll learn 3D game development using Apple's SceneKit framework and the Swift programming language, following the same pattern used for Part 1. Game apps are one of the most popular categories in the Apple iTunes App Store. In response,James Goodwill and Wesley Matlock bring you Beginning Swift Games Development for iOS, Third Edition an update to their best-selling work. After reading and using this book, you'll have the skills and the code to build your first 2D and then 3D game app that you can run on any iOS-enabled device. What you’ll learn * Discover what’s in the new Swift 3 programming language * Apply Swift 3 to iOS 10 and 9 game development * Build a 2D game app using SpriteKit and Swift * Build a 3D game from 2D using SceneKit and Swift Who this book is for iOS app developers new to Swift or for those thinking of trying iOS game app development for the very first time. « less
KEY FEATURES * Build web applications based around maps and geospatial data using Python 3.x * Install and use various toolkits and obtain geospatial data for use in your programs * This practical, hands-on book will teach you all about geospatial development in Python BOOK DESCRIPTION Geospatial more » development links your data to locations on the surface of the Earth. Writing geospatial programs involves tasks such as grouping data by location, storing and analyzing large amounts of spatial information, performing complex geospatial calculations, and drawing colorful interactive maps. In order to do this well, you'll need appropriate tools and techniques, as well as a thorough understanding of geospatial concepts such as map projections, datums, and coordinate systems. This book provides an overview of the major geospatial concepts, data sources, and toolkits. It starts by showing you how to store and access spatial data using Python, how to perform a range of spatial calculations, and how to store spatial data in a database. Further on, the book teaches you how to build your own slippy map interface within a web application, and finishes with the detailed construction of a geospatial data editor using the GeoDjango framework. By the end of this book, you will be able to confidently use Python to write your own geospatial applications ranging from quick, one-off utilities to sophisticated web-based applications using maps and other geospatial data. WHAT YOU WILL LEARN * Access, manipulate, and display geospatial data from within your Python programs * Master the core geospatial concepts of location, distance, units, projections, and datums * Read and write geospatial data in both vector and raster format * Perform complex, real-world geospatial calculations using Python * Store and access geospatial information in a database * Use points, lines, and polygons within your Python programs * Convert geospatial data into attractive maps using Python-based tools * Build complete web-based mapping applications using Python ABOUT THE AUTHOR Erik Westra has been a professional software developer for over 25 years and has worked almost exclusively in Python for the past decade. Erik's early interest in graphical user interface design led to the development of one of the most advanced urgent courier dispatch systems used by messenger and courier companies worldwide. In recent years, Erik has been involved in the design and implementation of systems matching seekers and providers of goods and services across a range of geographical areas as well as real-time messaging and payments systems. This work has included the creation of real-time geocoders and map-based views of constantly changing data. Erik is based in New Zealand, and he works for companies worldwide. He is also the author of the Packt titles Python Geospatial Analysis and Building Mapping Applications with QGIS as well as the forthcoming title Modular Programming with Python. TABLE OF CONTENTS 1. Geospatial Development Using Python 2. GIS 3. Python Libraries for Geospatial Development 4. Sources of Geospatial Data 5. Working with Geospatial Data in Python 6. Spatial Databases 7. Using Python and Mapnik to Generate Maps 8. Working with Spatial Data 9. Improving the DISTAL Application 10. Tools for Web-based Geospatial Development 11. Putting It All Together – a Complete Mapping System 12. ShapeEditor – Importing and Exporting Shapefiles 13. ShapeEditor – Selecting and Editing Features « less