Making My Own Roguelike Game With Bow Combat - Devlog #1

  Рет қаралды 52,559

TIMBER

TIMBER

Күн бұрын

Пікірлер: 191
@fredxvi
@fredxvi 3 жыл бұрын
Enemy concepts: A Tanky boy who can take the arrows and prevent any non charged or non perfect arrow from piercing A Support enemy who can protect enemies near themselves by blocking arrows, but cannot protect themselves and always runs away A enemy healer A long range enemy archer (Just like you) A enemy that splits into more enemies (slime) Other Ideas: A combo system for piercing enemies A Score System Points that can be used for money Arrow Upgrades
@breadslap2552
@breadslap2552 3 жыл бұрын
I love the enemy piercing combo idea. It adds a layer of depth and skill when you get rewarded for lining up your enemies before attacking. Perhaps enemies only drop health if they are killed in a piercing combo.
@pliniomourao
@pliniomourao 3 жыл бұрын
With the idea of the "Support" enemy. Could add a "trick behaviour" where one enemy can aim at the Support enemy in order to reflect the arrow fired by this enemy, creating a new angle for the player to avoid being hit.
@michaeljames9548
@michaeljames9548 3 жыл бұрын
Boss Idea: A copy of the player which when aggroed, mirrors all of the players actions with a 1 sec delay; ex: player shoots an arrow at the boss (who is horizontal to the player at all times (though a significant distance is maintained from the player so they don't just point blank fire at each other. )) The boss is hit by the arrow, takes damage, and then fires an arrow back towards the player at the same angle. The boss is only reactive (this works because the player must defeat the boss before moving on to the next level.), and has all gear and upgrades that the player has, thus the player must learn to dodge their own attacks. This better's the players knowledge of their kit as they get to play against it, and allows them to see their good and bad tendencies. It would work fairly well for a first boss as it would mean that the player has to have a significant understanding of the game, it's mechanics, and how they themselves play the game, in order to move on to the next level; a sort of "final tutorial". Before they move on to harder stages. Maybe afterwards the boss returns as a less-common enemy or mini boss to allow the players to check their progress? Idk, sorry for the word-wall, let me know what you think if you don't mind though?
@timberdev
@timberdev 3 жыл бұрын
This boss idea is quite cool and definitely interesting. I don't know if it would fit a roguelike game very well but I will keep it in mind and maybe test it out! Thanks :)
@revimfadli4666
@revimfadli4666 Жыл бұрын
@@timberdev it does sound like the Copycat special enemy found in some roguelikes
@Frost-nc8jg
@Frost-nc8jg 3 жыл бұрын
I am really liking this so far. Maybe something to add would be to dim the players light on the player model when health is lower. Good luck!
@KamranWali
@KamranWali 3 жыл бұрын
The game looks really kool especially the character model. The combat system is on point. Keep it up! :)
@glowglew
@glowglew 3 жыл бұрын
model?
@sadaroni
@sadaroni 2 жыл бұрын
*cool
@KamranWali
@KamranWali 2 жыл бұрын
@@sadaroni I meant to so kool. kool is cooler than cool :D
@sadaroni
@sadaroni 2 жыл бұрын
@@KamranWali i have realized what i have said 9 hours ago but I’m 9 hours wiser and i understand my mistake now and i have to say it really is “kool” (said in a wizard voice)
@KamranWali
@KamranWali 2 жыл бұрын
@@sadaroni 👍You are now a wizard Sadaroni. (said in Hagrid voice)
@CalebWillden
@CalebWillden 3 жыл бұрын
Beautiful art! So simple, but the shades of the polygons give it a great feeling of depth. The square particles and bow loading on the player are very satisfying as well.
@eyitsgallery
@eyitsgallery 3 жыл бұрын
Enemy Concept: An enemy that’s completely invisible, deals moderate damage, every now and again flashes and blinks into view. All you can see when invisible is the odd particle appear
@Skeffles
@Skeffles 3 жыл бұрын
This game looks great. I really like the simple art style and how the player eye follows the mouse around!
@unpleasentterrarian8475
@unpleasentterrarian8475 3 жыл бұрын
I really enjoy small programming channels they feel so relatable ig
@progress_games
@progress_games 3 жыл бұрын
This project looks awesome! As i was watching I was thinking 'This guy should play SNKRX', and then you brought it up! Man, I love roguelikes
@habibiFriedRice
@habibiFriedRice 3 жыл бұрын
You could add more bows as upgrades, which change how to arrows work. Some ideas are: -Explosive Bow, which makes arrows deal area damage -Hunters Bow, which makes arrows curve towards enemies slightly -Laser Bow, which swaps the arrows for laser beams that move super fast -Multi-shot Bow, which fires 3 arrows -Heavy Bow, which makes arrows move slower but deal more damage -Flaming Bow, which makes arrows leave a small fire trail behind it, damaging enemies
@memeboy4206
@memeboy4206 3 жыл бұрын
A cool idea for an enemy would be one that can reflect arrows
@StaredownGames
@StaredownGames 3 жыл бұрын
Yes! Just posted the same.
@noise_dev
@noise_dev 8 ай бұрын
such a clean, simple and amazing art! looks futuristic and soo dynamic. I love it! good job!
@anawan
@anawan 3 жыл бұрын
Wow, it's amazing how few lines of code and simple art/concept makes me want to play this so bad ! Keep up the good work !
@natemcaree
@natemcaree 3 жыл бұрын
Enemies: One that steals a powerup or stats from character and runs away with it, forcing you to hunt it down to retrieve your stats/power enemy that spawns in pairs. the pairs are on opposite sides of map and begin converging on each other. if they touch, they scale up to a stronger enemy. cool ability idea would be to drop a bomb that you can shoot to destroy. lead enemies through it, more enemies you kill with a single bomb more points = more shop spending = higher skill > reward
@goofyahhcat6673
@goofyahhcat6673 3 жыл бұрын
I have an enemy idea, well actually a boss one. The boss has large hitbox, a large amount of hp, really slow, and can spawn A LOT of the more basic enemies. By basic enemies I mean the ones that are really simple, fast boi, slow boi, normal boi, not the ones that have more mechanics added to them.
@quimtorra3981
@quimtorra3981 3 жыл бұрын
Maybe the arrows should just hit one enemy and then you could get a piercing upgrade or something like that? Or maybe just the super powered arrow would have piercing. Idk, just random ideas I got from watching the video. And about the graphics, it looks AWESOME, I love it.
@maplearchives979
@maplearchives979 3 жыл бұрын
That art style is fire
@gegenton3953
@gegenton3953 3 жыл бұрын
Oh I was hoping you continue making games and devlogs. Very glad you're back!
@lain_
@lain_ 3 жыл бұрын
Finally someone mentions Blazing Beaks, it's such a solid game but I've somehow never heard anyone talk about it.
@Nothing-ox5ke
@Nothing-ox5ke 3 жыл бұрын
Alright so first of all, I think you struck goal with the artstyle, it's very visually pleasing! And now for the enemy ideas, I thought about ones that would incentivise a certain approach to prevent players from just either charge shot or arrow spam at every encounter with no regard of the enemy type they're facing and such. I came up with two ideas: -A bigger enemy which would release projectiles from the spot where you hit them with an arrow. would incentivise charging your shot to decrease the number of projectiles you have to deal with. -An enemy with a rechargeable shield (about 3 seconds to recharge maybe?). The shield recharge gets restarted every time you hit said enemy with an arrow, would incentivise a more spammy approach. Both ideas could also be combined for an elite/boss enemy which would have a shield that deflects your arrows back into you. Preferably the speed of the arrow should be retained from the moment you hit its shield, which would incentivise trying to time it to hit the shield just before the arrow loses all its momentum. I'll be looking forward to updates on the game, it seems to have quite a bit potential.
@Infinite3D
@Infinite3D 3 жыл бұрын
love the art style, this looks amazing for the first devlog
@PixelbugStudio
@PixelbugStudio 3 жыл бұрын
Those particle effects makes it even cooler.
@mjvafadar2526
@mjvafadar2526 3 жыл бұрын
I have a character idea, how about an enemy which when killed turns into smaller enemies.
@shtick7800
@shtick7800 3 жыл бұрын
Enemy Idea (more like 2 in 1): There’s a boss who gets stronger the more you shoot them. Starting out being fairly weak but gaining more health, speed, and damage the more you shoot it. The other enemies are minions. By killing the minions, you can kill the boss. The two enemies spawn in groups together in a 1:10 ratio , if you kill all ten minions, you kill the boss enemy. The minions are really fast, but they deal a very small amount of damage. Enemy Idea: a smaller enemy who has a timed window for when you can damage it. 1 every 5 seconds that window opens, it takes about 3 full charged shots to kill. That’s about all I have for now, hope it helps
@andrewa471
@andrewa471 3 жыл бұрын
Great job dude. It looks awesome. And the video quality is great. Good pacing, nice sound, enough to keep me entertained and interested till the end.
@pocketlint4182
@pocketlint4182 3 жыл бұрын
Enemy Ideas: Explodes on death (possibly destroying some terrain?) Short ranged explosive attack Weaker enemy that spawns smaller versions of itself to swarm the player Has a shield or protected state Pierces terrain and obstacles Goes invisible for a brief period of time One that jumps high out of range before landing on top of the player Small, quick enemy that stops to charge a heavy attack Requires a "perfect arrow" to kill (Extremely rare, maybe just used for bonuses?) Just push you, locking you in frames for half a second or so to let other enemies get close Has a slowing effect on the player on hit I don't have a full grasp on what exactly you plan the game to be, or look like yet, but I hope that these suggestions are useful, either as an actual enemy or just something to spur your own imagination. I look forward to seeing how this game turns out :D
@eliusswordofblaze8866
@eliusswordofblaze8866 3 жыл бұрын
some ideas for enemies for this game: Healer - a green enemy that is slow with low health and damage, but it periodically releases pulses of green that heal all enemies within the AOE shooter - a yellow enemy that is fast with low health, tries to avoid you, and occasionally stops and fires three green bullets shielder - an orange enemy with a shield on one side of it. the shield turns very slowly, allowing you to kill it by sidestepping
@negative1up
@negative1up 3 жыл бұрын
A neat enemy might be the Dodger (the green diamond) from Geometry Wars. It comes at you at a speed slightly faster than the standard enemy, but will move away and attempt to "dodge" your attacks when you aim at it. So you can keep them at bay just by looking at them, but ignoring them or letting them bunch up can be extremely dangerous.
@migo70
@migo70 3 жыл бұрын
I love your style of games, very simple but very pleasing to look at!
@neongalaxy9976
@neongalaxy9976 Жыл бұрын
Never heard anyone mention blazing beaks! So underrated
@mynil
@mynil 2 жыл бұрын
I like the visuals of the game, you don't see this style very often in games. The game itself also looks promising. Keep going!
@devlawg701
@devlawg701 3 жыл бұрын
Been watching your videos since your work on Catch Me. You have a very nice, minimalist art style (at least that's how I feel). Keep it up! I think a few low hanging fruits you can pick up are: - exploding arrows if they are fully charged? - enemies that fire slow projectiles at you - player should be able to dash as well?
@timberdev
@timberdev 3 жыл бұрын
Thank you! I actually already added a dash ability to the player, I just didn't show it in the video. And I also though about different arrow type you could switch between. An exploding arrow is certainly a good idea. And a ranged combat enemy would also fit nicely. Thanks :D
@devlawg701
@devlawg701 3 жыл бұрын
@@timberdev awesome. cannot wait for the next devlog!
@mer4745
@mer4745 3 жыл бұрын
Love the video! Super underrated for it's quality, and the game looks amazing too. I'm a big fan of the style of it. Keep up the great work! 👍
@PabloGamedev
@PabloGamedev 3 жыл бұрын
Really nice work man, you have a really good taste for colors!
@lyagva
@lyagva 3 жыл бұрын
I think animations(on damage or shoot) should br faster. And here is some ideas for enemies: - Homing shooter - Sniper - Shielder (Create a shield field that stops your arrows) - Swarmer (Spawns small enemies) - Frog (I really like frogs) (Jumps at the 3 dimension towards the player and you cant shoot them while they jump). Please add frog.
@urcitenetom5017
@urcitenetom5017 3 жыл бұрын
frogs are devils, in noita ( rogue-like )
@lyagva
@lyagva 3 жыл бұрын
@@urcitenetom5017 Yes, but FROGS ARE COOL.
@urcitenetom5017
@urcitenetom5017 3 жыл бұрын
@@lyagva yeah, but immortal killing machines
@drchocolate6706
@drchocolate6706 3 жыл бұрын
I really like this concept, keep going!! A recommendation is to have a indicator for the player to see when need to press to get a crit, and the indicator could grow with items or something
@veryhungryprogrammer3620
@veryhungryprogrammer3620 3 жыл бұрын
Maybe a magnetic enemy? They could either be tanky and pull arrows towards them or weak but pulls you towards them. Either way looks cool and I think there's a big lack of bow and arrow games out there so I wish you good luck as roguelikes are so hard to make.
@selagia
@selagia 3 жыл бұрын
I love the graphics. Some sort of enemy that summons minions and spawns several of those minions when it dies would be cool. Looking forward to further development ;)
@a1x45h
@a1x45h 3 жыл бұрын
Holy shit I thought someone else was voicing the earlier videos in this channel. But it's you! Your voice aged like 5 years in the last 12 months.
@kobiquintana4987
@kobiquintana4987 3 жыл бұрын
wow game looks cool. I like the art style. Great work so far
@artsurock
@artsurock 3 жыл бұрын
Nice and satisfying gameplay, I really like bow animation, keep it up!
@DanPos
@DanPos 3 жыл бұрын
Great video! Looking forward to tracking your progress :) I love the input system, I recently put out a twin stick shooter controller using it and it makes it a dream!
@cecillewolters1995
@cecillewolters1995 3 жыл бұрын
Enemy idea: A somewhat slow blob that is immune to your arrows, but other enemies do damage it. So you have to use your enemies to kill this blob, before it kills you, giving somewhat of a added strategy to the game.
@tuvshinbayarmandakh7035
@tuvshinbayarmandakh7035 3 жыл бұрын
You are the most underrated youtuber I've ever seen.
@randomdud581
@randomdud581 3 жыл бұрын
Very awesome game. I wish i could make one like this!
@mohamedtaki8748
@mohamedtaki8748 3 жыл бұрын
You're so talented, keep up the great work !
@nivmiz0
@nivmiz0 3 жыл бұрын
Great work, looking forward to seeing more progress on this game, it seems awesome!
@kuwertzel8938
@kuwertzel8938 3 жыл бұрын
Awesome progress so far! Even though I personally don't enjoy rougelike games (except for the procedually genererated maps) I'm quite thrilled too follow the process of making this game :)
@graphic_mistake373
@graphic_mistake373 3 жыл бұрын
this game looks amazing so far tho I feel there should be some type of visual indicator to showcase when crits are possible I love everything else here tho and I cant wait to see what you do with this
@naternaterspaceinvader8217
@naternaterspaceinvader8217 3 жыл бұрын
I like the bow and arrow synch with the intro music lmao
@radio5637
@radio5637 3 жыл бұрын
Here's my enemy idea: a slow tank that has a short, ranged attack with more damage then the red enemies but less then the blues. And maybe it should be yellow-brownish
@inserthandsomefacehere9401
@inserthandsomefacehere9401 2 жыл бұрын
Looks so good with the art style
@mrlucky974
@mrlucky974 3 жыл бұрын
Enemy concept : green chonky boi It was a very good video, and I want to see more!
@gera8428
@gera8428 3 жыл бұрын
Would love to see tutorial videos about how you did animation with codes
@jacobnoelle8428
@jacobnoelle8428 3 жыл бұрын
An Enemy with an AoE sweep Attack would be cool to attack and an enemy with a front shield that act like a wall. Keep up the cool work (:
@ironbytes
@ironbytes 3 жыл бұрын
Hey, I just stumbled upon your channel and I have to say I love the simplistic art
@Hollowdude15
@Hollowdude15 Жыл бұрын
This video was so awesome to watch today and making a game is so cool :]
@sealedtugboat9965
@sealedtugboat9965 3 жыл бұрын
Maybe some kind of combo system with the critical arrows where if you land consecutive crit shots it slightly increases the crit window, increases the crit damage and has a cool effect.
@icoso
@icoso 3 жыл бұрын
Awesome stuff! Looking forward to the final product! :D
@arthuruiugamesbr9777
@arthuruiugamesbr9777 3 жыл бұрын
I believe that an enemy that shoots a destructible projectile that when lands somewhere or is detroyed by an arrow explodes dealing damage to all enemies and players.would be interesting idea because the player could use the enemy for his advantage and would try to avoid killing it.
@Developer_rapfa
@Developer_rapfa 3 жыл бұрын
hi great work, suggesting new enemy: 1) make an enemy with deathratle, after the enemy died , just make 2 smaller enemies, or explode , or slow the player if the player was in specefic range , 2) make an enemy which has shield around it, first player has to break the shield then the enemy is valurnable
@werdestconch23
@werdestconch23 3 жыл бұрын
First of all the art looks amazing for this type of game and you should really keep it. Second of all you could add an enemies that when "killed" makes more and more tinnier versions of said enemy, but the tinnier version are faster and hit harder. You should add a mall swarm of this enemies so that the person could be over run if they're not careful (The enemy would look nice with a green color). And you could always add an enemy that shoots like spit or acid or even breaks it's mandibles to shot at the player. Either way, the game looks dope and i hope you can keep working on it.
@pocketlint4182
@pocketlint4182 3 жыл бұрын
Looks super cool and the actual video was really well put together. That's a sub from me :D
@Obsides
@Obsides 3 жыл бұрын
Literally every game dev: "im gonna do this" "but it was harder than i expected"
@greenKac
@greenKac 3 жыл бұрын
Enemy idea : A enemy that leave mines behind him
@aashirisrar
@aashirisrar 3 жыл бұрын
Man, the game looks awesome! Keep up the good work! :)
@komakaze1
@komakaze1 3 жыл бұрын
Enemy idea: An enemy that is slow, has a slow rate of turn, but has a front facing shield that can deflect your arrows.
@raddelydackelydack
@raddelydackelydack 2 жыл бұрын
I think that an enemy that has a shield that can bounce arrows in front of it would be cool and for balancing the rnemy would have very low hp and turns around very slowly so you can get behind it
@GenaroDev
@GenaroDev 3 жыл бұрын
enemy idea: static enemy , can't move but shoots a blob/portal/area that slows you for a little
@Aques_Aquir
@Aques_Aquir 3 жыл бұрын
Looks alot like ape out! (Not in a bad way)
@eboatwright_
@eboatwright_ 3 жыл бұрын
This is super cool! I love the graphics!
@sevenrps
@sevenrps 2 жыл бұрын
I FINALLY FOUND SOMEONE WHO KNOWS WHAT BLAZING BEAKS IS IM SUBSCRIBING
@teardropinc5372
@teardropinc5372 3 жыл бұрын
I think it would be pretty cool if you make an afterimage to the dash for the blue boi.
@Tholuc98
@Tholuc98 3 жыл бұрын
u could make an enemy interpolating where u will go and chase that point. So that not all enemies just chase u in a similar way
@Shovel________________
@Shovel________________ 3 жыл бұрын
maybe a somewhat tanky enemy based around attack speed and damage over time. it would deal overall low damage per attack but if it gets in range it attacks very quickly and has a chance to poison you and slowly deal damage over time
@botronas6039
@botronas6039 Жыл бұрын
Blazing beaks mentioned 👍
@charithnirmal5823
@charithnirmal5823 3 жыл бұрын
You can use tweening library to achieve shrink enemy animation... good luck on your game
@Moonz97
@Moonz97 3 жыл бұрын
Love the idea. Looking forward for more!
@fartfish1880
@fartfish1880 3 жыл бұрын
The game looks great! Have you considered adding a small window of time where the arrow looks slightly larger on the bow so that that player knows that's when they'd get a crit?
@desawwww
@desawwww 3 жыл бұрын
Great editing and game 🙌🏼
@tatsuo2704
@tatsuo2704 3 жыл бұрын
i think if you're going to have a perfectly timed shot doing more damage there should be some sort of indicator, like a subtle flash otherwise players would just be guessing
@lyagva
@lyagva 3 жыл бұрын
And maybe some anagliph post processing with fish eye. I'll be really cool.
@cloudtender8813
@cloudtender8813 3 жыл бұрын
The intro looked like you made The roguelike Rythm based to the music
@yanchungcheung8053
@yanchungcheung8053 3 жыл бұрын
a enemy that jumps to air a cast a shadow to tell the player where would it drop
@firestorm_2048
@firestorm_2048 3 жыл бұрын
I had an idea for an invisible enemy that you can only see it when you get close enough edit: I also had an idea for an enemy that can only be hit in certain areas
@khaledtribes
@khaledtribes 2 жыл бұрын
God I love devlogs
@unityalexdev
@unityalexdev 3 жыл бұрын
Would love to see the video on how you make this kind of graphics
@MAInk-qs5pb
@MAInk-qs5pb 3 жыл бұрын
I know this is out of the blue and a weird idea but how about you have an enemy where it's super big you deal half damage it explodes and that the expression gives you damage and then there are little smaller versions of it with a lot faster but deal lot less damage and they can have different colors so you know oh this one has this power
@timberdev
@timberdev 3 жыл бұрын
Thanks, that's an interesting idea!
@artemvoituk1737
@artemvoituk1737 3 жыл бұрын
Enemy idea: Name:Umbra An enemy that has a bow like the player that can be interupted by damaging it and it has a dash on a cooldown
@wolfzeee823
@wolfzeee823 3 жыл бұрын
Yoo this looks sick
@gamemythYT
@gamemythYT Жыл бұрын
Why doesn't this have more views?! You gotta advertise your stuff somewhere!
@siavashaliyari8567
@siavashaliyari8567 3 жыл бұрын
lean tween or any other tweening library will make making animations way easier
@enricomoras4170
@enricomoras4170 3 жыл бұрын
A enemy that plants mines on its path. this way you will need to kill it before it fills the area with mines.
@DakotaVaughan
@DakotaVaughan 3 жыл бұрын
This is pretty awesome
@JoshCRE8S
@JoshCRE8S 3 жыл бұрын
dat thumbnail has addictives in it
@LuxrayLloyd
@LuxrayLloyd Жыл бұрын
Wow, you're a pretty smart programmer!!
@papasalvo
@papasalvo 3 жыл бұрын
I like the idea of a skill shot that makes ur arrow more powerful but Dont know I agree with its implementation here. So here's the thing most people who have played video games for awhile are conditioned to think that projectile based weapons with a charge up fire their most powerful shot at the end of the charge. Becuase it is a risk/reward system. So no one would ever think the way to get a critical shot would be firing when it's half full. On top of that lets be honest here most Rougelikes will get REALLY REALLY hectic the further you go in the game and its going to be neigh impossible to stare at that bar the entire time for every shot in order to time a critical. What I propose is a slight pivot. I've been playing alot of Hades recently and in that game they have a bow that has a critcal shot mechanic as well. The way it works there is that you charge the bow then at the moment you can do a critical a particle effect happens notifying the player when to shoot. Its easy to see in the heat of a fight and doesnt slow down the action. It also doesnt proc until the bow is fully charged with a slight amount of coyote time built in to allow the player to see and release for the shot. I propose u change it to be at the bows full charge with a built in 135ms (Average reaction speed for most people) of coyote time. Add in the effect of your character growing larger and a slight particle effect.
@timberdev
@timberdev 3 жыл бұрын
That is a very good and helpful idea. I agree that you should only be able to crit when or after the bow is charged fully. And I also wanted to make a clear visual effect to show the timing. Thanks a lot!
@papasalvo
@papasalvo 3 жыл бұрын
@@timberdev i just thought of a really funny item u can use in the game. Again I play a lot of hades and my favorite boosts come from the character Chaos. The reason being is that his boosts are really strong BUT they come with a downside that u have to deal with for a few rooms before the bonus activates. I think its fun and interesting to have a bonus like that. I'd suggest a bonus that will shrink your crit arrows down so u can't do as much crit damage but the more crits you land the bigger it will get over time till its like absurdly large but if you take damage it decreases in size again. If you're really good this item will be OP and hilarious to use and detrimental to a good run. If your ok at the game its still fun and useful
@timberdev
@timberdev 3 жыл бұрын
@@papasalvo Yeah thats quite cool! I will keep it in mind until I add upgrades :D
@aliburney4072
@aliburney4072 3 жыл бұрын
what about an enemy that can alter the trajectory of your arrows. so instead of going straight it curves around that enemy. that way players have to prioritize these guys otherwise they cant hit anything. they'd likely have cooldowns so they cant constantly alter where the arrow goes.
@frederickfreund1957
@frederickfreund1957 3 жыл бұрын
Nice quality!
@StaredownGames
@StaredownGames 3 жыл бұрын
This is cool! My enemy idea is simply one that deflects the arrow back at you. Maybe he catches it, spins around and throws it back at you. How do you end him? lol
@nilpunch2
@nilpunch2 3 жыл бұрын
Good looking, but i have some coding advices. Firstly, inheritance and god base class is bad idea for reusability. Decompose your base class to many small separate modules, such as Health, Moving, Attack etc. and use composition to make complicated things from small and simple components. Also, in code you use something called State Machine. And your realisation is not extensible neither reusable. There some good practice: replace conditional with polymorphism. Make your states from abstraction, and State Machine as separate module (decompose everything you can) And you can use DOTween instead of yours "smooth value" thing. This is not critical, just an option
@timberdev
@timberdev 3 жыл бұрын
Thanks for the advice! I will have to do some research for some things you said. But the thing about Decomposing classes, I now split my Character script into a Component that manages Health and one that manages Movement. Would you recommend that instead of inheriting enemy and player scripts from the character base class, they are completely separate?
@nilpunch2
@nilpunch2 3 жыл бұрын
@@timberdev Actually, the problem is way harder then it looks. Let's take Health class for simple example. In clean OOP there no things such as HealthManager, ManageableHealth or something similar. Health is not something, that manage health of your Player or other things. Health is actually representing the health itself. Health, for example, can have some Value property, can TakeDamage() or maybe can TakeHeal(), and health can notify outer world if its changed through events (we can easily display changes in Health with UI). Now, Health is really strongly decoupled from other classes. Health is just health, and not responsible for collision handling, not responsible for health regeneration per time logic and other stuff. Now other classes can interact with our Health by its methods, and we can connect other classes to our Health by directly passing Health to them with methods like Init() or through SerializeFields (if it MonoBehaviour derived class) or through constructor, if classes are dependent on Health, and connecting through events, if other classes is not depended on Health, but we are need to make them interacting (for example, one class handling collision with arrows and sending events when collision happend, other third class (they are called presenters or mediators) handle this event and transmitting them to Health method TakeDamage(), changing its value). This way, components are not connected directly and can be used in many different places. The place where all separate components connecting programmers called Composition Root. Your Player and Enemy classes in ideal would be Composition Root's, were all components composed, and don't contains any logic, just injecting dependencies and binding presenters. DI (dependency ijection) is base of any clean architecture, and DI is not DI containers, DI containers are not necessary at all (if you will deep dive into this topic). I tell you about so many hard things with my poor english, sorry for that. The topic is soo huge, I hope that at least a little of what I said will be useful or interesting
@timberdev
@timberdev 3 жыл бұрын
@@nilpunch2 I understand. I think I have a system similar to what you said. My Character class only contains health and has functions for taking damage and healing health. But it also handles stuff like death and everything that goes with that, like death effects. Maybe it is a good idea to split the health and character classes and just give the character a reference to the health.
@nilpunch2
@nilpunch2 3 жыл бұрын
@@timberdev You can actually incapsulate death state into Health with specification like bool Dead => Value == 0; or into Player or Enemy class with bool Dead => _health.Value == 0; It is not influence Health behaviour itself, it is just contract that relies on Health state. Usually this is good thing to keep some contracts in your code. With Health the contract can be "Value cannot be less then zero", and for Player "If Health is Zero, then i am dead". You can represent Death as separate class, that dependent on Health, or incapsualte this into Player or Health itself. This way you can extract some IHealth interface, that can provide some methods and properties of health, and decorate your Health with Armour, RevivingOnDeath or some similar stuff in roguelike style. This is one way to go about it, there many more. But keep it simple. I would like to see what you come up with. Your code is not bad at all :) Keep going and keep in mind some basic SOLID and DRY principles
Making A Boss For My Own Roguelike Game - Devlog #2
8:36
TIMBER
Рет қаралды 18 М.
Making it Loop - Arbalest Devlog #8
8:59
TIMBER
Рет қаралды 10 М.
Accompanying my daughter to practice dance is so annoying #funny #cute#comedy
00:17
Funny daughter's daily life
Рет қаралды 18 МЛН
How An Inventory Changed My Roguelike Game - Devlog #5
9:17
Creating a Scene for my 3D Pixel Art Game
5:01
t3ssel8r
Рет қаралды 1,2 МЛН
Switching Game Engines... Twice? - Devlog #7
10:55
TIMBER
Рет қаралды 86 М.
How One Change Made My Game Fun - Devlog #6
7:43
TIMBER
Рет қаралды 251 М.
The Trick I Used to Make Combat Fun! | Devlog
8:12
Game Endeavor
Рет қаралды 1,7 МЛН
Creating Upgrades For My Roguelike Game - Devlog #4
8:18
TIMBER
Рет қаралды 23 М.
How NOT to make an indie game
22:01
Lychee Game Labs
Рет қаралды 2 МЛН
How To PLAN your Game as a Solo Developer
16:26
Heartbeast
Рет қаралды 519 М.
Pixel Art Animation. Reinvented - Astortion Devlog
4:41
aarthificial
Рет қаралды 2,1 МЛН
Draw fewer tiles - by using a Dual-Grid system!
6:22
jess::codes
Рет қаралды 629 М.
Accompanying my daughter to practice dance is so annoying #funny #cute#comedy
00:17
Funny daughter's daily life
Рет қаралды 18 МЛН