Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411275 Posts in 69323 Topics- by 58380 Members - Latest Member: bob1029

March 28, 2024, 08:27:32 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsPanacea - an alchemy/farming/defense roguelike
Pages: 1 2 [3] 4 5 6
Print
Author Topic: Panacea - an alchemy/farming/defense roguelike  (Read 27350 times)
sublinimal
Level 8
***



View Profile
« Reply #40 on: November 10, 2011, 05:30:18 AM »

Before delving into the story, we'll have to go a bit more in depth into the core features: herbs and potions.

I want herbs to be efficient. There shouldn't be overly specific breeds that only work for one recipe, and no herb should become completely useless in the late game. For example, the elementary healing and damage herbs are the cornerstones of the "tech tree", and you can barely do alchemy at all without either of them as an ingredient. A healing herb in the mix makes the resulting potion drinkable, a damage herb turns it into a weapon. For example, poisonous herbs make a venom mixed with some damage herbs, and an antidote with healing ones.

I feel like 10 herbs is the optimal amount, the digits 0-9 could be reserved to represent them. Potions can be more complex. But when it comes to alchemy, the balance between freedom and planning isn't quite clear yet. Right now I've implemented simple hard-coded recipes, but there is the possiblity of being able to craft anything together with more general limitations. Maybe it'd take 3 herbs to make a potion, and the result would be determined by the "genes" of the herbs you use. 3 healing herbs would make a powerful healing potion, while 1 healing herb+2 confuse herbs would make a potion that heals less but is good at removing confusion. You get the idea.

The flaw with that system would be that everything might be too predictable to have the element of discovery. It favors herbs with specific effects. Hard-coded recipes would let me tie them into the plot, and recipes could be more creative. If all the herbs themselves were procedurally generated, then surely it'd make sense for the recipes to be emergent too.

But Panacea won't a sandbox kind of game. I want to have control over the design to tell a story about a world where creatures rely on these magical plants. How they're incorporated into daily lives, how some cultures worship them and others fear them, how they can both unite and divide peoples.

Maybe Panacea II will be a sandbox. Heh, sometimes I get ahead of myself.
Logged
sublinimal
Level 8
***



View Profile
« Reply #41 on: November 11, 2011, 05:15:00 PM »

Going to add some more enemies.

Black Gremlin - Capable of throwing potions that have a "binding" effect. Once infected, the damage you inflict on others will also hurt you. They can be crafted using a poisonous ivy.
White Gremlin - Like you'd guess, a counterpart to its dark cousin. Its potions bind you in a different way: the damage done to you will heal the attacker. The effects of a black gremlin's potion can be neutralized with a white gremlin's one, and vice versa.
Guardian - Throws healing potions at allies (except for Zombies). Prefers staying out of the player's sight. Usually the primary target despite being harmless, since it tends to heal enemies faster than you can damage them.
Logged
Pineapple
Level 10
*****

~♪


View Profile WWW
« Reply #42 on: November 12, 2011, 10:29:50 AM »

it tends to heal enemies faster than you can damage them.


this is the most annoying thing ever. maybe only slightly less quickly than you can damage them? because then it gets to where there's more than one of them around and it becomes flat impossible to do anything.
Logged
sublinimal
Level 8
***



View Profile
« Reply #43 on: November 12, 2011, 12:34:56 PM »

But the key is priorization, not simply making enemies more endurant. You aren't supposed to fight the offensive enemies before you've taken down (or tamed) that nearby Guardian. This forces you to move around and pressures you to make a choice of fight or flight. If your intention is to fight, then you'll have to signal it by heading towards the Guardian. It's essentially a counter to the tactic of falling back while tossing potions, giving slow enemies an edge and adding variety.

And no, I can assure you there won't be deadlocks where two Guardians heal each other endlessly and become practically immortal. They have minimal stamina (I imagine them as fairies) and can be killed with one shot, so they can't keep each other alive. Besides, they won't be too common, and the only place where you'll see more than one at a time will be some boss fight.
Logged
Nugsy
Level 10
*****



View Profile
« Reply #44 on: November 12, 2011, 06:21:32 PM »

First time i've been on TIGS in a while and i find this!

Looks really nice. Can't wait to play it!
Logged


sublinimal
Level 8
***



View Profile
« Reply #45 on: November 15, 2011, 06:27:07 AM »

Eh. I need to learn how to get the most out of metaclasses, inheritance, polymorphism, all this fancy object-orientation.
Logged
sublinimal
Level 8
***



View Profile
« Reply #46 on: November 18, 2011, 11:23:04 AM »



Well, I got some of the more tedious work out of the way, and seem to be moving along again. I underestimated my OO skills, it's more the organization again that gets in the way.

Now there's finally a message log, if a bit cramped. And a functional cavern system (earlier I just loaded some pre-generated caves). The >v^< symbols at the screen boundaries show the entrances to surrounding screens you've visited. Screen edges have some awkward seams sometimes, but I have a fix in mind that involves generation beyond screen boundaries. Also quite a lot of clean-up, monster classes are super flexible and it no longer burns my eyes to try to find/edit code.
Logged
Pemanent
Level 4
****



View Profile
« Reply #47 on: November 18, 2011, 11:56:11 AM »

nice. I love the grey background. Keep it up!
Logged

sublinimal
Level 8
***



View Profile
« Reply #48 on: November 18, 2011, 04:45:36 PM »

G-grey? It's (32,32,32), closer to pure black.

