i like the idea and designs, keep up the good work :D
@CurryOnRice9 ай бұрын
Thanks friend!
@javierdurini5 ай бұрын
Dude this is right up my alley when and if this comes out im buying it
@CurryOnRice5 ай бұрын
Thank you!!
@bertiedev64784 ай бұрын
I have a sudden urge to play jetpack joyride..... Awesome devlog btw, i love the balance of gameplay/tech!
@CurryOnRice4 ай бұрын
I wonder why ahahah, thank you for the comment!
@NonhostileNPC7 ай бұрын
Card ideas: Turdo: a turtle who when dies turn into a shell which could be wear by other card to improve their defense or what ever you like. Here is one of my random ideas I hope you could add some special card that will involve like when you first place it down it an egg and the next round it’s a baby dragon etc and ultimately become a extremely powerful game changing card. If you upgrade maybe you could speed up the time needed to fully involved or maybe it can make it skip stages and just start on a stage.
@CurryOnRice7 ай бұрын
Those are some good ideas! Thanks for the suggestions
@NonhostileNPC7 ай бұрын
@@CurryOnRice ;) very exited for the game
@skatemancory22218 күн бұрын
Awesome video! If this is not too much to ask, I'm wondering if you can please share an example of how you use the GameAI code in your GameState/Game code. I feel like I have it mostly implemented in my code, but I'm running into some sort of infinite loop because I don't think DoMove is properly handling ending the turn and swapping to the other player when "End Turn" is selected. Been looking everywhere for some sort of sample code, but this is the only video I found that uses it 😅Echovale looks really neat so far watching all your devlog videos! Keep up the great work!
@Pirochiro8 ай бұрын
How do you handle the player turn during the simulation? Do you give the CPU player access to the player's hand and deck for the look ahead or does it generate dummy data or something?
@CurryOnRice8 ай бұрын
That's a great question. The CPU player DOES have access to the player's hand, though I shuffle their deck (so they dont draw cards in the same order in the simulations). This makes it a cheating AI, though there are ways around it that I'll implement when I rework the AI. Namely, you can reshuffle their hand into their deck and then redraw that many cards, such that in each simulation, the player's hand is a new sample of cards from the deck (and therefore, the AI doesn't know the actual player's hand for the simulations) - this is called Information Set MCTS (IS-MCTS). This all still implies that the AI has access to the player's decklist, but I find that much more reasonable (players normally know what kind of cards are in the opponent's deck, anyway)
@Pirochiro8 ай бұрын
@@CurryOnRice ah thank you so much!
@CurryOnRice8 ай бұрын
@@PirochiroNo worries, friend
@CurryOnRice9 ай бұрын
Thank you for all your support everyone! If you want, wishlist Echovale on steam: store.steampowered.com/app/2815180/Echovale/ or join the discord: discord.gg/AVY6Um4kjG
@rlwarner7775 ай бұрын
I think it would have faster load time with resources instead of json.
@CurryOnRice5 ай бұрын
Hi! I appreciate the comment, but: 1) i don't think that's the case (they're both just text files) 2) i can't use resources with c# 3) it's not relevant in this case since i'm preloading all the card data into memory anyway Godot's resource system is great but I'm trying to avoid it as much as possible and keep everything with jsons so that the game can be modded easily
@rlwarner7775 ай бұрын
@CurryOnRice I failed to mention that resources support multi-threading. See the load_threaded_request method. I figured you would need to use resources due to the many limitations of json, such as needing to custom convert the text into variables, which is prone to spelling mistakes. The other limitation of json is that it makes it much harder to code all the card effects these types of games are known for. Resources would be my choice because they can hold signals and methods. For example, you could have a monster card that sends a signal to draw a card when it gets destroyed.
@CurryOnRice5 ай бұрын
@@rlwarner777 Thank you for your insightful comment, I actually didn't know about multi-threading for loading resources or about resources holding signals. All the card game logic is handled via pure C# (i.e. with no calls to Godot's API), so I wouldn't be able to use resources even if I wanted to. The card effects are actually handled via half-hardcoded C# scripts. I say half hardcoded because the technical implementation is actually fairly good and not prone to issues, but the next step would be to use source generation such that I could have a custom C# script for each card (which would also make the game moddable enough to be able to add your own cards into the game). I think your approach is good, but the way I've handled everything is the best way to have high-performant AI.
@Frandibujacosas6 ай бұрын
Woah your project looks like so cool! Please share with us how to code something like this! I wat to learn :D
@CurryOnRice6 ай бұрын
Thank you! There’s a good Godot slay the spire-like tutorial series out there on youtube that i recommend! What I’m working on is a bit more complex but those tutorials are a good starting point!
@TexanFoxx7 ай бұрын
damn is gdscript really 10x slower than c#? :/ do you think it'll likely get fixed in the future? are you using just c# for this part or for the rest of the game going forward?
@CurryOnRice7 ай бұрын
it’s not really something that can be fixed, it’s just the nature of the language. For most applications, it doesn’t really matter, but for things that require heavy computing, like card game AI, it makes a big difference. In theory, i shouldnt really need to use c# again for anything else, and using gdscript is much easier
@TexanFoxx7 ай бұрын
@@CurryOnRice Ah, so you are just using it for the card game AI. I'm brand new to game dev, and didn't know if the engine could just swap back and forth as needed. That's very useful information. Your game and updates look sick man, I'll probably come join the disc when I have more time to actually contribute.
@CurryOnRice7 ай бұрын
@@TexanFoxx Yup. Using two languages isn't actually very common, since operating between the two can be tricky. Luckily, for a card game, it's not too complicated. And thank you! Feel free to drop by anytime!
@Domse654 ай бұрын
you should have compiled the game to an exe and then played it on your moms pc. Just running from the godot editor It attaches a debugger and doesn't do as much optimizations and slows down the performance
@CurryOnRice4 ай бұрын
that's actually something i didn't know, but i actually did try to run a compiled version at first. i was having some issues though with exporting from godot, and didnt really want to bother fixing it, which is why i ran it from godot directly
@Domse654 ай бұрын
@@CurryOnRice well you did the worst case scenario so it's not bad :D Maybe it's smart and doesn't attach debugging and does optimizations everytime, but as a general practice it's best to test this sort of stuff on a compiled finalish exe file
@PaahtimoGames9 ай бұрын
Great video! Is Godot good choice for card/UI focused games? I am thinking of using Godot for my next game which is also a card game.
@CurryOnRice9 ай бұрын
hey friend, thank you! in my opinion, it's a great choice (especially if its 2d), godot is great in general, very intuitive and way more lightweight than unity/unreal. its node system works pretty well for card games too. the only scenario for which i wouldnt recommend it is for demanding 3D games, which probably wouldn't be your case. ive recommended this tutorial multiple times already, it might be worth looking into: kzbin.info/www/bejne/q53KmZKkmrl9fZo
@PaahtimoGames9 ай бұрын
@@CurryOnRiceThank you! I will check those!
@cyber_habanero5 ай бұрын
@@PaahtimoGames Godot is even good now for 3D games, I use it for VR too, where it is not on the UE level yet, but open source and advancing on every new engine version.
@kati8709 ай бұрын
you probably already have better ai than ubisoft npcs
@CurryOnRice9 ай бұрын
Ruthless lol, thanks for the comment
@imhuman51186 ай бұрын
Card idea wheat guy: for every card the player have he got +1 atc hp3 atc5
@CurryOnRice6 ай бұрын
Good idea friend!
@imhuman51186 ай бұрын
jaycon the bacon 1:20 or non halal animal siners meat also im muslime and this is not racism it is the troth