EIS Game Dev
Nov 27, 2015
Reaction score
First Language
Primarily Uses

I'm working on a new plugin, which will be my first plugin that will have split files for different functionality.

This plugin is  a part of a larger system called Cecilia.

What is Cecilia:

Cecilia is supposed to be an in-game manager of sorts; she acts as an assistant and as a list of on the fly touch commands for the player to use at the Game Developer's discretion.

She also meant to assist the developer; she can be set up while the game is running to add a list of modules for player, or developer use while the game is running. Think of her as something akin to a Persona 3 Navigator, with some special features.

The end goal is to have a system where it can be either used for the player, or the developer. Where, she won't appear on screen if you don't want her to.


Core Features:

  • Speaking (For example informing the player of something -- these message windows still can use text codes) - (100% Done)
  • Adding modules under a single namespace - (Done)
  • Using Modules under that single namespace - (Done)
  • Intrusive, and Unobtrusive messages to the player (Done for message windows)

There are other planned features that will essentially be specifically for if you have the system in game.

Planned Features (Split Files):

  • Equipment ( Think buffing the party by equipping something to the system running in game )
  • Thinking them over

For example, if another developer created a plugin, and has exported functionality, you can put them under Cecilia's namespace to use those functions with your own name.

Example Call:

Cecilia.addModule("ScreenManager", KR.Utility.ScreenTintManager);
//Once this call is complete you can access the module under Cecilia using the name you created.

//There will be a list of commands available that belonged to the KR.Utility.ScreenTintManager

//Example Use:
Cecilia.module("ScreenManager").addTint(1, [30, 40, 50], 10)

This would result in ease of use for the developer while using other plugins, instead of trying to remember all the namespaces, and functionality.

Once a namespace is added to the list, you can look through the namespace functions. (This is if you use the Dev Console of course)

Module Call:

//Lists all the modules in the developer console for RMMV.


Picture of the Dev Console After Calling Cecilia.modules()


Example of using a module:

View attachment 41205


View attachment 41206

As you can see the screen has been lightened up a little.

Timer Test

The game executed a time message without me provoking it; you can bind a function to the timer, and it will execute upon expiring.
You can also have more than one number, but these timers execute currently regardless of if the scene is active or not.


Dragging Windows:

I've added dragging windows, because I think it would be a good feature to have for customization, plus it looks cool!
You can move it around the screen, though it's position is reset upon closing the game (for now).

It would be possible to add player window layouts maybe?

Here and Now:

As of right now, I'm looking for other features to consider or think about that may be cool to add to the system, so if you can help me think of ideas; it would be appreciated. 
Thanks ~! 

Dev Log

Update 6/27/2016

As of now I've decided to add data structures to Cecilia for some extra functionality for the developer and the player.

Right now, I've added linked lists to the core module code; you can created linked list with Cecilia now and use them in game as you see fit.

For example, there is a linked list type called Circular Linked List; this linked list lets you go through each part of the list, then rotate back to the beginning.

I find this to be a pretty cool feature, because then you can have three different responses for a single event all composed in a tidy little data structure.
I haven't come up with many other uses for the other data structures as of yet, but hopefully they will be just as useful. 

I have a couple ideas to extend the regular types like Array with some utility functions for the script itself; we'll see.


Update 6/28/2016

Added timers to the base module, to execute code after a certain amount of time for example.

Added window feature, so that you can drag them around as you see fit.
Had an idea for windows based off Bootstrap's column and grid system.

The idea being, you can set rows and columns in a window with a designated height for a column, and a width for a row.
The window would fit that row and height for the user / devs purposes.

For example:

Image in a window, but you also want to bind buttons to the window with functionality?
Row 1 width: 175px

Column height: 175px;

Row2 (we just use row 1's width since it defines the structure of our box.

Column 1 height: 60px
Column 2 (inherits the same width from column 1)
As a result, now we would have a window with the dimensions 175 x 235 pixels.

And we've gained three selectable areas with these columns.

Now we can position our content inside of our columns with that thought in mind, and keep positioning relative to the dimensions.
But, it also gives us a lot more flexibility in defining how much space is given to our window on the screen, and how large it will be, plus allowing us to place columns as needed.
Last edited by a moderator:

Latest Threads

Latest Profile Posts

i want to make videogame, though i am burned out on games with RPG elements, but the only gamedev tool i know how to use is rpg maker. :/
Rakon wrote on xizorandy's profile.
Hello! I found a post of lightning strike pictures you posted. You said you made them, am I allowed to use them in my commercial project. Would be really cool!^^

Have a nice day!
It's almost 3 month and this piece of drawing is still not finished yet.

Really busy with other stuffs like commission and coping with personal problem.
Stella & Elyune, maybe used for promotional art if my game project finished one day.
My ex put my heart upon a self he said don't give me no lines and keep my hands to myself :,(

Forum statistics

Latest member