#Collectors Gate

1 messages ยท Page 2 of 1

brittle hornet
vale plank
#

That's current? Are we trying to make a single, generic driver?

#

Or sticking with Player vs Enemy drivers?

#

I must sound like a broken record

#

I got 4 hours of sleep

#

I guess my real question is.. Could we have both the PlayerDriver and EnemyDriver on the same object and just enable/disable them as necessary when adding to the scene? That way we don't need to add components or anything, we just flip a bool.

#

UI only lives on PlayerDriver junk since ai does not need it, but it will at least be on the game object if we need to flip player driver on

#

Idk

brittle hornet
#

I didnt want to have multiple drivers on the objects just because its a lot

#

especially if we add more drivers

#

boss driver, NPC teammate driver, etc

#

also, i want to change their name to "pilot" lol

#

but thats not a big thing

vale plank
#

Those other drivers sound like EnemyDrivers with extra stuff

#

Could possibly just simplify to PlayerPilot and AIPilot or something.. depending

brittle hornet
#

hmmmmmmm

#

so your suggestion is to put both pilots on the prefab and the ui and just turn them on/off depending on the team?

vale plank
#

I think so. It's my current working theory anyway... And targeting for AIPilot is driven by team/alignment, however we wanna handle that

#

Maybe

brittle hornet
#

do we need to rethink the whole pilot thing

vale plank
#

I honestly don't know.. I'm having a bit of difficulty wrapping my head around the architecture for it, tbh

#

So maybe

vale plank
#

I think we need to reopen the dialogue

#

On the Pilot episode

brittle hornet
#

lol

#

I like the pilots for seperating out the battler from the logic of battling

#

but there are probably other ways

brittle hornet
#

what if we just did the base prefab as a generic battler

#

and 2 variants, one for player one for enemy?

vale plank
#

I'm tracking. I think that could work. Is there an easy way to handle that? Like

    Instantiate(PlayerBattlerPrefab..);

Or something?

#

Sorry if dumb question. V tired and still have a few hours in day

brittle hornet
#

yes, I think the optional parameter to spawn mon is all we need

#

also

#

changing name from addbattler to SpawnMon just for the rhyme

#

xD

vale plank
#

Okay. I think I can get behind that. I still think Enemy classes need to be reworked/renamed to simply AI or something... Since i think the intention would be to have AI act as an ally, enemy, or whatever

#

And i love me a good rhyme scheme in code

brittle hornet
#

im trying to find a resource blog/youtube that has like a high level pattern for this

vale plank
#

A long vid, but kinda goes over some stuff in this lane: https://youtu.be/kda7rz5qFtI?si=IrTjZHtuW862O6q0

GDC 2002, Creating the Illusion of Intelligence: Where AI and Level Design Overlap in Haloโ€™s AI.
Chris Butcher and Jaime Griesemer speak about the design goals, theory and implementation of the AI and large scale battles in Halo 1 Combat Evolved.

Resources:

GDC Vault, session audio
https://www.gdcvault.com/play/1022590/Creating-the-Illusion-o...

โ–ถ Play video
#

Simple implementation that uses 2 pilots on the same gameobject, basically: https://youtu.be/UkeKfKcYNVE?si=nGQRWGX25GQ56c61

Follow my twitter for game updates!
https://twitter.com/TheVypur

Instead of writing a separate script to control your AI entities. Follow this pattern or update existing control to seamlessly change between AI and user Control!

Code used: https://github.com/TheVypur/InputInterface

Intro: (0:00)
Start Implementation: (0:18)
AI Implementation:...

โ–ถ Play video
brittle hornet
#

nice

vale plank
#

So the bottom example and the "Easy AI Control Transfer" each basically use a Driver/Pilot.. then each character is given two "brains", the Player and the AI, and the Pilot determines which to use/enable based on a bool or something set in itself

brittle hornet
#

ok

#

so we were on track

vale plank
#

Seems like it

#

Took us a minute

brittle hornet
#

makes me feel better

#

xD

vale plank
#

Yeah, this feels like one of those things that either comes super easy or super hard.. and we chose our path

#

For the AI stuff

brittle hornet
#

im working on it now

#

i made my own branch

#

xD

vale plank
#

I think the way we have it set up for now is fine where it just goes towards nearest

#

But

#

For future implementation

#

I think a state machine of sorts to help drive its decisions

#

Would be cool

brittle hornet
#

yea

#

we can pretty easily do that part

#

once the framework is set up

vale plank
#

Bet. I have familiarity with state machines in Godot, but not Unity. Godot i would create a custom node for the machine, then each State derived from an abstract State... And would just get added to the machine

brittle hornet
#

state machines in c# are just switch statements...

#

๐Ÿ˜›

vale plank
#

๐Ÿคก

brittle hornet
#

drawing state machine diagrams is my favorite part of coding

vale plank
#

They're cool to think about and plan out

#

I guess question should be: Do we make a definitive state machine? Or a weighted state machine?

i.e. definitive says "I have less than half hp and i have a healing move, so i will use my healing move"

weighted would be like "my assigned creature has 0.7 weight in attacking and 0.3 weight in healing. I'm at less than half hp, but after running some calcs, I have determined that I shall attack instead of heal.." or something

Idk if those are real state machine types, imm making stuff up tbh

#

One step at a time though.. Gotta reel myself in. Focus is gonna be on getting the Pilot to work as intended first.. then maybe some attacks and playtesting.. then maybe new AI?

brittle hornet
#

i like statemachines with random chances

#

especially in turnbased

vale plank
#

Aight, I'm down with that

#

I do think there should be some level of determinism in there so it's not a dumb random ai, but I'm down for a mixed approach where maybe healing would be "optimal" but it chooses to attack

vale plank
#

I hope i have not come across as ornery to work with thus far @brittle hornet . I appreciate you working on this with me and that you've been teaching me the ways of Unity in the process ๐Ÿ™‚

brittle hornet
#

no worries

#

its fun

#

i have been struggling a lot too

vale plank
#

Not to get sentimental. Just felt like the tension got high when discussing the battler/pilot stuff earlier (maybe I misread) and wanted to express that, regardless of how I may have interpreted things, you are appreciated

brittle hornet
#

no tension, dont worry

#

honestly, ive never programmed with anyone else xD

#

I PROGRAM ON VIBES

#

If something feels weird I assume im doing it wrong

vale plank
#

Lmao

brittle hornet
#

just wait

#

you havent experienced the best part of TIA gamedev yet

#

and some point

#

we make something that is unignorable by jer

#

and he comes and does all the graphics in 3 days and the game is unrecognizable and much better

vale plank
#

LMAO

#

I mean

#

I first found the channel/discord from the video you released a couple years back (?) about the 3d pokemon-like where you said "Jer kinda just went crazy this week and now the game looks really cool"

brittle hornet
#

yes

