Archive

Archive for the ‘Game’ Category

Game Dev Blog #10 – NPCs and Side Quests

October 21, 2018 2 comments

NPCs

In addition to the ~30 named NPCs, I also created around 15 generic NPCs that will help fill the town.  They will be at different parts of town depending on the time of day.  Their dialog will be somewhat affected by the time as well, but not too much.  For example, most side quests will be doable at any given time.  I don’t want time to be too much fo a constraining factor.  It’s primary purpose is to help make the town feel more alive.

Side Quests and Dialog

As previously mentioned, I will model the dialog tree after Ultima VII’s.  Basically the MC won’t be “saying” anything, but will only pick topics for the NPC to talk about.  I want to leave the MC’s speech to the player’s imagination.  This way, the player won’t feel the MC is unrelatable if his speech doesn’t match the player’s usual way of speaking.  I’ve started to implement the side quests as well, and I think it’ll take around a month or two to complete it all.

Main Story?

I have the main story written a long time ago, but I think I will save that for last.  I’ll put up the frame work, so it’s “playable”, but the cut scenes will take a lot of effort, so I’ll save it for last.

Categories: Game

Game Dev Blog #9 – Cover Tiles script again, Dialog Logic

September 28, 2018 Leave a comment

Cover Tile Script v1.0.2

Fixed a bug with “upper” layers disappearing on cover tiles.  Also added a “Pass” tile, which doesn’t change the orientation of the tile at all but allows player to pass through.

Dialog Logic

Working on a dialog logic that will fit for most cases so I can re-use them on all my NPCs.  I have around 30 so far, and will likely add a few more fillers (30 doesn’t seem quite enough to fill a town).  The dialog will resemble Ultima VII.  You will start with a few choices, and then the choices expand as you talk to the person.  I’ve got a good dialog logic in place for non-quest giving situations.  It’ll take some work to figure out how I will deal with side quest dialogs.

Character Placement

I’ve decided to have characters be at different locations, depending on the time of day.  This complicates a few things (jobs that players can take on), but I think it will make the town look a lot more alive.

Next Step

Finish putting characters on the map and creating a dialog logic for side quests.

Categories: Game

Game Dev Blog #8 – Map Design, Fixed Cover Tiles script

August 26, 2018 Leave a comment

Cover Tile Script v1.0.1

Found a bug with the script where it doesn’t work after loading a game.  Spent more time on it and it now works a lot better, and the script is cleaner.   Also, last time I mentioned there is another script that does this, but that script seems buggy as well (at least from my testing).

Map Design

Spent most of these past two weeks on map design.  Felt like a good time to get started on this.  I designed most of the characters, have a good idea of what buildings and structures the town will need.  I will likely go through 2-3 more iterations but need to get started somewhere.  I’m not very creative, and I don’t think I can ever create maps at the same level as some of those that you find online.  But what I can do is keep my maps consistent.  Here are some rules that I try to follow:

  • For buildings, the outdoor tile width = 3 x the indoor tile width.  For example, the smallest house is 3 tiles as viewed from the outside, and it is 9 tiles (excluding the walls) on the inside
  • The tile that doors are located will be relative to where it is located on the inside
  • For buildings, two tile height = 1 floor.  Example, buildings that are 4 tiles high have two stories
  • Each building’s shadow length = 1/2 the building/wall’s height.
  • No shadows indoors

Some samples:

It will probably take me two more weeks to finish the first iteration of the town maps.  There are also maps for quests, but I will probably start on those last.  Too many things can change and I don’t want to waste time making maps that I may not use.

Categories: Game

Game Dev Blog #7 – Character Design

August 11, 2018 Leave a comment

Characters

After deciding how I want to do side quests, I needed to make the townspeople more unique.  The town isn’t that big, probably around 20-30 NPCs, so I want them all to have back stories and unique appearances.  It’s more time consuming than I expected.  I settled on initial designs for all the characters now, but need to tweak them some more.  I’m still trying to finish up the side quests as well.  I think I need to take my time on this though.  Slowly develop the side quests’ depth.  Here’s an example of the male character designs:

