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 / World of OMEN RPG (image intensive)

Author
Message
Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 16th Apr 2008 10:24 Edited at: 3rd Apr 2009 18:12
See the last page for updates

World of OMEN server is back online - Alpha Test Phase 3 ("Ares") will be starting soon.

The steps for downloading and installing the client and creating a new account (no credit card or e-mail address required) are here: World of OMEN Demo

My beautiful, perfect child.
I have made you powerful, intelligent,
singular in purpose, and cunning in combat.

I have created you to defend me. I have
always existed and my past is the history
of all that is. But it seems that ones past
has a way of...

haunting you.

My past, it seems, has Evolved. It hunts for
me even now. It has... Multiplied, and it
consumes stars in its pursuit of me.

You will not fight alone. Your brothers and
sisters are legion, and they share in your
strengths. You have the gift, and the burden,
of immortality.

I hope, one day, you will find a way to forgive
me for this last transgression. Perhaps, then, when
the last star in the sky burns out and fades away,
you will find some solace in knowing that the
universe...

...like you...

is hollow.


World of OMEN is a multiplayer online role-playing game set it the distant future, in a time long past the short existence of the human race.

I hope the introduction above serves to convey the tone and hints at the storyline of OMEN because I really don't want to give too much of the story away here.

I've decided to post this WIP now because I've just reached the point where I have a working (code) solution to every challenge that goes into building a game of this scope. I'm currently in the process of "integrating" these working components into the final client and server engines and performing unit and regression testing.

Well, I think I've talked long enough now, here's some screenshots from the client :

Edit: I should mention that I'm using the fantasy characters here as stand-in models for now and they may or may not be available in the final game (although, really, there's no reason why they shouldn't be available)









YouTube Videos are now available here:

http://www.youtube.com/user/darrelcusey


All feedback and comments are welcome and appreciated.


---------------------
EDIT: The second round of alpha testing is complete. We have completed testing:

Loot System
Programs Completed System (similar to "badge" systems in other games)
Zoning System
Chat System
Monster Spawn and Basic Combat should be coming online soon
All Supporting Systems (Network, Movement Prediction, Animation, etc..)


If you are interested in alpha testing, the steps for downloading and installing the client and creating a new account (no credit card or e-mail address required) are here: World of OMEN Demo


