Cleanup Time
Here Dragons Abound
by Scott Turner
6M ago
 With the map compass series done (at least for now) I'm going to take a break from dedicated development and spend some time on cleaning up the existing code.  I'd like to get to the point where I have a number of styles I can use to generate a map that will almost always produce an acceptable result.  There are a few major problems I need to address but most of the problems are fairly minor annoyances that just have to be beaten down one at a time like a whack-a-mole game. For no particular reason I'll start with forests.  One style of forest that DA uses is called “fores ..read more
Visit website
Map Compasses Retrospective
Here Dragons Abound
by Scott Turner
6M ago
I started the map compasses project with two primary goals.  First, to create a procedural map compass generator, and secondly to experiment with sharing my code. Generating map compasses has been on my list since seeing Oleg's version a couple of years ago.  Oleg was kind enough to share his code with me, but I decided that the compass roses he generates were not usually suitable for my maps and decided to write my own.  I also wanted to experiment with creating what I think of as a conservative generator. There's usually a trade-off in procedural generation between creativity ..read more
Visit website
Adding Compasses to Dragons Abound
Here Dragons Abound
by Scott Turner
6M ago
 As I documented in a previous series of posts, I recently wrote a procedural map compass generator.  That was partly an experiment in making my code publicly available, so I wrote it as a standalone program separate from Dragons Abound so that it could be more easily used by someone else.  (You can play with it here.)  Now I'm going to integrate that code back into Dragons Abound. The first step is to import the libraries used by the compass generator.  A couple of these are already used by Dragons Abound.  One of these is Nearley, but D ..read more
Visit website
Map Compasses (Part 18): Center Ornament
Here Dragons Abound
by Scott Turner
6M ago
Welcome back to my blog series on implementing procedurally-generated map compasses!  Last post I looked at some elaborations of the compass points. This time I want to look at adding a new feature to the compasses -- the center ornament. So far, all the compasses I have generated have been what I've called “two level" compasses.  They comprise a back layer of various rings, and a front layer of points.  Some compasses add to this a third layer that creates a center ornament on top of the rings, like this compass from the examples: Most often the center ornament is a fill ..read more
Visit website
Map Compasses (Part 17): Compass Points and More
Here Dragons Abound
by Scott Turner
6M ago
Welcome back to my blog series on implementing procedurally-generated map compasses!  For the past few posts I've worked on elaborating the “rings" that appear behind the compass points in compasses like these: Now I want to spend a little time on the compass points. There isn't nearly as much variation in compass points as in rings.  One common variation is to turn the compass points into some sort of arrowhead or other type of artistic pointer, as in this example: I'm not going to try to replicate something like this.  It's certainly possible to draw arrowhead like compa ..read more
Visit website
Map Compasses (Part 16): More Rings
Here Dragons Abound
by Scott Turner
6M ago
I'm back from watching the NCAA basketball tournament and a Spring Break trip to St. Lucia, so it's time to get back to my blog series on implementing procedurally-generated map compasses!  Last time I added scales to the two-part compasses: There's still a lot more potential in the rings, so let's continue to work on those.  One of the Suggestions to Explore I wrote last time was to implement some rings with radial elements, as in this example compass: You can see three rings with radial elements in this example, but the general idea is pretty clear:  a ring of radial element ..read more
Visit website
Map Compasses (Part 15): Scales
Here Dragons Abound
by Scott Turner
6M ago
Welcome back to my blog series on implementing procedurally-generated map compasses!  Last time I started working on the rules for procedural generation of compasses, and did an initial set of rules for a “two layer" compass.  So far I've only implemented one type of compass, with pointers and a circular decoration behind them: I will continue to elaborate on this type of compass by adding some variety to the circular decoration (the “ring").  One new subtype is the scale, as in this example: A scale is a radial arc sandwiched between two thin circles: <scaleRing> => ..read more
Visit website
Map Compasses (Part 13): Lodestone
Here Dragons Abound
by Scott Turner
6M ago
Welcome back to my blog series on implementing procedurally-generated map compasses!  In the last posting, I started implementation of Lodestone, a tool to execute procedural generation grammars.  So far I have designed the rule language and implemented a parser that outputs a dictionary of rules.  In this posting I'll develop the code to execute the rules and create procedural output. First, let me quickly review how a procedural generation grammar works and outline the algorithm for executing the rules.  A grammar is a collection of rules which have non-terminals on their ..read more
Visit website
Map Compasses (Part 12): An Excursion into Tool Building
Here Dragons Abound
by Scott Turner
6M ago
Welcome back to my blog series on implementing procedurally-generated map compasses! After implementing the Compass Design Language (CDL) that will be used to draw the compasses, and ruminating last time on procedural generation, I'm now ready to move to implementation of the procedural generation part of map compasses. The procedural generation's output will be descriptions of compasses in CDL, which I'll then pass to my CDL interpreter to draw: For the generation of the CDL I will be using a generative grammar. Generative grammars look a lot like the grammar I wrote to parse CDL, but run “b ..read more
Visit website
Map Compasses (Part 11): Philosophy of Design
Here Dragons Abound
by Scott Turner
6M ago
Welcome back to my blog series on implementing procedurally-generated map compasses!  So far I've implemented a good bit of Compass Design Language (CDL), a parser and an interpreter that can draw compasses like these examples: I'm sure I'll have more work to do on CDL, but for now I want to start work on the procedural generation part of this project.  I'll start that implementation in the next posting, but first I want to explore some topics that will help inform the process of building the procedural generation. To start with, I want to suggest some ways to think about procedur ..read more
Visit website

Follow Here Dragons Abound on FeedSpot

Continue with Google
Continue with Apple
OR