Other Progress

  • Finished implementing the various jobs that the player can perform in town.  Still need to perform more testing.

Tip of the Day

    Don’t try to design characters all in one day, especially when it feels like you’re running out of ideas.  Taking a break helps.
Categories: Game

Game Dev Blog #6 – Revamp skills/stats, Side quests

July 28, 2018 Leave a comment

Issues

While I was looking at side quests and how to best design them, my original idea of having it similar to main quests doesn’t seem to cut it.  I also found my game to be a bit too straightforward.  I wanted to keep things simple, but having 6 stats and nothing else made it difficult to design side quests into something meaningful.  I also found that the “town” itself is lacking in usefulness.  My game is similar to Princess Maker or more recently, Long Live the Queen, where you perform tasks to get money or stats.  This made walking around town a chore at best.  Another issue is that I’ve always wanted a game where the NPCs say more than just a one-liner, similar to what Skyrim and Witcher III does.  The game that I think does this the best is Ultima VII though.  I probably won’t cram that much backstory into each and every NPC, but I want to make the townspeople seem more real.

Side Quests

Instead of having side quests come from the guild like main quests, I will have them come from townspeople.  One thing I WON’T do is create a list of active quests like what you’d see in MMOs. A list is great to help keep track of things to do, and it’s a necessity if the game is huge with tons of quests.  However, the list always make it too easy for people to know exactly what to do.  Players can skip over the dialog, check the list, and then just perform the task.  It’s convenient, but I want to force the players to figure out what to do on their own.

The side quests can be completed at any time, and it usually just requires having certain levels of stats and skills.  I will try to design some interesting ones to hopefully make them more memorable.  I plan to have around 10-20 side quest chains and they are completely optional, but without doing them, it is nearly impossible to get the best ending.

Stats and Skills

In order for the side quests to have more meaning, I need to add more depth to the basic game mechanics.  Instead of only having 6 stats, I added “skills” that the player can learn.  Some skills will influence whether a story quest can be performed well or not, while other skills are there to advance side quests.  For example, “Combat” skill allows you to defeat monsters with less Strength stat.  So if a quest required 50 strength to “clear”, with Combat, you will only need 40 strength.  Another example is “Cooking”.  It has 0 influence on the main quest, but some side quests will require this skill.  Another example is “Lockpicking”, it will allow you to open locked quests in town.

I will have to be careful with what kind of skills I add, but I think it’s a versatile and yet simple mechanic that allows the game to feel more dynamic.

Other Progress

  • Modified status page to only show relevant info
  • Finished coding “lessons” and its various use cases (e.g. maxed out stat, no more gold)
  • Added 5 more quests, but without the cutscenes yet
  • Created a few more character models with RMMV’s engine.  Examples

Categories: Game

Game Dev Blog #5 – Basic Game Functions

July 14, 2018 2 comments

Implement Basic Game Functions

I started coding the basic functions and mechanics for the game now.  My goal is to first code the game to the point where I can “play” from beginning to end.  The various mechanics will be in place, but just the bare minimum.  For example, players are able to perform “jobs” around town.  There will be 4 (maybe more) jobs, each of them will give different amount of gold based on your stats.  There will also be a brief cutscene for each job.  The bare minimum would be to implement one job, that jumps to a very brief cutscene, modify gold, stats and all other parameters, then jump back to the place where players regain control.  I will do the same for all game functions before completing them.  This allows me to make sure that all the mechanics I have in mind are feasible to implement.  I can also get an idea of how long it will take for me to complete the implementation.

Game Mechanics

I’ve managed to implement the basic functions for 70% of the features I had in mind.

Day/Time – each day, player can perform up to 3 tasks (morning, afternoon, evening). Implementation completed.

