Download

BLOG       DOWNLOAD/ABOUT         LINKS         CONTACT
Showing posts with label rant. Show all posts
Showing posts with label rant. Show all posts

12 May 2017

The Slow Application Development (SAD) Methodology


Head space!
C'est à un combat sans corps qu'il faut te préparer, tel que tu puisses faire front en tout cas, combat abstrait qui, au contraire des autres, s'apprend par rêverie.
   —Michaux1

A rant about very little in particular (which is incidentally also how, if ever my exploits as a Roguelike developer are to be mentioned in some footnote of history, they will be described).

I found some notes for an old blog post, and decided why not go ahead and publish this scrambled mess?

I was going to start by mentioning Tobias and the Dark Sceptres, which had just been released for free after 13 years in the making. This was in 2014, so bringing it up now might feel a bit late. In that sense, I guess everything is going according to plan.

This is supposed to be a blogpost about the Slow Application Development (SAD™) Methodology, the professed in-house design philosophy here at Domus Daedali. The rules of the SAD Methology are as numerous as they are fickle…

Thou shalt start in the middle.
Thou shalt code under the influence.
Thou shalt add empty variables with vaguely suggestive names, in case thou needst them later.
When too late, refactor.
Release sometime, release sometimes.
Embellish details.
Thou shalt never monetize thy project!

The guy who released Tobias had been tinkering on and off since he was a kid, and the whole thing was made in klik'n'play or something like that. Now, some of the commentariat were boggling at the fact that he didn't charge any money for the game, and I remember thinking: If you have to ask why someone chooses to give away something they've been working on for thirteen years, you probably won't understand the answer.

As always, I find comfort in the SAD methodology.
If it's not broke, fix it.
Never monetize!
It's one step forwards and two steps back, so the way ahead may be to walk away from your project.
Procrastinate!
Take out your money and shoot it in the head! 
We have to build cabins.

LoSt's business plan
The SAD methodology is not applicable to professionalism of any kind: From struggling artists to celebrities and mainstream developers, movers and shakers of the mindscape… We bid them farewell, with a thanks for paving the way nonetheless.

The crux of the matter is that having no real stakes in the project means you've less time in the day-to-day, but so much more as the years accumulate.

Though it remains unclear what we are trying to gain freedom from, we are willing to spend every ounce of our patience and monomania to get it.

A tiny shelter.

Developing commercially entails another mindset entirely. Mind to say, it is not one less respectable. On the contrary, it demands an admirable effort and excess of ideas to achieve the degree of polish needed to set something afloat in the vast ocean of cultural products. In fact, one of the things that prompted me to pick this post up again after all this time, was a post about monetizing RL devlopment over at Cogmind's excellent blog. (That's already been four months, so I'm staying true to my tenets, if nothing else.)

In any case: As fascinating as I find that pursuit, and as much as I respect and understand the decision to venture in commercial game design, I am also glad this is not the way that Land of Strangers is going. Even if I were to try to tidy it up, finish and sell it as an "indie open world wild west roguelike", the work/pay ratio would just be weepable, and I might risk the overall vision by making "concessions" to some imagined demands from the paying public. Developing in accordance with the SAD Methodology, I get instead to focus on the work/play ratio.

What I like about making my "little open acid western roguelike" is that I don't have to take all that stuff into account. I can choose to just say no, or whatever, to wholesome values and clever design choices. Proper graphics and overall polish? Yawn. Audio, who needs it? (Or maybe I will, but just slap on a sub-par recording of me mishandling my youngest son's ukulele.)

