Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411977 Posts in 69438 Topics- by 58486 Members - Latest Member: Fuimus

June 15, 2024, 02:57:33 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsProject Rain World
Pages: 1 ... 173 174 [175] 176 177 ... 367
Print
Author Topic: Project Rain World  (Read 1477120 times)
JLJac
Level 10
*****



View Profile
« Reply #3480 on: April 10, 2015, 11:41:11 AM »

An inbetween solution might be tying the "ready state" to predator proximity while still having the mode be manually triggered. The adrenaline charges up automatically the closer a predator is. That way you get an audio-visual cue that you have a charge, are also able to trigger adrenaline mode during a more hectic situation, and the mode replicates the kind of tension the player is likely to be feeling. You've mentioned having the music tied to "threat level" - perhaps this could work a similar way?

This seems intuitive, but it'd still require some sort of button press from the player right? In that case, why not have the ability to trigger available at all times?

Though I'm all for having a purely diegetic UI, I'm inclined to agree, now that how many bats you eat means two different things (unless you don't necessarily care if the player knows exactly how many charges they have left). Perhaps a menu button that brings up a HUD with the two rows of dots? That way checking your status is a deliberate action to pause the game and take stock, rather than being part of your ongoing experience.

Yeah, as the game is getting more complex it's more and more difficult to keep UI out while keeping it understandable. Two rows of dots would do a lot, and as you say they wouldn't have to be on-screen at all times. Don't want to add buttons, but you could for example make it so that UI only appears after standing still a second, or when something changes (bat caught, lost etc).

If no. of bats eaten = no. of adrenaline boosts available, then at this point I think you have to have some UI to keep track of things. Even if it's just two rows of dots. It's too much information to communicate indirectly.

Another possibility is that you get more adrenaline time the more bats you eat, but upon triggering the adrenaline you always use them all... We're going to have to try out a few configurations and see what works.

Oh oh oh... or, if you protect a lizard from enough creatures, it would not just become neutral, but would actively befriend you, and protect you from other creatures. Imagine turning an enemy into an ally through persistent acts of kindness! Isn't that sort of how wolves became dogs?

I'd like to see this, yes! Once I get around to the dynamic relationships it should be totally possible!
Logged
EdFarage
Level 2
**


I can upload avatars


View Profile
« Reply #3481 on: April 10, 2015, 11:45:48 AM »

Oh oh oh... or, if you protect a lizard from enough creatures, it would not just become neutral, but would actively befriend you, and protect you from other creatures. Imagine turning an enemy into an ally through persistent acts of kindness! Isn't that sort of how wolves became dogs?
This is actually pretty cool.
I remember spending hours on minecraft befriending wolves
But thats our secret
Logged
JLJac
Level 10
*****



View Profile
« Reply #3482 on: April 10, 2015, 11:58:29 AM »

Update 413

Cicadas skinned!

An insane amount of work went in to this, and I'm pretty much done, but probably not entirely done. We have folding wings, grabbing tentacles, etc etc etc ...

Interacting with player:



Hanging out:



The cicadas are the only RW creature so far that is explicitly gendered. I won't decide on which is male and which is female, but they come in two varietys, let's call them gender A and gender B. A colony has about 50/50 of them, unless we decide to change that because of game balance stuff. A are white and a bit larger, and stay to protect the colony during a cycle. They'll hunt bats that are stupid enough to actually enter the cicada hive, but won't go out of their way. B are black and a bit smaller, these are the ones that migrate to bat swarming areas to catch food. These are likely the ones you'll encounter first, as they occur out and about contrary to just inside the hive.

Slow motion flying:



Parts of the cosmetics are individual as usual, one of those factors are wing length, where I think I might have gone a bit over board - some have huge wings and some tiny. I'll tighten up the bell curve a bit there. Some of them have a busted wing as well, which will just hang passively.

Cicada jumping:



The player actually holds on to two of the tentacles haha!

And a bonus one, white lizard catching a cicada:

Logged
Osteel
Level 2
**


View Profile
« Reply #3483 on: April 10, 2015, 12:24:33 PM »

This is amazing.  Who, Me?
Logged
chriswearly
Level 3
***


prince slugcat


View Profile
« Reply #3484 on: April 10, 2015, 12:24:50 PM »

Update 413
x
Lol, too many gifs. The 3rd to last one's frozen and the last two won't load. But that's probably my internet's fault.
ninja edit: ok now they load. But don't play. C'mon computeeeeer, loooooooad!

But holy cow those are stupendous. Guess when I get back from work tonight I'll write some behavior lore on them :D
Logged

oldblood
Level 10
*****

...Not again.


View Profile
« Reply #3485 on: April 10, 2015, 12:41:49 PM »

Those cicadas came together nice and fast. Looks amazing as always.
Logged

Teod
Level 1
*



View Profile
« Reply #3486 on: April 10, 2015, 02:45:33 PM »

I can barely believe they are almost done in such a short time. Looks really cool. Although I can still nitpick: wings somehow don't look well to me. They could be a bit wider, or be connected to eachother with some sort of a membrane. I personally would prefer the latter, just to give them something unique that is part of neither cicada nor a squid.

Also, there should be at least one more gif: those guys catching bats.
« Last Edit: April 10, 2015, 02:53:05 PM by Teod » Logged
fall_ark
Level 2
**



View Profile
« Reply #3487 on: April 10, 2015, 08:11:09 PM »

Love the tiny speck of colour on cicadas.

The wings are especially weird when they were stationary like the whites in pic 2. Maybe the transparency should be higher?

Logged

Chinese localizer and influencer. Translated Dead Cells, Slay the Spire, The Count Lucanor, Katana Zero, Dicey Dungeons, and involved in the localization of Reigns, The Curious Expedition, Desktop Dungeons, etc.
If you have questions about Chinese loc and publishing etc., find me at Twitter @SoM_lo
theEasternDragon
Level 0
***


Rocket-powered hype train


View Profile
« Reply #3488 on: April 10, 2015, 11:04:23 PM »

Still looking like an alien parasite to me. I feel like it is the eyes, and the mouth tentacles. Having them flop around just doesn't feel right. Animals that have tentacles tend to have some control over them I would think. Like, they would open to eat, but otherwise would curl or bunch together. I can see that being an impediment, so it only makes sense.

Edit: Also, what is the blue thing on top of the white cicadas' heads? Giving me a very "minnie mouse" theme here, kinda looks like a bow.

Note on the last one, as far as I know, squids themselves also bunch their tentacles.
« Last Edit: April 10, 2015, 11:10:43 PM by theEasternDragon » Logged
tortoiseandcrow
Level 2
**


View Profile
« Reply #3489 on: April 11, 2015, 07:25:11 AM »

This is absolutely incredible. I love how the slight difference in colouration on the bodies of the white cicadas makes them look slightly translucent. In the second gif, am I seeing an interaction on the bottom right hand corner where a white cicada picks up and throws a black cicada out of the way? Or am I just projecting?

Are there other differences between the cicada genders/castes other than preferred location/hunting practices? I'm guessing from what you've described that the white ones will be somehow more difficult to deal with, given that they protect the hive.

Do cicadas migrate hive locations?

An inbetween solution might be tying the "ready state" to predator proximity while still having the mode be manually triggered. The adrenaline charges up automatically the closer a predator is. That way you get an audio-visual cue that you have a charge, are also able to trigger adrenaline mode during a more hectic situation, and the mode replicates the kind of tension the player is likely to be feeling. You've mentioned having the music tied to "threat level" - perhaps this could work a similar way?

This seems intuitive, but it'd still require some sort of button press from the player right? In that case, why not have the ability to trigger available at all times?

I guess for me at least the main attraction of the idea is having the usage of adrenaline map closely onto what's happening in the game/my experience as the player. It makes sense for me to have adrenaline build up as tension builds up in the game, but not be available when it isn't appropriate. I can't accidentally use up my adrenaline when there's no use for it, but still have control over when it actually gets used. If the game triggers adrenaline automatically there might be situations where I become upset that my adrenaline got used up in an encounter I'm convinced I could otherwise have gotten out of without it. If I'm in control, then if I still die it's my fault and not the game's.

Have you heard of the game Divekick? It only has two buttons ("dive" and "kick" respectively), but manages to wring a huge amount of inputs out of them. One of them is that you activate your "special" move by pressing both buttons at the same time, but it is context sensitive, so that activating your special in the air is different from activating your special on the ground. It's quite clever. Perhaps a similar context-sensitive solution might work here - pressing both buttons in the presence of a predator activates your adrenaline, and when the predator isn't around something different (but related) happens. That way the buttons don't just stop working, letting the player know that it's to do with context.

If no. of bats eaten = no. of adrenaline boosts available, then at this point I think you have to have some UI to keep track of things. Even if it's just two rows of dots. It's too much information to communicate indirectly.

Another possibility is that you get more adrenaline time the more bats you eat, but upon triggering the adrenaline you always use them all... We're going to have to try out a few configurations and see what works.

I really like this! If your adrenaline is more effective/lasts longer the more bats you have, your "charge" is basically built into the basic activity of playing the game, and you only have to keep track of one unit. It's a tidy solution.

Oh oh oh... or, if you protect a lizard from enough creatures, it would not just become neutral, but would actively befriend you, and protect you from other creatures. Imagine turning an enemy into an ally through persistent acts of kindness! Isn't that sort of how wolves became dogs?

I'd like to see this, yes! Once I get around to the dynamic relationships it should be totally possible!

 Shocked  Shocked  Shocked

This is so incredibly awesome. I have no idea how you'll do it, but the idea of taming lizards is amazing.
Logged
JLJac
Level 10
*****



View Profile
« Reply #3490 on: April 11, 2015, 09:18:47 AM »

ty ty ty! Excited for these myself!

@theEasternDragon, having them curl the tentacles would feel sorta like a waste, you'd agree with me if you spent 3 hours doing the dangly physics  Cheesy They do curl them up when carrying bats though. The stuff on their head is a shield or plate of some kind, assumedly the same material as the wings.

@tortoiseandcrow thanks! The interaction is probably just a bump together, but keep projecting, that's how the magic happens haha! White ones are slightly heavier than black ones, and they have a little bit different behavior when annoying you, but the biggest difference is in how they hunt. The black ones do migrate from a cicada room to a bat swarm room during the cycle, you can see them going back and forth if you come across one of their routes.

Both buttons at the same time seems viable, the only problem is that holding the jump button makes you jump higher, and it's quite common to want to throw something as you're jumping... Taming of creatures will actually not be all that difficult, I predict, once the Dynamic Relationships are in.

Update 415

Dynamic relationships! What is this thing I'm doing? Basically in the old set-up, I wrote the AI with a sort of limited idea about the sort of interactions I'd want to implement down the line. I though of creature relationships as static, one always eat the other, the other always flee. In that system it made sense to make it so that upon spotting another creature the first time, the AI takes a look at the relationship to that creature, and hands it off to a dedicated AI module to take care of it. If the relationship is "Eats" the creature gets sorted into the PreyTracker, if the relationship is "AfraidOf" it's dedicated to the ThreatTracker, etc.

This system is very limited, so what I've been doing today is writing a RelationshipTracker, which re-evaluates the relationships to other creatures frame-by-frame, and if the relationship changes it sorts it into the correct module. Sounds easy, but there's a lot going on. Basically each module lives its own life, deleting and shuffling the creatures it keeps track of as it wants. So I have to make sure that if a relationship is moved, it's properly removed where it was, properly added where it should be, and so on. The good part is that this has solved some other problems that were hanging around, such as creatures sometimes forgetting about threats they haven't seen in a while and then being unable to add them back, and the like.



The main tracker in a RW creature's AI is simply called the Tracker. This one basically keeps track of what creatures I know of, and where I think they might currently be (a notion that might be correct if I'm currently looking at them, and various degrees of incorrect if it was a while since I saw them). Each creature I know of has a representation in the Tracker, and this is sort of the UR representation for that creature, other modules refer to this one when thinking about a creature.

