ElexEngine

Elexxorine
01 Feb 2009, 04:21
Brief:
Allows users to create online rpg quest games without editing asl or using qdk, everything is edited in game. Original mentioning and discussion.

Features so far:
Admin:
- Appointing admins, head admins (only head admins can make more).
- Make new segment (room group), rooms (in current segment), add/edit exits, desc, etc.
- Make new objects, base, type, etc, edit all details. ['type/subtype/base/clone' = 'clothing/shirt/redshirt/redshirhclone001']
- Change almost all properties of rooms and object (some are 'locked' to stop you breaking the engine).
- Check email list.
- Warp yourself to locations and others players, warp others to you.
- Admin commands require you to be logged into a character.
User:
- Log in account and character, log out to account panel (lists characters and change settings), then log out to quit.
- Register new account, make new characters (name filters).
- Security questions (if they loose their password).
- When log in character, go to start room or last place they were.
- Add email.
Game-wise:
- Picking up, dropping.
- Wear/remove.
- Customisation of character features, lists on race objects (this took 6+ hours...)
- Looking at other players gives their description, with correct english grammar
Other:
- Awesome tab code that makes tabs with any number of columns.

Customisers:
- Character limits on user/character names and passwords (max and min).
- Characters per account.
- .

Coming soon:
- custom verbs with custom responses.
- fully costumisable races.
- options on name filters (atm: numbers,spaces, symbols filtered out; character name cap first letter too)
- Making stats changeable will go on the list, to assign strength or whatever as damage or attack speed, etc
- battles, real and turn-based
- delete characters, change owner of characters, recovering characters.
- email list for validating accounts (need to discuss with Alex).
- customisable emotes.
- clothing that interacts with each other.
- armour.
- sheathing, unsheathing weapons.
- backpacks, belt holdings.
- baldness.
- look at self in game.
- say command.
- decide how to limit inventory: weight on bag, and you, also size of items vs bag.
- time [~redsun]
- weather system [~thanatos]

Admin commands so far:
command </email checklist> 
command </create segment (number)>
command </create room (number)>
command </create exit (direction)>

command </edit room name (name)>
command </edit room desc (description)>
command </edit room propb (booleen proeprty)> [(not) (property)]
command </edit room props (string property), (value)>

command </edit object name (object), (name)>
command </edit object propb (object), (booleen proeprty)> [(not) (property)]
command </edit object props (object), (string property), (value)>

command </view object name (object's alias)> [finds the real anme of an object, for editing]
command </view room name>

command </view object propb (object), (booleen proeprty)> [for checking property, but not changing]
command </view object props (object), (string property)> [numbers can may sotred in this too]
command </view room propb (booleen property)>
command </view room props (string properpty)>

command </warpmeto (room name)> [warps to a location]
command </warpmeon (character name)> [warps to a player]
command </warptome (character name)> [warps a player to you]

command </create type (type name)> [creates a new type from nothing]
command </create base (base name), (type)> [makes a base based on a type]
command </create object (object name), (base)> [makes an object based on a base]
command </clone object (object)> [brings an already made object into the game world at your location]
command </clone object (object), (location)> [brings an already made object into the game world at the specified location]

command </boot (character name)> [disconnects the player]

Player commands so far:
...none...

File sizes:
- ElexEngine_v0.1b.qlb: 64.6kb [the library]
- ElexError.qlb: 1.11kb [my settings for built in error messages]
- Game.asl: 1.48kb [game asl]
- game.races.qlb: 3.13kb [storage of race info, working this area atm]
- Pack will also include command lists as above, guide on getting started and anything else I like.

Any suggestions or comments are welcome.

Redsun
02 Feb 2009, 04:39
Looks sweet so far, I'll be following this thread for sure. :)

Thanatos
02 Feb 2009, 07:00
As will I, but...

Elexxorine wrote:
- Making stats cahngable


:lol:

Elexxorine
02 Feb 2009, 11:52
Heh, updated first post as I'm on my computer now.

Redsun
02 Feb 2009, 16:38
cool thread update, so how many are working on this engine?, just you or
somebody else helping you?

Elexxorine
02 Feb 2009, 19:38
It's just me. TMSC was the one I started building the engine for, so so far has been designed for her game but I wish to make it good for everyone to use. I'm not sure how to do making races easy though, hence having a seperate qlb, the idea is for them to edit that by hand atm. I tried making a netbean program to generate that file but I'm rubbish at anything but asl.

Thanks for the comments, any suggestions on features or how to do things?

Redsun
02 Feb 2009, 19:42
I Have a good suggestion but may or may not be easy.

A Weather system.

Thanatos
03 Feb 2009, 06:23
And a Time system would be nice.

EDIT: And seperate screens that show inventory, stats, etc. Also, the admin should have the ability to change the interface and such of the Engine. (eg, if you set where you hold your items to be named Inventory, the Admin can open the ElexEngine Interface Editor and change the name of it to Backpack or something. Might be a bit tough, but thats your problem innit :))

