Time for Another Update!

posted in A Keyboard and the Truth for project 96 Mill
Published August 21, 2013
Advertisement
Greetings All,

0.12 went live on Monday 8/19

Click here to play Revel Immortal

Aside from an engine improvement concerning Firefox (and soon Chrome) specific modulated blending (for colorized equipment etc.);

the big addition was Containers.


Containers

Containers as you might imagine contain items; specifically they contain potentials for items; both designed and random that will be dropped when opened.

Containers are one-time openable; and that poses some specific issues due to Revel Immortal being an expansion based game.

Here are a couple of considerations.

Revel is composed of many regions, and each region is composed of a number of maps; a map is a screen-sized tile grid, of 40x40 tiles, where each tile is 16x16 px.

Garranshall is composed of 80x80 maps, thats 6400 maps; so when Morning runs from map to map, maps are discarded and then loaded; so these runtime objects only have certain aspects of permanance.

First is the MapState, map states are keyed to maps and stored in the WorldState, by default they persist for only five in-game days; map states older than that are discarded to keep state sizes down, this means information stored in them is semi-permanant.

Certain maps can indicate that their map states don't expire, however, these are few and far between mostly limited to maps that the player might own; aside from data size issues, storing map states forever poses problems for making future changes;

remember Revel is expansionable, and the general rule is "the information you save is the information you can't change" at least not easily.

So containers, like other such future objects fall into a niche category;

Container objects are backed in state via ContainerState objects that are linked into the world state through a GUID

this guid is composed of:

regionid_mapx_mapy_posx_posy_microtime_created_randominteger

This hash of sorts is adequately unique so that designers creating containers, or any other persistent things shouldn't have collisions;

within the map data itself is where the container is defined, using that id to signal creation of a physical container on map load, and then creates or links to an existing ContainerState from the WorldState.


What's in store for 0.13?

Currency for one; we toyed around with a system of multi-denomination currency; but aside from being complex it wasn't very fun. So instead we are moving to a single unit currency (as unlikely as it may be); much as before the currency is known as Bits.

Bits are stored as part of the player state and displayed in the equipment screen, they are not treated as items, they're intergal units and are limited to ~2 billion; currency will cap beyond this point; go buy a castle or something ;)

In order then to collect money from non shop-oriented services; we need to also implement 'dissolvable' items.

Disolvables are items, that when collected instantly are 'used', for currency disolvables their ItemTemplates would specify a positive currency effect.

Quests hopefully?

I also hope to get one or two meaningful quests in, but we'll see what time allows.


-Raymond
Previous Entry Progress Update
1 likes 3 comments

Comments

polyfrag
August 21, 2013 07:38 PM
EDI

Thanks for the report; actually not a loading bar; but still a bug.

That is the mana bar, it is an error for it to be showing during that initial stage; should be able to take care of that tonight.

Thanks again for the report!

August 21, 2013 07:47 PM
EDI

Fixed that issue last night, btw. There is now an actual loading screen.

August 22, 2013 01:28 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement