Games articles

Building Killer Robots: Game Behavior In iOS With Fuzzy Logic Rule Systems




 


 

Imagine that it’s a hot day. The sun is out, and the temperature is rising. Perhaps, every now and then, there’s a cool breeze. A good song is playing on the radio. At some point, you get up to get a glass of water, but the exact reason why you did that at that particular time isn’t easy to explain. It was “too hot” and you were “somewhat thirsty,” but also maybe “a little bored.” Each of these qualities isn’t either/or, but instead fall on a spectrum of values.

Building Killer Robots: Game Behavior In iOS With Fuzzy Logic Rule Systems

In contrast, our software is usually built on Boolean values. We set isHot to true and if isHot && isThirsty && isBored, then we call getWater(). If we use code like this to control our game characters, then they will appear jerky and less natural. In this article, we’ll learn how to add intelligent behavior to the non-player characters of a game using an alternative to conventional Boolean logic.

The post Building Killer Robots: Game Behavior In iOS With Fuzzy Logic Rule Systems appeared first on Smashing Magazine.

Simplifying iOS Game Logic With Apple’s GameplayKit’s Rule Systems




 


 

When you develop a game, you need to sprinkle conditionals everywhere. If Pac-Man eats a power pill, then ghosts should run away. If the player has low health, then enemies attack more aggressively. If the space invader hits the left edge, then it should start moving right.

Simplifying iOS Game Logic With GameplayKit’s Rule Systems

Usually, these bits of code are strewn around, embedded in larger functions, and the overall logic of the game is difficult to see or reuse to build up new levels.

The post Simplifying iOS Game Logic With Apple’s GameplayKit’s Rule Systems appeared first on Smashing Magazine.

Building A Cross-Platform WebGL Game With Babylon.js


  

Here’s a challenge for you: what about building a 3D game over the weekend? Babylon.js is a JavaScript framework for building 3D games with HTML5, WebGL and Web Audio, built by yours truly and the Babylon.js team. To celebrate the new version 2.3 of the library, we decided to build a new demo “Sponza” to highlight what can be done with the WebGL engine and HTML5 today when it comes to building great games.

Sponza Demo, built with Babylon.js and WebGL

The idea was to create a consistent, similar, if not identical, experience on all WebGL supported platforms and to try to reach native apps’ features. In this article, I’ll then explain how it all works together, along with the various challenges we’ve faced and the lessons we’ve learned when building it.

The post Building A Cross-Platform WebGL Game With Babylon.js appeared first on Smashing Magazine.

JavaScript AI For An HTML Sliding Tiles Puzzle


  

Sam Loyd (1841–1911), American chess player and puzzle maker, created the sliding tiles puzzle in the 1870s. The puzzle is represented by an m×n grid, where m is number of columns and n is number of rows, and each cell can be any imaginable value (number, letter, image, and so on.)

JavaScript AI For An HTML Sliding Tiles Puzzle

The purpose of the puzzle is to rearrange the initial configuration of the tiles to match another configuration known as the goal configuration. The rearrangement task is achieved by swapping the empty tile with some other tile in all possible directions (up, down, left, and right).

The post JavaScript AI For An HTML Sliding Tiles Puzzle appeared first on Smashing Magazine.

Top