-------------------------------------------------
Current Progress Report (I'll keep this updated)
-------------------------------------------------
= Done, Tested, 100% functional
= Brewing (Coding integration in progress)
= Unit Coding Built, Needs Integration
= Design Complete, Needs Unit Test



1. Network 2D Chat
1a. Network 2D Messaging
1b. Network 2D Avatar Position Broadcast & Syncronization
2. Networked 3D Avatar Position Broadcast & Syncronization
2a. Networked 3D Avatar Realtime Movement Prediction
2b. 3D Chat replacement
3. Script Engine & Interpreter
3a. Security for logon
3b. Server connectivity detection/reconnect/status reversion
3c. Character selection
3d. Character creation, integration with character selection
3e. Dynamic security system for either TCP or UDP streams on-demand
4. Modular Object Construction
4a. Basic Collision System
4b. Distance- and volume- based culling system (translucency)
4c. Dynamic Mesh LOD System
4d. Integration of collision system with culling system
4e. Integration of camera distance with fog distance, culling and collision
4f. Procedural Object Construction
4g. Sky/Fog integration
4h. Static Translucency and ghosting
5. Online Updater
5a. Online Updater Self-Updater
6. Database Management Player Data
6b. Database Management for Resource (Template) Data
6c. Pick System
6d. Entity System
6e. Zoning System
7. 3D Primitive Construction via Chat Commands
8. Complex Architecture Construction via Chat Commands
9. RPG Object Construction via Chat Commands
10. Graphic User Interface Construction via Chat Commands
11. Graphic User Interface Retrofit for Prim Construction/Editing
11a. Graphic User Interface Retrofit for Complex Object Construction/Editing
11b. Networked World Editor - Upgrade to GM Command System
12. Give/Take Inventory (GTI) System
13. Character and Monster Creation Editor
14. Item Creation Editor
15. Weapon System Editor
16. Powerup System Editor
17. Monster Spawning and AI System Editor (Coming Online Soon)
18. Battle System (Coming Online Soon)

Diablo 3D
19
Years of Service
User Offline
Joined: 23rd May 2005
Location:
Posted: 16th Apr 2008 10:50
Looking good dude. How many players will it support?
If it's set in the distant future (in a time long past the short existence of the human race), what kind of weapons/skills will players be able to equip/learn).
Will it be class based like in WoW or FFXI, or quite open ended in terms of skill learning, like in UO?

Also, is it set on Earth? I know that's probably not important, but I'd like to know lol

Good luck with this project!

Self Destruction Computer Entertainment
tha_rami
18
Years of Service
User Offline
Joined: 25th Mar 2006
Location: Netherlands
Posted: 16th Apr 2008 13:28
Quite impressed! This looks advanced enough to be in WIP for a MORPG, and I applaud you for that. It looks good


A mod has been erased by your signature because it was larger than 600x120
Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 16th Apr 2008 15:26
I think FFXI had genious Class system. So you should look into it

Your signature has been erased by a mod because it was too big
Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 16th Apr 2008 19:45
@tha_rami : Thanks!
@Roxas, Diablo 3D:

I'll be doing a hybrid class/skill system. Skills will be categorized into "skill sets." For example, one skill set may be "Close Quarters Combat" and some of the skills in this set may be "Shadow Jab" and "Thunder Sweep." Each class will have access to some skill sets that other classes will be prohibited from using. Initially, each class will be able to select three skill sets from 9 skills sets to which they have access. I haven't determined, yet, a good balance for the number of skills that will be in each set... but it will be the same number of skills for each set. As players progress, they'll have access to more and more powerful skills in their respective sets.

The central theme of the game is that the players are artificial lifeforms created by a highly-advanced and ancient race that is now nearly extinct. Along these lines, the players won't need "weapons" or "equipment" -- they are the weapon. That being said, players will be able to acquire items that can be crafted into "augmentation" for their body that will in-turn improve the effects of their skills.

So, imagine detaching your lower arm and replacing it with a giant lightning-summoning axe

The settings for the game will be artificial Earth-Like environments on enormous asteroids floating through space - these are the outposts of the enemy. In order to move from 1 asteroid to the next (effectively "zoning") the player will be hacking into the enemy's fabrication and replication system and "replicating" a copy of themselves (while simultaneously destroying the original) on the asteroid to which they are traveling. There will be at least 2 points on every asteroid where the player will be able to access these fabrication buildings (and some older-technology fabricators might be found deep below the surface of the asteroid that can transport the players to unique and unusual destinations).

Each server should be able to support between 70 and 250 simultaneous players (depending on how optimized I can get the mapserver code). I know this is a pretty large range, but IF I decide to make this pay-to-play or pay-for-benefits, then even as few as 50 simultaneous users per server would still be profitable (assuming colo costs don't skyrocket over the next year). Please note: I haven't decided yet on a pricing model and free play is still a highly viable option. In fact, it's currently the _most_ viable option, so it's highly likely that this will be free to play with additional in-game benefits that can be purchased.

These figures are based on the following Key Values assuming colocation:

Dedicated Sustained Transfer Rate Available: 3.09 GB/sec
Updates/Player/Sec: 24
Maximum Bytes/Update Available: 299
Estimated Bytes/Update: 59
Players/Dedicated Server (Maximum throughput): 70
Players/Dedicated Server (Estimated throughput): 272
Players/Zone Server: 48
Zone Servers/Box: 6
Cabinet Footprint Needed/Cluster (40U rack/1U server): 0.15

(I have a spreadsheet that details all the above in much greater detail if you'd like me to e-mail it to you)

Thanks everyone for your interest and comments

Vorg1
17
Years of Service
User Offline
Joined: 7th Dec 2006
Location: Seattle
Posted: 16th Apr 2008 21:09 Edited at: 16th Apr 2008 21:09
Wow really looks good. I guessing you will be adding trees and buildings later. Also the camera kind of seems far away from the player. But it still looks awesome!
Anonymous User
16
Years of Service
User Offline
Joined: 21st Feb 2008
Location:
Posted: 16th Apr 2008 23:18
IS your server also coded in DBPro?

???
Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 17th Apr 2008 00:11
@Vorg1:

Thanks! Yeah, the asset management system is in place, but I wanted to wait to have the LOD system plugged-in to do the heavy forests, buildings, etc. I'm actually working on that this evening, so that area should be somewhat heavily-forested soon

The camera can zoom, pan, and orbit - just like you'd be able to do in WoW, CoH, or TR. Right-Click is driving mode, Left-Click is to interact with objects or people, Middle-Click is orbit, Mouse-Wheel is zoom. I'll probably add a "click to move" option as well, as some people really like that - but that's a bit lower on the features list.

@Anonymous User:

The server is C++, but the client is 100% DarkBASIC Pro. It may be worth mentioning, though, that I do all my server prototyping in DBPro and I actually have a fully-functional server in DBPro. I develop additional features and do all server unit and client compatibility testing there (due to the much faster compile times... 7 seconds currently).

The admiral
22
Years of Service
User Offline
Joined: 29th Aug 2002
Location:
Posted: 17th Apr 2008 01:55
Wow sounds like your really organised and knowledgeable I hope you complete this as it sound awesome.

The admiral
Xenocythe
19
Years of Service
User Offline
Joined: 26th May 2005
Location: You Essay.
Posted: 17th Apr 2008 02:15
Good luck. It's looking well Omen. Drop an MSN message if you need help with anything.

3.11 We do not tolerate posts made for the purpose of putting down another forum member, group of members, religion, our company, our staff or any of our moderators, past or present.
Diablo 3D
19
Years of Service
User Offline
Joined: 23rd May 2005
Location:
Posted: 18th Apr 2008 13:00
Brilliant! Just brilliant!
*added to favourites*
Wish I had the drive to actually finish a project I work on! lol
But the idea of changing your arm to a powerful weapon is a pretty neat idea! I'd love to see how many different combinations of "weaponary" you could "arm" yourself with (get it?... no? Damn!)

Self Destruction Computer Entertainment
dan958
16
Years of Service
User Offline
Joined: 7th Feb 2008
Location:
Posted: 19th Apr 2008 00:42 Edited at: 19th Apr 2008 00:44
wow, makes me wish i could actually program good

*edit*

Also i think (if you can) add the messages above the players heads to show who is talking like in guild wars


Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 19th Apr 2008 00:49
Quote: "Also i think (if you can) add the messages above the players heads to show who is talking like in guild wars"

Thats bad system IMO.

Your signature has been erased by a mod because it was too big
Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 19th Apr 2008 07:25 Edited at: 19th Apr 2008 07:27
@Everyone:

(so I don't double-post)... Just a quick note that the volume- and distance-based culling system is in and working nicely. Each object in a scene can have up to (currently) 2 impostors -- a lo-poly version and an ultra-low-poly version (2 double-sided crossed planes, nice for distant trees and shrubs). The culling system automatically fades between whichever combination of impostors are available based on the object's size (volume) and distance from the player.

There's still some "snapping" between the transitions, but I'll be fixing this by adding a "targetFadePercent" field to the object UDT and slowly changing the current fade value to move toward the target value. This may mean that some objects "get behind" where they should be, but they'll eventually catch up.

YouTube video of the culling system is here:

http://www.youtube.com/watch?v=AMmlPZPBvEQ

@Roxas & Dan958:

Some people really love the thought/talk balloons, others (like me) hate 'em. However, they're really not that hard to implement. You just have to make sure that the speaker is really on-screen first or you'll get text floating out in space when you're facing away from the speaker - which looks terrible. I've already got this feature on my wish list... now, it's pretty low on the list, but it's there. It'll be an opt-in feature, disabled by default.

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 19th Apr 2008 07:51
Some more screenshots taken from the culling system test area:





Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 19th Apr 2008 11:38
Yea option for it is propaply good. Its looking good

Your signature has been erased by a mod because it was too big
Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 19th Apr 2008 14:05
It might the first complete MMORPG with DBP
It was a good idea using C++ for the server, I bet dbp wouldn't be able to handle it as soon as you got more than a few players!

Can I hack test it?

Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 19th Apr 2008 14:48
Quote: "It might the first complete MMORPG with DBP"

Yea

You and Oneka are real multiplayer experts!

Your signature has been erased by a mod because it was too big
Drew Cameron
20
Years of Service
User Offline
Joined: 30th Jan 2004
Location: Scotland
Posted: 19th Apr 2008 18:05
How are you handling the trees fading in? Could you post a bit of code as this is the issue I am working on right now.

Drew

dan958
16
Years of Service
User Offline
Joined: 7th Feb 2008
Location:
Posted: 19th Apr 2008 18:23
The reason i like text above the head as well as in a text box is becuase if somebody is talking to me i like to know where they are.


Oneka
20
Years of Service
User Offline
Joined: 24th Apr 2004
Location: Hampton,VA
Posted: 19th Apr 2008 19:08 Edited at: 19th Apr 2008 19:14
Quote: "[quote]Quote: "It might the first complete MMORPG with DBP""

Yea

You and Oneka are real multiplayer experts![/quote]

Wow, thanks Roxas someone finally mentions me for something

I thought I was gonna have to surprise the community with my latest test of Daikanu Online (Client/Master Server/Database Server/Region Server) all together to get something xD





Omen,

Your work looks pretty good, are you positioning your objects with unique position in your world? Because it looks like you plan on having big maps, and if you are, I would suggest leaving the camera/main player object at X:0Z:0 to prevent floating point errors which WILL hit and would cause nasty effects.

So move the world and not the player if your not doing that

looks like you are getting pretty far with it though


Making dreams possible, one line at a time...
Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 19th Apr 2008 20:09
Quote: "Wow, thanks Roxas someone finally mentions me for something

I thought I was gonna have to surprise the community with my latest test of Daikanu Online (Client/Master Server/Database Server/Region Server) all together to get something xD"


Nope And cheers dude! (Tho i forgot GatorHex from list. Sorry GatorHex )

Quote: "So move the world and not the player"

Never tought of that. And isnt it kinda lot of harder way ? Tho i guess it speeds up because only moving one object.

Your signature has been erased by a mod because it was too big
Oneka
20
Years of Service
User Offline
Joined: 24th Apr 2004
Location: Hampton,VA
Posted: 19th Apr 2008 22:14
Well if unless you have map that either you dont use floats or is like under 10k you wont notice it but if you plan on having a seamless world, you will notice it around 80k as floating point numbers become inaccurate..so keeping at position zero helps that problem

It does sound wierd but it actually does help solve some problems


Making dreams possible, one line at a time...
Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 19th Apr 2008 23:41 Edited at: 19th Apr 2008 23:42
@Drew,

The fading is done using DBPro's built-in set alpha mapping on. That's about all the code there is to it - calculating the percent value is the tricky part based on if the object has any impostors (and if so, then calculating _their_ percent values).

@Oneka,

Since this is my first MORPG, I didn't design for seamless worlds or even very large areas... so, there will be zoning. This leaves open the door for allowing me to use a multi-server configuration with a central database if I choose to do so (ie 1 server for 1 or more areas, with multiple servers per "shard"). I've completed a test for a multi-server configuration with automatic server keep-alives, spin-up code, master-server promotion, player passing, the works -- so, I can still go this route if need be (but currently, just assuming I'll only need 1 data server and 1 map server per shard).

Also, due to the nature of the game concept (the primary locations of play are on the surface of asteroids), having a seamless world didn't really make sense. That all being said, each area will most likely be around 2KM x 2KM in size - which is just fine since I won't be using travel time as a means to regulate character advancement. As far as I'm concerned, if the players are just a few steps away from 1 mission to the other, that's just fine with me (and more enjoyable for the players anyways)

..and thanks for the comments and suggestions everyone - they are very useful

Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 20th Apr 2008 00:00
Quote: "Since this is my first MORPG, I didn't design for seamless worlds or even very large areas... so, there will be zoning. This leaves open the door for allowing me to use a multi-server configuration with a central database if I choose to do so (ie 1 server for 1 or more areas, with multiple servers per "shard"). I've completed a test for a multi-server configuration with automatic server keep-alives, spin-up code, master-server promotion, player passing, the works -- so, I can still go this route if need be (but currently, just assuming I'll only need 1 data server and 1 map server per shard)."


Thats awesome! It reduces lagg too when there is more servers!

Your signature has been erased by a mod because it was too big
Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 23rd Apr 2008 02:28 Edited at: 23rd Apr 2008 02:35
Hey everyone,

Just a quick update on what I've been doing over the weekend...

I've converted over the fixed-path logon system to a flexible-path system. This will allow me to arbitrarily add additional steps into the logon sequence (like online updater, EULA screen, Terms of Use, server selection, etc., etc.). Before, there was really no need/point in having "BACK" buttons anywhere (logon, select or create character, go)... but, they're in now and status reversion/syncing with the server works perfectly. So, when I need to add additional screens, it'll be a breeze.

Currently, I'm working on the foundation work for the online updater system. This entails unifying the various and sundry media-loading function into a unified mediaLoader "class" (well, as close as you can get to a class in DBPro) for all media types. This function will handle the CRC32 check on the packages, the extraction of the media, loading of the media, management of loaded media UDTs (so any given media is only ever loaded once), and finally deleting the media after it's loaded.

That foundation work will allow me to arbitrarily "package up" bits of media into packages that can be versioned by Subversion. On my end of things, the process of making a new game version available to the sandbox will involve all of 3 steps: 1) right click on client folder and select "Create Patch", 2) Upload the patch file to the distribution webserver, 3) right click on client folder and select "Commit" - this will send the new files up to the SVN repository and (thanks to a little script I wrote) also FTP them up to the distribution webserver. The Online Updater will use the .diff file to extrapolate the equivalent of a manifest.xml customized for the client and download to the client only the packages that are newer than what the client has.

...so, no new eye-candy for awhile yet unless someone really really really needs some

tha_rami
18
Years of Service
User Offline
Joined: 25th Mar 2006
Location: Netherlands
Posted: 23rd Apr 2008 08:36
I need some!


A mod has been erased by your signature because it was larger than 600x120
Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 25th Apr 2008 03:03 Edited at: 25th Apr 2008 03:03
hehee,

OK, since the client is in a state of flux with the online updater integration, here's a shot from the editor. The editor doesn't use anti-aliasing so you can really see the jagged lines here unfortunately. This is the start of a scrap-metal camp.

You can click on the image to see the full-sized version.



Silvester
18
Years of Service
User Offline
Joined: 7th Dec 2005
Location: Netherlands
Posted: 25th Apr 2008 08:29
Quote: "hehee,

OK, since the client is in a state of flux with the online updater integration, here's a shot from the editor. The editor doesn't use anti-aliasing so you can really see the jagged lines here unfortunately. This is the start of a scrap-metal camp.

You can click on the image to see the full-sized version."


Editors don't need AA, since players won't every use or see it anyway
Diablo 3D
19
Years of Service
User Offline
Joined: 23rd May 2005
Location:
Posted: 25th Apr 2008 11:05
hehe, that scrap metal camp reminds me of Fallout... Ah memories...

Self Destruction Computer Entertainment
Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 27th Apr 2008 08:32 Edited at: 11th Nov 2008 00:38
Hey everyone!

The Online Updater system is finished. I was going to use MD5 for the file signatures... but it got to be a major headache, so for now it's clean and simple CRC32. Once I figure out MD5, it'll be going in as a replacement.

The compression/encryption of media is working extremely well too - I've got a couple of my own custom file types to nail-down in the universal media loader routine and that'll be all done.

Technically, once these 2 items are done, I'd be ready for Alpha Testing of the following items (a) logon, (b) character creation, (c) character data persistence, (d) area loading, and (e) movement prediction.... but, I've got a lot more internal testing to do first.

Wow! I've just talked a lot. Ok, here's a screenie of the Online Updater



The steps for downloading and installing the client and creating a new account (no credit card or e-mail address required) are here: World of OMEN Demo

Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 27th Apr 2008 12:48
sent mail

Your signature has been erased by a mod because it was too big
RedFlames
17
Years of Service
User Offline
Joined: 25th Aug 2007
Location: Germania
Posted: 27th Apr 2008 15:05
This is looking really cool and well thought-out
[and i'd like to alpha-test it (sent mail already) ]

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 3rd May 2008 08:47 Edited at: 17th May 2008 16:24
Just a quick update on what I've been up to this week:

1. Switched over the database to MySQL for both C++ and DBPro Server versions. Before I was using SQL-Lite on the DBPro side, but now that I'm starting to really create some robustness in the data, it's more or less mandatory that I get all the data in the same place. I've done plenty of work with CattleRustler's mySQL plug-in in the past, so it was a snap to add it in and get it up and running. What took awhile for this was all the unit testing for every function - but everything passed and is humming along nicely now.

2. Made some improvements to the "updater updater" code to the Online Updater so that it can update and re-run itself.

3. Started putting in the Area Zoning system. I'd really like to have this tested in the first Alpha Test, so doing what I can to get this ready.

Also, I've been looking into switching over the GUI system to BlueGUI. I'm tempted to switch it over because I could really do a lot with the webBrowser gadget. I'd be able to "skin" my GUI interface with Cascading Style Sheets. I'd be able to have embedded web-links in my panels. I'd be able to have clickable URLs to client-side documentation (like WoW does) in the chat box.... the possibilities are just endless...

...but that'll have to wait until after Alpha

Edit (May 17): Now that I've started to implement the Give/Take system, it's starting to look like it may be a necessity to switch over to Blue, more posts about this coming soon...

bergice
17
Years of Service
User Offline
Joined: 5th Jun 2007
Location: Oslo,Norway
Posted: 3rd May 2008 15:45
Omg, this looks awesome!!

Nothing more to say unless the ground looks a bit weird.

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 3rd May 2008 16:40 Edited at: 3rd May 2008 16:49
@bergice,

Yes, the ground look terrible in the 0 - 50 meter range. This is because I haven't turned on the RGB Mixer shader yet on the ground, so you're just getting detail and the diffuse color. What it should be doing is this:

1) Near Distance will show detail, fog (if any), high-UV blended "detail" textures and coordinated light vector. This gives a similar effect to texture-splatting in other engines, but you can have different UV scales for different textures and some textures can have Normal Maps or Bump Maps and/or detail maps while others don't.

2) Far Distance will be just the diffuse color (which is the weird color you're seeing in those screenshots that doesn't look so hot up-close) plus fog (if any) and coordinated light vector (terrain shading).

...I just have the detail and light blend shader in right now as a "stop-gap" until I get around to putting in the RGB Mixer shader, but it's on the list

Now that I've spent some time building shaders, they're pretty easy to work with. Ultimately, what I'd like to do is develop a macro system that can interrogate the textures in an object and build a custom shader on-the-fly from parts.

For now, I'm just using a simple "materials" list for each object for the RGB Mixer shader that says which textures should be loaded at which stages, at which UV scale, what type of shader effect should be applied (texture is diffuse color, normal map, bump map, etc...), and which RGBA channel should be used to determine where it gets applied. I've got the materials list working, but right now the RGB Mixer is static so the materials list has to be static as well. Because a static setup like this is a lot of extra work to maintain, I'm holding off on using that shader until I can make it more robust and dynamic.

...and then there's the whole thing with the Grass Shader ... but, that's another story

bergice
17
Years of Service
User Offline
Joined: 5th Jun 2007
Location: Oslo,Norway
Posted: 3rd May 2008 19:51
Quote: "1) Near Distance will show detail, fog (if any), high-UV blended "detail" textures and coordinated light vector. This gives a similar effect to texture-splatting in other engines, but you can have different UV scales for different textures and some textures can have Normal Maps or Bump Maps and/or detail maps while others don't.

2) Far Distance will be just the diffuse color (which is the weird color you're seeing in those screenshots that doesn't look so hot up-close) plus fog (if any) and coordinated light vector (terrain shading)."