Elexxorine
03 Feb 2009, 12:32
Updated list.

Thanatos, unless Alex make quest able to do those then I can't, sorry. This is just a library. But changing the name of things such as inventory will be done.

Redsun, how complicated you want the weather system? If you can devise a model, I may use it.

steve the gaming guy
03 Feb 2009, 14:48
It looks cool but I would check the spelling. If things like this appear "booleen proeprty", then you will always have to refer to it in its incorrect form.

Elexxorine
04 Feb 2009, 12:14
In the command list brackets indicate where the user puts something else in, so 'command </edit object propb (object), (booleen proeprty)>' you use would write something like '/edit object propb sun, shining' or '/edit object propb sun, not shining'. Brackets are nicer to read than hashes for the command list. I will be doing extensive testing of the engine and require people to try and break it in-game (not by editing the asl files), so when finally released it will be awesome.

Redsun
04 Feb 2009, 20:25
Hey Elexx

It was I who Suggested the weather system.
Than Suggested Time. :)

Thanatos
05 Feb 2009, 05:39
... No you didn't? I sugested Time, my friend.

Redsun
05 Feb 2009, 05:44
Thats what I said: Than suggested Time I Suggested weather system.

Redsun
05 Feb 2009, 05:49
Elexx: in response to how complicated it should be.

Well I think there should be random weather but there should be a realistic weather jet stream, there
should be seasons that affect the weather, I once started creating this before for a game.

It's not easy either but it can be done.

Thunderstorms, Snow(of different levels), Rain(of different levels), even calm sunny days or clear nights.
There should be fog and Wind direction to.

Thanatos
05 Feb 2009, 06:07
Ah, I thought you said "Then I suggested Time." I'm more used to being called Thana. Note the A.

Elexxorine
05 Feb 2009, 11:23
Redsun, sounds cool but hard. I'd love to see what you did already on it though. I made a plan fro a system which dynamically changed the descriptions of room based on the weather, so if it was windy signs would swing and that the coble street now had little rivers in it from the rain. I wasn't sure how on earth to make it though. Ideas?

Redsun
05 Feb 2009, 19:44
I Have Ideas on this, also making a room bigger then a room, You use a step sequence.
or at lease I call it a step sequence.

when the player moves north for example: decr a var called something like: northvar, the game
will check to see if northvar is greater then 0, if so then move the player out of this room to a room called
something like: "walk north", then move the player back to the current room only this time northvar will
be less by 1.

if northvar was 0 then a message will appear saying: You cannot move any further north.

see, the first time the player enters this room a proc runs, setting up the size of this room, like
how many points are in northvar?, southvar?, southwestvar? etc.

