







Time to explore this dungeon!





Hello, dear reader! I'm excited to share what I've been working on for week 4 of One Game a Week. I've spent a lot of time this week working on my game, but I haven't had much time to write about it. Rest assured -- even though I'm only explaining my game concept now, I'm well on track to finish this one by Sunday night.





Let's take a look at this week's game!









Time to Build Another Dream Game





Last week, I completed a prototype of something I would classify as a "dream game" of mine -- a project I've always wanted to spend some time working on. Last week's project was a turn-based combat game called The Marker Game . It was incredibly creatively satisfying to see this game come to life on my computer screen after having it in the back of my mind for so many years.





I was thinking about this week's theme (EXPLORATION) and my mind started to fixate on another long-standing dream game of mine. Along with millions of other people, I am a huge fan of the Zelda series. I've always loved the sense of adventure, the puzzles, and appropriately, the sense of exploration that was always imbued in the games from this series.





Ever since I learned that creating games is something I could actually do, it's been a dream of mine to build a 3D Legend of Zelda-style game. There are a lot of things that go into building a game in this genre -- mechanics for movement and interacting with the world, printing text to the screen for informative messages or conversations with other characters, as well as building the actual world using art that is visually interesting and beautiful. Whereas certain other games can be primarily devoted to one particular mechanic or revolve around little more than a really nice art style, a 3D action-adventure-RPG game really requires the synthesis of all of these things.





It's a game that I've been excited to work on for a long time -- but also one of the games I've procrastinated working on because it's such a daunting task. When I decided I was going to do One Game a Week, though, it gave me a chance to strategically plan out some of the systems I was building. I wrote a fairly functional dialog system for my week 1 game, Curious Castle. I spent a lot of time working with animations and world-building with art assets while making my week 3 game, The Marker Game. So I'm now in a position to leverage some of those systems as a starting point for creating a 3D Zelda game.





There were some other components I had considered implementing before starting on a Zelda-like game -- enemy AI, a more robust world editing system, and free-form 3D movement. However, I think I'm finally at the point where my excitement has overcome my patient planning. I've decided it's time to jump in and see how far I can get in a week -- my fourth OGAW game is going to be my own very tightly scoped 3D Zelda-like!





I've decided to call this one The Legend of Trykon.









Goals for The Legend of Trykon





I've got a few things I'm going to focus on while I create this game -- namely, I want to really figure out a good system for building a world that a 3D character can dynamically explore. Many of the Zelda games I've enjoyed in the past are created using a tile-based system -- essentially creating a game world out of repeating elements, or "tiles". Here's a quick example from The Legend of Zelda: A Link Between Worlds:





Notice that the floor is actually just a repeating copy of one floor "tile". Most of the world is built out of these kinds of recurring elements.





If a world is made up of tiles, you need a good way to be able to create and edit that world -- placing each individual element manually would take far too much time. There are a lot of tools which try to make this task easier, and I've worked with a few of these kinds of systems in the past, but I've never really figured out a system that was both easy to work with and effective for creating all the different scenarios required for this kind of game. So one of my biggest goals for this week was to find a good workflow to build a tile-based world in 3D.





The only other goal I had this week was to make sure that I had a solid prototype in place -- with all the functional elements I'd need for a Zelda game. I wanted to have the player be able to swing a sword, I wanted treasure chests I could open, I wanted enemies that I could attack, I wanted switches I could press that would make something change in the world -- all of these elements would take time to implement. My goal was to make sure that all of these components made their way into the game, even if it was just a very basic implementation. That way, in the future, I could pick this project back up and immediately start creating content -- I wouldn't have to worry about programming anything new substantial functionality.













Some Gorgeous Dungeon Artwork





I once again set out on a hunt for the perfect assets for the game I wanted to build. I'd considered building both an outdoor world for exploring and an indoor dungeon full of puzzles -- but eventually, I decided my focus should be on the indoor dungeon scenario. That would be the most programatically intensive job, getting all of the switches and keys and staircases working correctly.





I spent some time considering some different packs of assets that would evoke the classic Zelda feel -- I eventually found some fantastic art created by BitGem. You can find their website here: BitGem Website.





The pack itself is called the " Snake Temple -- Smashy Craft Series " -- BitGem has a few of these different environment packs which are really beautiful. This particular set is super evocative of some of my favorite Zelda games and it seemed like a perfect fit for what I wanted to build.





Here is a sample layout from the art pack I plan to work with:





The perfect art set to build a Zelda-like dungeon.





So now that I've gotten the artwork in hand, I needed to figure out the actual technology I'd need to build my own world using these assets. I did indeed find a great solution in the form of TileEd , a tile-based editor that provides the exact functionality I was hoping to find. I'm going to discuss TileEd in a bit more detail tomorrow.









Our Intrepid Heroine





The first thing I tried to tackle was the character -- I thought that if I could focus on getting the character working in the first day, that would be a good starting point.





I spent some time sifting through some of the characters that I got from Synty Studios . I tried out a number of candidate protagonists -- the trusty wizard from Curious Castle , a pirate, a knight in a full suit of armor, and more. But the character that seemed to fit the role best was this fierce lady, who I've temporarily named "Linkette" in my never-ending quest to avoid Nintendo's Sauron-like copyright-infringement-accusing gaze.









Linkette looking stern as she investigates the dungeon depths.









I successfully configured Linkette as an animated character , and got some basic code for her to move around the world. Here's a little sample of her walking around the early part of the dungeon:

















And that's it for now! That should give a nice tease as to the look and feel of the game! Right now, I've got most of the mechanics implemented for the game -- my character can run around and use a sword to attack the enemies I've implemented. I'm still in the process of configuring the final layout of the dungeon.









In my next article, I will go into more detail about how I created the levels for The Legend of Trykon.





See you again tomorrow!









--Kyle