13 hours, including a sleep. Got an @ on a nicely scrolling map with smooth movement. Fixed the FOV so that there aren’t edge artefacts when running. Computing FOV is slightly expensive due to the overhead in Griddle combined with the three-tile-wide buffer on each side of the screen. I’ll probably put sight range limits in the game to reduce this problem.
The quit button is currently broken, some of the map objects don’t get destroyed properly.
Next up: Interesting maps, random walkers, basic combat, and a trait system. I’m considering making combat deterministic (which will tie in with the theme of the game – random numbers are becoming as scarce as monsters), but I don’t know if I want to spend the extra time designing nonstandard combat.
Real life is a bit busy, so I’m putting off starting until the very last minute of Sunday. Not sure how much I’ll get done in the first half of the week, but I at least want to have display, basic monster behaviour, and a basic trait system working. I plan to make a reasonably generic trait/ability system like in Age of Wonders, where everything you need to know about an actor (except its basic numerical stats) is contained in a list of traits.
Some traits are abilities to activate (like being able to cast a spell), some are passive bonuses in special situations (like taking half damage from fire attacks), some are just information markers (like being undead, which makes an actor vulnerable to anti-undead abilities).
I’ll be using the Crawl tiles because I don’t like the Oryx or Dawnhack tilesets. And The Crawl tiles are CC0 which is a lovely license.
The amount of alcohol in currently in my bloodstream is not typical. A lot of piano came out of my fingers this evening.
Poachers Will Be Decapitated!
Decades of exploitation by “adventurers” have left many species such as Orcs, Kobolds, and Trolls in danger of extinction. The monstrous dragon Uozeni, who once burnt your family and your village to cinders, lurks at the bottom of a previously undiscovered cave.
Populations here are much stronger than elsewhere, and the Society for Conservation and Ecology of Dungeons are protecting the inhabitants in the hope that they can later be reintroduced to other locations. Adventuring is restricted by strict limits on killing and looting, which are enforced by the Rangers, Inspectors, and Castigators of SCED.
These kill limits aren’t nearly enough to sustain a traditional approach to dungeon adventuring. To avenge yourself on Uozeni, will you work within the rules, subvert them with stealth, or publicly flout them?
Remember: SCEDRIC decapitates poachers!
I’ll cross-post updates here, on RogueTemple, and on my blog (kleinroguelikes.blogspot.com).
I’ll be writing in C++, using BearLibTerminal for display and my own library Griddle for back-end tasks like map topology, actor management, FoV, and pathfinding. I’ve written some experiments in map generation and general use of BearLibTerminal and Griddle, and a lot of their code will probably be used in the 7DRL. Source for the game will be released as usual.
Griddle is intended to be reusable in a wide variety of grid-based games, enabling effects like seamless travel between map chunks and rotation of player perspective. It makes heavy use of template metaprogramming and is currently a header-only library. Once it has a more stable and well-organised API I’ll try to release it as a compiled library that can be used from other languages. That way it can usher in a new golden age of ridiculously disorienting maps cobbled together from rectangles and glue. With a side order of smoke and mirrors.