Virtu
v0.1α
What
is it?
Virtu is a graphic library that sits atop the Allegro
graphic library. It provides a reusable methodology for building RPG's and Networked
RTS'. Within Virtu is a scripting language titled VESSL which stands for Very
Easy and SImple Scripting Language. VESSL helps deploy rapid actions and user
classes without the worries of hard coding and compiling. Another part of Virtu
is the RAISOR, or Robust Artificial Intelligence System and Object Rudiments,
module. This module takes care of lots of simple AI actions that NPC's need such
as:
- Navigating terrain
- A* style movement
- Environmental
interaction
- Smart fighting
- Smart simulated strategy
Aside
from these functions, Virtu is meant to bridge Allegro's C-language based system
with C++'s OOP, STL, and templatized models. Hopefully, this will add a nice aspect
for saving development time.
Initially this is a one-person
effort. However, if I can design a robust enough framework and realistically defined
project, then hopefully more people will join on.
My focus
in this project is as follows:85% time will be spent discussing the planning and
designing (WHAT), 10% actual programming (HOW), and 5% squashing bugs! Notice
the large amount of time devoted to planning and designing, this represents my
belief in 'having a life.' I know that without a good foundation of planning,
I wll ultimately end up sinking more time into this project than is realistically
feasible.
Current Statistics
- Graphic management
Library
- Currently handles multiple directional and sprite graphics
- Automatic
animation cycling
- C++ style stream wrapper for Sockets
- Mock
Engine Design
- Further system design necessary
- Function / Code Specifications
needed
- 85% planning : 10% coding : 5% squashing bugs
- Good planning
begets good programs!
- Project built using VC++ 6.0
- Tested
on:
- Win2000
- Win98
- WinNT Client
- tested it on another
platform? email-me
- My current
personal project (EN)
What will it become? What are
the goals?
- Isometric coordinate converter
- From Cartesian based
system to an isometric coordinate system
- RPG & Chat Client
/ Server
- Multiple Protocol Support
- TELNETable
- When unable
to use binaries TELNET shall be an option
- HTTPable
- HTML
front end (Java applet) shall be option
- Distrbuted
P2P model
- Each user is therefore a Client and Server
- Connecting
to a 'friend' will need to be done manually
- Greedy Nodes (i.e. large sprite
requests, channel floods) will be disabled
- Distributed
messaging system
- Public messages are first sent to fastest Node
- Then
Sent to each user willing to listen
- Public channel messages cannot guarantee
correctness or arrival
- Each message can be verified with two(2) other
messages
- Specific message is then sent to all logically listening
Nodes
- A Logically listening Node is a node that the current user has received
a message
- Node keeps track of Vrility of node
- If Node hasn't sent
a message in more than 120 seconds then node is assumed dead
- Dynamic
image shuffling between users
- Users are allowed to design their own Sprites
- Sprites
shall be compressed locally
- Sent to users requesting sprite
- Sprite
requesting shall be switchable
- Decentralized user repository
- Keeping
track of each other will obviously take place
- Multi-platformed
(Win9X/2K/XP, DOS, Linux, BeOS, following the vein of Allegro)
- Extend
Allegro Capabilities
- Handle multiple [physical] Screens
- Handle
Animation Loops
- Handle Sound Loops
- Design & Implement
a robust Graphical Engine for RPG / Chatting environments
- Design &
Implement 2-Dimensional Isometric Capabilities
- Design & Implement
3-Dimensional capabilities, and if not possible, Pseudo-3-D
- Environments
- Sprites
- Objects
- Input
and Output via XML
- Design & Implement a Robust and Very Easy and Simple
Scripting Language (VESSL)
- Quick Content creation
- Quick and Easy
modifications and new behaviour
- Easy Engine Debugging
- Design
& Implement a System for handling Pets and Animals
- RPG aspect allow
for pets
- Horses / Fish / Whales / Turtles / Bugs
- Relative to the
size of a character
- A player the size of a bug exerts a small amount of
influence upon an animal the size of a brontosaurus
- Design
& Implement a Robust Artificial Intelligence System and Object Rudiments (RAISOR)
for handling
- Point & Click interface (ala RTS-genre AI)
- Obstacle
Dodging (ala RTS-genre AI)
- Environmental Elemental Affection
- ex:
A thousand users sitting around a shadowy glade should increase the temperature
surrounding the trees
- Weather affected by users, events, date, time, like
life
- Regarding conversation with xxxxx@iname.com
- Fully capable
environment
- Fully aware environment
- Environmental
Interaction
- Bumping into trees knock off leaves
- Walking past bushes
ruffle the leaves
- Personal Object Interaction
Got
an idea? email-me
Where
can you get it?
Virtu is currently offered as source and
a Windows executable for demonstration purposes. All code is not guaranteed to
do anything ethically right or wrong. Use at your own risk.
The
files can be downloaded here from the download section.
How
can you help?
Currently Virtu is in very Alpha stages,
and any source diffs or adjustments will not be worth the trouble.
Having
problems? Need help?
If you have problems getting Virtu
to work, then check the FAQ file distributed with the source and executables..