Truth time: learning about theoretical things every week can get a bit monotonous. As much as its important to learn the method behind the madness, it's equally crucial to understand why we're embarking upon the path of madness to begin with it. In other words — what's the point of the theory that we're learning here together?
This is a collection of Bookmarks and content found elsewhere that I have decided to mirror for my own reference. The content is generally not written or belonging to me, and an attribution or source should be found in the note.
"The Java Roguelike Development Guide"
Issue Two - Items in Java
One of the core features of any roguelike game are Items. Things you can pickup, use, drink, equip, drop, etc... In Java, using the OO inheritance model, we can create elegant, efficient and very easy to use Item classes. Start by deciding the types of Item that will be available in the game. More can be added easily later on. For this example, the following Item types will be used:
A simple method to generate a basic dungeon using a bsp tree
Building the BSP
We start with a rectangular dungeon filled with wall cells. We are going to split this dungeon recursively until each sub-dungeon has approximately the size of a room. The dungeon splitting uses this operation :
_Is there a 'best way' to do this? I really don't want to waste time._
Definitely there's no 'best' way. It all depends on your preferences, the way your algorithms work, the way you draw the map on the screen, count FOV, determine next move for the monsters, etc.
I can tell you about my approach. There are 4 kinds of elements on the map:
Diffusion-limited aggregation is a natural phenomenon in which particles undergoing Brownian motion cluster into aggregates of such particles. The process can be simulated in map generation to create rough tree-like structures; the resulting dungeons can make nice caves.
(Originally written by Mike Anderson.)
Interesting random maps are one of the things that make roguelike games unique. They add greatly to the enjoyment of the game since the player will always be able to face fresh challenges and different problems.
Abstract dungeons are a nice method for reduced try and error dungeon generation. They help designing more higher level features and reduce randomness in a way which could make the game much more interesting for the player.
This page is somewhat related to Grid Based Dungeon Generator.
The grid-based dungeon generator is an easy method to generate maps that contain rooms guaranteed to fit within the dungeon space. By dividing the dungeon space into a set of cells, rooms can be placed into the space without the need to check whether each room overlaps another room, or falls outside of the dungeon space. This article describes how to use the grid-based generator to create the basic dungeon layout.
Aaah-ooooooooooh! Let me howl it to the world. I finally saw "the Pup," the companion to the Dog Star, Sirius. Here are some tips on you can see it, too.
The "Pup" hides in the glare of Sirius. Now — and for the next couple years — it pokes its head into better view.
Go, also known as Golang, is a programming language invented by three prominent engineers currently working for Google. Go is a fairly new language, reaching its initial 1.0 release in 2012. Born out of a belief that C++ has grown too complex and feature-bloated, Go was originally intended to appeal to systems-level programmers. However, Go has been most enthusiastically embraced by Python developers, and other dynamic lan
Beyond satisfying your clients and your employer, there's one more important individual to keep happy in your career as a developer: Future You! (The artist's conception of Future You to the right implies no guarantee of personal jetpack availabilty for developers in the near future.) :]
Roguelikes are my favourite genre of game and Brogue [official site] is one of my favourite roguelikes. It has the genre's carefully interlocking systems, which drive players towards important decisions and produce plentiful fun anecdotes, but it also presents them via an interface that's approachable and without the bloat that can make its peers intimidating or fatiguing to play.
Monsters are generated in packages called 'hordes'. A horde is a monster and allies that may spawn with it (or it may have none) - for instance, the 'vampire bat' horde spawns a vampire bat, then 0-2 vampire bat allies at random. Deeper depths are characterized by new monsters but also by new, larger hordes.
The first distance metric used in brogue is king’s moves. A king in chess takes one step orthogonally or diagonally, and so king’s move distance is how many king’s moves it would take to get to your destination.
This is a rough route map for the creators of roguelikes. I'm well aware that there are many possible routes and that no two journeys are the same -- this is a description of one of possibilities and maybe will help you to plan your own.
Here is a list of things you want to have absolutely known, standard functionality for dealing with, in place before you do much of anything else.
I guess this is a list of pitfalls that I've seen forcing major redesign decisions; get them out of the way early and you can have a consistent design where adding content is pretty easy.