Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / Want to make a game? Open Source MMORPG Utilities Thread

Author
Message
RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 20th Aug 2007 04:32
Want to make a game?

After a lot of work on the Open Source MMORPG Project, we realized that there was a clear need for utilities and libraries that could handle a lot of the initial set up for a game code. Rewriting all the code from scratch each time we started over was daunting. So, we slowed down on the RPG game and focused on these utilities. Here are the utilities we currently use:

Utilities:
Criterion Coding System (CCS)
Terrain Viewer (upgraded to Terrain Creator)
Model Viewer
AI Editor (may experience significant change)

Libraries:
Dynamic Function Engine (DFE)
Buttons (2D Buttons, or Sprite Buttons)
3D Buttons (Object Buttons)
Infinite State Engine (Infinite State AI Functions)
Generic Functions
Parser Functions
Key Functions
Statics

Utilities
===============================
The Criterion Coding System copies many of the core files needed to write a new game. This makes a lot of the initial work a breeze. The CCS also provides a scripting utility for the Dynamic Function Engine (instead of writing all that code yourself). The CCS also includes an Image Encoding utility that can hide code, keywords, or "watermarks" within images.



===============================
The Terrain Viewer is a little more than just a terrain viewer. It is a fairly useful terrain utility in its own right. The height-maps, terrain-maps, and detail-maps, all still need to be created with an external program (usually some sort of paint program). The terrain viewer can create the terrain. It can also be used to place objects, and then create a script file to record where all the objects are to be placed. In this respect, the Terrain Viewer is nearly a full editor.



===============================
The Model Viewer is a very simple utility. Its most useful function is to ensure that a model can be loaded by DarkBasic. With all the different modeling software out there, this was critical and saved us a lot of time trying to figure out why the program crashed, then which model couldn't be loaded. It also can tell roughloy how many milliseconds the object will use up when on the screen. While this is only an estimate, it is useful to help ensure a model doesn't come along and take 999 milliseconds to render. The model viewer can also rotate the model as well as run through all the animations.




===============================
The AI Editor is still a work-in-progress. The primary use is to script stats for each AI in the game, which will determine the behavior and abilities of each AI. In addition, we hope to add in function-scripting, which will allow Agents (our term for AI entities) to access various functions; such as skills.




Libraries
===============================
The Dynamic Function Engine is a library of functions (included source code) that allows DarkBasic to access functions dynamically. That is, functions can be added to (and removed from) a stack of functions. The stack of functions is executed in order each time the _Execute_Function() function is called. Functions can also be grouped, which allows for advanced timer-based function calling techniques. The techniques can help distribute resources over several frames instead of using the resources every single frame. For large games, this can easily result in improved frame-rate performance.

===============================
Buttons, or 2D Buttons are sprites that the player can interact with. On the basic level, this library can return a given integer value assigned to a button. A more advanced feature allows functions to be attached to the button for mouse "hover over", left-click, and right-click. The Buttons library makes menus and HUDs a snap.

===============================
3D Buttons or Object Buttons. The same concept as for 2D Buttons, but 3D Buttons are applied to objects. Besides being able to return values and call functions when clicked, 3D Buttons can also be set to a given distance from the camera, allowing the library functions to ignore objects that are too distant to bother with checking. This helps optimize performance.

3D Buttons are useful for creating quest-givers, or movable objects, like doors. Simply code the function and attach it to a 3D Button.

===============================
The Infinite State Engine was originally designed to handle Aggro for AI entities in the game, so you can bet that it still can handle that easily. The functionality has been expanded to be more generic. Basically, the Infinite State Engine does for variables what the Dynamic Function Engine does for functions. Variables can be created in game and dynamically. This is particularly useful for scripting AI.

Started your AI with Strength, Dexterity, and Stamina, and now you want to add Intelligence and Willpower? Easily done with the ISE. No need to go through and recode the entire game. Just add two new "States" to the ISE - one for Intelligence, and one for Willpower. The ISE will handle creating the variables and making them globally available.

===============================
Generic Functions are a melting pot of generically useful functions that are stand-alone, or too small for their own source file library. The best way to describe everything in the generic functions source file library is to say, "just read the source file for yourself." So, "just read the source file for yourself."

