Creation/Dev/Releases/Client/4

From Graal Bible

Release date

August 26th 2005 for VIP and Gold accounts

New Features

New Playerlist

The new playerlist has been greatly improved. It is now a "Global" playerlist: You can now see and speak to people on other servers (e.g: You can PM people on "Graal Kingdoms" while connected to "Unholy Nation"). This is ideal if you wish to communicate with your friends, while being on a different world to them. Or if you wish to keep an eye out for when your friend logs onto a certain world.

In addition, you can also see the members of global guilds that are currently online, so you don't need to jump to another server to speak to your friends.

The playerlist also integrates a global buddy list, where users of Graal have allowed for them to be viewed via it, so that it's even easier to find friends - as they'll always be listed under buddies.

There are also other improvements such as seeing player info when moving the mouse over a player list entry, and being able to read the PMs of people that have logged out - you will see these in a new "Offline" section of the player list. These will stay here until you yourself log out of the world you are currently connected to.

The new playerlist is divided into three tabs:

  • I) Current Server - This is like the old playerlist, where you can just see the users that are connected to the same world as you.
  • II) Global Guilds - This section divides users by their global guild clan tag, ideal if you want to keep in touch with your full guild base, which is likely spread out across different worlds at any given time.
  • III) Other Servers - This section divides the playerlist by each world, and lists all GOLD, CLASSIC and HOSTED playerworlds. You can contact any player on any of these worlds.

Finally, some HTML commands, such as the looped "alert" command that produced a pop-up in your PM window, are filtered out to avoid annoying users.

Particle Engine

For displaying hundreds or thousands of images, that move over the screen, scripts can now use the particle engine. This lets you spawn images which can be animated and rotated as well as changing their colour and making them fade in and out and defining their count and lifetime.

Particle effects can be used for a range of things, such as: fire, smoke, explosions, sparks, splashes, rain, falling leaves and even tornados!

Guest accounts

Graal supports guest accounts again. Once they are enabled, it will be possible for new players to join the game without creating an account.

The stats of guest accounts are saved, but you are only able to use the guest account for a limited time, afterwards you will need to upgrade to further enjoy the game.

The items and stats gained from the guest account are automatically transferred to your upgraded account on first login.

  • Play without creating an account (for some time)
  • Play for limited time including saving your stats
  • Automatic transfer of the guest account stats to your upgraded account

Events

We have created tools for displaying and managing events which are directly accessible via the login script (F8 Serverlist). Event admins can add and modify events, and start and end them by clicking buttons.

The event tab on the login script lists all of the currently on-going events on different worlds. Some events will appear hours before, and some days before. If you wish to play an event then this is the best place to look to find one. Further details such as location and time, and a sign-up list where needed, will be under this tab for each event.

The players can subscribe and join events from any server.

To make the build-up to events more interesting, you can talk to other people in the IRC event channels, to prepare for the event without leaving your current server. The event channels can also be used for general chat.

  • Easy-to-use tools for creating and managing events
  • Subscribe and join events from any server
  • Talk about events using the IRC event chat channels
  • See what events are currently occuring online, and which are yet to come

Security

As well as adding new features; we also improved security.

It is possible now to use long passwords (up to 23 characters) which contain less cryptic characters and are easier to remember, while still being secure enough due to their length.

To deal with players who steal passwords from other players, it is now possible to ban players based on an assigned "computer id", so that they will not be able to login, no matter which account they use.

Also, servers are not sending the full script to the client anymore; instead it is only sending the compiled byte code, so it is harder for clients to steal or modify scripts. Finally, clients are not able to compile the scripts themselves, as all the logic behind that is now on the server and so more secure.

  • Clients cannot see scripts anymore, and cannot compile scripts
  • Longer passwords allowed
  • Players can be banned by a "computer id"

Stability

The new Graal version has been tested for several months to guarantee that the game works with all kinds of graphics card and sound cards and that there are no bugs while playing on Graal servers.

It is using the same DirectX version as Graalv2, so there shouldn't be compatibility problems. Several graphics bugs identified have now been fixed.

It is also displaying more information windows so that the user knows what is currently happening, e.g. it is displays a message when it is scanning for files on startup (the scanning can take several seconds if there are many files).

  • Gral v4 tested internally for several months
  • Several graphic bugs fixed from v2
  • More information windows, e.g. when scanning for files on startup

New Graphics Engine

The graphics engine has been improved to support more types of image formats, and on the other hand to work better with more types of graphic cards.

Graalv4 supports JPEG and 24bit-PNGs and can rotate images and use alpha-transparency.

Light effects are now always enabled, so developers can use them without worrying about players who cannot see them. Since the graphics engine has been optimized and several bugs were removed, it shouldn't be a problem, even for older computers.

  • Support for JPEG, JPEG2000, BMP, 24bit-PNGs
  • Alpha-transparent PNGs
  • Rotation of images
  • Always uses light effects (more compatible)

GUI

Graalv4 uses a new GUI, with many powerful widgets including: windows, list views, tree views, html view, tab control, frame sets, bitmap buttons, menus and drawing panels. Using the new scripting engine you can easily create new GUI controls and execute actions once GUI events occur.

With the GUI controls it is also possible to display Graal animations (ganis) and a wide set of flash files (see the Christmas website flash banner imported into Graal).

New Scripting Engine

The new scripting engine (also called Graal Script 2) is object oriented, provides easier access to variables, supports function parameters, multidimensional arrays, and also prints exact error messages so that scripters can find and fix bugs easier.

The new scripting engine makes it possible to access the new features like the GUI and the particle engine.

It is compatible with the old scripting engine, which means that 95% of the old scripts should work fine.

  • Object oriented
  • Easier access of variables (e.g. clientr.hp++)
  • Function parameters and calling functions of other objects
  • Multidimensional arrays
  • Exact error messages

Speed

Version 4 is several times faster than version 2, which means less client-lag. The new scripting engine is written in C++ and is around 5 to 10 times faster than the old engine.

The networking has been optimized, scripts are cached on the local hard drive, and scripts respond faster because of the new scripting engine.

The graphics are faster too - only the necessary graphics are kept in memory, which means less memory usage, and text drawing is done using bitmap fonts, which speeds the game up when a lot of text is displayed on the screen.

  • Script in C++ -> 5-10 times faster
  • Caching of scripts
  • Only necessary graphics are kept in memory
  • Faster response of scripts due to new scripting engine
  • Bitmap fonts (faster when drawing lots of text)

Built-in Updater

Graal can now download new game packages and new versions of the game executable automatically, so there is no need to keep using a separate setup.exe for each update. This is makes it easier to release new versions and new features to guarantee that the software is the latest, and bug free.

This feature can also be used by playerworlds to provdide packages of game content that are downloaded by the client before entering the actual game.

  • Download of game packages and new Graal versions
  • No longer requires manual install of updates with a setup.exe
  • Can also be used by playerworlds to supply content