Jobs – takes 1 time slot. Increases gold.  Implemented one job (blacksmith/forging)

Lessons – takes 1 time slot. Decreases gold, gain stats. Can’t perform if gold is insufficient. Has 3 levels. Higher levels are unlocked after taking lessons for x number of times.  Implemented one lesson (Combat)

Sleep – Advance day. Implementation completed.

Exploration – takes entire day, can only be performed in the morning.  Gain crafting material (and maybe gold).  Implemented one explorable area (forest)

Crafting/Upgrading – craft or upgrade equipment from material.  Equipment gives % increase to stats. Does not need to be equipped. As long as it’s in inventory, it will have effect.  Haven’t started implementing.

Side Quest – takes entire day, not always available.  Gain gold, crafting material, and/or fame. Stats must be at a certain level to take the quest.  Haven’t started implementing

Main Quest – takes entire day, story moves on. Gain gold, upgrade material, and fame. The amount gained depends on stat level and choices made.  80% finished implementing the first quest.

Polish Cutscenes

I won’t implement most of the cutscenes until the end.  However, I will need to have a well-defined set of rules on how I will go about implementing this.  Ideally, the cutscenes are actually there, but there won’t be any actors or actions yet.  However, it can allow the game to advance.  I will likely only start to implement the actors and actions until the “playable” features have all been implemented.  I had something in place from a couple weeks back, but there were some flaws, and the flow wasn’t very intuitive.  I’ve got it to a point where I know exactly where to implement the actions when the time comes.  It can also allow me to easily add in “break points” to effectively skip parts of the cutscenes.

Categories: Game

Game Dev Blog #4 – Walk behind walls, maps, image sets

June 22, 2018 2 comments

Walk Behind Walls

By default, the “walls” in RPG Maker cannot be traversed.  This makes sense.  You don’t want characters to walk on wall tiles, but it limits the map you create.  In many situations, your character should be able to walk “behind” walls.  RPG Maker Ace VX didn’t have this feature either, but there was a script for it.  I couldn’t find one for RPG Maker MV, so I wrote one myself: https://forums.rpgmakerweb.com/index.php?threads/cityshrimps-cover-tiles.96380/

I used Neon Black’s Terrain Tags script for Ace VX as basis.  Took around 3 hours to transcribe it from Ruby to Javascript.  Here’s the kicker.  After I uploaded my script to RPG Maker Web, I found a script, written a few months ago, to do this exact thing.  I was pretty disappointed since I basically wasted 3 hours on a script, but still, it was good coding exercise and I got to learn about how RPG Maker draw layers of tiles.

There are a lot of other scripts that I either modified or downloaded for Ace VX that I have to replicate for MV.  The game I’m making this time is a lot simpler in terms of gameplay though, so hopefully it won’t be too much of a hassle.

Maps

Started working on maps.  There are two basic types – playable and non-playable.  The playable maps are the ones where players will be able to traverse in, which is actually very limited.  I’m only planning to let the player walk around in 1 (maybe 2) towns.  Every other location can only be visited during quests and since quests are basically cutscenes, those are all non-playable.  I have to put a lot more time into the playable ones, making sure there aren’t any weird bugs (e.g. places where players can traverse onto the walls or off the map).  Not to mention the entire map will have to be detailed, since players can go anywhere.  The non-playable maps are much easier since I dictate the exact scope of where on the map will be viewed and I don’t have to play test them.

I’m starting off with rough layouts, putting minimal details.  I just need to get a sense of where everything is and the scale of things.  The details will come later.  When I made my last game, I polished the map 3-4 times; each time, I thought this is it, but then I make more changes due to gameplay requirements, story changes, etc.  It will save a lot of time if I just held off on making finishing touches until then end.

Here are some sample:

Tile Sets