#

thats the normal way

vale plank
brittle hornet
#

yea

#

thats our most watched video by like 10x

vale plank
#

111K views. Good ish

brittle hornet
#

second place is like 3k views lol

vale plank
#

Yeahh... algorithm is tricky

brittle hornet
#

i always wonder if i should follow up pokemon video and open source it

vale plank
#

Hrmmmm. I think that could do well, but I don't know if it'd do as well as the OG pokemon clone vid. Idk how the algorithm works, but it feels like it wouldn't gain the same traction

#

It comes down to your decision though, obv

brittle hornet
#

yea, I think it was a perfect place and time

#

it was out for a year with like 1k views

#

then suddnly was going up like 1k per day

vale plank
#

That might've been me

brittle hornet
#

lol

#

its been out four years

#

and it only made it big like 1.5 years ago

#

bizarre

vale plank
#

The algorithm giveth and the algorithm taketh away

#

Alright, i'm gonna sleep now. I'll probably bother you more again tomorrow and Saturday. Back Sunday to help with coding again. If you think of anything I could help with.. as just a talking head who can think and write on paper.. lmk ๐Ÿ˜…

brittle hornet
#

will do

#

im slotgunning until tomorrow most likely

#

then plan to do battler fix

#

ui

vale plank
#

wrote some pseudo code for potential battle AI. Probably far from what it would look like finalized, i think i conveyed the pattern that might work based on earlier discussion

vale plank
#

I think you told me at one point in time, but what software or app do you use to create these diagrams?

brittle hornet
#

Obsidian

vale plank
#

Bless

brittle hornet
#

Wait

#

Excalidraw

#

I just use it through obsidian as a plug in

#

But it's its own program and it works in a browser

vale plank
#

@brittle hornet if you didn't already plan for it, please drop a link to Slotgun steam page so people (me) can wishlist and download

brittle hornet
#

Slotgun is a satisfying deckbuilding slot-machine game where you face off against several CPU opponents to control the board. Roll you deck and control a cannon by timing your clicks to play the slot gun machine. Your roll will determine whether you shoot a single shot or thousands of balls. Your goal? Hit blocks to turn them into your color and...

Release Date

To be announced

โ–ถ Play video
vale plank
#

Bet

#

Wishlisted

#

If it's going out tonight I'll download when home Sunday

brittle hornet
#

Its up to steam when it goes out

#

its been in review for 2 days

#

can take 2-3 normally, but up to a week

vale plank
#

Oof..

vale plank
#

@brittle hornet So maybe I'm jumping the gun a little because we haven't even fully fleshed out gameplay, but what are your thoughts for overworld gameplay/story? thinking make something more along the lines of a Pokemon game with BG3 mechanics (so routes and gyms and so forth as milestones), or a BG3 game with creature collection (so story is more structured/defined and progress is not necessarily driven by beating gyms and earning badges), if that makes sense. Or something else entirely..?

#

If that's thinking too far ahead just lmk, just something that came to mind. Gotta prove the battle system is fun first..

vale plank
#

I'll just say... I think Pokemon-esque with BG3 mechanics would be more straightforward. Could work on the path/routes up to the first boss to get a feel for things

brittle hornet
#

but setting can be anything

#

like we can go that the monsters are digital, fantasy, pokemon type vibes, magic, etc

vale plank
#

If we lean into the magic circles for capture and summon, then I'm inclined to say fantasy/magic, but I could see those circles working in a digital vibe.

brittle hornet
#

i think we could make them work in any setting

#

could be monsters are aliens

#

idk

#

just trying to not fall into a rut copying pokemon too hard

#

or just generic dnd fantasy

vale plank
#

Yeah, that's fair. We can brainstorm more on it later

#

No need to decide now

brittle hornet
#

ok im finally back on this project since slotgun is done done

#

opening up unity haha

vale plank
#

So late

#

Lol

#

I'm only up bc wedding parties go late..

brittle hornet
#

working on your game during your own wedding

#

such dedication

vale plank
#

Not my wedding, lmao. Close friend of my wife

#

As we near a potential alpha version to test battle mechanics (still feels like another week or two to get there, at least, but i think it's doable.. or maybe I'm overzealous), roughly how many mons and moves do we want to test with? Like 10 mons? 20 moves?

brittle hornet
#

yea, 10 would be super easy

#

moves would be a bit harder, we would want a good range to test things

brittle hornet
#

im super stuck on something weird with ending a battle and the input system

vale plank
#

So just to talk through it a little while you sleep (i think you sleep..), there are a few things I can think of that probably need to happen on battle end:

  • Clear all non-trainer battlers from the battle. I think the Pilots are setup to update the creatures by reference so their change in HP and xp should be cohesive, but if not then it's not a big jump to fix I think
  • GameState needs to change from Battle to Overworld. Whatever drivers/pilots and stuff that were enabled or disabled when entering battle probably need to be flipped back to their OG values.
vale plank
#

Another hurricane scheduled to hit my state on Wednesday.

brittle hornet
#

This is the weird glitch

#

lol at the baby complaining in the background

vale plank
#

