Roguelike Development with JavaScript


Book Description

Go on an adventure and build a roguelike from scratch using JavaScript. With the help of the battle-tested Phaser library, you’ll go through all the steps to build a small, fun, playable web roguelite game. The author will guide you on how to add further features to the game such as populating the game with enemies, adding treasures, and so on. You will acquire technical knowledge about procedural generation and tile-based mapping as well as learn game design skills such as what makes dungeons fun and how to evoke an emotion in your game. Roguelikes are very popular with indie developers because of their focus on gameplay over graphics. You’ll see why they appeal to game designers on a budget and discover that they serve as a good platform to experiment with novel ideas and designs. Along the way, you’ll cover the increasingly popular roguelite genre that provides a hyper casual form of the genre that is approachable and often mobile. After reading this book, you’ll be ready to create your own roguelikes, to dive deep into procedural generation, and also to bring some of the techniques shown here into other genres and game projects. What You Will Learn Make use of procedural generation for dungeons, mazes, monsters, and treasure Pick up skills to use Phaser to build games Implement turn-based mechanics Use tile-based graphics Who This Book Is For Game developers who want to build something fun and who have at least some prior JavaScript programming experience.




Hands-on Rust


Book Description

Rust is an exciting new programming language combining the power of C with memory safety, fearless concurrency, and productivity boosters - and what better way to learn than by making games. Each chapter in this book presents hands-on, practical projects ranging from "Hello, World" to building a full dungeon crawler game. With this book, you'll learn game development skills applicable to other engines, including Unity and Unreal. Rust is an exciting programming language combining the power of C with memory safety, fearless concurrency, and productivity boosters. With Rust, you have a shiny new playground where your game ideas can flourish. Each chapter in this book presents hands-on, practical projects that take you on a journey from "Hello, World" to building a full dungeon crawler game. Start by setting up Rust and getting comfortable with your development environment. Learn the language basics with practical examples as you make your own version of Flappy Bird. Discover what it takes to randomly generate dungeons and populate them with monsters as you build a complete dungeon crawl game. Run game systems concurrently for high-performance and fast game-play, while retaining the ability to debug your program. Unleash your creativity with magical items, tougher monsters, and intricate dungeon design. Add layered graphics and polish your game with style. What You Need: A computer running Windows 10, Linux, or Mac OS X.A text editor, such as Visual Studio Code.A video card and drivers capable of running OpenGL 3.2.




Exploring Roguelike Games


Book Description

Since 1980, in-the-know computer gamers have been enthralled by the unpredictable, random, and incredibly deep gameplay of Rogue and those games inspired by it, known to fans as "roguelikes." For decades, this venerable genre was off the radar of most players and developers for a variety of reasons: deceptively simple graphics (often just text characters), high difficulty, and their demand that a player brings more of themselves to the game than your typical AAA title asks. This book covers many of the most prominent titles and explains in great detail what makes them interesting, the ways to get started playing them, the history of the genre, and more. It includes interviews, playthroughs, and hundreds of screenshots. It is a labor of love: if even a fraction of the author’s enthusiasm for these games gets through these pages to you, then you will enjoy it a great deal. Key Features: Playing tips and strategy for newcomers to the genre Core roguelikes Rogue, Angband, NetHack, Dungeon Crawl Stone Soup, ADOM, and Brogue The "lost roguelikes" Super Rogue and XRogue, and the early RPG dnd for PLATO systems The Japanese console roguelikes Taloon’s Mystery Dungeon and Shiren the Wanderer Lesser-known but extremely interesting games like Larn, DoomRL, HyperRogue, Incursion, and Dungeon Hack "Rogue-ish" games that blur the edges of the genre, including Spelunky, HyperRogue, ToeJam & Earl, Defense of the Oasis, Out There, and Zelda Randomizer Interviews with such developers as Keith Burgun (100 Rogues and Auro), Rodain Joubert (Desktop Dungeons), Josh Ge (Cogmind), Dr. Thomas Biskup (ADOM), and Robin Bandy (devnull public NetHack tournament) An interview regarding Strange Adventures in Infinite Space Design issues of interest to developers and enthusiasts Author Bio: John Harris has bumped around the Internet for more than 20 years. In addition to writing the columns @Play and Pixel Journeys for GameSetWatch and developer interviews for Gamasutra, he has spoken at Roguelike Celebration. John Harris has a MA in English Literature from Georgia Southern University.




Game Programming Patterns


Book Description

The biggest challenge facing many game programmers is completing their game. Most game projects fizzle out, overwhelmed by the complexity of their own code. Game Programming Patterns tackles that exact problem. Based on years of experience in shipped AAA titles, this book collects proven patterns to untangle and optimize your game, organized as independent recipes so you can pick just the patterns you need. You will learn how to write a robust game loop, how to organize your entities using components, and take advantage of the CPUs cache to improve your performance. You'll dive deep into how scripting engines encode behavior, how quadtrees and other spatial partitions optimize your engine, and how other classic design patterns can be used in games.