The basic tile sets that come with RPG Maker is lacking.  It has components to build up a basic town, but doesn’t have enough objects and styles to make something unique.  There were a lot of good resources for Ace VX, but not nearly as much for MV.  Times have changed as well.  Most Ace VX contributors provided custom tile sets for free, but most “complete” tile sets I found for MV cost money.  I bought RPG Maker MV Season Pass which comes with a few additional tile sets.  I think I’ll just stick with these for now.

Character Sets

Perhaps one of the best improvements with MV is their character generation engine.  Ace VX also had this, but it’s meh.  The portrait created are front facing and lacked appeal.  MV’s engine will actually create portraits that resemble the style of prepackaged character portraits.  The character models are also more detailed.  With this, it’s easy to create custom character portraits and sprites for all my NPCs.

Tip of the day: Don’t polish your maps until the end.

Categories: Game

Game Dev Blog #3 – Skip Cut Scenes, World Map, and More

June 8, 2018 2 comments

Decided to take a break on story, since I’m almost done with it, and I’m a bit sick of thinking about dialog.  I did write the dialog for 2+ quests, so I have a little over 2 more to go.

Skip Cut Scenes

Since most players won’t get the “best” ending on the first play through, I expect this game to be replayed 2-3 times.  Given how 50% of the game will be cut scenes, I NEED to give players the option to skip them.  RPG Maker doesn’t come with a built-in feature to skip cut scenes.  I also didn’t find any good prepackaged solutions online, so I had to figure this out on my own.  After some trial and error, here’s what I came up with.

In RPG Maker, cut scenes are defined within “events”.  Each event have a series of commands/operations that will run in sequential order.  For example, in one event, it will say:

  1. Open Dialog box with text “blah blah”
  2. Move player1 up 5 spaces
  3. Open Dialog box with text “ha ha ha”

For the most part, while the event is running, players cannot interrupt the flow.  In order to allow players to intervene, I created a separate “parallel” process, which continuously checks whether or not the “Cancel” button is pressed.  Note: although it’s “continuous”, it actually checks once every 1/60 seconds, so it is possible that a player clicks the “Cancel” button then release, and yet the game doesn’t register it.

Once the “Cancel” button is clicked, the parallel event will trigger and force open a dialog box which asks the player whether or not they want to skip the cutscene.  There are some downsides to this method.  For one, if a dialog box was already open, that one will be closed so players may miss some conversation if they choose to continue the scene.  Another downside is that it won’t always pause the cut scene, so objects will continue to move around in the background.  It’s not ideal, but nevertheless, it’s an option.  There are ways to fix those two issues, but it will take A TON of work.  There could be simpler/easier solutions out there, but I’m not too hopeful.

World Map

I like giving players the ability to view a world map that the game takes place.  My game won’t have a “world map” area for players to traverse in, and yet the story will take place in many different places.  I think it will help players immerse into the world if they have a better understanding of where they are and where events are taking place.  I used RPG Maker’s Map tool to draw, then added legends via GIMP.  Here’s what I have so far.  Note: the names are just placeholders right now.

Players can access this map via Main Menu

Fast Travel

Another “must have” feature is Fast Travel.  It’s nice to explore a town, but when a player needs to go from point A to point B countless times, it will get tedious.  This feature is very easy to implement.  Just have to add options in the menu, when a location is selected, I can just move the player to the corresponding map and x-y location.

Overlay

Downloaded a script (Orange Overly by Hudell) that adds an overlay with sun rays to make the map less “flat”.  I’m only using the “light” overlay right now.  I will consider adding shadow layer as well to give the map even more depth. Example:

Main Menu Manager

The default menu is not suitable for my game.  I have no use for skills and formation options.  I also need to add World Map and Fast Travel options.  The default design is also meh, so I want to change it up a bit.  I’m using Yanfly’s YEP_MainMenuManager and SumRndmDde’s Alt Menu Screen: Icons scripts to get the job done. YEP_MainMenuManager allows me to modify what options the menu will have, and also what the option does.  Alt Menu Screen: Icons script changes the menu’s appearance. Current menu:

