{"id":978,"date":"2023-01-01T18:55:38","date_gmt":"2023-01-01T23:55:38","guid":{"rendered":"https:\/\/cynthiamcmahon.ca\/blog\/?page_id=978"},"modified":"2025-05-30T18:17:20","modified_gmt":"2025-05-30T23:17:20","slug":"a-summoners-tale","status":"publish","type":"page","link":"https:\/\/cynthiamcmahon.ca\/blog\/shadow-monsters\/a-summoners-tale\/","title":{"rendered":"A Summoner&#8217;s Tale"},"content":{"rendered":"\n<p>Welcome to the home of my MonoGame tutorial series: A Summoner&#8217;s Tale. It is similar to my Shadow Monsters tutorial series. It has been revamped to use the latest version of Visual Studio, 2022, and MonoGame, 3.8.1. The back story is that the game is set in a fantasy world. Some of this world&#8217;s inhabitants can summon monsters from the shadow plane. The battle against each other. Ten years ago, something unexplainable happened. Shadow monsters started appearing without being called. Ten years ago, the protagonist&#8217;s father and five other summoners set out to find out why. They never returned. Can the protagonist solve the mystery of the appearance of shadow monsters and their father&#8217;s disappearance?<\/p>\n\n\n\n<p>The complete source code for the tutorial series is available on GitHub at the following link. In addition, the individual projects are linked below.<br><a rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/Synammon\/summoners-tale\" data-type=\"URL\" data-id=\"https:\/\/github.com\/Synammon\/summoners-tale\" target=\"_blank\">https:\/\/github.com\/Synammon\/summoners-tale<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Tutorials<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 01 &#8211; Getting Started<\/h3>\n\n\n\n<p>If I&#8217;ve said it once, I&#8217;ve said it one hundred times. Building a game is a lot like building a house. It will collapse if it is not built on a good foundation. For that reason, this first tutorial in the series focuses on laying the foundation for the game. This one is about creating the game state manager and adding a frames-per-second counter to the game. Also, because this will be a cross-platform game that will run on different platforms, it is set up with that in mind.<br><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1VKBh5vRvqj34VnEw15Q97E0KIIRRhGKN\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1VKBh5vRvqj34VnEw15Q97E0KIIRRhGKN\/view?usp=share_link\" target=\"_blank\">Tutorial 01 &#8211; Getting Started<\/a><br><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1yVrMB_HNtkSsiNu0in0r24UzaeEHsodg\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1yVrMB_HNtkSsiNu0in0r24UzaeEHsodg\/view?usp=share_link\" target=\"_blank\">Tutorial 01 &#8211; Source Code<\/a><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 02 &#8211; Tile Engine<\/h3>\n\n\n\n<p>One of my favourite things about an RPG is exploring the world and finding new places and items. To do that, you need maps. To render a map in 2D is usually more efficient to use a tile engine than painting a map in Photoshop. For that reason, this tutorial implements a tile engine.<br><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1mMryn3iMUSY1HcFP3UbIyxk0Cl00HI54\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1mMryn3iMUSY1HcFP3UbIyxk0Cl00HI54\/view?usp=share_link\" target=\"_blank\">Tutorial 02 &#8211; Tile Engine<\/a><br><a href=\"https:\/\/drive.google.com\/file\/d\/11WfOF7ccm0L96-hCLVoyrE4yGRQZ60Ll\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/11WfOF7ccm0L96-hCLVoyrE4yGRQZ60Ll\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 02 &#8211; Source Code<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 03 &#8211; Bringing it Together<\/h3>\n\n\n\n<p>The past two tutorials had essential aspects of a complete game: a state manager and a tile engine. In this tutorial, I add a third component, an input manager. After I have added the input manager, I add a couple of game states and move to render the map on the gameplay state. I also cover scrolling the map with the aid of the input manager.<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1AgvfWJpboalBBDa4fOM04j0eGYo3hhYn\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1AgvfWJpboalBBDa4fOM04j0eGYo3hhYn\/view?usp=share_link\" target=\"_blank\">Tutorial 03 &#8211; Bringing it Together<\/a><br><a href=\"https:\/\/drive.google.com\/file\/d\/1efg2ok-LWSY5-YwD7iY2lCN2Vxwdi8ka\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1efg2ok-LWSY5-YwD7iY2lCN2Vxwdi8ka\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 03 &#8211; Source Code<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 04 &#8211; Graphical User Interface<\/h3>\n\n\n\n<p>To build the editor, we need some GUI elements. That is because I won&#8217;t be using Windows Forms as I have in the past. After all, I want everything to be cross-platform. So I like things running on Mac, Linux, and PC. There may be a few elements that won&#8217;t run on Linux. That would be the animation builder and the conversation editor. I will be doing separate tutorials for Mac and PC for those. The other thing I do in this tutorial adds the project for the editor. Also, it repairs a few conflicts by adding another project to the solution brought up.<\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/15cHTCfpKsp2aZPNKJCe20gNAaJSui_hm\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/15cHTCfpKsp2aZPNKJCe20gNAaJSui_hm\/view?usp=share_link\">Tutorial 04 &#8211; Graphical User Interface<\/a><br><a href=\"https:\/\/drive.google.com\/file\/d\/1CqPEuj2VK3sjycEPZes5UgnvpEnsIQ-F\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1CqPEuj2VK3sjycEPZes5UgnvpEnsIQ-F\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 04 &#8211; Source Code<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 05 &#8211; Graphical User Interface Part Two<\/h3>\n\n\n\n<p>We need one control that I didn&#8217;t add in the previous tutorial: a list box. It will be used for a lot of forms I will be creating. Speaking of forms, this tutorial adds to the concept of forms and game states. Unlike a game state, a form can cover only part of the screen. I didn&#8217;t add the ability in this tutorial, but you will be able to drag forms around the game window. I had to make a couple of adjustments to controls in order for all this to work.<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1ud426tqlzWjd2fdtcfUnTadQljQwEP9Y\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1ud426tqlzWjd2fdtcfUnTadQljQwEP9Y\/view?usp=share_link\" target=\"_blank\">Tutorial 05 &#8211; Graphical User Interface Part Two<\/a><br><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1PNT9vkkF8TgAvdHRniJ54-NCswTdcjKu\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1PNT9vkkF8TgAvdHRniJ54-NCswTdcjKu\/view?usp=share_link\" target=\"_blank\">Tutorial 05 &#8211; Project<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 06 &#8211; Graphical User Interface Part Three<\/h3>\n\n\n\n<p>There is one control that we will really use: a text box. This tutorial goes over how to create one. I was going to do a file open\/save box, but I decided to do that in a future tutorial. This tutorial covers resolving some of the bleeding because rendering was not done on whole pixels.<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/14MuZMbZBU5E3yXh0xa03WiGV4x6kiwM0\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/14MuZMbZBU5E3yXh0xa03WiGV4x6kiwM0\/view?usp=share_link\" target=\"_blank\">Tutorial 06 &#8211; Graphical User Interface Part Three<\/a><br><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1qf1e5BwLc-hS15_cUNihXOf5HZQOjbcS\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1qf1e5BwLc-hS15_cUNihXOf5HZQOjbcS\/view?usp=share_link\" target=\"_blank\">Tutorial 06<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 07 &#8211; Animated Sprites<\/h3>\n\n\n\n<p>The editor and moving the map are all well and good. What we are missing is sprites. So, this tutorial covers adds in sprite class. Also, it covers adding an animated sprite to the game for the player to control. The map scrolls as the player moves the sprite.<\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/15XGDg8ZJwGpm510CDi45nSSo8sHJNN7V\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/15XGDg8ZJwGpm510CDi45nSSo8sHJNN7V\/view?usp=share_link\">Tutorial 07 &#8211; Animated Sprites<\/a><br><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1P_ZqKTh-fByQmpdjgUkhQvYE1XOFOpfu\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1P_ZqKTh-fByQmpdjgUkhQvYE1XOFOpfu\/view?usp=share_link\" target=\"_blank\">Tutorial 07 &#8211; Project<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 08 &#8211; Multiple Resolutions<\/h3>\n\n\n\n<p>I wanted to cover multiple resolutions before going much further in the game. So, I cover it now so there won&#8217;t be a lot of changes down the road. Also, I demonstrate how to save and load a settings file in the user&#8217;s application data folder.<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1Cnc977DvboC7c1d-WZVsS0QJIsTEdkRA\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1Cnc977DvboC7c1d-WZVsS0QJIsTEdkRA\/view?usp=share_link\" target=\"_blank\">Tutorial 08 &#8211; Multiple Resolutions<\/a><br><a href=\"https:\/\/drive.google.com\/file\/d\/1HlrTPqeDkXdIUyr_-b6BvHyqZxEEtptg\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1HlrTPqeDkXdIUyr_-b6BvHyqZxEEtptg\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 08 &#8211; Project<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 09 &#8211; Back to the Future, I mean editor<\/h3>\n\n\n\n<p>In this tutorial, I bounce back to the editor and cover rendering the map in the editor and scrolling the map when the mouse is at the edges of the map. I also demonstrate creating a flyout menu that scrolls on and off the window.<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/11VM4kMDelgt2LxL7dM-vnA4y6udSr5zn\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/11VM4kMDelgt2LxL7dM-vnA4y6udSr5zn\/view?usp=share_link\" target=\"_blank\">Tutorial 09 &#8211; Back to the Future, I mean editor<\/a><br><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1tklG1x7N16en4CmRsYAcpgwXnbnWDN3r\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1tklG1x7N16en4CmRsYAcpgwXnbnWDN3r\/view?usp=share_link\" target=\"_blank\">Tutorial 09 &#8211; Project<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 0A &#8211; All About Character<\/h3>\n\n\n\n<p>In this tutorial, I bounce to the game and add a character generator that the player can use to create their character in the game. Also, I cover walking around the map.<\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1ow-CRBJzfIUPQJTzbGG6yUVuTZtki1bj\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1ow-CRBJzfIUPQJTzbGG6yUVuTZtki1bj\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 0A &#8211; All About Character<\/a><br><a href=\"https:\/\/drive.google.com\/file\/d\/1WZEYR_jdtiUMMkDKG_-V0PuUw-QsN2K6\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1WZEYR_jdtiUMMkDKG_-V0PuUw-QsN2K6\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 0A &#8211; Project<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 0B &#8211; Going Mobile!<\/h3>\n\n\n\n<p>This tutorial focuses on adding projects for the two mobile platforms: Android and iOS. I will likely split the tutorials into three going forward. The core that is common between the two mobile platforms: one for Android and one for iOS.<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1KZ57Gtl5tneSz-oU_A3X_uC7iifRR_JL\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1KZ57Gtl5tneSz-oU_A3X_uC7iifRR_JL\/view?usp=share_link\" target=\"_blank\">Tutorial 0B &#8211; Going Mobile!<\/a><br><a href=\"https:\/\/drive.google.com\/file\/d\/14iDA5EEdao7bv-ZVj5EPcEIFjeWB82qT\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/14iDA5EEdao7bv-ZVj5EPcEIFjeWB82qT\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 0B &#8211; Project<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 0C &#8211; Movement Revisited<\/h3>\n\n\n\n<p>In the spirit of keeping the game cross-platform, this tutorial revisits being able to move the sprite around. It aims to have the same ability across all platforms. So, it implements tile-based movement that can be triggered by either a virtual D-pad or the keyboard if one is attached.<\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1YEOTopzbhJj_U1KafEH2XTwgt_6dLfxT\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1YEOTopzbhJj_U1KafEH2XTwgt_6dLfxT\/view?usp=share_link\" target=\"_blank\">Tutorial 0C &#8211; Movement <\/a>Revisited<a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1wSqAUPB59GJXVYCPRt5X3tKlOK_XjkzK\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1wSqAUPB59GJXVYCPRt5X3tKlOK_XjkzK\/view?usp=share_link\" target=\"_blank\">Tutorial 0C &#8211; Project<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 0D &#8211; Where Is That?<\/h3>\n\n\n\n<p>This tutorial mirrors tutorial 08 from Eyes of the Dragon 4.0. It updates most of the controls and adds in a file explorer for selecting files. It is meant mainly for Windows, macOS and Linux.<\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1SzWcPc_S2jsSIZpEzcg0osAeq2KEq0Ci\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1SzWcPc_S2jsSIZpEzcg0osAeq2KEq0Ci\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 0D &#8211; Where Is Tha<\/a><a rel=\"noreferrer noopener\" href=\"http:\/\/Tutorial 0D - Where Was Thahttps:\/\/drive.google.com\/file\/d\/1SzWcPc_S2jsSIZpEzcg0osAeq2KEq0Ci\/view?usp=share_link\" target=\"_blank\">t?<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1cfKAZhrkJcK3ChaivXFtKq-8Rn-5_YB5\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1cfKAZhrkJcK3ChaivXFtKq-8Rn-5_YB5\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 0D &#8211; Project<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 0E &#8211; Who&#8217;s That Girl?<\/h3>\n\n\n\n<p>Her name is Rio, and she dances on the sand. Okay, this tutorial mirrors tutorial 09 from Eyes of the Dragon and adds characters to the map. Also, it moves to use a similar tile engine to that game.<\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1_IuoahQ5cTVWOIWe1ZmndPPaOLk07Igs\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1_IuoahQ5cTVWOIWe1ZmndPPaOLk07Igs\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 0E &#8211; Who&#8217;s That Girl<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1S1-Oa4zo5W0Sf1NMs2VnQGAHO2k2vuf1\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1S1-Oa4zo5W0Sf1NMs2VnQGAHO2k2vuf1\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 0E &#8211; Project<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 0F &#8211; Look Who&#8217;s Talking<\/h3>\n\n\n\n<p>In this tutorial, I begin with having conversations with characters in the game. Most of the work is done. However, there are still some important pieces to put in place.<\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1_PzgHfbidBxaOgW3sNC-gVcVZSMdXFnl\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1_PzgHfbidBxaOgW3sNC-gVcVZSMdXFnl\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 0F &#8211; Look Who&#8217;s Talking<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1nukRPUQZh1eaeew6JjuAP4ogmwoBYIQY\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1nukRPUQZh1eaeew6JjuAP4ogmwoBYIQY\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 0F &#8211; Project<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 10 &#8211; Look Who&#8217;s Talking, Now<\/h3>\n\n\n\n<p>This tutorial mirrors tutorial eleven in my Eyes of the Dragon 4.0 tutorial series. It makes some adjustments to conversations. It lays the foundation for being able to read and write conversations.<\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1MrpXXqUljvrWWOpyBRrPaVglNYhWL8op\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1MrpXXqUljvrWWOpyBRrPaVglNYhWL8op\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 10 &#8211; Look Who&#8217;s Talking, Now<\/a><\/p>\n\n\n\n<p><a rel=\"noreferrer noopener\" href=\"https:\/\/drive.google.com\/file\/d\/1znv4Giw2fYuRKIi-218HeJzSMpAdU8EQ\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1znv4Giw2fYuRKIi-218HeJzSMpAdU8EQ\/view?usp=share_link\" target=\"_blank\">Tutorial 10 &#8211; Project<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 11 &#8211; It&#8217;s Clobbering Time<\/h3>\n\n\n\n<p>This tutorial lays the foundation upon which the combat engine will be built. It adds shadow monsters&#8217; classes and classes for moves they can perform.<\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1BYTEgqtY7bunQBkp8WBVQjSQFQqjqL5W\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1BYTEgqtY7bunQBkp8WBVQjSQFQqjqL5W\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 11 &#8211; It&#8217;s Clobbering Time<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1I3SPrph4fcY1dgVgnsQA7dbbcs04bX2p\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1I3SPrph4fcY1dgVgnsQA7dbbcs04bX2p\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 11 &#8211; Project<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 12 &#8211; Hulk Smash!<\/h3>\n\n\n\n<p>This tutorial picks up where the last tutorial left off and adds the game states required to have combat between shadow monsters. It also makes a few adjustments to shadow monsters.<\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1gHxS1l5EgOPcjuC3elj4cseFIQKnW12B\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1gHxS1l5EgOPcjuC3elj4cseFIQKnW12B\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 12 &#8211; Hulk Smash!<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1NKNnkO3M_fxl9vcAYCvcv7SpaZZQmrr6\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1NKNnkO3M_fxl9vcAYCvcv7SpaZZQmrr6\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 12 &#8211; Project<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tutorial 13 &#8211; Codex<\/h3>\n\n\n\n<p>This tutorial is above creating moves to be used by shadow monsters in combat. It was initially going to be moves and monsters. However, covering moves alone was getting very long.<\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1hWu1iqY-o0QZKj8tklqdrgk71EpZWgnp\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1hWu1iqY-o0QZKj8tklqdrgk71EpZWgnp\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 13 &#8211; Codex<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1lAtSbWVvwaFdIRSOsTgwu2rISNe3ujYa\/view?usp=share_link\" data-type=\"URL\" data-id=\"https:\/\/drive.google.com\/file\/d\/1lAtSbWVvwaFdIRSOsTgwu2rISNe3ujYa\/view?usp=share_link\" target=\"_blank\" rel=\"noreferrer noopener\">Tutorial 13 &#8211; Project<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to the home of my MonoGame tutorial series: A Summoner&#8217;s Tale. It is similar to my Shadow Monsters tutorial series. It has been revamped to use the latest version of Visual Studio, 2022, and MonoGame, 3.8.1. The back story is that the game is set in a fantasy world. Some of this world&#8217;s inhabitants &hellip; <\/p>\n","protected":false},"author":2,"featured_media":0,"parent":153,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-978","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/pages\/978","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/comments?post=978"}],"version-history":[{"count":26,"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/pages\/978\/revisions"}],"predecessor-version":[{"id":1289,"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/pages\/978\/revisions\/1289"}],"up":[{"embeddable":true,"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/pages\/153"}],"wp:attachment":[{"href":"https:\/\/cynthiamcmahon.ca\/blog\/wp-json\/wp\/v2\/media?parent=978"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}