Jump to content
  • entries
    17
  • comments
    8
  • views
    8,657

About this blog

Check out the progress of my games and tutorials I have made!

Entries in this blog

 

Godot 3.2

Godot 3.2 is an exciting new launch with many new features.  I did encounter a little issue with my current project when switching to Godot 3.2 that my solution may help people out. I wrote a finite state machine for use with my game.  In this state machine, a state calls on the player controller.  For some reason, the state machine is loaded before the onready commands are called in the player controller, causing any onready vars to not be prepared.  To fix this, and to add a little bit of lazy programming into the player controller, I implemented the following code: onready var kinematic_controller : KinematicBody2D = get_node("Character_Controller") var kinematic_controller : KinematicBody2D = null ... func get_kinematic_controller() -> KinematicBody2D: if kinematic_controller == null: kinematic_controller = get_node("Character_Controller") return kinematic_controller This way, if for any reason the onready call to set a controller is not called, we can call it in the get function.  I got my game from a non-running state to running perfectly again.

Maindric

Maindric

 

Resurrection

This blog has been idle for a significant amount of time.  I have fallen too busy to follow my passion in game development.  This is due to the fact that I do work another job full time, and I was pursuing my Bachelor of Science in Computer Science degree full time.  Game development just took a back seat.  Well, now this is changing.  I graduated from my program in December of 2019.  Now, to fill in the time that I spent working on my degree jumping back into game development full time. Now, let me lay down my intentions and plans with this blog, so that anyone reading on this site understands my actions and intentions.  Getting back into game development is my attempt into changing my career to become a game developer.  Over the next three and a half years, I intend to put a lot of effort into developing a game for release.  This blog will go over my development journey, while focusing on tips, techniques and procedures for others to succeed in their attempts at learning game development. Tools First off, the tools that I intend to use for development are going to be fairly varied to work on my projects.  I will write about these tools and their usage in game development as I work on the projects. Game Engine: Godot The engine I will be using from here on out is the Godot game engine.  There are a few reasons for this.  Namely, the flexibility in usage in the most I have ever experienced in the past.  I have worked on RPG Maker, Unity, App Game Kit, and others.  All of the proceeded tools are fantastic tools and they satisfy a place in the market. RPG Maker is a great entry point to new developers who wants to see the process of adding content, however, it is quite difficult to change mechanics.  There is a high reliance on plug ins with specified orders and such, but lacks the flexibility of a full fledged engine.  However, it makes up for this with ease of use.  For my purposes, RPG Maker is not flexible enough for what I want to achieve. Unity is an amazing engine with many options for developers.  It is why it has become one of the top engines on the face of this planet.  However, with the closed nature of Unity and it’s growth, it has become rather bloated.  The way components works with each other leads to situations where it is exceptionally easy to create an interlocking system that is convoluted and harder to work with.  There are also fewer and fewer ways to script for Unity. App Game Kit is an excellent tool for pure C++ usage, it’s workflow is too narrow to achieve what I want to do.  There is also much more work needed to achieve a full project to be released. Godot offers the flexibility of Unity with options to code in GDScript and C++ (With Mono C# as well).  Working with compiled C++ gives a new level of optimization that is not possible with Unity.  I can work in C++ for computationally intense work while using the simpler GDScript for simpler tasks.  This is also neglecting the fact that I am developing on Linux, which none of the other tools can really do as well as Godot does. Tiled What can I say?  Tiled is so easy to use and powerful that there aren’t really any significant alternatives for the work that can be done. Aseprite Similar to Tiled, Aseprite is so power in it’s workflow, and reasonably affordable. Blog, and the future As covered, this blog will be my game developer’s journey.  Many of the blog posts will be about the proceeded tools, but more importantly, I plan on focusing on techniques that are universally applicable.  I plan on a blog post about every week or two.  Whether it is a simple update, such as this post, or a game development concept, there will be something with regards to game development regularly.  Think of it as a replacement to the essays that I worked on in college.  For this posting, it is simply a status update.  I look forward to developing with you. -Maindric

Maindric

Maindric

 

Tiled to AGK: Step 1-Prepare the tilesets.

It has been a long time since I have done a proper blog post.  This one is the first part of a multi part series of importing Tiled maps to AGK.  I use AGK in Tier 2 as a game framework using C++.  This is the real draw to AGK for my use, as I have the simplicity of AGK with the power of C++.  However, this tutorial is written using an AGK Tier 1 snippet as there is no need for any added complexity.  I will eventually write a C++ variation that is more flexible, but none the less, let’s start part 1 of this tutorial.  It is important to note that this does not only work with Tiled, it can be used to load any tileset/atlas image easily, but Tiled is my motivation for making it. Tiled is an open source tile map editor for use in any engine.  I will be making maps using Tiled and bringing them into my AGK Tier 2 project.  The first step to doing this is to import the tileset images individually using the same ID’s that Tiled does.  If you select a tile in Tiled, the ID in the property menu is always 1 lower than it’s exported ID.  This makes ID 0 equal 1, ID 2 equal 3, etc…  What this means is that the top left sprite ID = 1 and counts up going from top left flowing to the right then down.  Something like this: 1 2  3 4 5  6 7  8 9  10 11 12 13 14 15 16 Using this code snippet, there are 4 variables of interest to turn all uniform tilesets into an AGK compliant file. 002  tileWidth = 128 003  tileHeight = tileWidth 004  numHorizontalTiles = 16 005  numVerticalTiles = 16 tileWidth — Change this to the width of a tile. tileHeight — If the tiles are square, leave as is.  Otherwise, set to the height of the tile. numHorizontalTiles — How many tiles are from left to right. numVerticalTiles — How many tiles are from up to down. From there, just run the script and a file will appear in C:/Users/<<UserName>>/AppData/Local/AGKApps/<<AppName>>/media/myfile Copy this file to the same directory your tileset is and rename it to “<<TilesetName>> subimages.txt” and you will be able to load the tiles in just fine. Just to prove it works, I will demonstrate loading the tileset in AGK Tier 2. Tileset and Subimage file side-by-side Once the generated file and tileset image are both in the same directory, you can then proceed to load the image and subimages to AGK.  I included a very simple example code of loading in all 256 images (in my case). std::list<g::Sprite*> s; ... unsigned int image = agk::LoadImage("media\\Tilesets\\Grassland\\Grassland.png"); for (int i = 1; i < 256; i++) { s.push_front(new g::Sprite(agk::LoadSubImage(image, std::to_string(i).c_str()))); agk::SetSpritePosition(s.front()->GetSpriteID(), (i-1)%16*128, (i-1)/16*128); } This code makes a list of a Sprite class that I made for my project and loads up all subimages of the tileset into the list and places them from left to right, top to bottom. Tileset loaded and placed, one tile at a time. Link to tileset. There we go.  Tilesets and Atlases made and loaded into AGK far easier than slowly typing out the subimages file manually. Part II in progress, I will link to it here when done. -Maindric


Maindric

Maindric

 

Code snippet for Tiled tilesets to AGK

This is a code snippet that creates a file that can be used for tilesets, created in the AGK expected format for tilesets. I will write a full tutorial on how to use this code in a future post.  See this post on use of the snippet. //Change these values if your tiles are a different size in pixels tileWidth = 128 tileHeight = tileWidth numHorizontalTiles = 16 numVerticalTiles = 16 //Open a new file to write. I found no success writing to .txt. fileid = OpenToWrite ( "myfile" ) //Variables used in the loop. string$ = "" //This will be what gets written to the file. tileid=0 //Used to count up and assign each tile an ID //This is the same as saying for(int i=0;i<numHorizontalTiles;i++) with the i++ at the end of loop. i=0 //Start at 0 While i<numHorizontalTiles //Same as above, nested for loops. j=0 //Start at 0 after each loop. While j<numVerticalTiles //increment tileid each loop. In Tiled 0 is no tile, so we start with 1. tileid = tileid + 1 //Assign the line to be written to string$ string$ = Str(tileid) + ":" + Str(j*tileWidth) + ":" + Str(i*tileHeight) + ":" + Str(tileWidth) + ":" + Str(tileHeight) //Write string$ to file. WriteToLine saves it in ASCII readable format. WriteLine(fileid, string$) /* Remove to watch progress. Print(string$) Print(GetWritePath()) Sync() */ //Remove to watch progress. //j++ for the loop j = j + 1 EndWhile //i++ for the loop i = i + 1 EndWhile //Close the file CloseFile ( fileid )


Maindric

Maindric

 

A little sneak peak of my current project.

<p><a href="http://maindric.com/wp-content/uploads/2014/06/Screenshot-2014-06-09-04.05.15.png"><a href="http://maindric.com/wp-content/uploads/2014/06/Card-colors-and-themes.png"><img class="alignleft size-full wp-image-308" alt="Card colors and themes" src="http://maindric.com/wp-content/uploads/2014/06/Card-colors-and-themes.png" width="965" height="720" /></a><img class="alignleft size-full wp-image-306" alt="Kingdom Keep concept" src="http://maindric.com/wp-content/uploads/2014/06/Screenshot-2014-06-09-04.05.15.png" width="1361" height="747" /></a></p>   <a href="http://maindric.com/a-little-sneak-peak-of-my-current-project/" class='bbc_url' rel='nofollow external'>Source</a>

Maindric

Maindric

 

Basic networking overview for my game “Time for Champions�

<p>I made a little graph to show my plan for my networking as a whole.</p> <iframe src="//docs.google.com/viewer?url=http%3A%2F%2Fmaindric.com%2Fwp-content%2Fuploads%2F2014%2F03%2FBasic-network-overview.pdf&hl=&embedded=true" class="gde-frame" style="width:100%; height:500px; border: none;" scrolling="no"></iframe> <p class="gde-text"><a href="http://maindric.com/wp-content/uploads/2014/03/Basic-network-overview.pdf" class="gde-link">Download (PDF, 31KB)</a></p> <p>Tell me what you think!</p>   Source

Maindric

Maindric

 

Equipment drop for TFC.

<p>I typed up a document (Poorly written document btw) on my drops for my game, Time for Champions.</p> <iframe src="//maindric.com/wp-content/plugins/google-document-embedder/view.php?url=http%3A%2F%2Fmaindric.com%2Fwp-content%2Fuploads%2F2014%2F02%2FTFC-EquipmentDrops.docx&hl=&gpid=3&embedded=true" class="gde-frame" style="width:100%; height:500px; border: none;" scrolling="no"></iframe> <p class="gde-text"><a href="http://maindric.com/wp-content/uploads/2014/02/TFC-EquipmentDrops.docx" class="gde-link">Download (DOCX, 11KB)</a></p>   Source

Maindric

Maindric

 

Stream and YouTube schedule.

So, I need to find a good balance between life and the internet, more specifically, my live streaming. I love streaming, and I love chatting with people as I do it, I just cannot be spending all day on it as I have been. So, I have started working on a schedule, so you will know when I go online, and know what I will be doing before I go online. I may occasionally go longer, shorter, or change this as I go, but we shall see. Put simply, the plan is to have a two week schedule, week 1 do this, week 2 do this.   So, here is the schedule plan:   Week 1: Monday: 3 Hours, a random game I feel like playing that day (I may allow it to be viewer choice). Friday: 1.5 hours of RPG Maker, viewer questions get answered. Each of these sessions will have a youtube video published right before streaming, and will allow the viewers (you) to request topics, and I will answer them live in stream. I will also take these streamed answers, and make youtube videos of them for future reference. This should create a plethora of video how to videos for people. Week 2: Wednesdays: 3 hours of me working on my games, and I will answer questions on my work flow, and how I do something I just did as I go along.   Anyways, that is my idea, so please, vote, and I will take any suggestion into account! Enjoy!   Note: There is a poll embedded within this post, please visit the site to participate in this post's poll. (Post) For those whom do not wish to go to the site, if you post in the comments if this sounds good, or if you have a different suggestion, just leave a comment. (That is what the poll was for)   Source

Maindric

Maindric

 

Events Overview [Beginner level tutorial]

View this entry the way it was meant to be seen here.   Beginning Events:   Events, as described in the help menu are:   In other words, events are entities that perform specific actions you set for them. They will do nothing more, nothing less. Events can acts as decorations, items, NPCs, traps, scene controllers, and more. Events are not to be confused with scripts, scripts in the RPG Maker series effects how things work, while events change the direction of the game. There are also things that you can do with events that cannot be easily done with scripts, there are things that cannot be easily done with events, and it is your job as the designer to know when and how to use them. There is a saying I heard before, but I cannot remember where, so I will say what I remember of it.   Not to say that EVERYTHING can be done in RPG Maker with events, but your first instinct should be to try to achieve the desired result through the use of events before you go running to the forums begging for a script that an event is perfectly capable of accomplishing.   The Matter At Hand:   The first thing you must do to work with events is to select the event tool as shown here:     Once in this mode, you will see a grid go over your entire map, this grid informs you where the events can go. From then on, all you have to do is double-click where you want a new event to go. When you make a new event, you will get a window that looks like this:     This window has a lot of windows, buttons, drop down menus, and a lot of options. So, what I am going to do is break these areas up into smaller areas. For starters, let’s look at the name block:   Name:     This is a more important block than most people assume at first. If you are making a door, you could give it the name of the building that it is attached to, if it is a shop owner, what shop owner is he? This is especially helpful for cut scenes. Imagine, you are working on a cut scene, and your party members were called “EV052″ “EV053″ “EV054″ and so one? That would get disorderly. If you name the events, than it would be easier to see who is who, what is what, etc.   Page Controller:     The event page controller options. I will go into further details about this area later, but to put it simply, you can have a lot of pages, but only one can run at a time.   Pages:   This is where you can see and select the pages that you have created for this event. The main thing that you need to understand about the event pages, is that the higher the page number, the higher priority it has over the other pages.   Conditions:     In the conditions section, you can set different conditions for the pages. Here is a rough breakdown of how each condition works.:   Graphic:     This window is where you press you select what you want the event to look like. Can be anything from NPC’s, Lever’s, Animals, Chests, anything! Just double-click this section, and you will get this window:     Here is where you will select what you desire the event to look like. In some situations, you will desire to leave this window blank, such as when you want it to be a cut scene controller, or an event to set the map up. Other times, such as this event, you want to give it a graphic. For this demonstration, I will be selection a lever under “!Switch1″. Basically, navigate down to the “!Switch1″ option, and select the first option shown.   Now that the graphic is selected, you can press “ok†and you will now see it in the graphic selection window.   Autonomous Movement:     Autonomous movement is a simple concept to understand. Basically, these settings will define the idle settings of the event.   Options:     The options menu is pretty straight forward. You select the options you want on, and turn off the ones you do not want. Walking Animation: When the event walks, it shows it’s walking animation
Stepping Animation: When the event is sitting still, it’s walking animation will still play.
Direction Fix: If the direction the event is facing, so if the event is facing down, and he moves left, he will still face down.
Through: This event can pass through the player and other impassable tiles as if they were passable.
Priority:     Priority is another one that is self-explanatory. Below characters will set it up so that the player can walk on top of the event. Above character sets it so the player walks under the event. And same as character prevents the player from walking there at all.   Trigger:     Triggers can be a little confusing at first, but as you make more and more events, they will make sense. Let me give you a rough breakdown of how they work.   The option you need for your events should be pretty straight forward, but if you are in doubt, try it, if it works, then it works.   Contents:     Last, but not least, is the contents section. This is the part that truly matters with most events. When the event is triggered, it goes through what you put in here. and does what you want it to do. If you double-click within this area, you will get a pop-up menu with a ton of options. Do not fret, these options are pretty self-explanatory, and do exactly what they say they do. I will be making a series of tutorials show casing every single one of these commands. For now, just under stand those options do exactly what they say they do.   Test Event:   This event I will be making will be making a simple event, a switch that activates a separate event. For this event, the graphic I showed previously will need to be selected, “!Switch1″, and I chose the red lever. Select it in its left position, and the window should look like so.     We want it set up as the same level as the player, so Same as Characters is selected, also, the trigger is Action Button as we want the player to select the lever to activate it. Now, you want to make the event that happens when the switch is activated. Let’s go ahead and double-click in the contents section. This will show the pop up menu with 3 pages. Keep it on page 1 for now, and select “Control Switches†just as I have highlighted here:   This will pop up a new window with a few options. You do not need to under stand them fully, for now, just understand that switches store a value of on or off, nothing between. For now, keep single selected, and click where you see the “…†to the right of single. You will see a window pop up, and this window shows all your switches. Go ahead and name switch 0001: Switch.   Now hit “OK†and ensure that ‘ON’ is marked off, as shown here:     Once you have that set up, go ahead and press “OKâ€. Now, at the top, go ahead and press “New Event Pageâ€. Ensuring that you are on page 2, place a check on the top condition option “Switchâ€. Press the … and ensure that 00001: Switch is selected. Also, go ahead and change the graphic to this event to the “!Switch1″ graphic, and select the lever on the right position. Also, in contents, put another “Control Switches†command in there, but this time turning the switch to the off position. When all is said and done, the page should look like this:   Now, as I said, I want this event to effect another event. So go ahead and press “OK†and make a new event nearby. Set it’s graphic to whatever you want, in my case, I am setting it to the spike trap in “!Other1″ and choosing it in it’s down position. That is all that is needed for page 1. On page 2, go ahead and set the graphic to it’s up position. Also, set the condition for page 2 the same as the other event’s page 2 condition, Switch 0001: Switch is ON.   That is all! Let’s see it in action, shall we?       Conclusion: That is it for this beginner’s level tutorial! I hope you learned something new, and if now, I hope you are looking forward to my tutorials to come! I hope your future RPG Maker experiences are pleasant ones !

Maindric

Maindric

 

The Lost Shipment demo now available!

The demo was just uploaded! It is ready and available for the world to try it! You can download it by going to this page here: Download When downloading, it may say that it is unsafe, this is just your computer being paranoid. Please, if you have any critiques or comments, register and comment to this post, or the download page! Please, let me know what is broken, and what should be changed, added, suggestions, etc. Enjoy!   *Edit* Ensure to save often! I may have a missing file or two, and if you encounter a file like this, the game WILL CRASH. Ensure you save often to keep your progress.   Source

Maindric

Maindric

 

New trailer, and request! I want to know, what do you want to see!

The Lost Shipment: I just released the page for The Lost Shipment, and I also posted a new video on it. This video showcases me starting to add voice narration to my game, and it also shows my other maps. I also made my page for RPG Maker and The Lost Shipment, obviously not finished, but close enough. As soon as the game is finished, I will release a demo of the game under the downloads page of The Lost Shipment page. Viewer’s Choice! I also released another video, and is very straight forward. What do you want to see on my channel, website, game, anything! The video is here:   Source

Maindric

Maindric

 

Less Than 60 – Fireplace – RPG Maker VX Ace

This video launches a new series of videos, RPG Maker shorts. These shorts will be between 60 and 180 seconds long and will show how to do some interesting things in RPG Maker. This specific video covers a fire in a fireplace. This effect can be used for more than just fire however, twinkling lights and other effects.   Source

Maindric

Maindric

 

The Lost Shipment – Progress is being made

This is just a quick update on the progress of my project, “The Lost Shipment”. Things done: *Starter Town and events related +Morticulus and events related +”Castle Town” and events related +Equips, skills, enemies, and combat balancing. -Mountain dungeon and events related. *Being all needed finished, + Being in progress and almost done, – Being has yet to be started. Being that I just reached the half way mark of January, I am a little further behind than I would have hoped.  I should catch up this weekend though! Stay tuned!


Maindric

Maindric

 

How to – Limit event to facing direction

Part 1: In this tutorial, we will be covering how to check direction checking.  This first half will be covering pseudo methods and just theory, the second half will be implementing it into RPG Maker VX Ace. This portion of the tutorial will be usable in any game making engine as it is all pseudo, and not limited to RPG Maker. What we will be covering in this tutorial is how to make an event trigger only when facing a character, and rom a specific distance.  Sound simple right?  Well, let’s get started! Now, let me show an image of what we are going to achieve. As you can see, we have two characters in this scene.  We have Bill, the dragon, and Sam, the player. Bill is looking at Sam obviously, but how does he know he can see him?  He doesn’t!  That is our job, to tell Bill “Hey! Listen! Sam is right there!” How are we going to achieve this?  First off, we need to decide on how much of the map he can see, so let’s draw some lines. The lines I drew shows his line of sight.  Basically, anything inside his line of sight, he can see.  Obviously, Bill will not be able to see forever, so we need to decide how far his vision is going to go. Here are some squares shaded in.  The shaded squares tell us where he can see. Just for visual representation of that I mean, we have this: Bill cannot see Sam! Bill can see Sam! Now that we decided what Bill can and cannot see, let’s start with the math!  First, we need the distance formula right? Well.. We could.  However, I think it is more efficiently done a different way. Time for the logic. Alright, first thing is first, Bill cannot see behind him, so we need to rule that out. If( Sam.Y < Bill.Y ) { } What that is going to do is ignore it if Sam is higher than Bill. So, we removed all that, now, time to remove with guidance with the lines. This is harder to explain, so I will try to make it simple.  The Y axis, him looking down, is the independent variable, and the X axis is the dependent variable.  Basically, as Y gets larger, X gets larger, X cannot grow without Y. Now, in RPG Maker VX Ace, the very top left of the MAP is (0,0), so the current values are based on that, we need to adjust it so we can run some local tests.  To offset the positioning, all we need to do is take Sam’s values, and subtract Bill’s values, like so. Sam.xLocal = Sam.xGlobal - Bill.xGlobal; Sam.yLocal = Sam.yGlobal - Bill.yGlobal; Now it is in local coordinates! In order to do any logical operators, we will need to take the absolute values of the local coordinates. Sam.xLocal = abs(Sam.xLocal); Sam.yLocal = abs(Sam.yLocal); This is how that looks graphically: So now we are dealing with half of it, but the other half is being checked as well. Now, time for the logic! If( Sam.xLocal < Sam.yLocal ) { } Now that I have show the logic, let’s condense it! If we bring the absolute value into the local coordinate change, we get Sam.xLocal = abs(Sam.xGlobal - Bill.xGlobal); Sam.yLocal = abs(Sam.yGlobal - Bill.yGlobal); We can even go a step further and combine that with the If statement and get rid of the variables! If( abs(Sam.xGlobal - Bill.xGlobal) < abs(Sam.yGlobal - Bill.yGlobal) ) { } Mix this with the previous If statement, and we get this. If( Sam.Y < Bill.Y ) { If( abs(Sam.xGlobal - Bill.xGlobal) < abs(Sam.yGlobal - Bill.yGlobal) ) { } } We lose a little bit of readability, but I feel we make up for it in efficiency. Now, what did we actually just do?  We are doing is checking to see if the character falls within the shaded area.  I cannot find words to explain this well, so I will show in pictures! Example number 1: I not going to follow the pseudo code exact, so just take my word on the variables in this example. Sam is at (0,-1) in relation to Bill. Now, -1 is in fact less than 0, which is Bill’s spot on Y, so we move into the If. Now, let’s check to see if the player is in the line of sight. The absolute values turn (0,-1) into (0,1).  Then we check to see if 0 is < 1, which 0 is in fact smaller than 1. And voila! It works! Time for example number 2: Sam is not in view, let’s verify with out code! Sam’s local coordinates are (1,-1), and -1 is in fact lower than 0. The absolute values are (1,1), however, 1 < 1 is NOT true, meaning he is not in view, so Bill CANNOT see Sam. Ah, but wait, we forgot one thing, Bill can now see forever! To fix that, just add this after the first If and before the other: if( Sam.y - Bill.y > 5 ){ } That is easy enough, all it is saying is if Sam is close enough, or in this case, closer than 5 square away, then he can be seen. The final pseudo code: If( Sam.Y < Bill.Y ) { if( Sam.y - Bill.y > 5 ) { If( abs(Sam.xGlobal - Bill.xGlobal) < abs(Sam.yGlobal - Bill.yGlobal) ) { } } } Simple, right?  That is it for part 1!  Now, part 2! Part 2: Now we know how it works, let’s put it into RPG Maker VX Ace! First off, I assume you have basic knowledge on manipulation of variables and conditional branches. Second, I am only showing code for facing down, it will be easy enough from here to modify a few values and conditional branches for the other directions.  Here is a rundown on the other directions: Up: Same as this, except check to see if player is above target Right: Switch around the X and Y’s dependency, basically instead of checking to see if player is below target, check to see if right, and so on. Left: Same as from down to up, but instead right to left. Since I already explained the code, I will just show how it works with the eventing system. First off, let’s go ahead and set all the needed variables. After we add the base variables, we will check the first conditions. Keep in mind, in RPG Maker VX Ace, The top left is the origin, so to check if Sam is lower than Bill, Sam will have a higher Y value than Bill. After the first if’s are taken care of, we can go ahead and assign the other variables. Once we are done with that, we need to find the local coordinates, and then get the absolute values of them. As RPG Maker VX Ace’s event system does not have an absolute value anywhere, we needed to make our own. If it is below zero, change it’s symbol, that simple. Now, let’s finish it! The text box and wait were only for testing, you can have it do whatever you want now that it is finished! You can make it do a lot of things.  What I am going to do with this is trigger a flag that makes Bill rush to Sam, and do battle, basically it’s mobs walking around looking to do combat with you. I hope you all like this tutorial! Take Our Poll


Maindric

Maindric

 

The Lost Shipment - Skills, Items, and progression

Introduction:   The purpose of this post is to outline how my skills and items will progress within the game.     Skill Progression:   Damon: The main character. Warrior-type   Damon can use one of two weapons, and I would recommend picking early. He starts with an axe, and as he fights with the axe, he learns more skills that can ONLY be used with the axe. You can also equip swords with Damon, and, as with axes, learn sword only skills as you level.     Scarlet: Little sister to Damon. Mage-type   Scarlet can only wield a staff, but that does not effect skills at all. You start out with Heal, and Fire. Heal heals a single party member, and fire deals fire damage to a single enemy. As you likely guessed from above, as you level up with spell knowledge, you will learn more advanced skills based off the base. You can learn more skills from the magic shop, where you will learn the base to more spells, which will branch off to more advanced skills later.   All other characters:   They basically follow the above pattern with Damon, basically learning skills based off of their weapons, however, each playable character will learn skills based off of their personality.   How I plan to achieve this:   Basically, I plan to use common events. On level up, it adds a level to the level counters of the weapon type equipped, and spells known, and checks the delta. It the teaches based on that delta.     Items:   Weapons:   All weapons will branch off.   Graph:       Here is how it works:     Starter is the basic.   Improved Starter just adds small improvements to the first weapon, first mobs will drop these.   First Major Upgrade is the one I expect player to buy first. This one will provide a decent upgrade to your stats.   Branch 1 and Branch 2 is the first branch. You can select from faster or stronger, stronger physical, stronger magical, it all depends on the weapon.   Stronger gap control, improves on the stats that the character uses mainly, staff more magic, axe more atk.   Final Weapons: Faster - This one is the best fast weapon, and has a higher chance of crit. For staves, it also increases physical damage. Stronger - Improves main stat the most Mystical - Increases serviceability and endurance of character in combat.   Armor:   Nothing fancy, just general.   General - All players can equip these. Cloth - Magic based Light - Light armor, quick movement, low protection Heavy - Low movement, high protection   There will be 5 of each.     Acquisition:   All items will be purchasable and you can find them all off of mobs.     Feel free to comment and offer me suggestions!

Maindric

Maindric

 

The Lost Shipment - Save your work

Progress: I have made excellent progress the passed few days!   I started reworking all the items, weapons, enemies, armor, tile sets, and literally EVERYTHING else in the database.   I changed up all the tile sets, got all the actors in, fine tuned all my classes. Then I go to play test...     The Loss of Progress:   Then it happened. My computer froze as I exited the play test, right when I pressed the 'x'.   No big deal, so I reset my computer.   I come back on, open project....   "Unexpected file format"   Wait... This can't be right.   Try again...   "Unexpected file format"     Was the only reaction I had.   But then, rejoice! I had just backed up and shared just last night!   So I go open that folder... Missing the project file..   I find an older version with the project file....   It won't open, can't read a certain file...   It is all good, so I try to mix that with the data files of my other project. I start making head way with less and less errors... Till I found one file that will not fix itself...         TL;DR   I lost my work.     Conclusion:   I had to restart most of it. Thankfully, my maps were able to transfer to a new project, which consisted of the bulk of my work. But, nothing else did. The lesson here, save your work and back up efficiently.   From now on, here is my system. After every major task or hour, whichever comes first, save project, go to the folder, copy the whole folder, paste in a new folder with a -00N + 1 naming scheme. So first is "TLS-000" then "TLS-001" and so on. Hopefully, I will not lose 20+ hours worth of work on the database again due to this...     Last Thoughts:   This sucks...

Maindric

Maindric

 

The Lost Shipment

Header made by: TwistedXP - Deviant Art - Email   One Game a Month: First off, this is my first entry in the One Game a Month challenge. For those who have not heard of it, take a look here. I know I just heard of it, and I love it! So, I am going to try it.   My first month is going to be a short adventure.   Story: You play a 17 year old son to a General Goods store owner in a small village. Not many people live here, and your father's store is the only one in town, so supplies are important. Your older brother is in charge of getting supplies from a nearby town, but he has not come back. Your father sends you, your younger sister, and pet dog to go find him. You go to the port town, and they tell you your brother picked up the goods just the other day. You hear rumors of an increase of monsters coming from the mountains you had just passed, and some disappearances of people. You meet up with a "friend" of yours, who joins you for his own reasons. You get recommended to go to the city to get better gear, there, you intercept a lot of monsters, and kill them. The city gives you some gold to reward you for your bravery.   The player decides what to buy, and then heads to the mountains. There, you find your brother's wagon, and later your brother. *Spoiler, not mentioning* Your brother then joins the party, and you go find the guy responsible for all this. You kill the guy, return the goods to town, you are all heroes.   A simple, straight forward story.   Maps:   World Map:         Home Village:         Personal Challanges/Goals: Use only freely available material, and the RTP. No extra scripting. Make it as interesting as possible.   I plan on making a "Let's Make: RPG Maker VX Ace" series, showing making of this game, and how to on some things. Also, I will release the project for free, allowing other people who are interested in picking up a copy of RMVXA a demo game to try out for themselves, and modify however they wish.   So, let's begin!   Let's Make:   Let's make a Village:   Let's make a House:     Credits: RTP - Enterbrain Some of the tiles - Mack Headers - TwistedXP All Else - Maindric

Maindric

Maindric

×