Icon Set

Lastly, I also downloaded a new Icon Set (also from Yanfly).

Categories: Game

Game Dev Blog #2 – Still Working on Story

May 26, 2018 3 comments

Spent pretty much the last 2 weeks on story.  I’ve expanded the story a little bit, now there will be 19 total quests.  In the process of writing dialog for the 14th quest, so not much longer now.  But… the more I write, the more developed each character became.  I’m reading through dialogs from earlier quests, and the characters behave too differently from the later quests.  So~~ now I have to read through all the dialog again and make adjustments.  I’m still on track to finishing up the story portion by mid-June, but it won’t be “complete” by then.

It also took me some time to make the story “make sense”.  The story progression I had in mind had some loopholes (e.g. motive made no sense, dialog didn’t fit the backstory).  It’s harder than I thought to create a coherent story of this length.  More respect for authors in general now.

The only thing I did aside from story is download a few character sheets that I may need. For example (credits to hiddenone, Kadokawa) :

Goblins.png Orcs.png

I also matched characters in my story with RMMV predefined characters.  The predefined characters aren’t ideal, but I have nothing else to work with.  I also need to adjust the character’s dialog and personality to fit those images more closely.

Tip of the Day: Your perception of a character evolves as you write more story and dialog.  Need to periodically review previously written story to make sure there are no loopholes and inconsistencies.

Categories: Game

Game Dev Blog #1 – Story Dictates Everything

May 14, 2018 4 comments

I’ve decided to write a post every 2 weeks or so to keep track of the progress I made with this game I’m making.  For one, this will help me reflect on what I’ve done to motivate myself.  On the other hand, I hope this can help other aspiring Indie game developers with the process of creating a game.  In my previous attempt, I felt a lot of time was wasted due to a bad process, and hopefully this time I can avoid the same pitfalls that screwed me over.

I’ve spent about 3 weeks on this game already (about 30-45 min a day), and so far, I did:

  1. Create a new project in RPG Maker MV
  2. Downloaded a few resources
    1. Plugin for flexible dialog
    2. Face images so when characters talk, there are more expressions for me to use
  3. Started a list of credits for all the scripts and images I downloaded
  4. Started different word files for the game
    1. Story – outline of the story and dialogs
    2. Mechanics – all game mechanics, e.g. how are quests given, stats, skills
    3. Quests – quest details, e.g. how much gold given, criteria
    4. Characters – character details, e.g. age, hair color, personality, backstory
    5. Dev Notes – code and logic notes, e.g. use separate seed for different RNG situations

I’d say 95% of the time has been spent on character and story so far.  My game will be quest driven. Each main “quest” will come one after another.  Each quest will develop character, move the story forward, etc.  I’m about 50% finished writing the dialog.  I initially wrote an outline that covered the general storyline, but that has changed dramatically as I wrote the dialog.  Only when I dived into the details did I find flaws in my original story.  It’s a very generic hero-save-the-world deal, but it’s hard to grasp each character’s motive and personality without writing their dialog first.  For example, I first decided which characters will participate in what quests, but when I actually got to that part of the story, it made no sense for a certain character to be there.  Also, as I wrote the story, I realized that some game mechanics had to be changes, added, or removed.  For example, I initially wanted to give players the ability to “explore” other regions and find side quests, but given how story-driven my main quests are, these side quests will reduce the cohesion of the main story and it will be too difficult to intertwine the side quest stories with the main quest stories.

For the next few weeks, I will continue to write more story and dialog.  I will also give game mechanics some more thought.  I’m hoping to start actually writing code in mid June.

Tip of the Day: Do not start coding the game right away.  Game mechanics WILL change as you develop story, character, and other parts of the game.  Take the time to solidify your design before writing any actual code.

Categories: Game