Realms Menu
- Summary
- Story
- Gameplay
- Development
- Characters
- Magic
- World
- Play Tech demo
Realms of Ashana
Implementation/Technical Description (so far)
- Uses 'traditional' tiled graphics and variable-sized sprites, at roughly SNES resolution. The graphics setup is based abstractly on the Gameboy Advance's hardware capabilities. 3R runs at 60fps with over 50 NPCs running around a town area, but remains to be fully stress-tested.
- Scrolling occurs per-pixel in arbitrary directions, with similarly fine-grained player avatar movement. The screen is GBA screen size, with a view to possible portable device use as well as windowed/low-res PC use. It can be used in windowed or full-screen mode on a desktop PC currently.
- 'Action-game' physics: you can jump over objects or off
ledges, and swinging a weapon happens using game-world collision/strength physics, not random dice-rolling RPG rules like 'evasion%'.
In other words, an NPC or enemy who is struck by your fist gets directly punched instead of rolling a dice and having a number pop out of their head. This is a game of direct action (aka "arcade") rather than a spreadsheet (aka WoW). - Collision detection/response is designed to work correctly even at stupidly high speeds, using position-interpolating sweep tests and raycasting.
- Map-switching. The final gameworld will be very large, and is split into numerous areas (an example being the arbitrarily-sized 'areas' of the overworld in Zelda 3). These are loaded from either small 'template' descriptor files or full, pre-written tile arrays/object/exit lists. The template files spawn procedurally generated areas, while the static ones interlink to them, and each other, transparently.
- Talking/dialogue: is implemented via the embedded simple scripting language, such that dialogue and events can be easily edited without specialist coding knowledge or even needing to run the game or editor.
- Scripting system: objects, npcs, enemies, map areas and the
player, are all scriptable using a custom-written interpreted plaintext
script language. This allows customisable, complex behaviour to be
achieved without altering the code. The scripting engine is quite powerful already, but has plenty of scope for further functionality.
Scripts are activated on an event-driven basis and can set variables, perform control flow, set item/object properties, delay actions, describe AI, including using multiple-iteration blocking commands such as 'goto', and 'attack' which utilise A* Pathfinding and some geometric and vector-based object avoidance algorithms. - Smarter-than-average AI: Currently, NPCs are limited to static
script-following. This will be added to with world-progression
variables and higher-order activity queueing: meaning that NPC townsfolk will have task lists, and 'opinions' based on a set of available 'topics', or current affairs.
Villages will be continuously altered by NPC activity, giving NPCs tasks to achieve rather than just standing around or gormlessly following a patrol route (or randomly dithering around one spot, as is the case in every RPG currently available. Similarly, changing topics and opinions will alter bland NPCs dialogue throughout the game. Importantly, shaping this process and participating in NPC tasks will be a part of the player's story and game progression.
- The dialogue system cannot currently ask questions where the player may choose an answer from one of several options, nor can it directly invoke a 'shop' dialogue to buy/sell items.
- Solid-object detection is still being augmented, to allow fall-through floors and the ability to jump off platforms.
- Ability-assisted (magical) player-character flight is not yet complete.
- Graphical overhaul: Model-to-sprite workflow is to be extended to all player, doodad, NPC, enemy and building graphics.
- Editor to output multiple formats, using a plug-in Interface.
- Editor's 'Sprite Editor' mode to be completed, allowing for rapid addition of new graphics.
- Editor to include object property editing and item definitions.
- Editor's terrain paint feature + tileset meta-information is underway but needs further definition to complete.