Blog

Introducing Toka

3/1/2026

I sort of disappeared off of the face of GameDev.tv for a bit, but I promise I have not been slacking! I have been hard at work on a new project, and I am excited to finally share it with you all. It is called Toka, and it is a game that I have been developing in my spare time.

Toka is a strategy virtual tabletop game reminiscent of (and inspired by) Tetra Master and Triple Triad from the Final Fantasy series. It features hexagonal pieces that players take turns placing on a hexagonal grid. Players take turn tactically placing pieces to initiate clashes and capture their opponent's pieces. Naturally, the player with the most pieces under their control once all pieces have been played wins the match.

Progress So Far

I spent the last 9 months or so sort of flailing with what to do. Toka is an idea I have had for a number of years now, but I never considered it too heavily as a first major project. A few months ago, I finally decided to take it on. I spent a couple months prototyping, testing out approaches, and generally getting a feel for how to build such a game. Then, a few weeks ago I decided I had made enough of a mess of the original project that I archived it and started from scratch.

This iteration of the project is much more focused and organized, allowing me to implement features more efficiently and effectively. The first milestone is to create the tutorial which I intend to double as a demo. To that end, I have put together the first tutorial match, which you can see below. Before going into it, let's align on some context.

Visually, the game leaves a lot to be desired at the moment. I am not an artist, and I have been using placeholder assets that I have created myself. A nice little fun fact: I am so "not an artist" that I actually coded the assets in SVG and converted them for use in the engine. I decided to play to my strengths to try to get something off the ground visually while focusing on things I am much better suited to handle, like programming and design. One priority I have in the near future is to invest in either premade assets or partner with an artist to create proper assets for the game.

With that out of the way, here is the first tutorial match!

Addressing the Controversy

Well, not really controversy, but some of you may have noticed that rather than a 3D game in Unreal like my showcases, this is a 2D game in Unity. Without going too much into detail (perhaps I will make a separate post about that), moving to Unity came out of necessity. I was finding myself spending a lot of time fiddling with Unreal instead of making progress on the game I was building, which has also been shelved for now. Remembering that the most important thing in indie game development is finishing my game, I made the decision to switch both projects and engines.

I may try Unreal again at some point, but for now I plan on sticking with Unity for both 2D and 3D projects. The transition was not too difficult, but it does account for some of the flailing I mentioned at the beginning of this post. Personally, I am happy with Unity, and the vast amount of GameDev.tv content on Unity is a pretty solid bonus. I am excited to see what I can create with it!

The Details Behind the Progress

This is going to be a bit of a behind-the-scenes on what is happening in the above video. If you care less about these details and more about where the project is going, feel free to skip down to the "Next Steps" section.

As the round starts, our opponent - Tu - starts off with dialog. This happens on a rudimentary dialog system I built that will be used throughout the game. It allows me to specify segments of text spoken by a particular speaker divided into lines that each fit in a single box. Text can be advanced through, and while not demonstrated here a single sequence of dialog can have multiple speakers. When the sequence ends, it fires an event allowing other actions to proceed. In this case, once Tu finishes introducing the board, the first sequence ends and the game logic highlights the board to demonstrate to the player what she is referring to.

This sort of sequence happens a second time introducing the hand, and then a third sequence introduces playing pieces. At the end of the third sequence, Tu plays her first piece. After some more dialog explaining to the player what their first move should be, control is yielded to the player. The logic of selecting a piece from the hand is 99% standard, with one piece of customizability used by this tutorial - what is a "valid" piece to select. As you can see in the video, only the piece that Tu mentions is allowed to be selected and played - the rest show an "invalid" cursor.

After the player picks a piece, a similar process happens for placing a piece. Tu directs the player where to place the piece, and the piece placement system kicks in. Again, this is 99% standard logic with the ability to customize what is valid placement. Similar to the piece selection logic, the only valid place to play is where Tu instructed the player to play. After some last bit of dialog explaining the "clash" system a little bit, the match transitions into standard play. The logic at this point is the exact same logic that will be used in typical matches without any scripting.

The important thing to highlight here is I built everything with the main experience in mind while putting in flexibility to allow for the scripted tutorial experience. For the most part, I have the base mechanics of the game done, and from here I can build in more features that should "just work" for all cases. This is an incredibly exciting outcome of this work so far, as it means even though there is not much to play through yet I have the foundation to build out a ton of content.

Next Steps

With a dialog system and the core mechanics in place, I have everything I need to continue building out the first milestone - the tutorial/demo. I have already scoped which features and mechanics will be a part of this first milestone, and I am well on my way to completing it. Once it is ready, I plan to release the demo on Steam and potentially other places depending on where folks want to go for the demo.

In the long-term, the player-vs-AI aspect of the game is intended to be more of a teaching tool, with the core tutorial giving the player enough to move on to what I intend to be the meat of the game - multiplayer. Each new mechanic I add will have an accompanying AI opponent that demonstrates how to use the mechanic, and then the player will be able to test it out against other players online. I am very excited about this aspect of the game, as I think it will be a lot of fun to play against other people and see all the different strategies that emerge.

I already have tons of ideas for mechanics and features, but I also want to build a community around the game and get feedback on what people want to see. Once the demo is in place and people can better see the vision, I intend to open up space for players to leave suggestions as well as generally discuss my ideas and plans. Together, I hope we can build a great game that a lot of people enjoy playing!