Version 0.1.0
From VbGORE Visual Basic Online RPG Engine
Contents |
[edit] Downloads
No downloads for this version could be found!
[edit] Release Notes
Released On Sept. 08, 2006
Version 0.1.0 has a lot of work applied to it from the previous versions, with countless bug fixes, better looking interfaces and overall easier to use. The release, though, was rushed to meet the predicted release date. As a result, many bugs were left behind. These were quickly fixed up in the Version 0.1.1 release.
[edit] Change Log
Animation Sync: Animations are all sync'd up using a time elapse algorithm, which allows animations to keep in sync without having to update every animated tile every frame.
Encryption Module: I implimented a HUGE encryption module (did not write it, just formatted it for vbGORE and ease of use) with very popular encryption methods: Blowfish, CryptAPI, DES, Gost, RC4, Skipjack, TEA and Twofish. More information on these will be posted in a guide eventually.
NPC AI: The NPC AI was greatly increased. It now uses an optimized pathfinding algorithm to find a path from the NPC to the User (each path call takes about 0.1 to 0.5 miliseconds in a typical map with a few obsticles, around 0.5 to 1 miliseconds in a complex maze, and that is when on a 600mhz processor). I created a system which also stores the path in the NPC's flags so a new path will only be found if the currently acquired path is obstructed (someone moves onto the NPC's path) or if the targeted character (if any) moves a few squares away.
Tab Index fix: I went through all the tools and everything and set the tab indexes appropriately, so when you tab through stuff it should go to where you would more expect it to go and not just all over the place.
Drag-able Windowless... Windows! Put in a little hack that allows you to drag the windows of the editors even though they dont have windows.
Tool Styles: All the tools have had a touch of sexification from the magical genitals of a forest pixie, making them look a lot better then what they used to be. They arn't really "skinned" forms, just forms with pictures on them, but you get the idea. Might do skinned forms... some day...
Skinnable GUI: You can now select which GUI skin you wish to use for the in-game GUI. Each skin supports everything that was in the Game.ini for skins, along with can have different Grh indexes for the windows. Finally, each GUI can support having different user positions combined with the default positions. This way you can create a default scheme for your skin and people can change it around as they please. With the press of one button (F12 right now), you can reset back to the default position - in case you screw your scheme up.
Window Positions Saved: All the last used window positions are saved when the client is closed.
WindowsInScreen: Added a WindowsInScreen boolean (true or false) that states if all the game screen are locked in the screen or can move out of the screen.
Engine_Render_Grh change: I made Engine_Render_Grh a bit faster (seeing that it is by far the most intensive routine since it is called for every texture every loop and handles rendering) by making the Engine_Render_Rectangle in-line (not called through a sub) with it. This also allowed me to optimize it a bit specifically for rendering Grhs. I have also split it up to Engine_Render_Grh and Engine_Render_GrhEX - the EX version handling all the more intensive routines (just rotations right now). This should get rid of any overhead the not-so-commonly-used things like rotation bring, since there is no point in doing all that rotation checking when we dont even use it much.
Custom Font: Thanks to Codehead's CBFG project, you can now easily create your own font sheets. Font is rendered the same way as the rest of the graphics (from a PNG file) so you can have any style of font you want. Creating fonts is really easy - just requires a data file and PNG file, both which can be made through CBFG. This method is also a lot faster then the previously used method (DirectX's font control).
Map Editor Quicky - Erase Tiles: You can now erase the graphics off a tile of the surface you have selected by using Shift or Ctrl and Right-Click. Was a request from Nex.
GUI Changes: The GUIs are all going through a heavy makeover thanks to Nex's graphics. Expect them to look a lot more non-suck.
Map Editor Preview Tile: You can now see tiles before you place them - they are alphablended, too, so you know when you set it. As Nex would say, "teh sexy preview tile ^___^".
Map Music: Thanks to Chase's guide, I added music for maps. When you change maps, the music shouldn't change and continue streaming, unless the music is different, in which case it'll switch.
Unloading Memory: I decided to put more stuff into the deinitialization routine for the engine. Most stuff is freed up anyways, but it is always good practice to have.
Alt+Tab Fix: Yup, it is fixed! Seems that I needed to use D3DDevice.Reset instead of remaking the device completely.... *sigh*. It worked in DXRE remaking the device, but I guess Resetting is faster so that is always good.
Quest System Rewrite: The quest system has been completely rewritten to be a lot less sloppy. As for how it works compaired to the old system, I assume it is better but cant say since I dont even remember how the old system worked.
Direction Blocking: Directional blocking is now implimented and works on both the client and the server. The direction an arrow is pointing is how you can NOT get to that tile. All directions = cant walk on it at all.
Quest Editor/Advanced Quests: Quest editor is finished, and quests are now a lot more advanced. They support a lot more conditions, can give exp/gold/items on completion and acception, have level requirements, etc.
3D Ambient Map Sounds: Sounds can be placed on the map on any tiles, 1 per tile. They will automatically loop while in range, and stop when the volume is too low.
Sound Support: Added support for sound. It has a moderately complex equation to calculate the panning and volume factors based off the user's X/Y and the sound's X/Y to create a pseudo-3D sound. Nex suggested being able to put these in the maps for waterfalls and such... I think that may happen.
Connect Screen Sexification: I made the connect screen a bit better looking then the junky thing it was before thanks to a graphic someone sent me (forgot who :oops: ). I decided to NOT use DirectX for the menu since it'd take more time then I'd want for loading (what? 2 seconds instead of .1 sucks! :wink: ), slow things down a bit and would require changing between windowed mode and fullscreen mode. I think it is fine how it is, since login screen should be very fast, small and easy - graphicly intensive is for the game itself.
GrhData Fix-up: Some idiot who shall rename nameless named Spodi made the number frames array for the GrhData() a constant of 16, which made 15 extra frames for unanimated graphics and only allowed up to 16 frames. Simple fix, but should save a bit of RAM and allow any reasonable amount of frames.
New Object Stats: I redesigned the object stats to be a lot... well... better. They support a +HP/SP/MP value, +HP%/SP%/MP% value, can change any paper-doll graphic, and can raise any modstat when equipted.
Server Crash Fix: The client can no longer send messages to the server when they have the Disconnected = 1 flag (are in the process of disconnecting) which was crashing the server.
Server Disconnecting Client: The server will now disconnect the client, too, when an error message is given and can also send a Server_Disconnect command to boot the client (so the client isn't left there idled). This also means that login errors (invalid password, character already exists/doesn't exist, etc) will close the client instead of leaving a black screen.
Object Editor: The Object editor has been created and shows a preview of the objects along with can edit all of the objects's information and supports new object types that are much more diverse then the old ones.
NPC Editor: The NPC editor has been created and shows a preview of the NPC along with can edit all of the NPC's information.
Map Editor Fix: The border was being drawn as blocked in all directions, which was an accedent since it is supposed to draw as a blue arrow - this means that 5 32x32 tiles were being drawn where only 2 should be. Runs a lot faster now with the TileInfo on.
Server IP Placement: The server IP can now be grabbed out of the Server.ini file instead of hardcoded into the server. This'll prevent you from having to recompile every time you want to change the IP.
Project layout: The whole entire project layout has changed as far as the files go. It is much more organized now, and there should be no duplicate files.
In-game Map Updater: The map updater which updates maps live now works with the new maps. This means that the client and server can also save the new map format, and marks the last point of 100% handling of the new map system.
HP/MP Bars - MP Update: MP percentage will now be sent to everyone in the map to show the MP update. Bars will also show below the character of the HP and MP.
Map Loading Complete: The server and client both now successfully load the maps completely. The client will rendering all of the shadows, lights, etc no sweat.
Shadowing Fixed: For some reason, I thought it'd be a good idea to set a flag on shadowing that just didn't animate the tiles. Problem with this is that you would draw the shadow, then update an animation, so the shadow could be 1 frame behind. I just put in instances where shadows are used, the animations is done during the shadow call and not during the regular render.
Client/Server Map Loading: The client and server now both load the new map, although support for the additional layers and directional blocking and such are not yet added in yet.
Map Editor: Made the map editor... 'nuff said. Fully functional, contains all features I can think of... pretty much just a completely finished map editor.
Map Format Change: Changed the map format. The maps now support 6 layers, 4 lights per layer, particle effects, and heavily optimized. During testing, using all layers/lights used almost 1 meg (not bad for a 100x100 map), and using no layers/lights used about 20kb. These maps, though, are not yet supported by the Client/Server.
Weather Fix: Weather should turn off and change correctly.



