Download

BLOG       DOWNLOAD/ABOUT         LINKS         CONTACT

9 December 2018

LoSt this month: Persistence of sloth

No shadow
No stars
there's no moon and
No cars
November
 
   —Tom Waits, «November»

I'm sorry to report that this was another slow month in LoSt. For once, I'll try also to keep the blog post short to reflect this. Besides, November's update is way overdue. I did add a few shticks, in particular making way with some plans I have for unarmed combat. The idea is for players who start climbing the martial arts skill tree to tailor their natural attack into something unique for each playthrough, by combining shticks that each determine different aspects of their fighting style. The skill tree will have several tiers, each with a handful of mutually exclusive shticks, so that a given character can only acquire one "critical" effect, for instance. Hopefully, this will turn into a system with some interesting synergies and strategic choices to be made.

I also started to add a new site of interest, a hunting lodge where you can collect bounties on animals, much like how you're currently able to visit judges to collect on the heads of criminals. I'm starting to get to the point where there are enough random sites that it'll make sense to begin ironing out the system for placing those sites on the world map, and determining their internal relations. I do anticipate this to be quite a big undertaking, but hopefully worth it in the long run, and probably something that can take shape over the course of several releases.

Finally, I put in some work to improve the mouse interface, which should probably be prioritized in the next release, judging by the preliminary results of the current poll. By the end of the month, I do hope to have mouse support properly implemented, so that I can concentrate on sites and other content in the time ahead. With a bit of luck and self-discipline, I'll wrap up the year with a meatier blog post outlining some plans for upcoming releases.

In the meantime, I wish y'all a happy and prosperous conclusion to 2018.

As always,
Minotauros

Sloth will prevail!

3 November 2018

LoSt this month: Counting words

Bison skulls at a refinery (1892)
Michigan Carbon Works, Rogueville, Detroit


I've been stretching these semi-monthly updates to the point that there will probably only be 11 entries by the end of 2018, but hope to pull a Phileas Fogg-like and deliver December's post in such a fashion that year's updates will feel well-rounded overall ;)

October was a busy month, albeit not on the gamedev front.

In between life, I've been making some notes and plans related to Lost. More locations and encounters remain the over-arching todo task. In addition to "random roving reavers" (that I mentioned before), I've been elaborating some sketches for something like a hunting lodge. The current template is a house with stuffed heads on the wall, where you can gain favor and experience by handing in rare specimens. As the game world grows, hunting will likely become a topic that interests and connects various factions, from lone trappers to colonial trading houses. Further on lies the theme of strategically destroying nature to gain geopolitical dominance, which would sadly be one of the few situations directly inspired by history, ie. the mass slaughter of American bison. Of course I'd have to connect it to other themes in the game, and turn the dials up to 11, to get workable content. Unless the player outright seeks employment with the exploiters, running errands clearing out dangerous biomes and the like, they might become adversaries in ongoing plots and shoot'em-up sequences. I already have sketches for an encounter akin to a death squad, currently as a template for my "random reavers", that could surely be used and fleshed out along with story lines on speciecide and terror.

Markov the mole 

One "little" thing I did start to kick around in October, was a prototype for a loosely Markov-based dialogue generator :P Just dabbling, toying with ideas for later implementations.

Text goes here
I went and got some source text (screenplays mostly, lifted in all Freundschaftlichkeit), and made a very basic Markov generator. It doesn't give anything I can use straight off, but gives a feeling for possible ways of randomizing text. There would have to be an organizing system, to make the text (seem to) recognize certain topics and follow some syntactic principles. Such an engine can be hand-tuned over time, with the "puzzle pieces" themselves, the snippets of words to string together, stripped from the text source and stored in some kind of database or (more likely, a convoluted) python dictionary. I can't say how fine grained it's plausible to make something like that. Or if the ideas I'm currently experimenting with will turn out useful at all. Surely, it won't be easy to make the output actually reflect the state of the game world. Ideally, NPCs should talk about other people, places and phenomena, so such a system would have to be purdy clever. I'll report back in a few years, hopefully, or who knows, maybe even before that?