Sounds great, i dont like lag and i do like detail

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 13th May 2008 03:09
Update

Over the last week I finished upgrading the mesh-based terrain to Advanced Terrain (AT) and put the finishing touches on the collision system to accommodate. The nice part is that most of the time the client is using AT's speedy GET TERRAIN GROUND HEIGHT function, and only switches over to Sliding collision when near meshes.

I also put in the code that I needed to "punch holes" in AT as well -- the upshot of all this... Now we have caves

Here's some screenshots and the YouTube video link is below as well. There's still slots open for Alpha Testers too, so if you ever wanted to do some Alpha Testing, send me an e-mail - see my post above on instructions







YouTube Video:
http://www.youtube.com/watch?v=052hPixLrzo

Kerrby
16
Years of Service
User Offline
Joined: 14th Mar 2008
Location: Australia mate.
Posted: 13th May 2008 15:21
Where did you get the characters from?
draknir_
17
Years of Service
User Offline
Joined: 19th Oct 2006
Location: Netherlands
Posted: 13th May 2008 17:12
Looking good! How did you do the holes in the terrain? You must be using your own memblock terrain or whatnot, right?
Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 13th May 2008 20:31
@Kerrby,

Model Pack 18

@draknir,

Hehehe, nope, it's just standard Advanced Terrain. The transparency is done by simply coloring the texture black where I want holes and then issuing a SET OBJECT TRANSPARENCY on the terrain object after it is built. The polygons are still "there", they're just transparent The switching between AT collision (GET TERRAIN GROUND HEIGHT) and sliding collision at the right time was the only tricky part (the AT is never setup in sliding collision - which is a HUGE fps savings).

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 13th May 2008 22:03 Edited at: 13th May 2008 22:04
(sorry double-post)