Other trackers such as PreyTracker and ThreatTracker has a reference to the creature representation in the Tracker, as well as some other module-specific data regarding that creature, such as how yummy it looks or whatever might be relevant.

The relationship tracker keeps goes through the representations in the Tracker, asks the AI what relationship it currently has to the creature in question, and if necessary moves stuff around to where they're supposed to be. For example, if I am only hunting the slugcat within a specific area, but the slugcat just exited that area, the slugcat representation needs to move from my PreyTracker to some other module.

This stuff is all pretty much just logistics. The cool stuff is an "internal state" for each tracked creature that is kept inside the RelationshipTracker. An internal state is a mini data structure which keeps track of some relevant stuff. Let's make a simple example: I'm a cicada - I want to cause a slugcat trouble. Unless the slugcat is holding a spear, in which case I want to get away.

So the slugcat is on the ground, no spear, and its representation in my cicada head is comfortably within my AgressionTracker. Now the slugcat runs over and picks up the spear. Now the thing is that we're doing this thing where RW creature don't know what they can't know. So say that the spear and the slugcat are out of my sight as the weapon is equipped. Every frame I (the cicada) ask my RelationshipTracker what relationship I have to the slugcat. The RelationshipTracker can't access the data about whether or not the slugcat is holding a spear directly, it has to go ask the internal state representing the slugcat. The internal state has a bool which represents the slugcat holding a spear or not.