Anyway, still with the Markov chains, you typically want as large a text source as possible, to offset the effect that words which rarely occur, also link to fewer other words. They become less dynamic, tending to crop up in the same context over and over.

Comparing word counts with/without thesaurus
While repetition has its uses, a well written text can often benefit from a larger vocabulary. But in Markov chain source texts, you want the ratio of word count to vocabulary to be as high as possible; because that gives each word/sequence a greater number of possible follow-ups. Hapaxes are the worst in this sense.

I considered a thesaurus to bypass the problem somewhat. I tested by running the input/output of my basic generator through a custom dictionary, that was premade with an actual thesaurus (moby dict). The basic idea was to find clusters of words with similar meanings, like "robbers", "rogues" etc., and substituting all of them for one vanilla synonym like "villains", but with the rule that when the generator comes across "villains", another randomizer substitutes that word for one of the synonyms. 

moby-thesaurus, while a great asset, didn't yield fantastic results with my primitive algorithms. Some coupled phrases are quite wonky, like "good piece of desert" equaling "honorable master of mare". Stuff like that can possibly be pruned away, and there's the occasional stroke of random coherence, like this generated insult: "You wretched, double-crossing natural! Nincompoop, futile bluff." So there may be an idea hidden in here somewhere. As of yet, it mostly sounds like someone is definitely speaking about something, but it's not very clear what
Cut me free! Now why are you got opposite it. As a united in the British I destroy it! 'Cause I've got to break the activities destroy. And my performer normal our guns are what are you how. We hit the province. That don't you? You had a bleeding … High, huh? – No … tight.
As always,
Minotauros

27 September 2018

LoSt Polls: an Interface Inquiry

Land of Strangers has gotten an official poll, located on the right hand side of this page. It's intended as a simple way for anyone who might have tried the game to offer their opinion. I have my own plans and hunches going ahead, of course, but am glad for any outside influence. The plan is to use this informal poll to inform further development. The result will be made public when I close the poll. If the process feels like a success, there will probably come follow-ups.

So if you have tried the game and have any opinions either way (you can also pick multiple options), please take the chance to exert a little influence on the developer. There are a few options I anticipate will get the most votes, but I'm also interested to see what may be the most popular fringe choices. And hope I haven't missed any options :P

As always,
Minotauros

17 September 2018

Released: Lost #13 (One Crawled out of the Foxhole)

Get it here or from itch.io, or click to download the game directly:

Windows binary
Linux deb installer
Linux binary
Python sources

This is mostly a bugfix release for Windows users, who reported frequent crashing with the previous version. With a bit of luck, number 13 will work better for everyone ;)

I also fixed some minor issues and rebalanced some items and shticks. I think the biggest addition is that NPCs now can accept generic gifts. If you get a green speech scroll in reply to giving a gift, it means your favor with the individual in question has increased, which may in turn increase your long term reputation with that NPC's factions. Once I can confirm that the game is working as expected, I'll get on with the plans for the next release.

As always,
Minotauros

Changes

Grid view generated too big for screen (crashed in Windows)
Trying to give/drop props crashed in Windows
Typo in data files sometimes caused game to (region hogging ai)
Plants sometimes marked as dead (when not)
Newly dead corpses no longer curse at you for killing them
Sprites in upper left corner vanished between turns
Speech bubbles flicker less in this release
Some speech bubbles were getting supressed
Drifting smoke wasn't spawning/working properly
Dilettante didn't have access to "shooting" shtick tree
Skills with direct damage (eg. Butt whipping) weren't working
Spawning corpses could cause game to crash
Game sometimes crashed when sightblocking objects were destroyed
Shtick T.Y.T. didn't show up during character generation
Removed msg "You stand in uffish thought" when passing a turn
Removed "Trick shot" shtick (not very interesting)
Sledgepick damage set to 1♥
Modified critical hit of knifes (always inflict 1☠ extra)
Nerfed shtick Feel no Pain
Removed shtick Iron Mind (obsolete)
Renamed shtick The Breathing Way to The Blood Way
Shtick Burro is back in the game :)
New critters: Traveling saleskid
Added more cash to the game world
Description of shtick Skillful -> "Gain a random skill."
Scissors now tagged as a blade
NPC AI can use distance measuring in more varied situations
NPCs now accept gifts (and are pleased at getting things they like)
Autopickup no longer works on items marked as corpses or trash
(chargen) Random choice won't pick 3 point foibles (most severe)
Skip repeating messages in log
Crashlog now includes python traceback, when applicable