Never finish.
Work in the crevices.
Start side projects.
(Don't) quit your day job.
Just in case.
Have kids.
Stand in a pedestrian island reciting sutras whilst meditating on the cars coming to rape you.

Psyching up to do some coding
The SAD Methodology depends on a circular definition: The refusal to monetize and the refusal to finalize enable one another, defining a space, like a protective chalk circle where any (in)conceivable project can be allowed to grow. In many cases, it becomes a question of necessity. Lately we're seeing how old giants like ADOM and Caves of Qud are monetizing updated versions of their classic games. One thing these two have in common (and an article could be devoted just to discussing the differences), is that the colossal games which were already in place as the business model started to kick in, had taken many years of hard, unpaid work to achieve. If ADOM and CoQ had started out as commercial projects, they probably would never have seen the light of day.

I suspect this is part of the reason why Mark Johnson  has refrained from any kind of crowd funding scheme for his grand opus Ultima Ratio Regum. It also seems that Krice professes to the SAD Methodology, so what in the world could go wrong? It certainly is the fuel of much vaporware – and honestly, we would be so much worse off without classic never-mades in the vein of Shockfrost's game and World of Rogue.

It might be tempting to say that sites such as Kickstarter have been doing us a disfavor by blurring the lines between professional and amateur development. But the problem doesn't really lie with concepts like crowd funding, even if there is a deep-set problem with how capitalism is carried out these days. Be that as is may, the SAD Methodology isn't mainly about Smashing Capitalism™ (though let's do that as well, while we're @ it).

Rather (with the risk of becoming too pretentious even to the tastes of a reader who made it thus far), I'd say it's akin how a painter or author is never able to step back from the work and say: It is finished. Such a grandiose image can also be applied to humbler endeavors.

Never finish!
Never monetize!
Go and live in the desert!
We're all blessed. 

You know the drill.

We have to build cabins.

As always,
Minotauros



1 "You must prepare for a battle without body, to be able to take a stand no matter what; an abstract battle which, unlike others, is learned through reverie." (Henri Michaux, Poteaux d'angles)

8 February 2017

Idea that will never be a 7DRL

Please excuse this quite silly rant about my old idea for a 7 Day Roguelike.
TL;DR: In the end, it's practically randomized, anyway :P

#DogmeRL 7DRL


A Dogme 95-inspired Roguelike, featuring:

No ASCII!
No message log!
No keyboard interface!
No random maps!
No permadeath!
No grid-based tactics!
No item identification!
No MacGyvering your way out!
No resource management (consumables, healing, food clock)!
No hack'n'slash!
No rpg system!
No dungeons!
Modular gameplay!
Emphasis on story!
Play as a party!
The full Roguelitelike experience in one package!

Check and mate, suckers!

I've long wanted to make an Anti-RL that "breaks all the rules" for what a RL is. It struck me now that it would be ideal to combine with two other things I've been wanting to do, namely learning a bit of Godot, and making a game for my kids (targeted age around 6-9).

In the end, I would aim to make something that doesn't fit the genre definition by any stretch, while retaining that good ol'e RL feeling.


Tail of Eugor

For the actual game, I figured the basic interface is a touchscreen Roguelite with minimal text and easily graspable (hopefully deep/fun) gameplay.

The scourge of elephants
The setting rips off various sources. Take a silly mangaish/fantasy universe like Mario, Sonic or Lego: Ninjago, throw in some White Wolf's Exalted, mix with Tove Jansson's Moomin (and more obscure references) ... I decided to just go ahead and make the heroes furries :D So you have this magic stone age world inhabited by tribes of biped animals wielding magic just cooling it with gods and spirits who still tread the earth of this young world. In the rivers and wetlands dwell frogs and hippos, striking secretive deals with daemons of the depths; whilst elephants rule the plainlands from their walled cities of byzanthine bureaucracy, but fear the wild mice who roam the woods. You get the general drift.

On the list of anti-features, some almost give themselves, some merit more consideration.

EUGOR: Featuring
Modular Gameplay™
INTERFACE: We're on a touch screen with graphics, so no ascii or keyboard. We don't want turnbased, gridbased tactics, but we do want modular gameplay. So let's make it a bit like a jrpg (bear with me). There is a walk/explore mode where you tap wherever you want to go on the map. NPCs walk around in real time. If you bump into an NPC or feature (or if an NPC bumps into you), you engange that being (bump a person to speak, bump a monster to fight). This engagement can be handled in a separate mode with alternating turns for combat/actions. Put on top: an overworld mode to travel between the different maps, designed like an overworld in a typical Nintendo console game, with each place a node, and paths between those nodes.

NO HACK'N'SLASH: Since it's for kids, I don't want combat to be the main way to solve everything. Sure, some spectacular fighting scenes with earthquake hammers and the like, but it might be better to give the hungry lion a pancake to make it happy. Maybe it will even join you on your quest!

NO IVENTORY HANDLING: Instead of inventory, the player collects "gifts" (objects, skills or characters who join your party). Your gifts determine what you can do, depicted as icons in a menu. You can always try to use any gift in any encounter? If you have Icarus Wings, you can use them to fly over the river or escape from a fight. If you have Persuation as a gift, use it to calm your enemies or get special favors from friendly NPCs, etc. Gifts may sometimes not work (angry bees won't be persuaded, troll immune to sleeping magic), and gifts are not comsumable. The gift Itching Powder would have infinite charges, it's just a thing your toon can do. Throughout any one game, you'll just get a handful of gifts, so there's no looting and no identification subgame. While there is leeway for some "easter egg effects", there should be no "complex interactions" like dipping, throwing or collateral demolition.

Uh … Follow the
dotted brick road?
NO RANDOM CONTENT GENERATION: The biggie. I'm actually planning to cheat on this one :) I would venture to replace random content generation with (drum roll) stochastic content generation! It would be deterministic, but provide replayability akin to randomness, by dynamically generating the world based upon the player's choices :P

First of all, each level/node you visit is prefabricated. If "elemental temple" is a place, you always get the same layout, with the same designated spots for your acolytes and abbess, your braziers and you vortex of elemental doom. Each place should be a small screen, so the "temple" is really just a little shrine that your avatar can cross in less than ten strides..

Second, the overworld map is predetermined, divided into four zones to visit. From the starting zone are borders you can breach to enter Zone A or Zone B, the midgame zones. Here you need to prepare and to find the key to enter the fourth and last zone, where the endgame takes place. It could be structured a bit like one of those exemplary analyses of Zelda levels, with bombs to breach weak walls, branches to make you feel like you're choosing your own way while carefully guiding you past mandatory choke points, etc. The midgame zone you choose to enter first should be set as the main branch, with the remaining midgame zone tagged to remain as an optional bonus branch.

Third, the player gets to choose some parameters at the start of the game. This is where it starts getting stochastic, as we're doing the equivalent of setting a random seed. Consider the following:

«Just send me the money»
"Eugor was a young …
    1) frog 2) mouse 3) elephant 4) fox 5) chicken