As I still think that the slugcat is unarmed, I'll continue to go after it. Until I come around a corner - then I suddenly have a visual on the slugcat, and the internal state is allowed to correct itself. The bool changes, and with this new information the nature of our inter-creature relationship shifts. The RelationshipTracker takes care of it, moves the slugcat to my ThreatTracker, and I can start scramming.

That's the theory, now let's take a look!



So notice how the cicada is harassing the player, until the player is armed, then it decides to get out of there. The player then goes underground and actually throws the spear and is not armed any more, but because the cicada can't see this it's state of fear is unchanged. The next time it saw the player it would reconsider. This is the sort of stuff that makes me all warm inside  Shrug

The system seems to be working, the only thing that's needed now is to migrate it to the vulture and lizard as well. The other creatures use simpler AI's that won't really need this level of complexity.

I have this policy that I'll tell what I've done, not what I hope to do, but you can probably imagine the possibilities yourself. Social stuff such as befriending creatures, angering creatures, creatures reacting dynamically to different situations like trying to save their friends from the jaws of a lizard, etc.
Logged
fall_ark
Level 2
**



View Profile
« Reply #3491 on: April 11, 2015, 10:59:26 AM »

Great write-up and as always an amazing GIF to go with it Beer!

As much as I'd love to see a spear-wielding slugcat proudly standing on top of its newly-befriended lizard mount, it would feel weird and out-of-place for a prey to "tame" a predator. I mean, lizards fight other lizards over you, and why would they forego a perfectly good meal (you) anyway? If there could be cooperation/friendship at all, it should happen rarely, maybe limited to only a handful of individuals among the more sociable species. And even then it should probably not be "hey this slugcat totally helps me out beforehand, I shall repay his good will by helping him out!" Maybe more like "well this slugcat is pretty resourceful, it's probably not worth pursuing it, and it doesn't seem keen on hurting me as well. So maybe we just ignore each other while hunting in the same vicinity. And maybe I'll leave some carcass uneaten so it doesn't have to bother me further."