11 September 2018

LoSt this month: Night Errands

The big news in LoSt in August was of course the release of LoSt #12 «Night Errands». I tried to cast the net a bit wider with this release, creating an itch.io page for LoSt as well as mentioning it in one or two forums. Interest in the project remains steady, but limited ;) The entry at itch.io generated 20 downloads the first week, which is less than I get at the blog, but probably not bad for a project that's young and quite niche. If anything, the niche part is why there's a potential target group for the game at all. If you're looking for a turn based, hexagonal RL about slightly trippy cowboys and cowgirls, the field isn't very crowded.

For a final note on statistics, the biggest chunk of traffic is directed from the «New Releases» section at the front page of RogueBasin. So there's at least a hot tip to other fledgling developers.

Off to err another night

I got a decent yield of bug reports, in particular of LoSt crashing under Windows. Most have had quite simple fixes, though I'll admit to slapping on the occasional dirty hack, when the deeper issue is something I want to come back and fix, ahem, but not just yet.

In the meantime, I'm making sketches for more encounters and places of the same scope/kind as Arken Town and the bandit lair, that can get a marker on the world map, may be connected to boons/missions, etc. The kinds of places could include anything from a ranch, to renegade soldier laying in ambush, to a really big fish in the river. I'm currently doing some work on an encounter with random marauders. The system is reminiscent of how random fauna is generated (adj+noun to give templates like «cannibalistic amazons» and «shotgun-totin' killer monks»), to be expanded later. I'm still defining the mechanics to dynamically generate, place and link these sites, which is probably about where the interesting stuff will start to happen. The general idea is that, as I get more and more varied templates for sites, each game world will pick its limited number of important places from a vast pool, and then randomize and generate relations between different factions, locations and so forth, hopefully yielding a unique mix for each playthrough. Even if the string of events is just so many fetch quests, it would be fantastic if you could play one game running errands for a mountain monastery, and the next aiding an infamous bandit in trying to take down a certain banker.

This level of realization isn't just around the corner, but I live in ambiguous hope ;) Reviewing old notes, I come across some long-term plans that correspond okay to how the game evolved in the years following. And most planned features on the official roadmap have expected dates set to «trop tard! jamais peut-ĂȘtre!» («too late! never, perhaps!»), as Baudelaire put it in his masterly poem «To some hot tail who passed in excruciatingly short skirts one midsummer eve» (or what it was called).

Anyway, given the buggy Windows version of #12, I should rather make haste to release #13, but careful not to deliver another broken package. Once I have a working, hopefully not too ugly release with the latest improvements, I can start sinking some work into these sites as I see them, and hopefully get the game world to shape up a bit in the coming time.

As always,
Minotauros

20 August 2018

Released: LoSt #12 (Night Errands)


Download Land of Strangers #12

I finally decided that the time was ripe to release Land of Strangers version #12. This version has been in the works for a year (on and off), and represents the meatiest changelog in the project so far. Some of the more notable changes include a basic infrastructure for bounties (quests), the option to heal long term wounds by resting, a zoomed out view of the map, and a rehaul of the combat system, UI and controls. In addition, #12 is the first version with (rudimentary) mouse support, as well as a (placeholder) system for character advancement by shtick aquisition.

LoSt joys
The current scenario starts you in Arken Town, a sleepy settlement in the unsettled outskirts of the young world that some simply call The Land. By some ill-boding twist of fate (yet, ill-boding still unbeknownst to whom), you have gleaned the location of an infamous fugitive. So you find yourself drawn to the jailhouse, at least to ogle the Wanted-poster and count your options …

As always, player comments are very welcome, here or on appropriate discussion boards or to the e-mail address supplied in the archives. Players should be advised that the game is still sparse on the content side. However, picking up the plot hook with the bandit campsite should offer a challenging little game in itself, enough to showcase the new features and give some indication of the direction I'm hoping to take the game in.

Version #12 is quite experimental, rolling in a lot of systemic changes. It is intended to be somewhat of an interim release, as I'm hoping to add more content for the next version, as well as doing a quick turnaround of important bug fixes that will hopefully become apparent in the time to come. There are some obvious issues, especially a lot of graphical glitches. Take it as a late entry to the "glitch roguelite" subgenre, if you will, but feel free to take the opportunity to point out errors and make more general comments regarding the graphical interface.

As always,
Minotauros

PS. And now, what we've all been waiting for, here's the changelog (a few minor changes may have fallen between the cracks and been left unnoted):
 
Keep fucking that chicken.
SYSTEM Started work on travelogue mode (zoomed out map) 
SYSTEM Scaled everything up a bit in size
SYSTEM Added base system for boons
SYSTEM Added long-term resting (incomplete)
SYSTEM Added individual reputation stat for Critters (incomplete)
SYSTEM Dynamic nicknames (incomplete)
SYSTEM Experience/shtick acquisition (temporary)
SYSTEM Disabled sprinting (temporary)
SYSTEM Drop/pickup now works on adjacent tiles
SYSTEM Give items by dropping them onto an adjacent NPC
SYSTEM Replaced wound system with a flat Grit meter
SYSTEM Interrupted attacks not blocked, but always graze/go wild
SYSTEM Increased inventory space
SYSTEM Flumadiddling (inventory handling) counts as a free action
SYSTEM Flumadiddling with cocked guns can be dangerous
SYSTEM Better support for instantaneous events
SYSTEM Perks and skills merged to one category, shticks
SYSTEM Character generation changed to reflect new shtick system
SYSTEM (testing) Set all shtick costs to 1 point in character generation
SYSTEM Kits for unarmed combat moddable (like prefixed guns etc.)

CONTENT Start game in Arken Town, a small settlement
CONTENT Basic bounty: Bring a wanted bandit to justice
CONTENT Changed intro text to reflect sample, soft "win condition"
CONTENT Simple rivers and mountains added as climate types
CONTENT Added some props: [redacted] and more
CONTENT New shticks: Muster, Circle blow, The breathing way, Leatherbrain
CONTENT Made bricks stackable and gave them stats as thrown weapons
CONTENT Derringers and pepperbox guns are now two separate types
CONTENT Changed effect of adrenaline syringe to: heal all bruises
CONTENT Changed effect of bleeding to: inflict all bruises as wounds
CONTENT Changed feel no pain to: always heal for 3 turns
CONTENT Changed war wound to: increase chance of wounds healing badly
CONTENT Changed tough as nails to: decrease chance of healing badly
CONTENT Removed Swordfighter career, added Barber instead

UI Started to implement mouse support (incomplete)
UI Configuration wizard for first-time players
UI Message log now oriented to center of the menu
UI Message log not flushed between turns
UI Added option to cancel character creation mid-process
UI Replaced dual-button system with main button (experimental)
UI Separate shortcut keys for inventory (default [F1-F10])
UI Shortcut [G] and [,] to get/give/drop command
UI Commands to zoom in/out on map
UI Menus reorganized to put option 0 on top
UI Scrolling menus are still ugly and buggy, but less buggy :P
UI Distinct animation for grazes and several other events/effects
UI Support for onomatopoeta (sound effects) on tactical map
UI Added colored messages (signals pleased/annoyed status)
UI Speech scrolls now take a few seconds to fade out when dismissed
UI Removed all non-free fonts from the game
UI Modified font (Linux Biolinum) for better unicode support
UI Redid the in-game character sheet a bit
UI Disabled player survey (at least for now)
UI Removed obsolete manual (temporarily)
UI (debug) print_me() to log/stdout when looking at beings slightly prettier
UI (debug) Game now makes a backup log when the game crashes

WORLD Place templates can contain player's starting position
WORLD Merged Region and Climate classes
WORLD Added Superregion class (named region on the map)
WORLD Region name generation takes climate etc. into account
WORLD Lots(!) of small and big changes to how the world is built

AI States can be pure switches
AI State machine can remember several distinct targets at once
AI Can prompt the player to choose an alternative and react accordingly
AI Can test (simple) scripted conditions directly from the data files
AI Some tactical changes to reflect new combat systems (incomplete)

BUG Time system with simultaneous actions wasn't simultaneous
BUG Shtick descriptions weren't displayed during character generation
BUG Sometimes crashed when critter ai had no target
BUG Game crashed with manually inputed world seeds
BUG Trying to draw off screen crashed (hopefully fixed)
BUG Various other small bugs that would crash for no reason ;)
BUG Post mortem "screensaver mode" sometimes hung
BUG Impossible to demolish house walls
BUG Certain places didn't spawn at all
BUG Savescumming may have been buggy, should now be more fool proof :)
BUG Help screen didn't print command keys properly
BUG Game window sometimes started maximized when it should not
BUG Reset some attributes when patching beings with certain kits
BUG Some speech scrolls were rendered twice (fixed, but reappeared )-:
BUG Some speech scrolls didn't get painted to the map
BUG Speech scrolls flickered for a split second between turns
BUG Sprites disappear when several gets drawn to the same hex
BUG Certain "steppable" objects, like thorns, didn't work properly
BUG Random characters always started with "animal friend" shtick :P
BUG Character sheet listed inventory's kit names instead of prop titles
BUG Typo in /kits/desert_life/brains.yug made tool wielders unable to attack
BUG Dilettante sometimes got same skill twice
BUG Attack forms without crit effects did no damage on crit hit
BUG Typos "pilarist", "omniscinet", "likelyhood", and a few more ...

