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.
Simple Engine Internal Working 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:
-
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 - 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 - 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 - ———–> Testing the game to make sure it work properly
- Preparing the game to be release
-Splash Screen
-Title Screen
-New Preloader
- 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 - 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:
- Faster loading time because of ability to load resources dynamically
- Loading screens because of #1
- Better overall looks to words. (Reusable Library)
- Screen Transition effect. There will be some common fade effect when you move from one screen to another. (Core component)
- Classic features from standard games: Splash Screen, Title Screen. (Pretty much useless in the gameplay point of view but will be good to have)