===============================
Parser Functions manage strings, allowing strings to be broken down in a wide variety of ways. The most useful functionality in the Parser Functions is the ability to load in a script file and save the results in a 2 dimensional array; by line and by "word." A "word" is a set of text between two separator characters (commonly the semicolon [;]). So a parser "word" can actually contain many words with spaces and other punctuation between. Each line is a group of "words" between [return] characters.

Parser functions are also useful for creating text boxes and spam boxes that use word-wrapping.

===============================
Key Functions are the final user interface. Key Functions provide a wide variety of key management functions, such as single key (non-repeating) and repeating key input. When used with the DFE, functions can be attached right to the key, so pressing a key will call function. This is great for dynamic key assignments (if you want your players to be able swap key assignments). It also minimizes the amount of code you need to keep track of. Create a function, assign it to a key, and forget it.

===============================
Statics make a wonderful addition to any terrain. They are a bit more work, but well worth the effort. Primarily used for grass, Statics are low-polygon objects that cover the terrain close to the camera, providing amazing detail. While the primary use was intended for grass, statics work just as well as dirt, rocks, sand, or any terrain. Statics use a statics map, which is painted using colors that each static is assigned to in a script file. So, everywhere there is the color RGB(0,255,0) (pure green), there can be placed grass, assuming the script file has grass assigned to RGB(0,255,0).


Want to make a game?
===============================
Using these utilities and libraries, making a game is a snap (well, compared to all the coding you would have to do without these). These libraries were designed to work in "Pure" DBPro; that is, no plug-ins or DLL's. The utilities, however, do use Goga's Free DBP Plugin Version: 2.0C. Thanks Goga!

You will notice that there is one key ingredient missing; collision. While we do have a collision engine for our RPG project, it is "Pure" DBPro and therefore a bit slow. You might want to use a 3rd-party collision plugin or dll.

The rest of any game can built on the above listed utilities and the libraries. This thread is intended to uncover more utilities, libraries, or modifications to the existing resources. So please use these and provide feedback so changes and updates can be made.

Attached are 3 of the utilities (excluding the CCS, which is not open source). I will post the libraries over the next few days. The CCS is currently in beta testing. If you are interested in making a game using the CCS, please contact me and I will provide you a copy of the CCS.

I would like to give thanks and credit to all the folks that have contributed over the years, either directly or indirectly. Some folks of notable mention are, Kenjar, Tinkergirl, Nevereverend, and Slayer. There are many more to list; so to those not listed here, your contributions are very much appreciated and it has truly been a community effort! You will be listed on the final game credits.


Open MMORPG: It's your game!

Attachments

Login to view attachments
RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 20th Aug 2007 18:04
Here is a quick demo using the CCS and most of the libraries. All the libraries, except Statics, are included and are free to use. Take a look at the main source file and the first included source file (SuperGame functions). This is all the additional code that was needed. The libraries handle all the rest. Play the little demo game, and you can see how easily quests can be created. With a bit more work, this can become a full RPG. To play; use "wasd" movement. Click on the objects, and also try the "attack" button. Enjoy.


Open MMORPG: It's your game!

Attachments

Login to view attachments
Inspire
17
Years of Service
User Offline
Joined: 23rd Dec 2006
Location: Rochester, NY
Posted: 20th Aug 2007 18:14
I can't compile it for some reason.

Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 20th Aug 2007 18:32
It compiles here,but it looks kindof odd and i can kill the questgiver!hehe...he...he...

The odd part must be because of the non-animating stuff though.


Sixty Squares
18
Years of Service
User Offline
Joined: 7th Jun 2006
Location: Somewhere in the world
Posted: 20th Aug 2007 23:15 Edited at: 20th Aug 2007 23:21
I cant run it (the demo in your second post) either. It says the name "factor" can't share the name of a reserved word or command... It looks fun though

Edit: Maybe your could include an EXE as well?