Of course, creatures that share predators with you probably should be able to form temporary alliances, but they'll probably still value their own survival over yours.

All in all, my feeling is that individual relationship shouldn't be able to overcome species difference. It shouldn't be easily achievable, or else the player would just carry a spear and look for a tough creature to tame, possibly in very gamey ways(e.g. lure it into other predators and help it along the way, or hunt other prey for it), and that feels very very "unnatural".
Logged

Chinese localizer and influencer. Translated Dead Cells, Slay the Spire, The Count Lucanor, Katana Zero, Dicey Dungeons, and involved in the localization of Reigns, The Curious Expedition, Desktop Dungeons, etc.
If you have questions about Chinese loc and publishing etc., find me at Twitter @SoM_lo
Christian
Level 10
*****



View Profile WWW
« Reply #3492 on: April 11, 2015, 11:27:58 AM »

Predator and prey have developed symbiotic relationships in nature like birds cleaning alligator's teeth and sea anemone protecting clown fish. But I do agree that slugcat developing a "friendly" relationship with a lizard would be weird. I also find it weird that a insect-like creature like a cicada would be able to understand that the concept of "slugcat wielding spear = dangerous"

Do bats still hang around lizards because they know lizards attack slugcats?
Logged

Visit Indie Game Enthusiast or follow me @IG_Enthusiast to learn about the best new and upcoming indie games!
Tiago_BinaryPig
Level 1
*



View Profile WWW
« Reply #3493 on: April 11, 2015, 11:44:08 AM »