But it'll look different to others, keep in mind this is just being printed to the command line. If there was a way to render the symbols in a window, supporting high ASCII and colors like Pygcurse does, but maintaining a crisp 8x8 raster font, I'd go for it.
Logged
sublinimal
Level 8
***



View Profile
« Reply #49 on: November 23, 2011, 07:36:25 AM »



Disregard the stretching/shrinking legs, the cheesy filler text, and the general crudeness of the animation. In fact, why not disregard this whole post, it'll be easier for both of us. Maybe I'll even rename this project to "Disregard This" and do just that.
Logged
PompiPompi
Level 10
*****



View Profile WWW
« Reply #50 on: November 23, 2011, 07:38:43 AM »

It looks awesome to me. I think you need to change your project to "Project awesome"
Logged

Master of all trades.
moi
Level 10
*****


DILF SANTA


View Profile WWW
« Reply #51 on: November 23, 2011, 09:04:44 AM »

It looks awesome to me. I think you need to change your project to "Project awesome"
Logged

subsystems   subsystems   subsystems
John Hutchinson
Level 0
***


Code Monkey Go Bananas


View Profile WWW
« Reply #52 on: November 23, 2011, 10:56:00 AM »

Have you thought about using green instead of white? That's be a simple and cool kick-back to oldschool games like this.
Logged

"Code banana. Run in loop. Makes many banana!"
[email protected] | Blog | Twitter | Facebook | LinkedIn
sublinimal
Level 8
***



View Profile
« Reply #53 on: November 24, 2011, 01:12:32 PM »

When strolling through the caverns, you'll sometimes come across creeping growths of poisonous ivy. Gremlins are particularly attracted to it and have named it "Merr". It's the building block for potions that have a constant effect. For example, I mentioned the "binding" potions earlier, but it's also used as an ingredient for poison potions (and their counterpart, antidotes).

Merr ivy can't even be touched by inexperienced adventurers, and some areas are completely blocked off by it. An efficient counter for it involves the use of fiery herbs. A burning potion easily sets ivy growths on fire, but it only creates local holes, and obviously you can't collect burnt ivy. A more constructive way is to use the said fiery herb to manufacture a berserk potion instead. Toss it at a gremlin lurking among the growth, and it'll chase you out of its comfort zone so you can fight it fair and square. That way, you'll be able to reach its loot, containing an antidote that momentarily allows passage through the poisonous ivy (if drunk when you're not poisoned, that is). While walking on ivy, you'll have to constantly keep killing gremlins, picking up their antidotes and drinking them at the right moment.

When doing so, you'll discover that areas infested by Merr ivy actually form a cross-cavern network. Not only is it a fast way to travel between areas, but you might also find a gremlin city deep within it, containing information about their culture and recipes for various ivy potions. Once you can manufacture your own antidotes, you won't have to be as much on your toes in ivy-infested areas. Ivy-based potions are useful in cavern dwelling, but also have high trade value in the outside world because of how hard they are to obtain.
Logged
eigenbom
Level 10
*****


@eigenbom


View Profile WWW
« Reply #54 on: November 24, 2011, 01:18:45 PM »

Probably too late to change your engine, but you should check out the libtcod library, it has python bindings, and has a junk-load of useful roguelike features -- colour console, fov, diff fonts, etc.
Logged

sublinimal
Level 8
***



View Profile
« Reply #55 on: November 24, 2011, 02:05:20 PM »

Huh, that... might actually be what I'm looking for. Seems to support bitmap fonts with true color, be portable, and so on. I'm going to have to toy with it for a while.
Logged
Pineapple
Level 10
*****

~♪


View Profile WWW
« Reply #56 on: November 24, 2011, 02:34:58 PM »

You should totally port the thing to blitzmax so you can use my ascii graphics library. I use it for almost everything, myself.

http://www.ludumdare.com/compo/ludum-dare-19/?action=preview&uid=1540
http://forums.tigsource.com/index.php?topic=16096.msg643275#msg643275
http://forums.tigsource.com/index.php?topic=632.msg643492#msg643492
http://forums.tigsource.com/index.php?topic=18540.0
http://forums.tigsource.com/index.php?topic=16634.0
http://forums.tigsource.com/index.php?topic=16567.msg473218#msg473218
http://forums.tigsource.com/index.php?topic=16619.msg474354#msg474354
Logged
sublinimal
Level 8
***



View Profile
« Reply #57 on: November 24, 2011, 03:24:22 PM »

Right after I finish porting it to Fortran, Brainfuck, TI-89 assembly, a pineapple, and a language I wrote from scratch for the sole purpose of porting this game.
« Last Edit: November 24, 2011, 03:34:03 PM by sublinimal » Logged
sublinimal
Level 8
***



View Profile
« Reply #58 on: November 25, 2011, 05:34:06 AM »

Probably too late to change your engine



I'll have to use some other library for the music, though. But libtcod'll make the routine things more convenient. And colorful.

That is, as long as bugs don't get in the way - with my Midas touch, I managed to crash the program with an assertion error and an access violation just while making this simple .gif. I mean, I was promised out-of-screen printing would simply be truncated, but I guess it's very unsafe then.

Also, when I tried using Pygame and libtcod simultaneously (they're both SDL-based), the graphical output got mashed up so that libtcod's ASCII graphics showed up in the Pygame window. That was interesting.
Logged
sabajt
Level 1
*



View Profile WWW
« Reply #59 on: November 25, 2011, 09:57:07 AM »

Quote
Right after I finish porting it to Fortran, Brainfuck, TI-89 assembly, a pineapple
Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Logged

Pages: 1 2 [3] 4 5 6
Print
Jump to:  

Theme orange-lt created by panic