Development Diary -> ‘Monster Island’

Developing – Action RPG Fire Dungeon #5

Thursday, September 2nd, 2010 by hongen1990

Last week we mentioned that we will start working on the basic skill activation mechanism. This week we managed to prototype the basic skill activation mechanism for the new entity.

The changed in Gameplay offered by this new mechanism is such that players no longer have the ability to “fire blindly” at an opponent. They will have to wait for an appropriate opportunity in order to attack and survive. They must also time the release of their skill properly, such that the time between each release is as short as possible, granting the player the ability to attack as much as possible. Releasing a skill before it gets charge up will result in a failed attack, releasing a skill too slowly will reduce the frequency of an attack.

image

[Click here to Play the prototype]
[Arrow key move, press and hold space to charge up a skill,
release a charged skill for activation]

It is still early to decide if this is fun, so it will be good to do more tweaks and testing. When we look at how other action games are designed, we feel that usually players will still prefer an immediate response “fire upon action” system in contrast with a “charge and wait” system. As for the enemies, the “charge and wait” system fit quite nicely because players always want the anticipation factor inside an action game so that they have time to react fairly. 

Next week, we will start developing the entity to support basic sprite animation. If time allows we may start working on dungeon dynamics.

Developing – Action RPG Fire Dungeon #4

Thursday, August 26th, 2010 by hongen1990

Moving on from the leftover of last week, we managed to secure a reasonable collision detection “framework”. The trick is to utilize  2 different types of collision detection. One of them will have a fast hash table algorithm to loop through the list of static objects while the other will have a more expensive algorithm to loop through the list of dynamic, movable objects. The combination of these 2 algorithm is a solution which enable the game scene to have a reasonable amount of objects placed in it before the game starts to slow down. Dynamic object collision is still a little bit problematic with an occasional hit not registering but we can move on to higher priority task first.

We managed to plug in more feature for the computer opponents. We mentioned in our first post that the primary challenge of this new content is tough computer opponents. This week we managed to give them the ability to retaliate when they are struck by the players’ fireball. The demo is available below. Please feel free to give the prototype a try. We also gave each computer opponent a total of 4 life to sustain damage for a small period of time. The player has a total of 2 life.

image 

[Click here to play prototype]
[Use the arrow key to move around, use the spacebar to shoot]
[If the arrow key doesn’t work click the flash app once]

Next week we will try to establish the basic skill activation mechanism. After that, we hope to work our way through the dungeon dynamics, special places of interest instead of just brick walls. You get the idea.

Developing – Action RPG Fire Dungeon #3

Friday, August 20th, 2010 by hongen1990

We are still stuck with collision, an essential game mechanism that must be made before anything else can progress. But development has progressed to provide player with the ability to shoot fireball at their enemy. Enemies are properly destroyed when they come into contact with the fireball.

image

We managed to fix the collision problem from last week, but  we found out that our algorithm  is very inefficient. As more objects are placed into the game scene, the game will slow down significantly. We must determine a proper method to handle collision detection reasonably.

Once we are done with collision, the next development step will be giving enemies the ability to attack and some endurance (take at least 2 hit to be destroyed). When enemies are attacked for the first time, they will turn around immediately and launch a single attack in the player’s direction. The player must dodge this attack or they will take damages.

Eventually we will also develop the skill activation mechanism and test the game play out.

Developing – Action RPG Fire Dungeon #2

Friday, August 13th, 2010 by hongen1990

We have started working on the Artificial Intelligence part of the new content. There is quite a bit of work to be done. We have managed to setup a stupid enemy and plugged in a rough mechanism to enable player with the ability to shoot fireball. Still, the skill activation mechanism is not developed yet and the A.I monster is only able to move left and right and move faster when it sees a player. Nothing more. It is… currently in a sorry state so we wouldn’t show it off just yet. There is a lot of residue in the development and we are slowing down.

image

Currently we are trying to solve some collision problem and trying to find a reasonable solution to establish object to object relationship. For example, the Fireball object will have to tell the Enemy object that it has been struck by it. On the other hand, the Enemy object will have to tell the Fireball to start moving when it has successfully use a Fireball skill.

