Tag Pcg
Five Tabletop Games for Creating Stuff
We already know that Procedural Content Generation (PCG) is a masterful tool for building games. But can PGC become a game by itself? This seems a silly question at first. After all, what is the purpose of generating something if we do not use it afterward?However, if you think that a bit more, you know that there is something else. If you are interested in PCG, you know that most enjoyment comes from the creation itself.Therefore, the question is easy: of course, that PCG can be a game! And to prove that, I am going to show you five of the most beautiful examples of that I played in recent years.
Randomness in PCG is about the result, not the parameters
I feel the urge of stating the obvious: randomness in Procedural Generation refers to the perceived randomness of the outcome; not the randomness of the input parameters.
In some sense this is “obvious” but, at the same time, is one of the most common mistake I see when developers tackle procedural content generation in their games. It is an understandable mistake, though. There are two assumptions we subconsciously make when we approach randomness: 1) we think that uniformly random parameters produce uniformly random outputs (that’s blatantly false), and 2) we think that uniformly random outputs yield to uniformly random perception in the human (even more false).
The Challenge of Infinite Space
A.K.A. why Elite: Dangerous, Star Citizen and No Man’s Sky could be doomed to fail
Since the beginning of the videogame era, developers aim to reach a perfect simulation of the world. “So realistic!” is probably one of the most abused comment to a videogame ever. The videogame industry tried to reach realistic graphic, realistic sounds, realistic landscapes and realistic Non-Player Characters. However, reaching the perfect realism is a never-ending quest. As soon as we reach something, desire drives us to seek more.
Now that we have extraordinary graphic capabilities and stunning landscapes, some developers are going to raise the bar to a much bigger task: simulating the universe (or at least, the galaxy). We are not in the first (game) generation who is trying to achieve that (the original Elite is a very old game indeed), but we are for sure in the first generation who can reach this goal; at least to some extent.
We have the technical capabilities for doing amazing things: we can generate and simulate hundreds of billions of star systems, we can allow the player to travel to every one of them, explore and land on every square unit of the planet surface, every asteroid, every satellite. Software/games such Space Engine can clearly show us what a lonely developer can do in its spare time. Imagine what a game developers team can do on their full time job! It is not a surprise that several studios spotted the niche in the market and tried to use this power for a real game. After all, it is not “simulation of experience” one of the meaning of “game”?
Procedural Contents Generation in Modern Videogames
8th September 2016 Update: I uploaded these slides on SlideShare. You can see them here. Hi guys! In the last month I’ve prepared a presentation on Procedural Contents Generation history and techniques in commercial videogames. I did this presentation for a Game Jam some time ago and for a series of meetings in our university. I think it is a nice summary of the main elements of PCG in commercial games, so I think it is worth to share this presentation with you!
Random Maps with Cellular Automata
In the spirit of the ProcJam2014 (that unfortunately I have to skip because of a ton of academic duties :<) I’m presenting to you a simple algorithm to generate maps: the cellular automata generator. In particular, cellular automata are very well suited for cave-like environment and, in general, natural maps. It works both in 2D than in 3D and can be easily implemented in no more than 20 minutes.
From the theoretical point of view, a cellular automata is a discrete model that consist in a regular grid of cells. Each cell can have a finite number of states (usually two: on and off). On top of this grid, a system of rules is built to control the evolution of the cells. The rule are usually simple and local: this means that each rule decide on the state of a single cell just on the basis of a limited set of cells (the neighborhood) located around the cell of interest. No rule on the global state of the grid can exist! For instance “the total number of cell in the on state is less than X” is NOT a local rule.
Towards the ProcJam 2014
Procedural Contents Generation (PCG) is a family of techniques, algorithms and procedures used for generating contents in an automatic way rather than manually. In other words, using PCG, game contents can be created by the host computer instead of pre-design everything at development time.
In recent years, PCG is having an increasing popularity among the academic and game development communities. There are two big reasons behind this success: first, it allow the designer to generate an near-infinite amount of contents without the effort of manually design each element by hand (and that’s why the indie scene love PCG), second it increase the game longevity and replayability value of the game (because, for instance, the game it is always different after each run and so it can be replayed more). This two things combined are The Dream for every game designer: huge longevity with low effort at design time.
Random Goblin Name Generator
Hi everyone. In these days, me and my friend and colleague at Noctua are working at a new game jam: the SpeccyJam. The goal of this jam is to recreate a game with the same feel and look of an original ZX Spectrum game. We chose to implement a “managerial game” in which the player takes the role of a fantasy blacksmith that have to increase its fame crafting amazing weapons. This jam is very formative because it is forcing us to work in a low resolution with a very limited color space and, also, to explore the amazing kingdom of 2D shaders in Unity in order to recreate the visual glitches of the original console.