15 August 2018

LoSt this month: State of the art

Early GUI mockup
Surprising as it may seem, the first release of LoSt was a bit more than five years ago. I've come a short way since then. However, if LoSt is currently lacking even something as basic as a win condition, it has seen some more "rounded" releases in the past. Regarding the win condition, that's something I actually had in #4-7, when LoSt was a light crawl with the necessary features to constitute a bare bones, but complete, little game (it took place in a mostly unicursal labyrinth, as you played a mine slave ascending from the depths of the shaft).

Current state of the art
With release #8, the game was reset to alpha stage, but by widening the scope somewhat. This is where the overworld, with its randomly generated flora and fauna, was introduced, and I also started on simple animations. Speaking of the graphics engine, suffice to say it's an incomplete mess at the moment, but not top priority with the next few releases. There should come a refactoring at some point ;)

Regarding this month in LoSt, I've had the project on the backburner, tying up some loose ends for the upcoming release #12; from a change in how the message log is displayed (the last on my list of player requests in response to #11), to strengthening the "main bounty" a bit and fixing some minor AI bugs. The last big thing that remains, is still to somehow balance the acquisition of new shticks. I'm thinking I'll just count "experience points" very crudely (more from seeing new areas of the game world, than defeating enemies), and then "bumping the player up a level" at  intervals. The more I've been thinking about it, the less inclined I am to settle with something too much like good ol'e XP. But for that precise reason, I'm more eager to just get anything in place right now, so that I can put out #12 (heavy on engine-related changes, but not extremely meaty content-wise) and get on with it.

If I have any general long-term vision at the moment, it would probably be to make #13 rather quickly, adding some more content/encounters, whilst fixing issues that become apparent in #12. My personal view is currently that the game isn't very fun to play, mostly because there's not much to do in the game world. If I make some interesting bounties and places for #13, I should have a solid base to build from. After that, there are still some features I'm looking forward to adding to the engine, including riding and rope use (which will probably also be used for taking prisoners in non-lethal combat). Some other stuff will come in organic relation to the content I manage to add. For instance, if/when there are ranches, there should come systems for things like herd handling and branding; and if/when we get lumbering and floating logs down the stream to the mill, that would go hand in hand with more fleshed-out systems for water movement, as well as platform riding (carriages/boats/floating logs). A log drive down the river, getting attacked by hostile humans and animals along the way, could be fun (or leading a cattle/post ride through the outlands, which could be modeled along a similar arc). We'll see about all of that, of course. Here and now, I'm crossing my fingers that the next update on this blog will concern the release of #12.