Vorg1
17
Years of Service
User Offline
Joined: 7th Dec 2006
Location: Seattle
Posted: 14th May 2008 02:12 Edited at: 14th May 2008 02:13
Wow Omen that looks really good. Especially the cave system!
draknir_
17
Years of Service
User Offline
Joined: 19th Oct 2006
Location: Netherlands
Posted: 14th May 2008 02:19
cool, i should of read that post more carefully. pretty smart way to do it
jasonhtml
20
Years of Service
User Offline
Joined: 20th Mar 2004
Location: OC, California, USA
Posted: 14th May 2008 05:25
Quote: "Hehehe, nope, it's just standard Advanced Terrain. The transparency is done by simply coloring the texture black where I want holes and then issuing a SET OBJECT TRANSPARENCY on the terrain object after it is built. The polygons are still "there", they're just transparent The switching between AT collision (GET TERRAIN GROUND HEIGHT) and sliding collision at the right time was the only tricky part (the AT is never setup in sliding collision - which is a HUGE fps savings)."


ive been tinkering with this type of system for quite a while. it works pretty well, but the only problem i had was that the detail texture of the terrain would still show as a shadow over the cave entrance. do you not use a detail texture? or did you find out some way to fix this issue? id really like to know

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 14th May 2008 08:33 Edited at: 14th May 2008 08:34
@jason,