Slayer93
20
Years of Service
User Offline
Joined: 5th Aug 2004
Location: I wish I knew
Posted: 21st Aug 2007 00:04
there is a constant in there with the name factor. It is in the generic_functions.dba just search for it and change it to something like _factor.

Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 21st Aug 2007 12:40 Edited at: 21st Aug 2007 13:53
Strange that no one can get it to run.I can though,And i never used anything of the open MMO source before.

EDIT:

I got it to work with my terrain and every default NPC is on the terrain too,Could we get the animation frames of the characters?

EDIT2:

Oh,and I cant seem to get this to work with your enemy code:




RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 21st Aug 2007 17:29
A couple of possibilities. First, let me suggest using the built-in function get_object_distance(object1,object2): It is optimized for performance and very easy to use.

To integrate this function into the DFE, you need to add it to the script file (the very last source file, "SuperGame functionlist"). There are two functions in the source file and you have to add it into both.

After that is done, you can add the function into the function stack using the line _Add_Function(0,_Get_FID("_AI"),""). Put this in the 2nd source file "SuperGame Functions" in the "_Initialize_SuperGame()" function.

That should make it work.


Open MMORPG: It's your game!
Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 21st Aug 2007 17:48
Weird,cause when i used my Collision function,It worked without any problems.It only didnt use Enemy(X) stuff.

Oh well,I'll try it.

Anyway,It seems i am the only one getting it to work?


Virtual Nomad
Moderator
18
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 21st Aug 2007 21:10 Edited at: 21st Aug 2007 21:14
works fine here. good stuff

1 thing to mention is the fact that you have to move the mouse OFF the attack button and back onto it to use it again. is this by design to avoid "button mashing"? just seemed a little odd.

sidenote: not sure this is an intended feature but i found a "Jump Rope" mini-game!



it seems beating a dead horse, er, cow, can have it's benefits...

all kidding aside, this project looks great, RiiDii. thanks for sharing.

Attachments

Login to view attachments
RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 21st Aug 2007 22:22 Edited at: 21st Aug 2007 22:23
Quote: "I cant run it (the demo in your second post) either. It says the name "factor" can't share the name of a reserved word or command..."


Thanks. I will update the source code so that the word "Factor" is changed to "_Factor".

Quote: "It compiles here,but it looks kindof odd and i can kill the questgiver!hehe...he...he..."


Quote: "1 thing to mention is the fact that you have to move the mouse OFF the attack button and back onto it to use it again. is this by design to avoid "button mashing"? just seemed a little odd"


None of this was by design. This was only meant to be a quick-and-dirty demo to show how the code works. These "bugs" also show how flexible the function libraries are. Even though something completely unexpected happened, the game continues to run.

Quote: "sidenote: not sure this is an intended feature but i found a "Jump Rope" mini-game! "


Heh-heh. Cool / Lol.


Edit:
@Prince Of Darkness: When you get your game up and running, please post it - I am looking forward to see what folks can do with this.


Open MMORPG: It's your game!
RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 22nd Aug 2007 06:56
Demo of the terrain viewer. This post will go over how to make a simple terrain using the terrain viewer.

First, start with a height-map. This is a simple gray map (must be saved in full color, not gray-scale). This is a top-down view of the land. The lighter the shade, the higher the terrain. Darker shades are lower terrain. RGB(255,255,255) is the highest point. RGB(0,0,0) is the lowest point.

Sample Height-map:



Next create a Terrain Map. The terrain map can start with the height-map as a base so it is easier to tell where certain features should be placed; grass, rocks, sand, etc. The terrain map should be highly detailed. The sample below was reduced from 2048x2048

Sample Terrain-Map:



Finally, we need a detail map. The detail map is like a bump map for the terrain. The detail map should reflect the primary terrain type for the terrain being created. For example, if the terrain is primarily dirt, then the detail map should be dirt. If the primary terrain is grass, then the detail map should be grass. You may need to try different detail maps to get exactly the look you want. If you plan on using statics, your detail map is not that important since the statics will cover most of the close ground.

Sample Detail Map:


Once you have all three maps, you are ready to create the terrain. Run the terrain viewer executable.

1) Press the Load Heightmap button. Use the browser to load the heightmap.