now the weather system can use this as well, but the weather system is on a timer and on
some triggers, because the weather system can't stray to far from the
jet stream but it all depends on the season and size of the weather system at that time.
a proc needs to check the time of year(season), a proc needs to check where the jet stream
currently is, then only then after a few checks the storm or weather will gradually produce, there can
be multiple weather's on the stream to just like in real life.

I was making this system for my game Fearscape and got pretty far but as I stated before my PC was restored and
this was not backed up and I loss it, I was even going to use this in a combat system.
The step sequence and weather can and should affect what happens in combat.

Theory untested: The Idea that I can think of is you first need to set the length and width of the
jet stream, but this can also fluctuate, every step the storm or weather makes it recalculates It's
current location etc, also it grows more rapidly if It's over water, Water can be objects or you can use vars
as water, but water should also be rooms, therefor once the low pressure system is over the water(rooms) It'll
more rapidly pick up force and power then if it were over land.

Create several vars called something like Stormvars, these will be num vars, the more you have the
more storms you can have at any one time in the game world.
Keep in mind that The jet stream and the storms are all driven by Low pressure systems, High pressure systems
and the time of year(So Thane's Idea of time can work hand n hand with this).

Also keep in mind, calm weather will also be using stormvars.
The engine to drive the Jet stream is wind strength and wind direction.
But the winds must also depend on Low pressure and high pressure ratio.

Yes it wont be easy, It'll be difficult and time consuming

Elexxorine
05 Feb 2009, 21:21
If you want to try and reconstruct what you did before from memory that'd be helpful.

I need a method of mapping the rooms relative to each other, I thought about starting at room001 giving it co-ords 0,0 then checking it's east, etc and giving those room the right co-ords, and repeating for the room just added to the list. Rooms are numbered in order of construction in their section, not sure how to do between sections and such, ideas?

Once the rooms are co-orded nicely then weather can move around the map. My idea was maybe use a weather hotspot, the eye of the storm, an object that moves around on the grid randomly (but follows winds generally)w and has a weather type (say clouds, etc)w and strength which is the area it affects . So an area of 3 at 0,0 will effect -3,-3 to 3,3 understand? Also could plot movement of sun under strict rules with this system, so it knows where the sun is directly above which'll effect the weather near there too... sound cool?

The weather system will be a later feature btw.

Redsun
06 Feb 2009, 03:08
Yeah this was where I was brainstorming when my PC crashed, The eye of the storm, or the storm rotating around
an object called: storm or whatever, but it can grow to(this could be hard to do but I think very possible) and this is
what the stormvars measure against, a proc checks to see if it's over water, what time of year and a slight random factor so
that the storms will not always be alike, if for example It's winter, It'll check that first I'm assuming, if It's winter It'll
then run the winter proc, the winter proc will check to see where the jet stream is.

The Jet stream is moved and bended by high pressure and low pressure systems, also each
high pressure and low pressure systems can change in pressure according to how close
a low pressure system is to a high pressure system, this also produces the wind.
Yes there needs to be a map, otherwise there won't be no concrete way to tell the game
where each weather system is and how big.

I remember some of what I did by heart, and some I didn't get to test before my PC crashed, but
What I did have was wind speed and wind direction also very realistic, I had calm weather and thunderstorms.
I had several levels of it, when I say realistic I had it where wind will gradually calm down and the
wind and weather will gradually change with a slight random factor, once there is even the slightest
change in weather I had it so the game will give details on the weather to the player.

Also I had it so the player can check on the current weather at anytime by typing in a command.
I wanted my game to seem alive not a static state but dynamic state where it has environment.
I'll make a game called: Weather system or something like that, You'll be free to check it out and use
any of the coding or Ideas as you see fit.

I Can't remember the exact way of doing it but I do know It needs a jet stream of sorts and several procs.

Wind speed is Important so is Direction.

Of course I'm sure this Isn't the only way to do this.

Elexxorine
06 Feb 2009, 19:42
Thanks.

And indeed, if anyone else has ideas how to do a weather system or anything else?