Alchemy
WARNING: Thorough and long writeup.
So I've been thinking of different hot-takes on
alchemy games. Finally have come up with
something that at least in my head seems like it
could work. While not trivial to make, it doesn't
seem "beyond my ability" to program. Here's the
initial writeup - - would love to hear any feedback.
The thing I'm *most* concerned about is: "Is this
fun?".
Aetherium: The Alchemist's Quest
== INTRO ==
Alchemy, like cooking, is inherently about
experimentation. Starting with the pokemon-esque
love of completionist and "gotta catch'em all" spirit
of wanting to obtain all the different kinds of raw
material. Then wondering what combinations can
make with what results. It adds to that the
creative-itch of trying to explore a crafting-space.
If done right, even 'failed' attempts to craft things
can still be satisfying in that it helps you explore
the space of what is possible as you fill out your
alchemist's codex
But alchemy games are inherently hard to make as
well. For a small number of early choices there's a
massive number of results that must either be
programmed in. Alternatively multiple starts can
lead to the same few finishes which risks being
uncreative and dull. Further a typical issue in
alchemy-focused games is what is the real
difference between a 50damage fireball and a 50
damage arcane-blast? It's hard enough to
differentiate a small handful of potion-results. How
on earth do you make a player specifically crave
50+ and see them as distinct entities?
So let's plan a game around the concept of
exploring what can be done with our choice of
game mechanics and design to offset these
problems and create this world.
== GAME OUTLINE ==
Conceptually: I'm considering that there are 8 'base'
elements that are merged in sets of three (no more
no less) to produce end products. Those end
products cannot be further combinated. 8-choose-3
= 56 possible alchemical results. Rather than try to
make them play differently, we are going to set
this game up as a crafting and trading game with
combat stats, equipment, and levelling as a
secondary issue (or possibly not included at all).
PREMISE - You are a fresh graduate. Your end-goal
is to discover 'Aetherium' - the mystical ultra-
element.
EARLY GAME
-> *) There is a world map, of which very little is
known to you at first, with a web of interconnected
paths going between major cities and random-
encounter wild spots (ala puzzle quest). The
overworld has definite elemental 'regioning' at
play; but ultimately most elements can be found in
all regions at different rarities.
----> ?Is it dangerous to travel. Maybe a constant
financial drain? (eg: to pay your guardian/guide)
----> A random encounter table? - sometimes good
random events, sometimes bad ones.
-> *) When you are in a wild-node you have the
option to spend time and try to "explore" it.
Exploring will take on the form of some kind of
minigame in which you can accrue elements.
Ideally each region is primarily 1 color (say: 70-
80%), with different nodes in that region being
secondarily another color (~10-20%?) and then a 3%
chance or so of all other colors.
-In short: you will be not-so-subtly encouraged to
fill your codex for color 'X' but desire to explore the
world and travel to find more raw materials.
---> ?Does this minigame risk losing you HP to
prevent you from just playing it a ton, farming
'infinity fire' early and then not coming back.
---> I think we put a cap on how much you can hold
without going to store it in a city (with shared-stash
privileges). The stash-size has total # of items tied
to gear-upgrades with an infinite, exponentially
increasing gold-cost for an infinite, linearly
increasing maxTotalCapacity.
MID GAME:
-> *) The #1 driver of the mid-game is *SELLING*
your alchemical products to make a profit! Cities
will each have their own 'price sheet' for valuing
alchemical products. So selling Magmasparks in
volcano-town is not going to be as profitable as
hoarding your magmasparks and then making the
trip to a Snow+Air city in the clouds to sell them
there.
---> ?Do we allow "mass buy/selling" for this
profitability, or do we instead limit it to a finite
number of high value purchasers before "baseline
fixed market price" is all you can get anymore? I'm
leaning towards allowing the mass method, and
letting the inherent difficulty + financial cost of
travel between cities + finite inventory space to
store these crafts be the limiting factor.
---> A 'rumors/hint' sytem can exist where as part
of random encounters or maybe a paid-tip in the
city you can find out two of the required
components to make a specific listed item. Eg: "I'd
love to have some Darksteam. I know it has 'Fire'
and 'Arcane' in it, but i'm not sure what else.
END GAME:
-> *) The endgame is the search for Aetherium. At
this poitn you have enough money to afford better
traveltime/escort, more stash-space and/or more
HP so your explores are more profitable in general
and you can more easily craft. Either by exploring
the right region, or just levelling up your 'alchemy
station', - you can start trying to craft aetherium.
Aetherium requires you to spend final alchemy
products (56 total types exist). You're looking for
the correct set of 3; but the game will tell you on
every individual placement if it has or hasn't
worked. eg: "The aetherium altar rejects your
offering" so that when you throw enough resources
at it you will eventually succeed.
---> If order does not matter, the worst-case
scenario is success in ~50 tries with a tendency
towards ~2/3 (eg: 40).
---> If order DOES matter, the worst-case scenario
is success in ~170 tries with a tendency towards
~90-100?
--> Added thought: Maybe the Aetherium altar can
guide you to a city where tributing a needed
alchemy-product their sage will just TELL you the
'ancient knowledge' of what is needed for the
Aetherium craft? Or at least 1/3 of it. For those
who prefer quest-following to blind guessing.
-> *) Craft Aetherium, win the game? OR you can
use Aetherium to power infinite-upgrades on other
stuff and the recipe for successfully crafting
aetherium keeps rotating every 10 crafts or so. I
dunno; much potential here.
==IMPLEMENTATION==
The biggest issue here is the choice between a
mostly handcrafted experience and a mostly
procedurally generated one.
I.) Handcrafting
HOW: I draft a table of all triplet combinations of
the 56 core elements (eg: Fire, Water, Ice, Earth,
Electricity, Light/life, Dark/Necrotic, Air). Each of
these is given an appropriate name, (?)pixel-art,
whatever.
PROS:
- With 'Handcrafting' the joy of discovery is much
greater. If I know I'm trying to make a
"Crackleshard", I might think to combine electricity
with ice and then guess at the third component.
That feels like [Link] I am just trying to make
"Ubanox" then who the hell knows or cares, what
goes into it? Why should I be any more inclined to
try Red+Blue+Green or Black+Yellow+White?
CONS:
- Much more work to set up.
- You hit 'combinatorial explosion' issues really fast
which can be unwieldly to code for. 5 elements
combined in sets of three make 10 possible
combinations. 8 elements make 56. 10 -- 120!. So if
I decide to scale this game up later it will be a real
nightmare.
- Severely limits replay value. Once the
combinations are known, the joy of discovery is
gone. For me as the programmer that might be
gone all at once! Still, that DOES leave the finite
commodities and trading system in place so it's not
like there's NOTHING to do.
- Much more 'gameable' by an FAQ and such.
II.) Procedural Generation:
HOW: At start of game, use a random-name
generator to assign random names to each of the
56 'slots' associated with the core elements. Upon
discovery of an element, use a 'rainbow'font to
write the name in the three colors most associated
with its creation (eg: Red, cyan, aqua-blue, olive
green, yellow, white/light green, dark-gray/purple,
light-blue to white). To try and lend some
alchemical personality to it.
-? t/c: Is it feasible for me to generate believable
randomized unique pixel-art at runtime with a 3-
color pallette?
PROS:
- Whenever you start a new game, you get a brand
new set of possible alchemical combinations to
discover!
CONS:
- The alchemical combinations don't really mean
anything. If I see a storekeeper really wants to buy
"Sqyzorp" - what should I be farming to get it? Why
should I care that red-yellow-blue make a "Sqyzorp"
instead of a "Blarfung?" It may feel like I need to
craft everything before I can start even making
sense of it
-----> The world can still try to imbue these random
names with meaning. A hint/rumor system eg: "The
the Blarfung is made of Ice and water; but not sure
what else." takes on even more significance when
it's the only non-resource-depleting information
avenue.
----> Corollary: 56 cities/kingdom, a hint for each
alchemy product available at each of them?
Ironically: the alchemical product they can tell you
about is probably least valuable there.
== Is it fun? ==
I'm not sure.
It definitely seems like it would scratch the 'trader'
itch that is fun for me in games like Elite
Dangerous, or X3.
Even without procedural generation, the joy of
discovery is fun in games like DQM:Joker, Siralim,
Monster crown to see what can be crafted if you
don't already know it; may not be as fun for me as
a dev. But the fact that I've replayed such games in
the past suggests it might still be fun to play in
execution.
If done via procedural logic, then I can potentially
get the thrill of discovery every time.
The existence of numbers you can pay more money
to make bigger (eg: carry-capacity) so that you can
then carry MORE so you can sell more so you can
make more is usually a compelling loop.
Put it all together - and especially if the 'minigame'
is fun - I could see myself enjoying this game,
definitely.
Once again - I *do* think this is realistic to program
and make and either within my skill set or close
enough. But I don't know that I'm *excited* about
playing it and would hate to invest a ton of energy
into a boring game. Also haven't sorted out the
'mining minigame' so to speak. Or whether to have
alchemy require a minigame.
I'm very much open to feedback that will help with
any of these issues. Or of course any feedback you
wish to give.