2) Press the Load Terrain Map button. Use the browser to load the terrain map.


3) Press the Load Detail Map button. Use the browser to load the detail map.


4) At the top-center of the window, there should be a message; "Press [F5] to create terrain" Press the [F5] key.

5) The terrain should appear in a moment.


6) You can use the WASD keys to move around and the Q/Z keys to zoom in/out.

7) Press the Save Terrain button. Use the browser to select a location and a file name.


You now have a full size 3D terrain to use in your game.

I will cover some of the other features of the Terrain Viewer later.

This terrain was made by Nevereverend. Feel free to show off what you can do.


Open MMORPG: It's your game!
Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 22nd Aug 2007 11:46 Edited at: 22nd Aug 2007 13:15
Quote: "@Prince Of Darkness: When you get your game up and running, please post it - I am looking forward to see what folks can do with this."


Sure,But i will edit some stuff for my needs first,I want it to read enemy's and such from External databases.Not from internal DBP files,as that is a pain in the ass for re-building every 20 seconds...

EDIT:

OK,now i added the functions,changed some number to 146,which was 145 before.and now this errors me:

Quote: " Dim last_string(0) as string
Dim last_integer(0) as integer
Dim last_dword(0) as dword
Dim last_word(0) as word
Dim last_float(0) as float"


Quote: "---------------------------
Error
---------------------------
Runtime Error 118 - Array does not exist or array subscript out of bounds at line 2604
---------------------------
OK
---------------------------"


So what am I doing wrong?(Codesurge doesnt seem to always display the correct line as error either,so i copied the code which it should be in.)


EDIT2:

Added a little screenshot of what i made of it so far,It will improve,as i am working on a GUI right now.


Attachments

Login to view attachments
RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 22nd Aug 2007 17:25
I know when using the DBPro editor, there is a temp .dba file in the temp folder. This .dba file is a compiled source code of the project, and it is the one that is used for referencing the line number. Open that file in DBPro and you can find the line number. I use that so often, I even have a made a project file for that temp file so it is easier to open (recent projects).

Off hand it seems like there is a missed array reference in the last source file (SuperGame_functionlist). Check at the beginning of the second function. There is a Dim statement there that also needs to be changed to 146. Also, did you add the new function to the bottom of the list?

Second, would you like to beta test the CCS? It would also make adding new functions a lot easier.


Open MMORPG: It's your game!
Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 22nd Aug 2007 17:46 Edited at: 22nd Aug 2007 18:13
Hmm,I'll look into the dim's and such later,and i did add it to the bottom,and changed a number to 146,even added the function the the .ini,And i wouldnt mind testing the CCS.This is a good project.

Oh,and i added a Fresnel Water shader,and talking seems to be disabled.So i guess the shader and other codes share values?


Libervurto
18
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 23rd Aug 2007 00:36
Wow this looks amazing!
is it standalone or do I need DBP?

Your signature has been erased by a mod because it was rubbish.
Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 23rd Aug 2007 11:24
You need DBP,and the screenshot i shown,Was modified like hell,I added the water,the terrain,the sky and all coded it in.

But the character and NPC's were in it.(Besides 1 of them,and i moved the cow,as he was drowning.)


RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 24th Aug 2007 17:17
Some of the utilities could "stand alone." But they are really designed to help code games in DBPro. When everything is done, you could take a base executable and change all the scripting, models, music, sound, etc., so I guess later all this could be used without DBPro. For now, the best answer is "no."


Open MMORPG: It's your game!
Roxas
19
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 24th Aug 2007 17:22
This looks AWESOME!

I could use this for my RPG.. But i have to learn everything myself And i have learned much of my rewites..

Hmm also.. Riidii if you take SinglePlayer RPG Gifts to your Open Source MMOPRG Utilities then take a look my FFX Type Battle system

You can add it now or wait until it finished

[center]
RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 26th Aug 2007 13:16 Edited at: 26th Aug 2007 13:48
@PoD, can you send me an email so I can send you the link for the CCS? Or else, you can register at our site (click my sig) and I will send you a PM with the link.

@Roxas, Thanks. I am looking at your work. I am very busy right now, so I might be a while before I finish. It looks great.