We aim to have at least one challenging AI behavior developed as soon as possible. Our current vision for the prototype:

”Monster will roam the area. If they are attacked they will retaliate. Their skills usually activate faster than the player skills in the beginning, so they will have a high chance of interrupting the player. The player will still be able to dodge in time if they break their skill activation earlier and move away”

“Players press and hold down the spacebar to charge up a skill. If they release the spacebar key prematurely, before the skill is fully charged, skill activation will fail. On the other hand, the skill will activate if player release the spacebar key when the activation bar skill is full. The trick is to master the timing of skill activation to use skills in quick succession. Interrupting an enemy successfully should have some bonus effect, for example: deal extra damage, stun, etc. This may serve as another challenge for the player, to perfect their skill activation momentum.”

Developing – Action RPG Fire Dungeon

Thursday, August 5th, 2010 by hongen1990

We have a basic rendering engine coded for the new content. Basic tile to tile collisions mechanism are in place. A basic viewport is also supported. Current sample is set to 400 by 400 dimension. Objects collision is pretty flawless but not optimized yet. No dungeon dynamics are being developed yet. Please go ahead and preview it.

image 

[Click here to preview the prototype]
Use the arrow key to move the “hero” around

Following up, we will be spending some time developing monster A.I and dynamics, working to get the monsters to be as engaging as possible because that is the main focus of this new content. It will take some time but when that is done, we will start developing the dungeons dynamics. That is to say, the features of the dungeons like Destructible Obstacles, Traps, Healing Spots, and Gathering Spots.

Here is the general list of the features that we will need to cover:

  1. Tile Renderer
  2. Monster A.I and Interruption Mechanism
  3. Dungeons Dynamics
  4. Skills and Items Dynamics
  5. General support for Sprite Animation
  6. General support for background music and sound effect
  7. Level Design for Fire Dungeon

Thanks for being patient with us.

Conceptionalising Done – Action RPG Fire Dungeon

Friday, July 30th, 2010 by hongen1990

We have reach a final vision! Well, sort of final for now. The new entity will feature dungeon which can be explored repetitively. Inside the dungeon, there will be challenging monsters to defeat, traps to navigate, resource point to gather resources, obstacles which can be blown away by a dynamite, and finally, the monster boss.

There will be Gears and Artifacts available for players to customise their gameplay.

Gears are skills and items that players bring into the dungeon to enhance their dungeon experience. For example, the healing potion will give players the option to heal their monster and the smoke bomb will enable the player to exit a dungeon at any time. Item Gears will only last for a single dungeon instance. Skills gears will be a permanent possession for the players.

Artifacts are rare relics which can only be forged by collecting 5 different Artifacts Shards dropped by enemy monsters. Each enemy monster will be associated with a unique Artifact. Each area also contain a special Artifact which can only be forged from materials collected from resource points. Artifacts usually make certain skills become more effective or give these skills special behaviors. Artifacts are permanent possession for the players and Shards can be exchanged between friends.

Hard mode can be unlocked when a dungeon is completed under normal mode. In Hard Mode, all monsters and resource point have new unlockable Artifacts. Rewards galore! but the difficulty level for the dungeon will increase significantly.

Dungeon Points will be used throughout the new entity mostly to unlock and purchase Gears. Dungeon Points can be converted to standard Monster Coins and vice versa, but with conversion rates calculated.

We are excited about this new entity. We hope players will like what we have in mind, and hopefully everything will turn out fun when we completed development

We will begin prototyping the entity starting from next week. For a start, we will be focusing development on a single Fire Dungeon Area first. But before anything else, we will be working on the renderer for the new entity first. Once this basic mechanism for the entity is in place, we will start working on other features like the interruption mechanism, level dynamics, resource trading, and various essentials. Eventually, when the prototype is realized, we will add in the artwork and the new content will be ready for release!

Conceptionalising – Action RPG Fire Dungeon

Friday, July 23rd, 2010 by hongen1990

We have started working on our next new content for Monster Island. Conceptionalising will probably last for another week. For the rest of this post, this new content will be referred to as the entity.