… who lived in a …
    1) cabin 2) town 3) shrine 
… by a …
    1) river 2) ravine 3) mountain 4) great wall
… Eugor's neighbor tribe were …
    1) frogs 2) mice 3) elephants 4) foxes."

That gives a little more than 4^4=256, a fine, round number of starting positions. Your choice of species will set a starting gift, like frogs can swim, mice are fast, whatever. Your starting map ("cabin", "town" etc.) has its predetermined follow-ups, so if you choose "cabin" it has paths to "woods" and "town", and if you choose "town", you get "shrine" and "ferryman" as followups. Choosing to start in the town means you won't get the shrine or ferryman later in the game, but are guaranteed to come across the woods and the cabin. A level like "natural source" will play out differently if you're sent there to talk with a guardian, or to steal a treasure, and whether that happens in the early or late game. Also, factors like climate and player race may affect which species inhabits a particular place (facing slow, mighty elephants or quick, crafy mice makes a difference).

Off to see the wizard, biatch!
Visiting the swamp or the desert first might become a strategic choice, since it determines if you'll be facing salamanders and scorpions or spiders and platypuses.

Envisioned on this scale, with 4 zones, I'd probably need around a dozen locations. The game should be scaled to a small proof-of-concept, taking less than an hour to win. Still sounds more like a 7 Month Roguelike to me. It can be done, though. The hard part would be to get the design just right.