Open MMORPG: It's your game!
RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 26th Aug 2007 15:31
Now that we have the terrain made, let's get walking around in it. I am going to do this two ways. The first is the standard way of writing this simple code. The second way is in preparation for using the CCS & DFE. The differences are minor at this point, but later on, they will be significant.

Here is a screen shot of the terrain from "in game".


The attachment is a simple DBPro project that demonstrates setting up the screen, 3D environment, terrain, and movement. This project uses the terrain that was created from a few (about 9) posts prior.

Below is the modified code (second method), which is recommended for use with the CCS / DFE.



If you copy this code and replace the code in the project with it, you will see there is no noticeable difference. A little more typing is needed, and there might be a millisecond or two performance drop, but nothing to worry about because the payback later on is significant.

Feel free to use your own terrain designs. Play with the camera height and movement speeds. You may notice how I wrote the camera movement routine ~ probably a little different than expected. This is on purpose to better match how the key functions from the CCS work, which will be used a little later on.


Open MMORPG: It's your game!

Attachments

Login to view attachments
Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 26th Aug 2007 15:55
Send an email,But i accidently placed my real name in it,Instead of my forum name


RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 29th Aug 2007 18:09
Here's how to use the Terrain Viewer utility to place object on a terrain.

Start by making the terrain. If you have already made and saved your terrain, you will have to do this again (sorry, I didn't add in a Load Terrain button - will have to add that in an update). Once you have your terrain made, click on the "Load Object" button.



A browser window will open; select the model you want to load. I suggest all the models are in a separate "media" folder. This is useful for organizing your game.



Next, you will name the object. This is not required, but it is useful: The name is saved in the script. When the object is loaded to a game, it can have the name loaded as well.



Next, simply place the object. Here is a quick review of the controls you may need:

W.A.S.D.: Scroll the screen around
Q/Z: Zoom In/Out
Mouse Wheel: Rotates the object
Right Click: Deletes an object under the mouse pointer.



Repeat to add another object.





To add multiple objects of the same kind, like trees, hold the [Ctrl] key while placing the object. The object will be placed and a copy will remain with the cursor. Continue to place the objects. When you want to place the last object, release the [Ctrl] key.



Finally, we want to save our layout. Press the "Save Script File" button.



There is no need to do the entire map at once. You can save by sections (as in the example). Or, you can place trees in one file, buildings in another, and so on. Here, we are saving the West Guard Area.



Here are the first two lines from the saved script file.



You will notice that the entire path was saved. This is not very useful for making a game that we intend to distribute. Simply go in and delete the first part of the path until the path meets your planned game pathing specifications. For example; if you will be accessing the Media folder directly from the code, then delete the entire path and only leave the file name. Like so:



My next update will show how to load in the script file and the objects.


Open MMORPG: It's your game!
tiresius
22
Years of Service
User Offline
Joined: 13th Nov 2002
Location: MA USA
Posted: 29th Aug 2007 21:05 Edited at: 29th Aug 2007 21:06
This stuff is really impressive, thanks Riidii!

I'm going to check out the Parser code. I already have a simple State/SubState Machine running in my game, but I think I need a Parser to read commands from a text file.

After making various complicated objects in DBPro+Newton (like a catapult with 2 pieces and compound collisions). I've decided that instead of hard-coding the object creation I need to explore using a scripting method to create and add these to the game via a text file. This will hopefully allow me to update media for the game (new objects) without having to recompile both the game and the level editor (both are 5MB+).

Would something like this be possible?


I'm not a real programmer but I play one with DBPro!
nackidno
17
Years of Service
User Offline
Joined: 3rd Feb 2007
Location: Där solen aldrig skiner
Posted: 29th Aug 2007 21:57
This is rally useful, i thank you for this!

How long did it take to do this so far?

Footsteps W.I.P

[url=nackpro.se.nu]my website[/url] It's swe!
RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 30th Aug 2007 02:12 Edited at: 30th Aug 2007 17:14
Quote: "Would something like this be possible?"


Using the parser along with the DFE, any function can be scripted. It would look a little different, but the concept would be very similar. Something like this:

Function_Name;Parameter_1;Parameter_2



The functions could then be executed with a quick read-and-execute function in the code (something I can demonstrate later, when I am not at work).

Quote: "This is rally useful, i thank you for this!

How long did it take to do this so far?"


You are welcome - glad it is useful.

As for how long did it take? The project has been going for about 2 years now? Each utility was developed from different needs. Additionally, they were developed out of necessity rather than planning. So the utilities sort of evolved, making it difficult to say when they started and when they ended.

If you are talking about how long it took to create the terrain and lay down the few objects; not long at all. Most of the work was designing the hieghtmap and the terrain map; both of which were done by Nevereverend, not me. Once you have an artist work those out for you, the rest is a piece of cake.


Open MMORPG: It's your game!
Deathead
18
Years of Service
User Offline
Joined: 14th Oct 2006
Location:
Posted: 30th Aug 2007 02:17
Me want! Me Wantlol

RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 30th Aug 2007 18:03
And here we are "in-game."



To get here, I added two libraries; Generic Functions and Parser Functions.

And I added these few lines.



You can see that the trees don't look very good. This is because the Light setting is on. But the trees were designed for the light setting to be off. If I turn the Light setting off, the building won't look as good.I mentioned earlier that you could save trees in one file, and buildings in another; this would have helped avoid this graphical travesty.

So far, we have seen how to easily make NPC's, Terrain, and place Terrain Objects using these tools. We almost have an RPG (one could make a basic game from what we have so far). Some combat would be nice, and maybe some inventory... What will be next?


Open MMORPG: It's your game!
Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 30th Aug 2007 23:17
Ah,Its getting better and better RiiDii!


RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 31st Aug 2007 12:00 Edited at: 31st Aug 2007 12:17
For now, here is everything combined.



I simply copied over the files from the first project to the terrain demo and added everything to a combined project. Next, I deleted a few redundant functions and made a few minor changes. Finally, I ran the CCS-DFE Scripting utility and with a few more minor changes - we have a "game".

Edit: Attaching the project. Enjoy.


Open MMORPG: It's your game!

Attachments

Login to view attachments
Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 31st Aug 2007 12:04
I see,oh.and BTW,could you send me a manual on CCS,i dont exactly get what i need to do to let everything work properly.


RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 31st Aug 2007 12:21
There are some files included in the download. Just read through those. Please ask questions as needed, or provide feedback, since I don't know if the included docs do a good job of explaining or not.

PS. I edited my previous post after you posted; I attached a file to download.


Open MMORPG: It's your game!
Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 31st Aug 2007 13:13
Ah,I'll download that,and read through the includes files that came with CCS.


RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 2nd Sep 2007 06:48
Next update. While this may not seem like much, there is a bit of interesting stuff going on behind the scenes. First, a screenshot:



Notice anything different? The trees look a bit better. There were no changes to the trees. Instead, the way the trees were loaded was different. In this shot, the trees were loaded from a command executed from a script file. This is what tiresius was asking about a few posts before. Here is the script file text:



Note: any line that starts with a "*" is ignored, so these can be used for remarks.

The new function added was the "Load_Geometry()" function. The parameters are; a File Name, Transparency Setting, Light Setting, and Fog Setting. Then, the trees were cut from the original "West Guard Area.txt" file and paste into the "West Guard Area Trees.txt" file. The trees are loaded, according the script file, with Transparency On, Light Off, and Fog on, which is what we wanted. Now, we can add any number of terrain script files to be loaded, and we don't have to change a line of code.

Only a few lines of code were added to accomplish this, so I will only upload the two source files that were modified and the new script files. If you have downloaded the previous files that were uploaded a few posts earlier, you just need to export these files to the correct folders (the text files all go in the media folder, while the source files go in the project folder).


Open MMORPG: It's your game!

Attachments

Login to view attachments
Deagle
19
Years of Service
User Offline
Joined: 28th Aug 2005
Location: Finland
Posted: 2nd Sep 2007 12:07
Sounds GREAT but.. I get Error "6" when i try to run the supergame demo :s

Deagle aka D-Eagle
RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 2nd Sep 2007 14:17
That sounds like an Advanced Terrain error. Do you have DBPro with AT?


Open MMORPG: It's your game!
Deagle
19
Years of Service
User Offline
Joined: 28th Aug 2005
Location: Finland
Posted: 2nd Sep 2007 14:49
Yes, i have AT.
I cant run even the pre-compiled exe.

Deagle aka D-Eagle
RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 2nd Sep 2007 15:45
XP or Vista? I had a problem like that on Vista.


Open MMORPG: It's your game!
Deagle
19
Years of Service
User Offline
Joined: 28th Aug 2005
Location: Finland
Posted: 2nd Sep 2007 19:46
XP :s

Deagle aka D-Eagle
RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 2nd Sep 2007 21:05
I have been able to replicate that error on another one of my PC's. I am looking into the cause now.


Open MMORPG: It's your game!
Deagle
19
Years of Service
User Offline
Joined: 28th Aug 2005
Location: Finland
Posted: 2nd Sep 2007 21:28
The first demo works for me.
(the second post)
If that helps.

Deagle aka D-Eagle
RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 3rd Sep 2007 00:08
The most likely cause at this point is a missing upgrade to v6. Try this link and install. That should do it (how I fixed the same problem on my other pc).

http://darkbasicpro.thegamecreators.com/?f=upgrade_6_6


Open MMORPG: It's your game!
Deagle
19
Years of Service
User Offline
Joined: 28th Aug 2005
Location: Finland
Posted: 4th Sep 2007 16:25
Hmm, i do have 6.6b :S

Deagle aka D-Eagle
RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 5th Sep 2007 06:43
The terrain object may not be in the download. If you download the Terrain Viewer utility and create the terrain, that might work.


Open MMORPG: It's your game!
Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 5th Sep 2007 22:18
RiiDii, If i dont post up alot here, It is because school is taking more time then i could have imagined for this year... I hoped it would be less homework, but its just the opposite... (Have to learn how to draw AutoCAD stuff...)


MikeS
Retired Moderator
21
Years of Service
User Offline
Joined: 2nd Dec 2002
Location: United States
Posted: 6th Sep 2007 05:41
I didn't want to clutter up your thread, but here's a code snippet I made inspired from your project.



I imagine your terrain utility already does something similar from the screenshots I've seen, but this might be a useful snippet for quickly making some more terrains later on.



A book? I hate book. Book is stupid.
(Formerly Yellow)
RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 7th Sep 2007 11:39
Quote: "RiiDii, If i dont post up alot here, It is because school is taking more time then i could have imagined for this year... I hoped it would be less homework, but its just the opposite... (Have to learn how to draw AutoCAD stuff...)"


No problem. School is a good enough reason
Good luck too.

@Mike: No problem, but is something missing?


Open MMORPG: It's your game!
RiiDii
19
Years of Service
User Offline
Joined: 20th Jan 2005
Location: Inatincan
Posted: 9th Sep 2007 23:47 Edited at: 9th Sep 2007 23:51
Here is an update. Simply added a skysphere made from Texture Maker. Also added some water (again, the textures from T.M.). I also used the Terrain Viewer utility to place a few bridges. Doing, this, I have discovered two bugs. The first was object placement wasn't exact enough. For the trees and buildings, it was o.k., but for lining up the bridges to the roads, it was way off. This bug is fixed. The second bug is when placing multiple objects, there is a problem with storing the correct Y-Angle. I am still trying to fix this bug.

Anyway, here is some eye-candy.



Sorry, the aspect ration is a bit off, and while it looks like our hero is lifting small buildings, I assure you, it is only an illusion and our hero is placing buildings off in the distance.


Open MMORPG: It's your game!
Deathead
18
Years of Service
User Offline
Joined: 14th Oct 2006
Location:
Posted: 10th Sep 2007 00:21
Water looks dodgy.

Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 10th Sep 2007 08:21
Thats because he doesnt use shaders, just plain DBP code.


Login to post a reply

Server time is: 2024-11-24 02:00:35
Your offset time is: 2024-11-24 02:00:35