The current idea view the entity as a 2D tile based exploration system – think Pokemon and Zelda, with a room to room explorable environment. Players will be able to take control of their monsters to explore the dungeon in the up, down, left, and right fashion.

The main focus of this entity is to provide players with challenging gameplay. Secondary focus include replay value and unlockable content for the player. As such, we believe the magic here is to apply an interruption mechanism to part of the battle system. This means that as monster uses skills, there will be  a delay before they activate their skill. During this delay, if an engaging monster has attacked with a faster skill, the defending monster will be interrupted. They will have to activate their skill again. This concept is still not proven with a prototype.

Furthermore, to ensure the entity is challenging, we are also going to make monsters have high damage but low hit points. As for boss monster, they will have high damage, high hit points, and also immune to interruptions. All monsters will also be designed to follow a specific attack pattern.

On top of that, player must dodge traps in the level, but we have decided not to include puzzle based room because it can be frustrating. However, we are considering the option to implement puzzle based rooms in “non-compulsory rooms / unexplorable rooms”. (Read below)

As for secondary focus, we are still working on it. So far, replay value include unexplorable rooms that can only be explored after the boss of a dungeon is defeated. Player can also have the ability to capture a dungeon upon completing it.

Unlockable content include the ability for players can change their farm to be located on the captured dungeon. Captured dungeon give specific bonuses for pet raising. Maybe for example: pet recover their energy faster in the fire dungeon.

Other than that, monsters that are defeated drop materials which are necessary to develop new unique items in a new fire dungeon materials shop.

Finally, completing say Fire Dungeon Area 1 will be a requirement for players to access Fire Dungeon Area 2, which may be a possible future add-on.

These idea are still in concept so it is highly likely that they will change in weeks to come. Please feel free to give us your opinions so that we can all create a better new content for everyone.

Thanks.

For engine update news, we are considering the option to use a cache to speed up loading time so that already downloaded assets will not be re-downloaded again as and when possible.

Current Progress for Action RPG Fire Dungeon:

  1. Conceptionalising new content  <——
  2. Building new content
  3. Testing new content
  4. Release

Game Update for this week:

  1. Fixed a fatal bug which prevent the game from starting up.
  2. Implemented a mechanism to prevent loading from being stuck.

Engine Upgrade – Features from 1 to 9

Saturday, July 17th, 2010 by hongen1990

We have released the new engine update! The new engine boast a new foundation, splash screens, screen transitions, a brand new title screen, and dynamic resource loading.

image

Players may also be pleased to find that they now have the option to start a new game if they wish to begin a brand new adventure.

Also, as a bonus update for releasing the new engine, we have also upgraded our existing game page to have a better appearance. Players may now find links to frequently accessed / related page on the left hand corner of the game screen. They are exactly Bookmark, Go to Wall, and Dev Blog for now. On the top right hand corner of the game page there is also a link which give player the ability to share the game on their Facebook wall.

It has been a long wait for the players (9 weeks!). In the next few weeks we will start juicing out new game contents so please stay tune for new updates which will be posted on this dev blog.

The new engine will also be kept in check constantly. Like what we have mentioned in the previous few post, we will always delegate some time to upgrade and maintain the engine. Players are free to help us by reporting any bugs / problems they have encountered on the discussion board.

Finally, we will like to thank everybody for their continuous support: by playing the game, writing reviews, and giving feedback. It has been a year and it was really fun developing the game and watching it grow.

System Improvement – Work in progress 9

Friday, July 9th, 2010 by hongen1990

We are done with the testing. Bugs were squashed. Next week, like what we have mentioned in the previous post, we will confirm our animations to 24 fps so that they will work with the new engine. We will also work on classical features of a game: Splash Screen, Title Screen. Then we will have an early release of the game with the new engine by the end of the week.

We will then make plans to add new feature to the game while shifting some time aside to continue our work with the engine.