I might actually give it a shot (but probably not as a 7drl) if the right conditions arise, as I've really been wanting to check out Godot for mobile games, and I would love to make something silly like that, that my kids (and other random peeps) might enjoy playing.

As always,
Minotauros

6 December 2016

Released: LoSt #10 (Bloodshot Vista)

All hope was not lost!
Development is snailing along. LoSt#10 is the interrim release I had hoped to achieve before summer. It will probably be the last alpha release, before the meat of the game will start appearing. I'm still getting all basic systems in place, but #10 is still a big step forward from #9. NPCs have started to speak, and there are shops dispersed across the land, as well as a very basic bounty system (finding it can be considered a kind of an easter egg at present). There are also world building routines that will place the occational settlement, although these culture centers are still very flimsy, with not much to really see or do.

In any case, please try it out if you are interested. All and any comments are welcome.

Upcoming ...

Some features I hope to work on for the next few releases:


Perform steps in random order
* AI: I need to settle some basic AI needs. Proper pathfinding will be in place, letting people use doors, walk around ponds. They'll also be picking up stuff, objecting to theft, and adhering to other defined causes and states of beings.

* UI: Tidbits of UI are planned, and will become necessary. Scrolling menus is one thing, but also some kind of game log to track your character's progress. Also in the works is a zoomed-out view of the map to allow quick travel in explored areas. If I get inspired, I might start working on a mouse interface, but I think it's better to focus on gameplay at the moment.

* Settlements: The big thing in LoSt #11 will be to breathe some life into the settlements. It ties into several features that need to be finished. First of all, I need to streamline the map generation a bit, and define some good settlement blueprints/templates. Second, there must be places of interest, and the locals should feel a bit more alive. In addition to at least a few plot hooks (available bounties/questlines), there must be some shops and etstablishments (randomly including gunsmiths, pharmacists/medics, oracles, assassins, pawnshops). Also, something like a saloon where you can rest, furnished with a bar and perhaps a self-playing piano (depending on how complex the bias/reputation system becomes, we can whistle for features like emergent bar brawls down the road). The town can be seasoned with interesting places and encounters. There might be a village green with a park or pond, a church/shrine, a post/mining/police office, soldiers in barracks, gardens and animal pens, animal baiters who take bets, maybe even baiting animals against humans, (mad?) scientists/naturalists who want rare specimens, landscape photographers who stray into the wild, some random person has a treasure map, or is a junkie, or secretly wants to kill someone else in town, or has the habit of entering empty houses to burgle them, or loves dogs, or hates children.

* Factions/reputation: The Land in #10 is pretty war-strifed. Goons and settlers skrimish. One task ahead will be to make the map a bit more settled, with settlers mostly staying in their towns, and bandits camping in the wild. It will be possible to interact and gain reputation with any factions. If you gain a positive reputation with mudfaced goons, the settlers and law-kids might want to lynch you, but you can still get trade, healing etc. in scattered bandit camps across the land. Further down the road, more factions will come. Law and crime factions will have more organized structures, in addition to various societies, from scientists to monks to queers to carnies to cults. The current AI supports factions quite well: recognizing which factions another being belongs to, liking/disliking beings which belong to certain factions or act in a certain way. As I add more sophisticated behaviour patterns, I should be able to model some interesting semblances of drama and tidbits of story. Engine-wise, I still have to add a detailed system for fluctuating reputation. More time-consuming will be to write the content, defining and balancing achievements/bounties and other trickeries hidden behind the rosepot.