I don't have that issue at all, and I have a pretty wide variety of boxes/vid cards I'm testing on... if you want to create a new post in the main DBPro forum with a snapshot, I'll take a look at it and I'm sure quite a few others will as well.

For me, I know I absolutely can't do any other type of additional appearance command on AT once I build it and then either (a) set a shader or (b) set transparency -- anything else has Strange effects. Are you possibly issuing any other of the appearance commands?

jasonhtml
20
Years of Service
User Offline
Joined: 20th Mar 2004
Location: OC, California, USA
Posted: 15th May 2008 02:04
im not sure, i haven't looked at the project for a while, but when i finally get back to it, ill probably make a post

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 17th May 2008 16:19
Over the last week, I've been doing a complete code-review before moving on to starting the Area Zoning and Give/Take systems. I almost always go back and try to simplify and streamline the existing codebase before starting new systems.

In oder to do everything I want with zoning and inventory, I'm about 80% certain that I'm going to need to upgrade the gui system - so, I'll be running some tests over the next couple days to see if the existing system can handle it and to see if it can be done without making things into a coding nightmare.

If it gets too crazy, then there will be a lull in the eye candy for awhile as I upgrade the GUI system. I'll keep you posted how things go

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 7th Jun 2008 17:25 Edited at: 7th Jun 2008 17:31
Heya everyone!