Current Progress:

  1. Scripting Engine

    [Completed]
    -Ability to access compiled libraries from the game engine

    [Completed]
    -Ability to change the way the game works without having to recompile the entire game

    [Completed]
    -Ability to load resources dynamically

    [Completed]
    -Ability to have scripted libraries, and must have shared access of these libraries between scripts.

    [Completed]
    -Ability to be easily translated into compiled libraries and embedded into the engine when the need arises.

    [Completed]
    -Ability to transfer control from one script to another.

    [Completed]
    -Loading Screen when script is loading resources.

    [Completed]
    -Ability to dynamically set the scripts to load when starting up without having to recompile the entire game.

    [Completed]
    -Plugins, ability to have minor scripts easily plugged into a canvas script

    [Completed]
    -Ability to run compiled scripts

  2. Refactoring existing code and resources to work with the new system

    [Completed]
    -Resource file: items

    [Completed]
    -Resource file: skills

    [Completed]
    -Resource file: dungeons

    [Completed]
    -Resource file: monsters

    [Completed]
    -Resource file: soundFX
     
    [Completed, not fully tested]
    -Dependency: Share variables

    [Completed, not fully tested]
    -Dependency: Game static

    [Completed]
    -Plugin: Action Interface

    [Completed, not fully tested]
    -Plugin: Friend List

    [Completed]
    -Plugin: NPC Chat Engine

    [Completed]
    -Canvas: Monster Farm

    [Completed]
    -Canvas: Battle System

    [Completed]
    -Canvas: Explore Screen

    [Completed]
    -Canvas: Dungeons

    [Completed]
    -Canvas: Battle Arena

    [Completed]
    -Canvas: Shrine

    [Completed]
    -Canvas: Shop

    [Completed]
    -Canvas: Skill Customisation

    [Deferred]
    -Reduce frame rate to 24 fps, prevents unwanted CPU hog

    [Deferred]
    -Confirm 24 fps to all animated sprites

  3. Break Singletons and Static Classes into Modules and establishing interfaces between Modules. (Decoupling)

    [Completed, now belong to Engine, uses synchronization tech]
    -ShareVariable

    [Completed, now known as SettingModule]
    -GameStatic

    [Completed, now known as SaveModule]
    -SaveUtil

    [Completed, now known as PvpConnectionModule]
    -PvpUtil

    [Completed]
    -Inventory Module

    [Completed]
    -ItemModule

    [Completed]
    -FarmModule

    [Completed]
    -DungeonModule

    [Completed]
    -MonsterModule

    [Completed]
    -FacebookPublishModule

  4. Testing the game to make sure it work properly
  5. ———–> Preparing the game to be release

    -Splash Screen

    -Title Screen

    -New Preloader

  6. Constantly: Writing new libraries, modules, and plugins

    [Completed]
    -Simple Fade Screen Transition Library

    -ShadowText Library

    -BGM Module

    -SoundFX Module

    -Inventory Module

    -Bag Plugin

    [Deferred]
    -2D RPG Library (Used for farm and future RPG exploration)

    [Deferred]
    -Point and click Library (Used for explore screen)

    [Deferred]
    -Integrate point and click engine into farm

    [Deferred]
    -Integrate point and click engine into explore screen

  7. Ready!

Some of the expected outcome of Monster Island upon engine improvement:

It won’t be really obvious because work is being done on the backend. Therefore, the most obvious end results available to players are the following:

  1. Faster loading time because of ability to load resources dynamically
  2. Loading screens because of #1
  3. Better overall looks to words. (Reusable Library)
  4. Screen Transition effect. There will be some common fade effect when you move from one screen to another. (Core component)
  5. Classic features from standard games: Splash Screen, Title Screen. (Pretty much useless in the gameplay point of view but will be good to have)

System Improvement – Work in progress 8

Saturday, July 3rd, 2010 by hongen1990

We are done (almost) with decoupling. The interfaces are established. The modules are running, and the canvas are painting. Next week we are going to run tests to make sure the game is still working the way it is suppose to be.

 image
Simple Engine Internal Working Illustration

image 
Synchronization Illustration

The week after next week, we will confirm our animations to 24 fps so that they will work with the new engine. We will also work on classical features of a game: Splash Screen, Title Screen. Then we aim to leap forward and release the game by the end of the week.

After the next two week, we will work on introducing new features to the game, while prioritizing some time off every now and then to continue working on the engine to improve its architecture and build reusable libraries.