HTML5 Game Development Insights


Book Description

HTML5 Game Development Insights is a from-the-trenches collection of tips, tricks, hacks, and advice straight from professional HTML5 game developers. The 24 chapters here include unique, cutting edge, and essential techniques for creating and optimizing modern HTML5 games. You will learn things such as using the Gamepad API, real-time networking, getting 60fps full screen HTML5 games on mobile, using languages such as Dart and TypeScript, and tips for streamlining and automating your workflow. Game development is a complex topic, but you don't need to reinvent the wheel. HTML5 Game Development Insights will teach you how the pros do it. The book is comprised of six main sections: Performance; Game Media: Sound and Rendering; Networking, Load Times, and Assets; Mobile Techniques and Advice; Cross-Language JavaScript; Tools and Useful Libraries. Within each of these sections, you will find tips that will help you work faster and more efficiently and achieve better results. Presented as a series of short chapters from various professionals in the HTML5 gaming industry, all of the source code for each article is included and can be used by advanced programmers immediately.




The Art of UNIX Programming


Book Description

The Art of UNIX Programming poses the belief that understanding the unwritten UNIX engineering tradition and mastering its design patterns will help programmers of all stripes to become better programmers. This book attempts to capture the engineering wisdom and design philosophy of the UNIX, Linux, and Open Source software development community as it has evolved over the past three decades, and as it is applied today by the most experienced programmers. Eric Raymond offers the next generation of "hackers" the unique opportunity to learn the connection between UNIX philosophy and practice through careful case studies of the very best UNIX/Linux programs.




Spelunky


Book Description

A game's creation as told by its creator, perhaps the best rpimer on game design.




The Advanced Game Developer's Toolkit


Book Description

Master the most important skills and techniques you need to know for professional HTML5 and JavaScript 2D game development. This book delves into many of the great classic techniques of video game design. You’ll discover how to develop games and game levels using Tiled Editor, how to implement tile-based collision, how to design advanced pathfinding and enemy AI systems, the fundamentals of broad-phase collision, and how to make isometric games. All the techniques and supporting code are explained in an easy-to-understand manner and written in a general way so that they can be applied to any game engine or technology that you’re comfortable using. You'll find detailed working examples, with dozens of illustrations and many concepts you can freely apply to your own projects. All the math and programming techniques are elaborately explained and examples are open-ended to encourage you to think of original ways to use these techniques in your own games. You can use what you learn in this book as the basis for making games for desktops, mobile phones, tablets, or the Web. The Advanced Game Developer's Toolkit is a great next step if you already have some JavaScript game-making- experience, or a great continuation if you've already read Advanced Game Design with HTML5 and JavaScript by the same author. What You'll Learn Work with advanced tile-based design techniques for puzzle, platform and maze games Use Tiled Editor to build game worlds Build path-finding and AI systems using Line of Sight and A* (A-Star) Make isometric games Manage complexity to build games of any size that scale seamlessly Who This Book Is For Video game developers with some experience who want to learn the essential techniques they need to know to take their skills to the next level and for readers who want to understand and fine-tune every line of code they write, without resorting to quick fixes.




Crafting Interpreters


Book Description

Despite using them every day, most software engineers know little about how programming languages are designed and implemented. For many, their only experience with that corner of computer science was a terrifying "compilers" class that they suffered through in undergrad and tried to blot from their memory as soon as they had scribbled their last NFA to DFA conversion on the final exam. That fearsome reputation belies a field that is rich with useful techniques and not so difficult as some of its practitioners might have you believe. A better understanding of how programming languages are built will make you a stronger software engineer and teach you concepts and data structures you'll use the rest of your coding days. You might even have fun. This book teaches you everything you need to know to implement a full-featured, efficient scripting language. You'll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused. Starting from main(), you will build a language that features rich syntax, dynamic typing, garbage collection, lexical scope, first-class functions, closures, classes, and inheritance. All packed into a few thousand lines of clean, fast code that you thoroughly understand because you wrote each one yourself.




jQuery Game Development Essentials


Book Description

Written as a concise yet practical guide with an explicit focus on utilizing jQuery for game development, you'll learn how to create stunning games that look great without the hassle of learning about a complex game engine in the process.Knowledge of JavaScript and jQuery as well as basic experience with frontend development is all you need to start making games in a matter of hours with this essential guide. Whilst also suitable for those who simply want to start making games with jQuery, it's specifically targeted at web developers that want to experiment with and utilize their existing skills.