Timeless Online

OCTOBER 03, 2014 - PRESENT
Ruby on Rails 4, MySQL, HTML, CSS, jQuery

Timeless is the project that evolved from "Nori." With programmer experience comes more sophistication in said programmers code, and Timeless represents this well. Timeless is another online game, but is currently a lot farther than Nori ever was in a fraction of the time.

Timeless is a work in progress, but quite a bit of the framework is already in place for a complete game. I'll describe what's currently in place and working for the game.

Timeless uses a turn-based 'active battle system' for battling monsters. What this means is after a certain amout of time, the player will be able to perform an action, however, the enemy will also be able to complete actions after their ATB gauge fills completely. The player does all of this monster killing in the hopes of collecting interesting loot that will eventually be able to be traded with others. Each enemy has a designated "area" where it will randomly appear. Each enemy also has a unique loot table that will drop items randomly.

Once an item is dropped, the real fun begins. An item can be randomized, both with it's own stats and with the possibility of having a prefix or suffix added to the item, each with its own stat changes. This adds an immense amount of uniqueness and possible variations in any particular item. For instance, lets say we have the following:

Hoodie - Base defense 5-20

Now this hoodie rolled with 15 defense and can roll with a prefix and a suffix. Let's say we're lucky enough to get both and we get the prefix "Ragged" and the suffix "of the Sun." Let's also say that the "Ragged" prefix give -5 defense, and the "of the Sun" suffix gives +20 health and +3 attack. Our hoodie will now look something like the following:

Ragged Hoodie of the Sun - -10 Defense, +20 Health, +3 attack.

Each item also has its own unique id, which will help prevent duplicating items (duping) if it ever becomes an issue. Finally, the inventory system is finished at the moment. A player can equip or unequip an item. This action is an AJAX call to the server, which checks to see if a previous item in the "item slot" is equipped, and will unequip the old item and equip the new one. For instance, if we already have a Helmet in the "helm" slot, the system will unequip the old Helmet and equip the new one.