When we are in the progress of improving the engine, such that the improvement is still not released, the diary entry will be labeled:

“System Improvement – Work in progress #”

When an engine upgrade is being released, the diary entry will be labeled:

“Engine Upgrade – Features from # to #”, where # to # refers to the underlying content covered in System Improvement Diary.

Current Progress:

  1. Scripting Engine

    [Completed]
    -Ability to access compiled libraries from the game engine

    [Completed]
    -Ability to change the way the game works without having to recompile the entire game

    [Completed]
    -Ability to load resources dynamically

    [Completed]
    -Ability to have scripted libraries, and must have shared access of these libraries between scripts.

    [Completed]
    -Ability to be easily translated into compiled libraries and embedded into the engine when the need arises.

    [Completed]
    -Ability to transfer control from one script to another.

    [Completed]
    -Loading Screen when script is loading resources.

    [Completed]
    -Ability to dynamically set the scripts to load when starting up without having to recompile the entire game.

    [Completed]
    -Plugins, ability to have minor scripts easily plugged into a canvas script

    [Completed]
    -Ability to run compiled scripts

  2. Refactoring existing code and resources to work with the new system

    [Completed]
    -Resource file: items

    [Completed]
    -Resource file: skills

    [Completed]
    -Resource file: dungeons

    [Completed]
    -Resource file: monsters

    [Completed]
    -Resource file: soundFX
     
    [Completed, not fully tested]
    -Dependency: Share variables

    [Completed, not fully tested]
    -Dependency: Game static

    [Completed]
    -Plugin: Action Interface

    [Completed, not fully tested]
    -Plugin: Friend List

    [Completed]
    -Plugin: NPC Chat Engine

    [Completed]
    -Canvas: Monster Farm

    [Completed]
    -Canvas: Battle System

    [Completed]
    -Canvas: Explore Screen

    [Completed]
    -Canvas: Dungeons

    [Completed]
    -Canvas: Battle Arena

    [Completed]
    -Canvas: Shrine

    [Completed]
    -Canvas: Shop

    [Completed]
    -Canvas: Skill Customisation

    [Deferred]
    -Reduce frame rate to 24 fps, prevents unwanted CPU hog

    [Deferred]
    -Confirm 24 fps to all animated sprites

  3. Break Singletons and Static Classes into Modules and establishing interfaces between Modules. (Decoupling)

    [Completed, now belong to Engine, uses synchronization tech]
    -ShareVariable

    [Completed, now known as SettingModule]
    -GameStatic

    [Completed, now known as SaveModule]
    -SaveUtil

    [Completed, now known as PvpConnectionModule]
    -PvpUtil

    [Completed]
    -Inventory Module

    [Completed]
    -ItemModule

    [Completed]
    -FarmModule

    [Completed]
    -DungeonModule

    [Completed]
    -MonsterModule

    [Completed]
    -FacebookPublishModule

  4. ———–> Testing the game to make sure it work properly
  5. Preparing the game to be release

    -Splash Screen

    -Title Screen

    -New Preloader

  6. Constantly: Writing new libraries, modules, and plugins

    [Completed]
    -Simple Fade Screen Transition Library

    -ShadowText Library

    -BGM Module

    -SoundFX Module

    -Inventory Module

    -Bag Plugin

    [Deferred]
    -2D RPG Library (Used for farm and future RPG exploration)

    [Deferred]
    -Point and click Library (Used for explore screen)

    [Deferred]
    -Integrate point and click engine into farm

    [Deferred]
    -Integrate point and click engine into explore screen

  7. Ready!

Some of the expected outcome of Monster Island upon engine improvement:

It won’t be really obvious because work is being done on the backend. Therefore, the most obvious end results available to players are the following:

  1. Faster loading time because of ability to load resources dynamically
  2. Loading screens because of #1
  3. Better overall looks to words. (Reusable Library)
  4. Screen Transition effect. There will be some common fade effect when you move from one screen to another. (Core component)
  5. Classic features from standard games: Splash Screen, Title Screen. (Pretty much useless in the gameplay point of view but will be good to have)