Making a Turn Based Strategy Game in Unity

Поделиться
HTML-код
  • Опубликовано: 8 сен 2024

Комментарии • 94

  • @enigmaunleashed7
    @enigmaunleashed7 4 года назад +66

    Make more videos like this one please! I must learn how to make a game like this, its just amazing!

    • @AngusFan
      @AngusFan  4 года назад +10

      Thanks, I'll try to make more in the future.

  • @studyzen8836
    @studyzen8836 3 года назад +10

    I’ve already watched a tutorial on grid based movement- but WOW! The way you explained it really helped me understand what I was doing. I feel far more confident now that I could do this (or something similar) without needing step-by-step instructions

  • @mercantilistic
    @mercantilistic Год назад +5

    All the grid-related stuff was very good, I was hoping you would talk about the turn system of yielding to the computer and disabling player input and then yielding back to the player.

  • @ggbrowny
    @ggbrowny 3 года назад +4

    sick maplestory jam on the background

  • @Clarkaraoke
    @Clarkaraoke 4 года назад +8

    So besides the excellent tutorial, I also really enjoy the maplestory soundtrack

  • @RhyDenCmr
    @RhyDenCmr 4 года назад +17

    Seriously thanks a lot, resources on tactical rpg like yours are rare and helps a lot, I really hope you'll do more videos on it, as I also really want to be able to do a game like this ! ( or finish what i started if i could say )

  • @maximofernandez196
    @maximofernandez196 Год назад +1

    Man, I cannot thank you more than I could. You literally made my life so fucking easier with this. I would never thought how useful could graphs be

  • @PrinceArtanis
    @PrinceArtanis 3 года назад +2

    A BIG thump up for the kerning city music
    Im soooo nostalgic

  • @Andrew-re5mk
    @Andrew-re5mk 4 года назад +3

    The quality of the tutorial is brilliant! I do not why, but I feel your honesty and candor. I've been struggling the whole day trying to understand how to implement grid-highlighting system. Your solution is really elegant - just to make another layer (layers) for a highlighting map.
    Thank you so much! I'm impressed (:

  • @nOograss1
    @nOograss1 Месяц назад

    Thank you for sharing this project with us :) That's exactly what I was looking for my prototype (must add something to that big pile of shame :D)

  • @azamzahid7066
    @azamzahid7066 4 года назад +5

    There is only small part of the developers are focussing on this type of gameplay :( you just earn my sub :D

  • @Kaikina
    @Kaikina 4 года назад +17

    Love it, being totally new, I would love to have a complete tutorial from the beginning, creating the map, the monsters, animate it, ...
    Would absolutely pay for a course like this. The problem is that all the courses I find are like full 3d oriented. Nothing to see with this gameplay.

  • @spellfire2098
    @spellfire2098 4 года назад

    been wanting to make a game like this for a wile got some understanding of programming but defiantly an armature but getting inspired to have another go
    thanks for help inspiring me to try again

  • @JohnTheRipper6
    @JohnTheRipper6 3 года назад +2

    You are amazing! This is exactly the tutorial that I needed for making my tactical RPG. Thank you so much!

  • @Delvarn
    @Delvarn 3 года назад +6

    Would be nice if you linked the grid tutorial you referred to at the start.

    • @NaturesShadow
      @NaturesShadow 3 года назад +3

      ruclips.net/video/kYeTW2Zr8NA/видео.html

  • @r.gtz.4521
    @r.gtz.4521 3 года назад

    This is exactly what I needed, thank you. New sub, keep making these vids man.

  • @Exxayy
    @Exxayy 4 года назад

    really great quality of video, really useful, I'm pretty sure it will help a lot of people including me, thanks

  • @mmaaaxxxxx
    @mmaaaxxxxx 3 года назад

    It might be cleaner to let the edge handle cost logic. i.e from higher ground node X to lower ground node Y goes through edge A, reverse direction goes through edge B. The two edges should have different costs. But that might also be derived logic from the nodes themselves, in which case a function rather than a number should be stored in the edge.

  • @marcuscorreia8232
    @marcuscorreia8232 4 года назад +2

    Ty for the video, also love this music from maplestory :)

  • @TheAcherion
    @TheAcherion 3 года назад

    here in 2020. thanks for this video

  • @PDF4711
    @PDF4711 4 года назад

    Really hoping you will do more tutorials - like the style of this one.

  • @diovannie81
    @diovannie81 3 года назад

    You are awesome dude. Thank you very much.

  • @hopsys
    @hopsys 4 года назад +4

    Are you considering releasing the github source code under an open source license?

  • @marioxy878
    @marioxy878 4 года назад

    Subbing in hope you make more amazing videos! The card game ones arn't as relevant to me personally, but their layout is absolutely amazing as well!

  • @gokugod2565
    @gokugod2565 2 года назад

    0:00 Intro
    0:37 Map
    3:14 UI Display
    14:59 Miscellaneous
    17:57 Outro

    • @KarTiTengo
      @KarTiTengo 2 года назад +1

      thank you pibe of los minutos

  • @onione9138
    @onione9138 4 года назад

    liked and subbed downloaded the open source playing with it now .

  • @eshaanali1885
    @eshaanali1885 4 года назад

    This guy needs more subs

  • @hoshimiyaeki
    @hoshimiyaeki Год назад

    The sprites are billboarded right? How did you make them not clip into the taller blocks when your camera is 70degrees or top down?

  • @unknownentity5354
    @unknownentity5354 3 года назад

    I’m subbing just for this vid

  • @aplutypus7599
    @aplutypus7599 2 года назад +1

    Will it have diferent levels on the graph? (like a second or third floor)

    • @AngusFan
      @AngusFan  2 года назад +1

      I'm not quite sure what you mean by that, this 'game' that I made is pretty much just a very simple tech demo of how the code works to make these style of games. The code should be fairly robust if you were to expand upon it to include multiple floors (again you'd have to write quite a bit of code to expand the basics). Hope this helps.

    • @mateusfelipecardoso40kview3
      @mateusfelipecardoso40kview3 2 года назад

      Like the Nes DeD tatical rpg dungeon crawler?

  • @ashtwenty12
    @ashtwenty12 4 года назад

    Like the video, but can you do more detailed video about the game loop. Ie the steps the updates go though ect. Ie select code and player characters destroy, that kind of thing

  • @ThePalacios123
    @ThePalacios123 2 года назад

    this is really close to ragnarok online, could you elaborate on this style of game please, it would be great to learn how to make a game similar to ragnarok

  • @Drako4177
    @Drako4177 9 месяцев назад

    So i wanted to learn how grid based games and turn based games work. this video was great at explaining stuff but then i realize, wouldnt it be a good gateway into this before watching this and figuring it out be just making chess...... oh well

  • @Price0fLove
    @Price0fLove 4 года назад

    awesome!

  • @stephendallasdraws2929
    @stephendallasdraws2929 4 года назад +6

    How hard would it be to set up a Fire Emblem Sacred Stones remake in your engine? Do it!

  • @pruebaprueba8400
    @pruebaprueba8400 3 года назад

    gj! continue.

  • @ChaosShipaby
    @ChaosShipaby 3 года назад

    I hit the subscribe, after you side ( i made turn base game), 👍 full support.

  • @Rafa1589
    @Rafa1589 2 года назад +1

    I know this is exactly what I need to start my own little bts-strategy game. And yet I understand almost nothing :D looks like I'll have to invest more time.

    • @AngusFan
      @AngusFan  2 года назад

      Hey don't sweat it, it takes time to learn bit by bit. But eventually you'll be able to make whatever game you want, just keep at it. GL

  • @simonlu5141
    @simonlu5141 4 года назад

    advance wars style games...yes!

  • @armchairegghead31
    @armchairegghead31 3 года назад

    I don't typically ask for help for coding related issues, especially not in RUclips comment sections, but in the process of cannibalizing portions of your project for my own I've found that the algorithm that you use for finding all available routes within range of the player is not as complete as a recursive algorithm. I've also tried BFS with only minor improvements. The problem is that in your algorithm (and the BFS I've used) tiles are being disregarded as "Too expensive" before all possible routes to them are calculated. This results in certain tiles that the player has the movement points to reach being excluded from the search and the displayed movement range being smaller than it should be.
    I'm curious if you had encountered the same problem yourself and, hopefully, created a solution I can use myself. It could also be that I've cannibalized your code incorrectly, but I don't believe I have.

  • @foofinators
    @foofinators 3 года назад +1

    Can this be applied to 2d strategy rpgs?

  • @ezio7141
    @ezio7141 Год назад

    Hey, if I want to do an AI to the enemy team instead of the local 2 player mode, where should to do the AI algorithm part and the AI movement?

    • @AngusFan
      @AngusFan  Год назад

      It's been quite a while since I've worked on this. But if I recall correctly all the end turn button does is switches to player 2 which updates all p2 units to be selectable and vice versa. You could remove the code there and insert an algorithm to figure out which units to select and where to move them. For the movement, I believe there should be a function that returns the available movements, so you can play around with that.

  • @soulsoulq6326
    @soulsoulq6326 4 года назад

    omg your a god

  • @davids3282
    @davids3282 4 года назад

    You dont actually need a list for the cost. You can just create a recursive function which passes the value left on unitl the cost would be less then zero , in that case the function stops. im sorry if i understood something wrong, but i really could not understand how you actually calculate the cost.

    • @AngusFan
      @AngusFan  4 года назад

      Oh that's true you probably don't need a list for the cost if you calculate it recursively, but to me that seemed a bit expensive (although this data set is really small and it probably doesn't matter). Each tile has an initial cost and as you would iterate throughout the to the next tile you record the previous tile that the unit was standing on as well as adding the current tiles cost. As you iterate to the next tile there is only one addition calculation for the current tiles cost + the previous total cost. Hopefully I answered your question.

    • @davids3282
      @davids3282 4 года назад

      @@AngusFan thanks for the answer! Is it really that much more expensive?

    • @AngusFan
      @AngusFan  4 года назад

      @@davids3282 With the current method that I'm using it probably is too expensive. Let's say you're looking for a tile which is 4 cost away from the origin. You would need to find x total tiles to identify which ones are 4 cost to reach. If you're calculating anything that is more than 1 cost you would need more than one recursive call. IE Tile with 4 cost might require a maximum of 4 recursive calls, where if we stored the costs we would perform the single action of adding the new cost to the previously indexed cost and then indexing that result. Again making a maximum of 4 recursive calls for x points in this situation isn't that taxing, but if the data set was much larger I would imagine that the amount of recursive calls you would make would too large. Hope that explains my reasoning.

  • @wexordante
    @wexordante 5 месяцев назад

    I want create this in Godot or Unreal Engine. If you can, please, create tutorial

  • @playboyy21
    @playboyy21 3 года назад

    hey can you show me how to do this on construct 2?

  • @SeanKula
    @SeanKula 3 года назад

    how can you make more than one unit type?

  • @TomMcNiven3
    @TomMcNiven3 3 года назад

    Hi, what system did you use to create the local multiplayer for this style of game?

    • @AngusFan
      @AngusFan  3 года назад +1

      If I recall correctly, the 'local multiplayer' is just limiting which player can move which pieces. Player 1 can only move Team 1's pieces; when his turn ends Player 2's turn begins. Player 2 can only move pieces on Team 2. It alternates until one side is out of pieces. All the controls are the same for both players, the only difference between them is which units they can select. Sorry if this doesn't answer your question. There isn't really any networking or anything too complex with the system, as you'd be playing on the same computer.

  • @davids3282
    @davids3282 4 года назад

    Also how would you make a less rectangular movement range, more like a circle shaped?

    • @AngusFan
      @AngusFan  4 года назад

      I'm not quite sure about circular per se but I would imagine you would need to organize the map layout with circles instead of squares. Once that is set-up its simply the act of representing the circle tiles in a 2D array format for A* implementation. Although the data is a 2D array that does not necessarily mean that the information its representing is in the same grid like fashion. Although that's just my two cents opinion on that topic, but I do believe that it would work. If you're talking about diagonal movement instead then I think in the initial map creation all you need to do is add diagonal connections to each node as well as up, down, left, and right.

    • @davids3282
      @davids3282 4 года назад

      @@AngusFan im sorry if you understood me wrong, english is not my first language, what i meant is the calculation of the range. im using tiles aswell, however the maximum range is far to close to origin if you move diagonaly. So my question would be, how to make the field of selected tiles, the range for the unit more circular and less diamond shaped?

    • @AngusFan
      @AngusFan  4 года назад +1

      To clarify is it the total attackable tiles (red tiles) what you are referring to? If so the diamond shape is displaying which square tiles that the unit can attack is the only way to represent the information as we are working with a 4 - way connected grid (up,down,left,right). If you want to display a circular attack range, then instead of highlighting the attackable tiles you will most likely need to highlight a circular range by highlighting a certain radius (the attack range). Then when a player clicks down on the attackable area you would need to check if the tile is under the highlighted area.

    • @davids3282
      @davids3282 4 года назад

      @@AngusFan ok this makes sense. I was wondering if it was maybe possible to change the algorithm to display a more circular range. I implemented the algorithm, but couldnt come up with any other way. Anyway thanks for the answer and for the effort to make the video.

    • @AngusFan
      @AngusFan  4 года назад

      @@davids3282 Great, good luck and tell me how it goes.

  • @user-bq3di4cg2t
    @user-bq3di4cg2t 5 месяцев назад

    你好,我真的很喜欢这个。你有工程文件吗

  • @voskoullis
    @voskoullis 3 года назад

    Is there a way for someone who dosent know code to make a turn based game?

  • @user-sf1zy5sp5n
    @user-sf1zy5sp5n 4 года назад

    Have tutorial for the game from 3:14 to 3:54?

  • @tonkrogerio
    @tonkrogerio 4 года назад

    Can I just use this as a base for a released game, royalty free?

  • @larealidaddellol2884
    @larealidaddellol2884 4 года назад

    when i use the game manager i create a 10 x 20 map but the news tiles are dirt.
    ¿there is a way to create my own tilemap whit more grass and use your sistem ?
    i try to modify the unit tile prefab but the game manager always create the same map u.u
    can you help me ??

    • @AngusFan
      @AngusFan  4 года назад +1

      Hey sorry for the late reply, I think I initialized each tile as the default one at index 0 (which is dirt). You can just change it to be a different number and it should work.

    • @larealidaddellol2884
      @larealidaddellol2884 4 года назад

      @@AngusFan your amazing.
      I try to do something similar, taking advantage of the quarantine, but I ended up banging my head against the wall.

    • @AngusFan
      @AngusFan  4 года назад

      @@larealidaddellol2884 Hey that's great to hear that you're making the most of quarantine. Honestly just keep at it or try something new and you'll get into the swing of things. It took me a lot of playing around in Unity before actually trying to make something.

  • @bhaskarjoshi4084
    @bhaskarjoshi4084 3 года назад

    Could you please make a tutorial on how to make chess game in unity so that we can play against computer? Like a chess bot which has some strategy to play against another player.

  • @BibiFlox
    @BibiFlox 2 года назад

    3:23 where is game ?

  • @ahh170
    @ahh170 4 года назад +1

    what if i wanted the grid tiles to be hexagonal shaped? :o
    pls teach me sensei

    • @SunshineXz
      @SunshineXz 4 года назад +1

      It just needs to know the top left, top right, bottom left, bottom right neighbors.

  • @grimm2880
    @grimm2880 3 года назад

    Ancient empires?

  • @mclau1524
    @mclau1524 3 года назад

    lol maplestory music and advance wars

  • @eldeivid7380
    @eldeivid7380 4 года назад

    goood

  • @playboyy21
    @playboyy21 3 года назад

    can i pay you to make me something like that ?

  • @Asherons
    @Asherons 3 года назад

    I wish I understood this :,(

    • @AngusFan
      @AngusFan  3 года назад

      Hey don't be discouraged if you don't get it right away. Took me a while to truly understand how nodes work for the graph, if you want to break down the graph system into smaller chunks I would look into Linked Lists and Nodes.

  • @danielemessina1979
    @danielemessina1979 3 года назад

    One must be brain dead to put a rotating map in a tutorial where you have to follow coordinates.