Thanks for all the nice e-mails and words of encouragement! Haven't posted for awhile, so here's an update on how things are going and some more eye candy (yay for eye candy!)

Zoning System: Finally done! I've got intra-map zoning, inter-map zoning, and inter-server zoning all finished. The inter-server zoning wasn't really necessary at this point, but I knew it would be a lot easier to put in now than later, so in it went. The part that took the most time was the ticket system to pass a client from one server to another so the client only needs to pass their credentials once to one server.

Entity System: Done! I can now make any object (or any non-object volume) into a entity of any type (doors for zoning for example). Currently, entities can be set to trigger via user interaction (clicking on it), avatar collision, avatar exit, camera collision, camera exit, or avatar proximity. Each entity can respond differently to each of these trigger states. The event broadcast to all clients gets a (currently pretty simplistic) lag correction algorithm applied to it as well, so the events are pretty well temporally sync'd. It's not as good as Tribes network event synchronization, but it's certainly more than sufficient for an RPG.

GUI System: I'm going to stay with the system I'm currently using for now.

Here's the eye candy I promised. This is one of my new cave segments - just a slight improvement over what I was using for the heightmap terrain demo



I'll have a video coming out soon of the zoning and entity systems working together, so stay tuned for more to come

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 12th Jun 2008 21:40
Now that I've got the critical game systems working together, I had started assembling and filling-out some of the story and art assets for World of OMEN.

Now that I'm at that point, though, the overall game concept (settings, characters, stories) is turning out to be a lot "heavier" than I had initially thought it would be. By that, I mean overly-dramatic with a pretty sad storyline (bordering on depressing).

I'm in the process of re-evaluating a design concept that I had initially shelved, but now is looking a lot more "doable" in terms of art asset requirements, animation requirements, and just a much lighter and more fun storyline and gameplay (which I'm currently discussing with people in the Game Design forum).

Soooo, this might be the end of "World of OMEN" as you see it right now in terms of story, setting, and art... but the engine will live on and continue to improve under a new face.

I hope that isn't a huge disappointment for anyone - and really it just means WoO is going on the shelf again (I never throw anything away) - which means I may come back to it at some point.

If I do decide to go with this lighter game concept, I'll post a new WIP here.

Login to post a reply

Server time is: 2024-09-30 06:15:18
Your offset time is: 2024-09-30 06:15:18