I've been a long time "lurker", following this thread for since it's early days and the same thing gets to me.
Your speed on cranking all this stuff up is freaking amazing.

One day you say you have this idea, next day you're posting gifs about it.

Technically and visually, this game/thread impresses me alot! Keep up the good work mate.  Beer!
Logged

JLJac
Level 10
*****



View Profile
« Reply #3494 on: April 11, 2015, 12:05:35 PM »

Don't worry guys I'm not making lizard tamer 2000 - also the spear/cicada thing wasn't really the thing I wanted to show, I just wanted to give an example to show of the Dynamic Relationships. James says I'm always focusing on structure rather than content, but haha here we go again ~ the thing I've been talking about the last couple of days isn't the specific examples I've brought up, it's about the infrastructure: Now a creature can re-evaluate its relationships to other creatures depending on context. There's an infinity of possibilities that can come from this, and when I start adding this actual "content" I'll be more artful about what goes in and what doesn't, promise!

On befriending a lizard specifically, this is more of a fun idea than a serious suggestion for a common game mechanic. I'm interested in procedural narratives, and I'm interested in what can happen rather than what will happen most of the times. Think of dwarf fortress - the "story" of the game springs from its actual mechanics and its procedural elements, and once in a while something weird happens. If a lizard becoming friendly becomes a thing, that's something that would require a veeeeery specific combination of that particular lizard's personality traits and a super unusual situation - think of it as something that could happen once in a thousand play-throughs and which you'll have to post videos of to actually prove to people that it happened, rather than a game mechanic to fall back on!
Logged
Schoq
Level 10
*****


♡∞


View Profile WWW
« Reply #3495 on: April 11, 2015, 12:38:21 PM »

I dunno what it is about these last few gifs but they actually crash my browser and slow down my entire machine?
Logged

♡ ♥ make games, not money ♥ ♡
jamesprimate
Level 10
*****


wave emoji


View Profile WWW
« Reply #3496 on: April 11, 2015, 03:19:58 PM »

Idk, lizard friendship simulator 2015 seems pretty good  Hand Thumbs Up Right
Logged

Crispy75
Level 0
***


View Profile
« Reply #3497 on: April 11, 2015, 03:46:21 PM »

All Rain World development must cease so that LFS:2015 can be rushed to market. You'll be millionaires by Christmas.
« Last Edit: April 12, 2015, 01:40:24 AM by Crispy75 » Logged
barneycumming
Level 2
**



View Profile WWW
« Reply #3498 on: April 11, 2015, 09:06:13 PM »

wonderful as always
Logged

JLJac
Level 10
*****



View Profile
« Reply #3499 on: April 12, 2015, 12:01:43 PM »

Update 416

Gotten started on audio implementation. I have a pretty solid idea about how to do it now, I think. I have a text file where all the sound triggers are named, and then you can put down the name of the sample to be played at that trigger. This means that I can just set up the triggers and then send it over to James for him to actually work out what samples should go where, and tune them entirely on his end.

Under the hood I have a system where each sound trigger is represented in a enum, and the enum can be cast into an int which refers to a position in a list where the sound to be played is. I use this system because I think we'll be playing a lot of little sounds, and I don't want to have the code repeat through any sort of list to look for samples. This way, the trigger inherently holds the "address" to the correct sample, and the sound engine can just go and fetch it. From my understanding this doesn't do any implicit repeats through lists after compilation, as the enum-int transition is just about changing the data type of a variable.

I have some sounds playing, and a basic sound engine working already. I can play a "disembodied" sound which comes from anywhere and has a set pan/volume, and now I'm working on sounds that are played within the actual world and which are tied to a "Virtual Microphone", which has a position within the game world and changes the volume/pan according to the sound sources' relative position to it.

Things are moving along well enough! The only problem I have so far is that Unity's volume control for samples seems really weird. Between 10% and 100% volume I can barely hear any difference, and pretty much the entire scale is squeezed together between 0% and 10%. I can sort of hack around this problem by just doing a Pow operation on the volume with an exponent of 3 or something, but it puzzles me. Does anyone know anything about this?  Who, Me?

Logged
Pages: 1 ... 173 174 [175] 176 177 ... 367
Print
Jump to:  

Theme orange-lt created by panic