Hrm, i understand. Not what the issue is, but i think i know how we can find out. Starting from the EndTurn logic, can you just throw in a Debug.Log for just about any if/else check and confirm each object we are trying to touch exists (i think trying to just print it via Debug.Log(object) should tell you if it's null or not)

#

If it touches or triggers logic that switches the game state in GameManager as well, that might be useful to put a bunch of debugs in as well

#

The console log didn't show a line number from what I could read on my phone, but if it specified something, pls lmk what object it thinks doesn't exist

#

... and if you said stuff in the video i missed it bc i'm out in public watching with sound off ๐Ÿคก

brittle hornet
#

I did but not a lot

#

The main problem is the script throwing an error is not written by us

#

It's a unity script

vale plank
#

Hrmmm

brittle hornet
#

nice find

vale plank
#

Just happy others have hit the same issue and there is supposedly a fix

#

Apparently it's an issue with canvas being destroyed in Unity 6

brittle hornet
#

clicking the buttons

vale plank
#

Aight, lmk if still broke, lol

brittle hornet
#

no it worked

#

i pushed

vale plank
#

Heck yeah

brittle hornet
#

and now im loading in vfx

vale plank
#

For attacks

#

What is the goal for now? Just a simple "spawn hitbox here, make it look cool, done"? Or we trying to have attacks move from point a to point b then spawn hitbox?

brittle hornet
#

i think both

#

will there be skill shots required?

#

or will it be all selecting targets

#

like for aoe attacks we might need somehting to spawn to show the area it will hit

vale plank
#

Yeah, skill shots may be a thing. Idk how we want to handle them. For displaying their AOE, we could maybe reuse the shader made for the character select and just amp it up a bit and throw on a component to change its size according to the attack radius. Same might go for moves that are more conical shape or straight lines

#

I'm excited for the attack/skill expansion. I'm particularly interested in lingering/"field" effects, like maybe fire, mud, or healing circle that walking through would do something (deal damage/burn, slow, heal).

brittle hornet
#

i agree

#

thats what will prove the idea more

#

as well

vale plank
#

And idk if this is something worth considering at this point... But let's say we wanted to add a move that creates a wall as a special tactical move. Will the navagents know to move around them, or would be have to rebake?

brittle hornet
#

we will have to rebake, but thats easy

vale plank
#

Okay, i didn't know how intensive it typically was.

#

And is it possible to rebake.. a localized area? Like if we rebake, would it try to rebake everything? Or could we specify what objects or areas to bake again?

vale plank
#

So for a sense of scale, let's say we made a project with routes leading to different cities and we have something like a gym. If we got in a fight on Route 1 and created a wall, when we rebake, can we just rebake for Route 1 or a segment of route 1, or do we have to rebake the entire "overworld" scene? Guess it also partially depends on whether all overworld areas are seamlessly connected together in one map or we break areas up with loading screens between scenes/areas

brittle hornet
#

I think we would need to bound the area

#

Learn how to bake a NavMesh on a small portion of your level. This allows much faster baking of NavMeshes on large procedural worlds, or on very large worlds. We do this by specifying a volume around the player and use the NavMeshBuilder class to collect the relevant sources and update a registered NavMeshData.

If you are taking this concept a...

โ–ถ Play video
#

have not watched, but seems possible

vale plank
#

Okay. I'm not too worried for now, but long-term it concerns me, lol

brittle hornet
#

it lo0oks easy to fix

#

its just a big volume around the player so the navmesh doesnt have to be super huge

#

unless we really need pathfinding on the other side of the map form the player, it should be easy

vale plank
#

Okay. I'll take a look soon. Interested in what exactly it entails and how it works

vale plank
#

I think the video has useful info, but I want to confirm it's what we want. Like, do we only want navmesh present around the player so we're always building it? If the navmesh is only built around the player, do we just need to make sure the navmesh is big enough that no matter where the player is in the battle area that monsters can still target them and move towards them?

#

Learn how to update your NavMesh at runtime!
This video is sponsored by Unity.
Watch on Unity's website: https://goo.gl/rz5mda

โ— Example project: https://github.com/Brackeys/NavMesh-Tutorial

โค๏ธ Donate: https://www.paypal.com/donate/?hosted_button_id=VCMM2PLRRX8GU

ยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยทยท...

โ–ถ Play video
#

Idk if this answers the question fully either. I'll want to run some tests to see if Brackeys solution works how I would expect

#

For a stone wall obstacle attack, I am curious how you think we should approach it..

I think it could be a destructible object, but that would mean that it would need an HP and possibly defense stats..

#

If it just goes away after X turns that's also fine, but it might not feel as dynamic?

#

Would you be opposed to, instead of damaging creatures "directly", maybe introducing composition in the form of HealthComponent and maybe like a StatsComponent?

If we want to make it easy to create an obstacle that can be interacted with similarly to a battler, i feel like it may be worth it to make more generic components to use in battle, but idk exactly what we would want or need. I'm kinda just talking rn. Need to sleep on it..

#

An alternative would maybe be to implement a "Damageable" interface or something that we could throw on Creatures and certain Obstacles if we want them to be damagaeble

#

Damageable interface seems most straightforward now that I think about it... probably

vale plank
#

Not me suggesting damageable interface when you already made one.. oof

brittle hornet
#

Hahaha

#

Yea a wall would be easy in current system

#

Just make it damageable

#

And make it a nav mesh obstacle

vale plank
#

Okie. I didn't touch moves or obstacles yet, I just checked in a decent number of changes for battle management/flow control.

#

Instead of checking if battlers should be removed at end of turn, I invoke a new event that will just remove them from all battlers and set them to inactive if their hp hits 0

#

Noticed that simply tossing a creature into deadBattlers wasn't enough to stop Cheetah from targeting dead units, so that should be handled now. Maybe could be better, but it's a start

#

Also fixed some issues with Creature initialization.. You'll see a bool called "isDefeated" that could maybe be changed to "isInitialized" or something later down the line

brittle hornet
#

Good call

vale plank
#

Also added 2 new BattleStates: RoundStart and RoundEnd

brittle hornet
#

Nice

vale plank
#

And camera will now retarget player at end of battle

brittle hornet
#

Do they recalculate the turn order only on new round now?

brittle hornet
vale plank
#

It only will reorder battlers at end of round. Put a bool that defaults to true in ReorderBattlers that checks to see if it needs to sort or if it just needs to update the UI

brittle hornet
brittle hornet
#

Honestly great job, that was really needed

#

Last major annoyance is clicking on UI registering as a world click for moving battlers

#

If we do that I think the battle system is somewhat clean now

vale plank
#

Oh, yeah.. I'm tempted to make it a right-click only thing and you have to select an action from a mini UI pop-up.. To tell the thing to move

brittle hornet
#

Adding exp at the end should be easy since we have the dead battlers list

brittle hornet
vale plank
#

As in right-click -> store position -> select Move from dropdown button list -> target location becomes that stored val

brittle hornet
#

But I do need to connect your party ui better

#

Or at all

vale plank
#

I rehooked in the party Spawn functionality, so you spawn in members from your party

brittle hornet
#

XD

#

Oh ok great

#

Man this is a big patch

#

Excellent

#

Did you see the vfx?

vale plank
#

Yeah, let me see how much it will take to quickly fix the mouse stuff..

#

I haven't looked at anything new, really. Been focused mainly on BattleManager junk, lol

brittle hornet
#

I found a fix for it up on the chat but never did it

vale plank
#

Lol

#

Let me see if I can find in chat rq

#

This

brittle hornet
#

I think so

vale plank
#

Do.. I need to add a GraphicRaycaster component to an object in the scene? If so, what?

#

I do not, it would see

#

idk if this is going to work..

brittle hornet
#

I can try it on a few hours as well

vale plank
#

Throwing the GraphicRaycaster on CustomInputs results in no object being found when I try to call the IsPointerOverUI function.. I think because the player prefab does not inherently have a GraphicRaycaster attached to it. Idk if i need to throw it on the camera instead or what..

vale plank
#

Coding Monkey came in with the save

#

Alright, you'll see implementation in CustomInputs. Ended up removing the GraphicRaycaster stuff and went with a plain ole "see if raycast hits have an Image component" for now.

It works, we may need to adjust it in the future depending on how the game is built out.. But it works

#

Checked in as well

#

If we wanted to revisit the GraphicRaycaster approach, I think we would have to consider making a world or singleton-type BattleCanvas to throw the check mouse overlap logic onto

brittle hornet
#

Oh nice

vale plank
#

Adding some attacks with VFX now

#

Also expanding attack functionality just a little for more diverse stuff

vale plank
#

Checked in a couple new moves. Also updated damage calculation to work based off of creature stats

#

I can hop in VC in a little if you want to review and test new changes

vale plank
brittle hornet
#

I think they should still have the "is player controlled" flag

#

I probably can't today

vale plank
#

Ah, that's true. And no sweat

#

Don't know that I'll make any more progress tonight, but next on my list is to work on the dynamic attack display/ui to show all moves and junk you can use, I think. That or XP gain. We probably want a 3rd list in BattleManager or something for PlayerBattlerParticipants or something so we can distribute xp to any player creature that participated at end of battle

brittle hornet
#

Yea, especially if they can switch in and out

vale plank
#

Checked in some XP stuff. Didn't test it yet.. But shouldn't break anything I don't think

vale plank
#

@brittle hornet thinking of making the action selection prefab kinda look like this. Was drawn on phone with finger, so sorry for poor quality.. probably coulda made something cleaner in google slides..

Instead of showing items in the hotbar boxes there (for Player, not Creatures), i think a general "Use Item" action may work fine and then we show a menu similar to the team party menu, but for your items, maybe?

#

Speaking of trainer/player actions, here's what I'm thinking so far (not necessarily arranged in this order):

  • Use Item
  • Capture Spell
  • Send out Creature
  • Swap out Creature
  • Throw Rock (would have base power of 1 and would be exclusive to player/trainer as a way to stun other trainers or deal 1 damage to creatures for funsies, idk)
  • Other player spells/buffs..
brittle hornet
#

since we will probably want party and item available outside of battle anyway

#

its good to have those seperate

brittle hornet
#

honestly for first version we probably dont need to do items yet either

#

@vale plank when I try to spawn a gazelle from my party I get an error, do you get that too?

#

Ill look into what it is

vale plank
#

What's the error? Does it break the game? I know I get an error when starting battle or starting the game, I think, stating TrainerTeam is empty or something, but it should initialize a team if it's empty

brittle hornet
#

no it was not initiilizing a list

vale plank
brittle hornet
#

ill teach you something horrible

vale plank
#

Uh oh

brittle hornet
#

this line makes active battlers = null

vale plank
#

What script is that in?

brittle hornet
#

this line makes it an empty list

#

(not null)

vale plank
#

I hate that

brittle hornet
#

yea, because it is in the inspector

#

the inspector creates it

#

anyway you can fix it with this

vale plank
#

Gross. I mean, if we don't want it serialize i suppose we could initialize as empty list manually ( = new List<Battler>())

#

Ye

brittle hornet
#

yea

#

the playerBAttlerParticipants was null

vale plank
#

Ah, okay

brittle hornet
#

because it wasnt showing in the inspector

vale plank
#

That makes sense

brittle hornet
#

honestly none of them should show in the inspector

#

so i made them all private and just made them start empty

vale plank
#

Perf

brittle hornet
#

they were just in the inspector so we could drag and drop during testing

#

also, i always click this

vale plank
#

The participants list was added with the xp check in that I didn't test, so I can see how that could have broken things

brittle hornet
#

"error pause"

#

because if you dont the game keeps running if there is an error

#

but it just quits out of any script that gives an error

vale plank
#

Hrm

brittle hornet
#

so it can make thigns hared to debug

vale plank
#

Yeahh

brittle hornet
#

it also makes it hard to tell when the error happens

vale plank
#

I see. Yeah, that's useful. It's like an in-game breakpoint

brittle hornet
#

but thats personal preference, i just wanted to let you know it exists

#

ya

vale plank
#

Yeah, I'll probably use that moving forward! Thank you ๐Ÿ™‚

brittle hornet
#

it also forces you to fix the errors right away, which is just another personal problem I would have

vale plank
#

Did initializing those lists fix the error?

brittle hornet
#

yea, but im getting another one when i kill an enemy, im workingo n that now

vale plank
#

Oof...

#

This is what happens when you check in without testing, kids

#

I added some junk to DamageSource bc of what I wanted to do with the.. StrikeShot move (idk what I named it) that I gave to Gazelle. May need to change structure of move handling down the line

#

To override the BaseAttack.. since hitEffects does not inherit from the prefab

brittle hornet
#

i just realized the moves need like 2 parts

#

aim and fire

#

if they arent melee

vale plank
#

Yeah. Could maybe add a battlerstate enum to battlers.. if Aiming and ..move... don't move, but shoot in that direction or something. Idk

brittle hornet
#

alright, fixed and pushed the errors

#

working on aiming now

vale plank
#

A saint among saturns, to be certain

#

Also names for the two moves i made were placeholder.. i made based on the animation. Feel free to change them up however you want for testing

vale plank
#

While you're in there.. any way you could look into potentially making it so trainers are always at front of the queue in battlers? Simplest solution may be to create a new int priority.. and just set trainers to like 100 and then in the turn reorder function, if priority > other priority, put this first.. otherwise if priority == other priority, compare speed

#

Unless we don't want trainers to be first in queue

vale plank
#

@brittle hornet For aiming.. Are we doing free aim? Or are we doing sphere for range and raycast for line of sight?

vale plank
#

Guess it depends on the attack.. For creating rock wall, we probably don't care about line of site to a target, just ground in range of the user.. or for a lobbing attack that creates an AoE/lingering effect it may not matter, but for certain moves for suer we would want line of sight i think

brittle hornet
#

and just like outlines on the ground to show the affected area

vale plank
#

Okay. I think it's fine for now.

#

We may want to consider making a more complex test scene for combat soon as well, like with a ramp and obstacles or something.. Future iteration may include Jump and Fly actions or something, but not something for now

vale plank
#

@brittle hornet don't mean to keep blathering. For damage calcs, you fine with following the Pokemon damage formula (see CalcDamage function), or do you want to lean towards something like BG3 and attacks deal damage based on "damage dice" (so like 2d8 + 2 would deal 4-20 damage)?

#

If the latter, will need to rethink stats

vale plank
#

@brittle hornet you checked anything in? Will probably work on the battle action gui when i get home in an hour

#

Don't want to break anything

#

Or mess up your pending check-ins

brittle hornet
#

No go on with out it for now

#

I'll check in tonight

#

I'm on with Pokemon stats

#

Ok*

vale plank
#

Okie

vale plank
#

I ended up making basically no progress on battle action buttons and made QoL changes to the turn tracker instead. You'll see later when I check in

vale plank
#

Checked in changes to make the TurnTracker a bit better

#

BattlerPanel (the things in top in TurnTracker) got following upgrades:

  • Image turns more red the less the battler's HP is (slider health overlay)
  • Panel now highlights when it is that battler's turn
  • Clicking on a panel will make the camera jump to that battler
brittle hornet
#

lol

brittle hornet
#

so relatable

#

im like 50% the move indicator right now

#

i did slotgun again last night lol

vale plank
#

Ah, fair. I'm working on the battle actions now, though, so all good.

#

And no sweat. I wishlisted but have been too busy to download demo. I should do that now

brittle hornet
#

ah no worries

#

jer and i are still working on it

#

i also think

#

we need to develop some sort of timing system in the battle

#

right now when you attack it instantly switches cameras to the next battler, so you dont see the result of your attack on the enemy or the animation

#

same for end of the battle exp and stuff

#

having some time to see exp bars growing and stuff

#

and maybe a little 2 second start uup animation showing the battle field

vale plank
#

Oof. Lost on Easy mode 2 player. I cry

#

All the changes you mention are good, and I agree. I'll look into them.. After Battle Actions, probably

brittle hornet
#

it should be called

#

"easy at thebeginning but ramps so hard you cant win if you dont quick kill"

vale plank
#

OOF

#

That's how it felt for sure, lol

brittle hornet
#

hard mode starts harder but doesnt ramp as fast

#

honestly try medium

vale plank
#

I'll get back to it after I recover from this demoralizing defeat. Working on Battle Actions now, lol

brittle hornet
#

lol

#

did you ever spin the big wheel?

vale plank
#

I spun it maybe 3 times. didn't have enough x2 greenies

brittle hornet
#

oh thats not bad

brittle hornet
#

there is a newv ersion of unity available, want to update?

#

its 6000.0.21f1 -> 6000.0.22f1

#

looks like some stability stuff and a few ui issues i have run into

#

the rest doesnt imapact us

vale plank
#

Sure, I'm down.

#

Let me check in a few things real quick..

#

I think my current changes will break opening the party menu but that's about it

#

Actually let me fix and ensure it works first

brittle hornet
#

No hurry to update

#

Let's check in first

#

ok

#

ive checked in the attack indicators

#

so when you finish it upwe can update

#

until then im going back to slotgun xD

vale plank
#

Okay. BIG push

brittle hornet
#

๐Ÿ˜ฎ

#

opening now

vale plank
#

UI needs a little more love, but here's the gist: Dynamic action UI ๐Ÿ˜ฌ

#

And can now assign multiple moves to use in a battle

#

Only a couple merge conflicts. Not too bad. Wonder how we'll handle pre-attack aiming with the way actions are setup, but i don't see it being too tricky

brittle hornet
#

great job

#

this is what i failed at for ten years

vale plank
#

OOF

#

It took me all day

brittle hornet
#

let me check how i can put my attack indicators in here

vale plank
#

If preAttack stuff was connected to battler instead of driver it would be easier since I'm passing battler when clicking the action buttons

#

Er.. i think it would be easier

#

I guess you could maybe do a GetComponent<PlayerCreatureDriver>().PreAttack() or something

brittle hornet
#

well

#

why are you passing battler?

#

let me look at how it works

#

and ill be able to talk about it lol

vale plank
#

I pass battler for attacks so that when Battler uses attack then it knows where to instantiate the attack

brittle hornet
#

I was thinking the driver should have the indicator because not all battlers need it (AI ones have no use for it)

#

I was thinking similarly for the UI

#

honestly, its easy to get battler from the driver script too

vale plank
#

Let me double check what PreAttack does

brittle hornet
#

it just creates an object centered on the battler

#

oh i see what you do

#

you just pass the battler on turn start

#

that doesnt really impact anything on the preattack thing

vale plank
#

I think no matter what, based on current setup.. PreAttack may have to store a reference to the attack we plan to use, and instead of Attack() using the prefab preset move, it uses the queued/stored move?

brittle hornet
#

except when you press the button it should call "preattack" on driver instead of "attack" on battler?

#

hmmmmm

#

i see why you cant do that

vale plank
#

Let me think a wink

#

So order of ops:

  1. You click the attack you want to use
  2. If it is a ranged move or something (idk if it's needed for all moves..) then we display the indicator
  3. You click left mouse to attack, or click right mouse (?) to cancel
  4. On Attack, use the move that was selected in step 1
brittle hornet
#

yea, which can be done by:

#

just switching this to be based on the driver instead of the battler

#

but honestly, we seem to be integrating the battler and the driver together

#

maybe we dont need a driver?

#

if we just make the battler class have more functionality

vale plank
#

I think Player drivers are small enough that could be done, it really comes down to the EnemyDriver.

It could probably be handled... By creating a new class that just handles all AI stuff, so in Battler

if (isPlayerController).. let player do stuff
else.. AIController.Instance.MoveAIBatter(this);

or something

#

I think I like the idea of consolidating drivers with battler... We just have to be sensitive to player and non-player overlap

#

Just lmk what you want me to focus on next. I'd prefer to veer away from UI for a little.. Been a pain, LMAO. But I don't mind... That feels like the main thing that needs doing right now..

brittle hornet
#

ui is always horrible

#

but i do think we need to make

#

like

#

a diagram

#

because i think we are blurring the lines between what each script is supposed to do

vale plank
#

I can agree with that

brittle hornet
#

im ok with removing drivers if we want it to all be in battlers

#

because there is a lot of

vale plank
#

Yeah, I'm down for that. If you want to refactor it, lmk. If not, I can tackle it

brittle hornet
#

driver.GetBattler()

#

well i think we should diagram it first then refactor lol

#

xD

vale plank
#

oof. understandable

brittle hornet
#

ill try to do a diagram once I get off of slotgun

#

im adding in slotgun heros right now

vale plank
#

heck yeah

brittle hornet
#

hoping to finish by steam next fest on monday

vale plank
#

Do they have unique abilities or different starting decks?

brittle hornet
#

both

#

and an ult

vale plank
#

Broken

vale plank
#

@brittle hornet would it work better for you if we hopped in VC to discuss and go over architecture? Or we want to talk it through.. and each potentially work on a diagram?

brittle hornet
#

nah lets do it

vale plank
#

who? what? when? huh?

vale plank
#

@brittle hornet have 10-15 mins to hop in VC real quick to go over it? Or not tonight?

brittle hornet
#

sure

vale plank
#

@brittle hornet alright, the refactor is done. Tested to make sure everything works. Removed all Driver classes and updated Battler to be smarter. We'll probably want to clean up the entire script at some point to organize the different junk. Also don't know how I feel about the new AI script since in current implementation it will pretty much only have static functions.. So idk if we want to just make it a MonoBehavior and make an instance so we don't have to worry about that, but it may not even be an issue

#

Also a bug that we'll need to address at some point: Aiming works, but the offset of the move is based off of the battler forward instead of the aimer forward, if that makes sense. So if you are standing sideways and shoot Strike Shot, z offset of the attack is 1 or 2, so the attack originates a bit in front of the battler and is a little tricky to aim..

#

Actually changing the transform that is used from the battler to the aimer just seems to work

#

Anyway.. all checked in. Gonna look at maybe adding obstacles or new moves or something

vale plank
#

Adding framework for Statuses

brittle hornet
#

are you doing it the gamedev experiments way or custom?

vale plank
#

I hadn't looked at GameDev Experiments tbh. I'll take a quick look now

#

So I was definitely not doing it the way GDE does it. I hadn't established a DB class for status yet.. Was just creating the main status constructors for now and putting a new status list on Creatures so you can have multiple statuses at the same time.. Hadn't fully thought through implementation of status effect triggers and stuff just yet

brittle hornet
#

Its ok either way

#

I just was wondering

#

His way has some interesting ideas

vale plank
#

I only skimmed it.. What ideas in particular?

I like the design of the condition dictionary. Idk if we would want our statuses to trigger or whatever.. after the battler turn or at end of round or what

#

Looking at the Sleep and Paralysis one now. Also cool\

brittle hornet
#

Yes the DB

vale plank
#

I'm gonna check in changes I've made. Found a bug where if Cheetah defeats a Gazelle and that Gazelle's turn was next, it will treat the inactive battler as though it is still active.. And show the action layout ui.. Obviously clicking or trying to use any action causes a crash. I imagine issue is caused bc of race condition with events, or some other weirdness happening in BattleManager...

#

Implemented MP stuff and only allowing one attack per turn by the player

#

It all works except for that one bug, as far as I can tell

#

Started on status and StatusDB as well

#

Though Condition may ultimately be a better name for it..

vale plank
#

Okay, took a nice break. Back on the grind. If you're free for a few minutes and want to go over what was done and discuss next steps, just lmk. Probably going to try fleshing out moves and stuff a bit more

brittle hornet
#

youre going ham

#

I have been at real life work all day

vale plank
#

oof

#

I 100% think the bug I mentioned up above is a race condition issue

#

I need help with unity coroutines, pls

brittle hornet
#

hahaha

#

ok

#

let me try to open

#

work supposedly ends in 7 minutes

vale plank
#

bet

#

No rush

#

Trying to learn..

#

learning hurts

#

taking psychic damage

vale plank
#

I have no idea how to fix it. brain hurt juice is affecting me

#

based on the debug log, it looks like loading layout ui and removing the battler from the active battlers is happening simultaneously, but the layout stuff technically triggers first

#

i have an idea

#

I think I fixed it

#

I'm HOPING it does not become a logistical nightmare later, but I think it logically makes sense and fixes this weird bug

#

Alright, I checked it in. It's a two-liner in BattleManager in BattlerDefeated func

brittle hornet
#

Lol great news

vale plank
#

Why is default cheetah level 12 ๐Ÿ˜ฉ

No wonder it's so difficult to defeat with a level 3 and 4 Gazelle.. lol

#

Looking at the code, I'll be frank.. idk how it's setting the level to 12 unless there's something setting the xp to 2000 for some reason

#

Oh, wait

#

It's in the prefab. Set to 10 but the 2000 XP bumps it to 12 on startup

#

Bumped it down to level 7. Cheetah's stats pretty garbo, but it feels more even in a 1v1 now

#

gonna try and sleep now.. hopefully through the storm.. hopefully no issues.

lmk if there are any developments or if there's anything crazy/bad about what I checked in today ๐Ÿ˜ฌ ๐Ÿซจ

brittle hornet
#

Will do. Good luck on hurricane

vale plank
#

Can't sleep. Stress eating. If you get a chance to take a look tonightโ€”no problem if notโ€”please lmk top 3 things you think should be worked on next.. I started on Status and Obstacles but didn't get very far. Was kind of putzing around after the refactor

brittle hornet
#
  1. battlers stopping when they reach close enough to their destination
  2. something for the player to do after summoning everyone
  3. run from battle?
#
  1. gamemanger pulling in other battlers
#
  1. a battle boundary when the fight starts
vale plank
#

Okay. Those are good options.

  1. For this one, is this for AI battlers?
  2. (3) I think currently encountering a mon removes it from the overworld. If you run, should it stay gone, or reenter the overworld?
  3. (5)Pairing this with #3, should we make running an auto thing when you leave the battle boundary? You get to it and it gives you the option to run? Something else?

These don't need to all be answered now, but first things that came to mind

vale plank
vale plank
brittle hornet
#

I think that's all we needed

#

Since attacks have range

vale plank
#

If we are okay with enemies only ever using one move. If we gave them access to any moves they learn from level up, we'll have to make AI significantly smarter. Or at least a decent amount smarter

#

But that can be a future thing

#

I'll either take a look at number two next (more things for player to do after summoning) and maybe figure out how to prevent summoning everyone in one turn and summoning more than 2 mons..

For other things player can do, you think thinking spells/buffs or something? Or items? Or curveball: capture, lol

brittle hornet
#

I think capture would be cool

#

But also maybe buffs

#

Pokemon buffs are usually not very noticable, so we may have to tweak the values

vale plank
#

Okay. Buffs and debuffs will require putting in that framework since rn it's strictly base stat calcs. No problem tho

#

I'm tempted to leverage status for buffs/debuffs

#

Give them turn limits

brittle hornet
#

Yeah I agree

brittle hornet
vale plank
#

To my knowledge if you run from combat the creature reenters the world as an interactable entity again. Given this is based on Pokemon more than BG3, we can take creative liberties. Like running from trainers is probably a no-no.. And running from certain mons may result in them re-entering the overworld? Like "legendaries" or special encounters?

brittle hornet
#

yea

#

for now since these are base case wild battles lets just let them disappear

vale plank
#

Took a nice midday break. Back on the grind.. @brittle hornet have background music recommendations? I'm not picky

brittle hornet
#

I have a lot of asset packs

#

let me see

vale plank
#

I meant to listen to while working, lol

brittle hornet
#

ohhhhhhhhhh

#

lol

vale plank
#

I ended up going with Sonic Adventure 2 Battle ost

brittle hornet
#

I use this

#

All Dance with the Dead music and merch available here: https://dancewiththedead.bandcamp.com
Track list:
00:00 - March of the Dead (Intro feat. John Carpenter & Cody Carpenter)
2:01 - Firebird
5:35 - Hex
9:15 - Sledge
12:40 - Kiss of the Creature
16:25 - Wyrm of Doom
20:46 - Start the Thaw
24:58 - I'm Your Passenger
28:55 - Nebula
34:33 - A New...

โ–ถ Play video
vale plank
#

I'll take a listen shortly ๐Ÿ‘€

I think I almost have "only send out one mon per turn" setup

vale plank
#

Okay, checked in change so can only send out 1 mon per turn. Overhaul to allow switching and to limit number of active mons may be what I do next.. before starting on other player actions

brittle hornet
#

nice

#

i feel so behind

#

BUT I LIKE TALKING ABOUT GAMES

vale plank
#

Lol

#

Lmk if/when you want to have a mini "scrum" to go over stuff. I'm gonna keep chipping away

brittle hornet
#

honestly i have the same problem at work

#

i love talking about work

vale plank
#

it's fun to talk about things you are passionate about

#

probably

brittle hornet
#

xD

vale plank
#

depends on the audience

#

er participants

brittle hornet
#

I probably can tonight

#

jer is not available tonight haha

#

so i might catch up on slotgun

vale plank
#

fair enough, just lmk ๐Ÿ™‚
QQ: Is there an easy way to change out battler prefab lod stuff? Like to make another battler prefab to test mor monsters

brittle hornet
#

we could make another prefab parent that just doesnt have a model

vale plank
#

That probably works. Right now it's just a little tedious - new prefab using the model, drag the Battler prefab thingy to it, and put dependencies on the new battler prefab, like Battler component

#

We could also potentially do it all with code.. But that seems like a lot of work

brittle hornet
#

yea, we could put it in the scriptable object

brittle hornet
#

maybe we should make a bit of a GDD now

#

since we messed about a bit

vale plank
#

๐Ÿ‘€

#

We definitely could

brittle hornet
#

it would help to have design pillars at least

#

unless we want to just explore technical side a bit longer

#

im a fan of free form dev as long as it feels right then stepping back

vale plank
#

I'm... indifferent, I think

vale plank
#

Checked in a couple new mons and attacks. Nothing fancy yet... Attack stuff probably gonna need a lot of work to do stuff we've discussed, like creating objects, creating lingering areas of effect, and setting status.

vale plank
#

@brittle hornet ngl i feel myself losing steam. Maybe this was too big a first project in Unity ๐Ÿ˜ฉ

#

This is not an "I'm giving up".. Just recognizing it'll take more discipline to pursue given how long it will take

brittle hornet
#

yea it is a big one

#

i think focusing on the battle engine as a prototype is all that we have to do for it to be succesful

#

dont worry about committing to the entire game

vale plank
#

Okay

#

I was just trying to establish what remains for the prototype

brittle hornet
#

it might help to focus on one specific experience and see if we can make that happen

#

like

#

thats why i was kinda talking about pillars

#

like

#

maybe the experience is just a straight map with a boss at the bottom

#

and 10 moves to choose from to kill him with

#

and like 3 enemies in the build up to him

#

idk

#

it depends on if we want to cut cut cut to get something working

#

like you could literally just have 3 fights and a boss, no overworld

#

maybe im going to far already

#

we can cut cut cut later

#

for now we should think of like 3 words and/or concepts we want the game to have

#

and then figure out what we need to add to get there, and what is not actually required to get there, and just cut everything else

vale plank
brittle hornet
#

yea

#

and the main experience you are trying to give is the battles

vale plank
#

And the fights are maybe against wild mons.. that you can choose to fight for xp, fight to try and capture to add to your team for final fight, or run from to avoid losing hp (at the expense of no levels/xp or new member)

brittle hornet
#

so then the question is, what do we absolutely have to have in the battles for them to be our idea and fun

#

i know we model after baldurs gate in a way

#

are those fights fun because of the freedom of option?

vale plank
#

So basic battling and xp gain is covered.. We can make mons relatively easily, same with moves.. Would be nice to add some diversity in movesets, but not 100% required since we can kinda control usage of moves via MP

brittle hornet
#

strategically outsmarting your oppenent?

#

choosing the right move in the right situation?

#

creating a plan and executing it perfectly

#

because they are flashy?

vale plank
brittle hornet
#

so then moves are probably important to us

vale plank
#

Yeah

brittle hornet
#

like having a lot of moves

#

and then making the enemies behave somewhat randomly, so you can have a reason to use different moves

vale plank
#

Right

brittle hornet
#

if the enemies all behave as they do now, there will be 1 simple and boring strategy to beat them

#

so we need to somehow get randomness

#

preferably for cheap

#

that motivates us to use other moves

#

i think

#

maybe there is another way to get the player to use a lot of moves

#

like

#

maybe the moves chain together somehow

#

or reusing a move weakens it

vale plank
#

So like staling in smash bros

brittle hornet
#

im just thinking, if we want one of the main draw of battles to be you have this big set of moves, you need to have a reason to use them all

vale plank
#

Let's approach this from a slightly different angle maybe

brittle hornet
#

ok

vale plank
#

Similar

#

But different

#

So let's say we start the player with 2 mons, one that has mostly physical moves, one that has mostly ranged moves. The first enemy they fight maybe has a move that lets them "blink" to other parts of the battle area or something. Or maybe it has a status move that causes poison guaranteed? Idk

brittle hornet
#

these kind of specifics are good

vale plank
#

I think maybe we encourage using diverse moves by making the different fights almost like little "puzzles"

#

Like the blink ability really helps in chasing down the enemy on the second fight, or the second battler has super high defense that the poison damages through

brittle hornet
#

i do think it would also be good to have your characters have setups and payoffs with each other

#

so like one player can pull aggro and one can do big dam

#

or one can buff the other

#

or one can trap the enemy for 1 turn and the other hit it

#

that kinda lends to puzzley things too

#

like

#

i need to position them both and use the right moves to get the payoff

#

ok, so we have "lots of moves" and "puzzly fights"

vale plank
#

Lol

#

Yeah

#

I think establishing the moves we are interested in implementing would help us determine what puzzles we want to make.. or maybe we decide on the puzzles then make the moves?

#

I just know that moves will need an overhaul

vale plank
#
  • Move that pushes the target away
  • Move that pulls the target closer
  • Move that traps the target and prevents them from moving for X turns
  • Move that sets an area of effect on the ground for X turns that heals mons in it that end their turn there
  • Move that sets and area of effect on the ground for X turns that halves mon speed when they move through it
  • Move that applies atk buff to a mon
  • Move that applies atk debuff to a mon

more..?

brittle hornet
#

i think thats solid

#

the push and pull is interesting

#

especially if we have aoe moves, positioning the enemies could be cool

#

sorry, i had to go deal with a plumbing issue in the kitchen

#

xD

vale plank
#

No worries

#

I think push and pull should be relatively easy to implement if we just give the moves a new component that applies an impulse, maybe? I'll take a look today to see what the diff might be

vale plank
#

@brittle hornet simply attempting to add a force does not appear to be working.. don't know if navagent conflicts with AddForce on Rigidbody, or if I'm applying force incorrectly (I tried changing Rigidbody to Kinematic, for what that's worth), or what. I can check in what I have if you want to take a look.. It doesn't break anything.

#

Oh wait

#

It might be the navagent

brittle hornet
#

We probably have to turn some things off to let the force work

vale plank
#

I think I almost have something that could be considered usable

vale plank
#

Okay, checked in KnockbackSource. Setup what felt like decent mass and drag for the different creatures we currently have.

Hydro Splurge (move on Sea Lion) pushes enemies away now.

Strike Shot (Gazelle) pulls enemies towards you now.

brittle hornet
#

I love it

vale plank
#

It's not very clean, but checking in an almost okay version.. Of an AOE effect for healing. It's not healing just yet.. Something wrong with its triggers for some reason.

vale plank
#

Alright, created a not-very-scalable version of an AOE field effect and implemented a Healing Circle attack that you can use to spawn a healing circle that will heal you by 1/8 of your max HP if you end your turn in it.

#

It's checked in

brittle hornet
#

Nice

#

Jer and I are going back into chat soon

#

For the marathon

#

We took a lunch break

vale plank
#

okay, sweet. I was wondering where everyone went..

vale plank
#

Okay. Added a slowing circle attack as well that doubles rate at which distance walked by a battler goes up when they walk through it. It's very easy to bully Cheetah now if you combine the slow circle from Hog with the pushback projectile from Sea Lion

brittle hornet
#

this is a good one for us

vale plank
#

Okay, I'll take a look. Took a break for nowโ€”buffs and debuffs and "paralyzed/stopped" all probably weigh on the Status stuff which I'm putting off ๐Ÿ˜…๐Ÿซจ

brittle hornet
#

its about using other games to develop your ideas

#

which i htink we are 100% doing with pokemon and baldurs gate

vale plank
#

Yeehaw!

#

What about Pinball x Tower Defense?

#

Sorry, realize that's off topic, but the idea came to me while driving home from Publix

brittle hornet
#

Hahaha

#

My favorite genres/themes are

#

Fishing

#

Trains

#

And

#

Pinball

vale plank
#

Fishball

brittle hornet
#

pinball tower defense would be cool, kinda like odama a little

#

but less yelling

vale plank
#

Idk what odama is

#

I'll look it up

#

What a silly looking game, lol

brittle hornet
#

It was voice controlled

vale plank
#

Oh no

#

I had an idea for a fishing game not too long ago.. where different lures would be associated with different mini games.. So you would cast a line, and different lures can catch different fish, and you have to win the mini game or whatever to catch the fish. So like one mini game could be a 2d fighter associated with the Brawlure, and your bait would have to defeat the fish on the line. Working title was The Ultimate Fishing Mini Game Fishing Game

#

But it was going to be.. probably a big game. Though working on one or two small minigames at a time made it seem almost feasible

#

Battlure - your bait or bagged fish fight the hooked fish in an old-school gen 2 pokemon battle-type fight

Gamblure - Gotta win in poker or blackjack or something (or Go Fish, kek), or maybe it's just slots/roulette and based on how much you cash out you get a specific fish

Allure - Dating mini game with a fish whose heart you are trying to catch

Cutlure - Scyther/Pinsir cutting minigame from Pokemon Stadium 2 but instead of logs it's fish or something idk

#

The list goes on

vale plank
#

Okay.. Assuming I have time tomorrow, I will work on Status stuff and try to setup an Atk Buff, Matk Buff, and Stun status to test.

After that I think would be improved AI... And maybe after that setting up basic trainers with mons they can send out.

vale plank
vale plank
#

Might be worth considering using a true outline shader over the ground highlight selector obj since it falls more in line with BG3, and it could be useful to know character locations through walls: https://ameye.dev/notes/rendering-outlines/

brittle hornet
#

i tried to do this in monster path so i could make rods hidden by objects

#

but i needed to be in the HD render pipeline

#

i wonder if this requires that too

#

ill have to watch

vale plank
#

Unrelated, but I was giving the demo a bit of thought yesterday.. the straightaway with 3 mon fights into a "boss".. And what if one of the benefits to only fighting and not catching new mons is that the Sea Lion (part of starting party) will gain enough XP to level up a time or 2 and evolve into the Walrus if used in each of the fights leading up to the boss? Idk if we care enough to change the walrus's texture to be bluish like the sea lion, but just a thought.

#

Also something that came under consideration... was instead of learning set moves at certain levels.. to have a skill tree that the player can spec skill points into (each creature gains at least 1 skill point each time it levels up) and the skills can teach new moves, or maybe they also give stat buffs or something, idk. Though that might not fit in scope for the proto

vale plank
brittle hornet
#

Agree on 2

#

The rest I have not used a lot

vale plank
#

I imported SerializedDictionary already. You can see it in either the CreatureBase or Creature, I forget.. Idea was to pair level with learnable move, but if we went with a skill tree/skill point system to unlock things, that might not be needed

brittle hornet
#

yea i noticed that

#

its smart

#

ive written custom solutions to that in the past

#

_>

#

5 looks op as well

#

another one ive used before because it lets you call functions on demand

#

is

#

quantum console

vale plank
#

Ooo, that one's neat

brittle hornet
#

its nice because you can call functions without making ui

#

to check they work

vale plank
#

That's very nifty. Granted, a part of me just likes to work out the UI since i need it anyway.. But useful nonetheless

vale plank
#

@brittle hornet apparently Unity 6 has officially released

brittle hornet
#

oh nice

#

lets upgrade xD

vale plank
#

Not sure I'll have time tomorrow to get back to this, but Tuesday for sure I can put a couple hours in

#

Status is next, I think. Has an idea to add a variable to Status (bool isStacking or something) where if true, the status would have its active number of rounds updated if that status would be applied when the status is already applied.

So if burned, burn has 2 rounds left, and burn would be applied again, then the number of burn rounds increases by however many rounds the attack that was used should increase/add, if that makes sense

brittle hornet
#

I like that

#

I am traveling for work this week, so again im not doing anything >_>

vale plank
#

I made no progress yesterday. Hoping to actually make a little headway today, but Rivals 2 is scheduled to release around noon for me, so we'll see

brittle hornet
#

lol

#

how is it on release

#

any changes?

vale plank
#

Nothing super notable. Lobbies maybe seem a bit more stable so the game doesn't crash on match start?

Aside from that, nothing I've really noticed

brittle hornet
#

ok i got some kind of break

#

im donwloading unity 6

brittle hornet
#

just pushed it in the new version

#

no changes

#

the battle system is way better

#

with the moves you added

#

i think we just gotta fix some usability things

#

like rotating in place quicker, not pushing other entitities, etc

#

then it will be much more of a shallow vertical slice of battle

vale plank
#

Okay. That shouldn't be too difficult. I think in addition to statuses, I really want to add a targeting feature so you can cast a spell/attack on a specific location (like the healing circle) instead of it just spawning in front of you or on top of you

brittle hornet
#

i just pushed movement tweaks

#

if you are within 1 unit of them you dont move, only rotate to face them if you click to move

#

the rotation feels way better than the built in navmesh rotation

#

so maybe we should always handle rotation....

#

xD

#

a lot of magic numbers though.....