* Bounties: There must be a few bounties to be had in the starting settlement, and some others spread across The Land. They range from petty (templates "my <puppy> got lost in the <cave>", "100Pb for the head of Luci Borges") to more involved stuff later on (kill the four desert masters to become the undisputed champion of The Land, prevent/perpetrate genocide on a group of humans or animals, discover what really lives beneath the lead mines, act as a mediator/monger between settlers and natives …) I'll have to start with something simpler, basic fetch/bring/escort quests, and all that. Some bounties can be pretty open ended, with many moving parts (randomly mix elements like locations, NPC templates, and other special conditions: "Defeat the mad barber in the abandoned sawmill, who has kidnapped the mayor's uncle"). Others may be more handcrafted, but allowing for story emergence. You may get hired to protect an establishment against an awaited attack, and might solve the task by barricading and waiting out the attack, or sneaking into the enemy camp. Hell, you should even be allowed switch and aid the bandits in the robbery, triggering a favorable (or backstabbing) response, with many interesting adjustments to your reputation. To provide reward/encouragement, I've been thinking about tying up bounties with skill/character advancement, instead of a traditional system with experience points. Different types of quests and quest givers yield different rewards (more "moving part" that can be randomized on each playthrough). A hermit might tell you about herbs, or a banker gift you with a very fine pistol, or a master duelist teach you the art if you just prove your worth first. I have been thinking about modeling this around a time system that I believe to be pretty unusual.

* Time: An important feature in LoSt is that wounds tend to be very deadly, and with no available source of healing. I want to add a system for resting, for which the basic template will be "staying in a saloon". In a way, resting is my idea of something instead of a food clock. To rest, you have to pay a certain amount of cash (or fulfill some other criteria, depending on where you're trying to lodge), and the game world fast forwards several days, at the end of which you start out with all wounds healed. Depending on how grievous your wounds are, and the status of all pending bounties, the game might calculate an effect/event that occurs during the period you spend resting. The event could be just a simple string, and could often just gloss over a period of quiet, or provide the player with options to advance the plot or character. If you come back triumphant with barely a scratch, you might be rewarded with a skill advancement of your choice. But if you come back with 0Pb and a gun wound, you might develop a bad reputation or foible. What's worse, the guy you set out to kill in act I might come back in act II, with a plan for vengeance. Since the player must rest to heal, they'll want to make each rest count. The yardstick pace for a starting character should be to win one bounty, then rest, and then head out for a new adventure. Longer streches of time could also be passed doing seasonal work, training with a master or living in the underground city of fools.

If you think this sounds convoluted, you haven't heard the half of it. The art will be to keep the story suggestive and the system open ended, connected with factions and all the other "moving parts", to achieve a semblance of direction action/plot.

As always,
Minotauros

29 February 2016

slow shot

With a phantom gun in an empty hand he has bluffed Mike into violating a basic rule of gunfighting. TYT. Take Your Time. Every gunfighter has his time. The time it takes him to draw aim fire and hit. If he tries to beat his time the result is almost invariably a miss. …
– William Burroughs, The Place of Dead Roads

not a release candidate
I'm tinkering on and off with LoSt. Release #10 will probably take a while to arrive, though. I received enough helpful comments to the last few versions that it doesn't seem necessary with another desert pastoral. Instead, I will wait until I have something more gamey before I publish the next snapshot. I'm envisioning something light, with a temporary win condition (like versions 5-7 had), at least in time for ARRP 2016.

The basics are still being laid down, both engine-wise and game-wise. I'm humaning up to adding hovering text for speech bubbles and other messages (maybe sound effects like "BANG" and "click", maybe status updates and the like). That also has me finalizing other parts of the graphics engine, and so the process meanders its way on.

Game development (like so many creative endeavors) is an activity where meticulous planning is necessary – not because you're likely to execute your original plan in the intended order, but because it will help you tackle the unplannable, which is sure to crop up.

Content-wise, I've begun work on a starting settlement. It will probably just be a few houses of different builds and a dirt road, but at least a place for restocking and getting ahead on the latest news. I'm thinking of a main story revolving around 3-4 semirandom bosses located around the map. But there may (should) also be other minor quests (let's rather call them "missions" or "bounties"). Something like a robbery might be an interesting example: The player should be able to choose sides and form alliances.

I already have the bare bones of a faction system. Each critter adhers to certain Causes, which affect behavior/goals, reactions, and initial bias towards other critters. When I should add NPC templates like "lynchin' judge" (with law as a major Cause) and "livestcok rustler" (with a criminal Cause), they will automatically be hostile to each other, because of their opposed Causes. As I fine-tune this, I can add a reputation system where the Player gains fame/infamy with followers of different Causes. Building a reputation must be a central part of a screaming wild frontier RPG as LoSt is aimed to become. I'm still spawning ideas on exactly how and how much to track the Player's behavior, and I guess I'll be implementing a little of that in upcoming releases.

For LoSt #10, I'm concentrating more on making the map itself more interesting. It's mostly a question of adding and balancing content, and tweaking the world building engine a bit as I go along. There will still be exploring around the landscape to reach the different locations, but focus will probably lie with a few major shootouts/fights, which the player has to prepare for. Combat (especially with guns) is very deadly in LoSt, so people and animals will be nudged towards neutral/shy behavior, with possible interactions other than fighting. Of course, you'll still run afoul with the occasional angry ursine or get ambushed by renegade soldiers or a crazy lead digger. Encounters should be generated to be interesting in themselves. An ambush shouldn't be completely random, but occur at a strategic position in the map (eg. shooting from the hills or a barricade). And of course there must be gambling, learning skills, hearing rumors, taming/riding/herding animals, digging for lead to get by … I'm still considering if and how it could be cool to implement survivalist mechanics (including food) and item crafting, further down the road … Hah, it's easy to think big, but the devil is in the details. Let's just hope the final version of LoSt is released sometime before the singularity/rapture/what-you-will.

In the interim, I already mentioned that speech is the next big feature to add. It's a prerequisite of "making the map interesting". In addition to tactically interesting positions, we need goals and paths for the player to explore the map. Collecting bounties/reputation and trading will be important, and are to be added in the next release (at least the basics). I often find conversation trees to be a big turnoff, so I'll start with simple lines of dialogue, printed in the message log and as speech bubbles on the map. The player should largely be able to react by performing actions (for your fetch quest: drop the item you were sent to get, pick up the reward). Maybe there'll be the occasional Y/N prompt.

Bounties ("quests") can be set up as wanted-posters anywhere semi-official, or through NPCs offering odd jobs and favors. Instead of traditional experience points, I'm planning for bounties to play a role in pacing character development and the passage of time. There must be an option to resting, since lost health levels don't regenerate by waiting in the map, and I don't want "med kits" that instaheal you between battles (but maybe something like adrenaline syringes to use in the heat of it). Maybe resting will take several weeks in-game, and also be the game phase where you digest your recent experiences, and so to speak level up. If you're forced back with the tail between your legs after being stabbed over an animal baiting contest, you'll have to pay for housing and medical bills, and maybe all you get out of it is a pesky war wound, a minor skill advancement, or the news that Slim Jim Bonney, who you were out to get, has slipped town. On the other hand, returning with the head* of Slim Jim nets you loot and fame and other auspices. (* I do mean the head, by the way. In The Land, it is customary to decapitate one's victims to prove their identities. It provides an easy interface to collect a bounty on someone, by literally carrying the head back in your inventory.)

For trade, I'm thinking of "traveling saleskids" wandering the map as well as permanent shops at different locations. Shops will definitely be nethack-like, with items that can be picked up, and paying by interacting with the shop keeper. Traveling saleskids will probably carry an inventory of up to 6 items for sale, which they drop in a circle around them when bumped. Currency will be lead (♄), the same with which you load your iron.

So the next release will have a bit more direction: some people to talk to, places to go to and missions to perform, some character development, hopefully some stuff like that …

As always,
Minotauros