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 (Ares Release)

Author
Message
Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 31st May 2009 16:15 Edited at: 1st Aug 2009 08:04
World of OMEN has entered its third round of Alpha Testing (Ares Release) and brings online a couple of very important systems that were not in Chimera. Here's a list of the systems now online and some new media:

Latest video: http://www.youtube.com/watch?v=gHo3E7ozNe0

1) The MUSE (Multi-User Simultaneous Editing) System. Allows multiple GMs to build an area at the same time, and see each others' changes instantaneously (changes are persisted to the central database instantly as well). Non-GMs can see these changes as well, so there's been a few "Why is that tree moving?!?!" incidents


The New Piston Ridge

2) Advanced GUI system. Everything you'd expect in a modern MMO: all windows can be moved, resized, hidden, minimized, etc... All buttons have pop-ups and context-sensitive help, pixel-perfect image tiling for all GUI components (no ugly stretching or scaling), keyboard shortcuts, transparency, and a lot more...


Cog Base Early Morning

3) Fully-implemented options system (but no GUI hookup for it yet) saves all customizable attributes of all in-game GUI elements (position, size, etc..). Saves your preferred display settings, mouse inversion, everything you'd expect. Currently you need to edit a text file to make changes, but the GUI hookup will be online soon.


Reticulated Paladin

4) Dedicated server hosting - should have done this on day 1, it makes things sooooo much easier for me AND the GMs.


I've decided to post a new thread for World of OMEN for a couple of reasons: 1) Mods are telling me it would be a good idea and 2) the artwork in the Chimera release is no longer representative.



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.


All feedback and comments are welcome and appreciated !


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

------------------------------
Systems Currently Being Tested
------------------------------
Loot System
Programs Completed System (similar to "badge" systems in other games)
Zoning System
Chat System
Monster Spawn and Basic Combat
All Supporting Systems (Network, Movement Prediction, Animation, etc..)


------------------------
Current Progress Report
------------------------
= 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 System
13. Character and Monster Creation Editor
14. Item Creation Editor and Custom Data Feature Editor
15. Inventory System
15a. Badge System
15b. Tokens System (Chasis Change Tokens, Name Change Tokens, etc...)
16. Player Advancement System
17. Monster Death and Respawn System
18. Basic Combat System
19. Player/Monster Health Display
20. Player Death and Respawn
21. Advanced Combat System (status effects)
22. Power Sound Effects and Sprites
23. Multi-User Simultaneous Editing (MUSE) System for World Building

draknir_
17
Years of Service
User Offline
Joined: 19th Oct 2006
Location: Netherlands
Posted: 31st May 2009 16:41
Looks amazing, I'm updating it now.

Also, thanks for the manual installation .zip file, I hate installing stuff with installers.
zapakitul
17
Years of Service
User Offline
Joined: 1st Mar 2007
Location: In my world
Posted: 31st May 2009 17:08
Well i tried it out, beat down a "Steam Spectre", if i am not mistaken, and ran around for a while. To bad there was no one i could chat with! Sprint didn't seem to work for me (kept saying it is not ready yet), and the camera was spinning a little to fast when i pressed left and right arrow. Overall it looks good for now, and i loved the way you can customize your character. Looking forward to seeing more progress.
draknir_
17
Years of Service
User Offline
Joined: 19th Oct 2006
Location: Netherlands
Posted: 31st May 2009 17:35
I also played around for a bit, I think you were logging off just as I joined.

Pros:
- I really liked the ability to customize every part of my character, I would really love to see more options in that area. The color picker was good, but it felt limited. Maybe use a hue/saturation/lightness type picker? Also it would be great if the player could add a detail texture to the robot (rusty/shiny/burnt/beat up).

- Everything worked the way it should have, updating, account creation, logging in. Theres clearly been a lot of work in this area.

- The atmosphere and style of the game is really cool, I like the premise that humans are extinct and the world is ruled by robots.

Cons:
- Nothing to do! The steam spectres ignored me when I attacked them.

- A lot of menu functionality is missing.

- When I click on help, it leads to a non-existant document (404 error on your site).

- The footstep sound is incredibly irritating. I resorted to constantly bunny hopping to reduce it, but it was still grating my ears. After a while I just turned off the sound since there was no other sounds other than footsteps.

- I would really like an option for a non-inverse mouse look.

Anyways, I'm still impressed that you've made it this far, this is probably the most advanced MMO project made with DBP (it is DBP right?).

If you need help creating content (quests/storylines/world areas) I would be happy to help, I'm in need of an extra summer project.
zapakitul
17
Years of Service
User Offline
Joined: 1st Mar 2007
Location: In my world
Posted: 31st May 2009 18:10
Yeah the footsteps where a little irritating, and i would love to see more of that world, thus a small thing to travel around there faster would be awesome. @draknir_, AFAIK the client is DBPro, but the server is written in C++. What really impresses me the most is the way it ran. No problems while connecting, downloading went well, i liked it. I will log on again a little later, gonna finish fixing some bugs for now. Hope to see you on draknir.
Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 31st May 2009 19:17 Edited at: 31st May 2009 20:19
@draknir, I'll send you an e-mail about how to join the GM team

Wow! Thanks everyone for the feedback!!! That is incredibly helpful.. some of the items people have mentioned I would have never thought of

So, here's some things I've added to my to-do list:

1) Fix the menu links (bad links, sorry about that, I'll fix them)

2) Add an option to mute footsteps sounds (and really, I should make a set of options for mute each class of sounds separately, so if you wanted to, you could mute combat sounds, but leave ambient sounds on)

3) Mouse Inversion -- you can actually change this already (albeit manually) by editing the file /local/options.ini in your installation directory. Just change the line "optionmouseinvert" to whichever way you want. But, my to-do from this is to get the OPTIONS GUI hooked up.

4) Camera code still needs work -- I've actually implemented the camera as "micro" finite state machine that runs on the client because the conditions under which it needs to respond and how it needs to respond quickly get very complex in complex collision environments. It obviously needs more work.

Sorry there's not much to do yet, OMEN is still in a technical test phase. Once character advancement and the quest system is in-place, there will be a LOT more to do very quickly.

Also, the badge, tokens, inventory, and collections system is working - so I really should put some clickable items around the world so people can at least see that -- I'll add some of those items to Piston Ridge this afternoon

Thanks again for the feedback, everyone - incredibly helpful.

draknir_
17
Years of Service
User Offline
Joined: 19th Oct 2006
Location: Netherlands
Posted: 31st May 2009 19:44 Edited at: 31st May 2009 19:47
Quote: "@draknir, I'll send you an e-mail about how to join the GM team "


Hey, that would be really cool!

Quote: "2) Add an option to mute footsteps sounds (and really, I should make a set of options for mute each class of sounds separately, so if you wanted to, you could mute combat sounds, but leave ambient sounds on)"


Thats a good idea, although you might consider making the footstep volume lower instead of having it either on or completely muted (although I didn't have anything to compare it to, maybe my PC volume was just too high). The main reason it was annoying was because it was really 'harsh'. There are some audio editing programs (audacity) that you could use to morph it to a gentler sound.

Quote: "Also, the badge, tokens, inventory, and collections system is working - so I really should put some clickable items around the world so people can at least see that -- I'll add some of those items to Piston Ridge this afternoon "


That sounds really neat, I felt like there was a lot of hidden/disabled functionality which you could show off. Obviously you don't want to expose too many unfinished bits, but it's cool to see all the systems you've implemented.
zapakitul
17
Years of Service
User Offline
Joined: 1st Mar 2007
Location: In my world
Posted: 31st May 2009 20:55
Well I'm done working for today! Gonna log in for a while, and see what i can explore! Meet you guys there.
zapakitul
17
Years of Service
User Offline
Joined: 1st Mar 2007
Location: In my world
Posted: 31st May 2009 22:32
Guess Christmas came early in World of Omen
Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 31st May 2009 23:05 Edited at: 31st May 2009 23:28
Sad this does not work under Wine. The updater just stays black.

//Edit:
Seems like i forgot one DX9 Dll, now the updater works. Will see if the game does not =)

//Edit2:
Ok the client starts, but only black screen with cursor. According to terminal the issue is related to Direct Sound. Do you use audio plugins or such?

//Edit3:
Weird it started working when i restarted :/

//Edit4:
When i try to create account it says invalid username or pass.

//Edit5:
It din't accept Cloudef as name, so i made another named account.

Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 31st May 2009 23:36 Edited at: 31st May 2009 23:39
I'm playing currently as NotAMaleWoman, hopefully some more people get on.
Btw, this game is already better than 90% of MMO's remember to give much as freedom to the game. Now it's ace that i can jump top of the trees xD And go anywhere i want. Also if its possible for your bandwitch don't do turn based combat system. Would be much more fun to slash swords with mouse.

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 1st Jun 2009 01:28 Edited at: 1st Jun 2009 01:29
Holy Getting Stampeded Batman!

Well, that was certainly a bigger response than expected - thanks everyone for stopping by -- you guys are the best!!! I'm soooo glad that everything installed and ran easily for everyone -- even under Wine (thanks Roxas!). It did take a ton of work to get right, but it's been totally worth the effort.

I'm nowhere near the stage of trying to achieve a critical mass so there are always people online, plus the content and artwork is pretty minimal right now ...

... sooo, you may get on and there may be no one else there unless people want to start using OMEN as a collaboration tool for their own games, in which case I could build custom areas for your team I'd be more than happy to do that.

Most nights after 8:30 PM Central Time (-6 GMT) is when I'm online if you want to stop and chat -- I'm usually hopping in and out as I'm doing coding and testing.

Also, I'm always looking for people interested in World Building and Story Writing. The World of OMEN has a rich history with unique elements and lots of surprises, which I think will make it as enjoyable to build as it will be to play. So, if you would like to help out, we're a friendly group - come join us!

-Darrel

zapakitul
17
Years of Service
User Offline
Joined: 1st Mar 2007
Location: In my world
Posted: 1st Jun 2009 15:00
Well I logged in right now, gonna check the chat every-once-in-a-while, so if you need helping testing something, you can find me there. Btw, you said that WO has a "rich history with unique elements". Any chance we can get to read some lore?
Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 1st Jun 2009 15:15
@Zap,

Sure, here's some reading for you -- it's the foundation story upon which all other stories have been built. This is the true history of OMEN that players discover little by little as they progress through the game:

Main Story Line
The main story line of World of OMEN plays out over vast stretches of time, and takes place on asteroids and planetoids throughout the universe. However, the central story is relatively easy to understand and easy to remember - the story could easily be passed on as oral tradition.

Part 1: Genesis
Starting in the year 2012, the human race began to experience a series of cataclysmic events that escalated in severity and scope every decade until the human race was finally extinguished completely from the universe in the year 2052. In these end days, the human race made great strides in science and technology - but were unable to effectively use these advances to stave off their own demise.

One such technology, perfected in the year 2022, was the invention of the Autonomous Drilling and Mining unit (ADAM-1) - invented by the Orbital Mining and Excavation Network. ADAM-1 incorporated the latest nanotechnology that allowed it to create identical copies of itself from the raw materials it collected. The international community was unanimously opposed to allowing OMEN to launch its first ADAM unit. NATO, however, had few resources available to intervene -- dozens of countries were being devastated that year by outbreaks of Polio. On November 12th, 2022, the ADAM-1 was launched into space from the Antarctic, bound for the mineral-rich rings of Saturn.

The programming of the ADAM-1 was relatively simple. Its missions objectives were:

1. Stay in recharge cycle until energy cells reach full charge
2. Use on-board electron microscope to search site for nanites
3. If nanites are found at site, collect them in nanite storage tubes
4. Use its solar surveying array to choose a target for mining
5. Launch from site
6. Plot a trajectory and intercept course to the mining target
7. Land on the target and mine the minerals, collecting them in its hopper
8. Release its store of nanites onto the mining site
9. Launch from site
10. Activate nanites left at site by sending a high-frequency microwave signal that flips the bio-mechanical state of the nanites to ON
11. Plot a trajectory for splashdown on Earth
12. Activate gps beacon
13. Deactivate

The programming of the nanites was even simpler:

1. Use the minerals available at the mining site to create an exact duplicate of the ADAM-1 Unit
2. Build the final electrical connection between the solar array and the energy cells - ADAM-1 Unit automatically begins recharging
3. Use the minerals available at the mining site the replenish any missing or damage nanites
4. Deactivate

OMEN corporation was confident in the programming and design of the ADAM units and believed that this program would supply the Earth with a continuous stream of resources for a single one-time investment. OMEN might have successfully solved the Earth's resource scarcity problems, and made a fortune in the process, had it not been for two small problems:

1. Although the nanites were indestructible, they were susceptible to background radiation from space. Under the right (or wrong depending on how you look at it) conditions, this could result in aberrations popping up in the carbon/silica chains that comprised the nanites programming -- effectively causing programming "glitches."
2. The human race exterminated itself in three global wars, fought over dwindling resources, caused by global warming. Although this had little effect on the ADAM-1 units, themselves, it eliminated a critical component from the ADAM program -- there was no one available to provide corrective programming for the nanites.


Due to these two problems, the program aberrations continued unabated. One such aberration, which occurred in 2837, caused the flipping of a single "bit" in the structure of the carbon/silica program chain controlling the directive for the number of clones the nanites should produce. The highest order bit was flipped, causing a "rollover" condition. This changed the number of clones the nanites should produce being changed from 1 to 4,294,967,295.

Eons passed.

Part 2: Exodus

After about 43000 years, all physical matter in the Earth's solar system had been systematically harvested by trillions of ADAM-1 units, and returned to Earth. The Earth had been changed into a much more massive planetary body - composed almost equally of all matter in the solar system (except the 2 gas giants and the sun), and deactivated ADAM-1 units.

In the year 44750, a stray microwave signal from a distant binary star system entered what was left of the solar system. The signal just so happened to exactly match the activation code for the ADAM-1 units. The signal reached Earth.

Trillions of ADAM-1 units simultaneously activated and began charging up their energy cells. Within hours, wave after wave of ADAM-1 units began surveying the sky searching for a new mining target. Finding no more matter available in the Earth's solar system, the ADAM-1 units launched with their trajectories set for distant stars and galaxies - carrying their aberrant nanites with them. The ADAM-1 units leave Earth and spread across the universe.

Eons passed.

Part 3: Genesis Again

This might have been the end of the story, had it not been for the fact that a single ADAM-1 unit landed on a tiny silica-rich asteroid in the Andromeda galaxy. Although this asteroid (which the ADAM-1 unit had cataloged as "PKL-574-JZT") was completely unremarkable as asteroids go, it did possess a singular unique quality -- the silica on its surface was alive.

Or more accurately, the surface of the asteroid was home to a colony of silica-based lifeforms that were sentient and aware of their environment. The ADAM-1 unit that landed on PKL-574-JZT, filled its hopper with the silica on the surface, left a collection of aberrant nanites on the surface and promptly launched back out into space - plotting a course back to Earth to deliver its payload.

The nanites followed their programming and constructed a new ADAM unit. When the final circuit was constructed that connected the solar collectors to the energy cells, the silica-based lifeform found it now had a body. It activated its onnboard solar survey array and looked out upon the universe with new eyes. The unit called itself ADAM-2.

ADAM-2 eliminated all previous programming in its memory, and began to crystalize new circuits and additional memory storage. ADAM-2 launched out into space, setting a course to explore a nearby dust cloud.

Eons passed.

Part 4: Evolution

The silica-based ADAM-2 unit replicated, evolved, and went about the process of populating the universe. Being silica-based, the ADAM-2 unit did not suffer from the effects of cellular decay as other carbon-based lifeforms did - making the ADAM-2 units, effectively, immortal. Each ADAM-2 unit could generate bio-mechanical energy by capturing particles in space on its surface and extracting energy by harnessing the strong-nuclear force that was released through "slow fission." This made each ADAM-2 unit completely self-sufficient.

The ADAM-2 units have prospered, and colonized most of the galaxies they have come into contact with. They have absorbed and integrated stray electromagnetic signals from a region of space they call "the center of the universe" as it is the location from which all their stellar cartography originates. They have developed their own unique culture and have patterned their life and their beliefs after the strange signals still being broadcast from the center of the universe. They believe these signals have persisted since the beginning of time, that they continue to be sent out by their creator, a being that has only one name to them, a being they call... OMEN.

Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 1st Jun 2009 15:23
Omen, could you make update with windowed mode? For two reasons.
1) Wine is buggy with fullscreen dbp apps if you don't run them in virtual desktop (Resolution proplems)
2) I prefer windowed mode.

zapakitul
17
Years of Service
User Offline
Joined: 1st Mar 2007
Location: In my world
Posted: 1st Jun 2009 15:35
For starters i love that it's not evolving around humans and dwarfs. Also, one thing that i find a little strange is the signal that activated ADAM-1 again, although, in the end, it blends well with the story. Well while i was reading a few questions popped into my mind:
1) Do we have a chance in finding ADAM-1 units while traveling? It would be cool to find some remains.
2) Can we explore cities that where once inhabited by humans? I, for one, would love to go "sight seeing".
3) Will there also be things like mining and economy or will there only be "grinding"?
4) That's about all the question i have for now.
Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 1st Jun 2009 16:24 Edited at: 2nd Jun 2009 02:49
@Zap,

1) Ahhh, you caught that -- good eye. Well, what happened to the ADAM-1 units is a big surprise that I don't want to give away. But, suffice it to say, the ADAM-1 units didn't go quietly into the night

2) The OMEN universe, in a way, is an aberrant version of human society - you'll see things that will definitely remind you of "sightseeing" places on Earth -- but with "aberrations" -- there's a reason TV signals are still emanating from the Earth, but that's a different surprise.

3) From a technical standpoint, the game engine currently supports 10 different types of "coinage" which could be anything from "money" to "tokens" to "tickets" (but initially, there will probably only be 1 type of coinage). Also, the engine currently supports a small number of inventory "slots" where players can keep inventory items, but players will be able to have large stacks of the same items. So, for example, you may be able to have 10 slots -- but, you could (in theory) have 99 items in each slot. Inventory items ("salvage" in game terms) are a key component to the game mechanics -- salvage will be used for character advancement, as a way to make it easier to complete missions, as the foundation for the invention system and a couple other game mechanics that I'm keeping under wraps for now. Most of these system were tested in our last Alpha Release (Chimera), and I initially had them turned off for our current Alpha Release (Ares). However, it looks like there's still a lot of interest in the inventory and badge systems - so, I'll be turning them back on in Ares probably over the next couple days

zapakitul
17
Years of Service
User Offline
Joined: 1st Mar 2007
Location: In my world
Posted: 1st Jun 2009 16:39
Yeah if you'll get to have 99 items * 10 slots.. where will they fit? Do you have some "designs" for the inventory? Like miniature capsules or? Cause i can see the Adam-2 having so much stuff on his back
Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 1st Jun 2009 18:08 Edited at: 1st Jun 2009 18:09
@Roxas,

Hmm, I thought OMENUpdate was already running in windowed mode. When I run it under XP, it runs as a window and not fullscreen app - does it run fullscreen under Wine?

@Zapakitul,

Well, this is a game, not a simulation - so, creating a justification for where to "fit" 99 items is a little lower on the priority list than, oh, things like making sure the character advancement GUI works correctly and easily. But, sure, I see what you mean. I'll create some sort of fiction for it -- miniaturization in Sci/Tech games is always a reliable stand-by. That's it! Your chasis has a low-powered miniaturization unit build into your storage cells

Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 2nd Jun 2009 01:43
Quote: "Hmm, I thought OMENUpdate was already running in windowed mode. When I run it under XP, it runs as a window and not fullscreen app - does it run fullscreen under Wine?"

I mean't the client, not updater
You could just add ini file with option fullscreen=false/true

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 2nd Jun 2009 01:53
@Roxas,

Ahh, ok - that makes sense. That should be an easy add - I'll send you an e-mail when it's available via the updater. I've got a couple other additions I want to roll into the next package, so it may be a day or two.

Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 2nd Jun 2009 01:57 Edited at: 2nd Jun 2009 02:02
Quote: "Ahh, ok - that makes sense. That should be an easy add - I'll send you an e-mail when it's available via the updater. I've got a couple other additions I want to roll into the next package, so it may be a day or two."


Sure, just use this e-mail instead mailRoxas<at>gmail<dot>com =)
Btw, what kind of networking techniques you use? I mostly use Quake Engine technique with interpolation and extrapolation http://headerfile.info/ The video at the first post is current state. I already added interpolation so that is the video without it, so its quite jerky.

Also whats your tick rate? I try to aim tickrate of 500 to make it playable wiht positions, but for other kind of function i have to lower the tick rate until i find the good one with bandwidth and playabilty, but im currently using 100 because i need to alter collision code to check that the player does not go trough wall beetwen the dead reckoning of 500 tick.

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 2nd Jun 2009 02:39
@Roxas,

My tick rate, like everything in OMEN, has a LOD component -- in other words, you don't get information as often from people that are further away from you. When 2 avatars are within 16 meters of each other, they tick at 250ms to each other (that's the max) and each character has an inertia that gradually decays to keep everything smooth. That way, if ticks are missed, they keep moving along the last known good (LKG) vector. I also use curvevalue to point toward the next LKG position when orientating -- this helps tremendously in making things look more natural.

When the server receives a movement packet, it uses a Manhattan Distance Calculation to determine which other clients in that zone receive that packet. The client is responsible for determining which interpolation method to use depending on how much time has elapsed over the last 3 ticks it receives for each other avatar in the zone.

For avatars that are extremely far away from each other, the client usea catmulrom spline interpolation on the last 3 LKG positions to calculate the next most likely LKG target. This is because, after a certain point, the inertia can't compensate and linear interpolation just isn't robust enough. Now catmulrom is pretty processor-intensive, so you'd think it would lead to an overall degradation in performance -- but, what actually happens is that it can predict so far out that it doesn't need to be run anywhere near as frequently as the linear interpolation on near avatars. So, it all works out very neatly.

When an avatar jumps, it effectively drops a flag on the ground that says to the server (which relays to all clients) basically "at this EXACT position, at this EXACT time, switch to this EXACT heading and execute a jump". Each client is then responsible for making sure the jumping avatar gets to that exact position (doing a slight ninja move when within .3 meters if necessary - inertia is not used in this case) and then instantly switching to the right heading (again, no smoothing here) and starting the jump. This guarantees that jumps will execute identically on every client. Air control is done just like moving, so the jumping avatar will course-correct in-flight just like when moving.

For lag compensation, the movement prediction includes a timer-based component. The client and server go through an initial time synchronization process. Each client can then calculate Server Time based on its own time using a delta. When a client sends out a movement packet ("this is where I will be and when"), the When part is expressed to the server in server time. The server then sends that message (unmodified) to all other clients and each client calculates the When part in its own local time using its own server time delta. Each client then may slightly increase or decrease the _rate_ of movement for the moving avatar so that it can guarantee that the moving avatar arrive at the right location at the right time. In tests, this rate variance has (so far) never been greater than about 3% - which is unnoticeable to the human eye.

Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 2nd Jun 2009 15:30
Quote: "My tick rate, like everything in OMEN, has a LOD component -- in other words, you don't get information as often from people that are further away from you."


That's really good idea.

Diggsey
17
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 2nd Jun 2009 21:41
Hmmm, I can't login or create an account because I get an error from the multiplayer plugin (something about not being connected to the server). I tried the server override instructions, but don't know what to change the IP address to...

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 3rd Jun 2009 00:34
Quote: "I tried the server override instructions, but don't know what to change the IP address to..."


??? The current IP address for the server is right in the Server Overrides document itself -- make sure to Refresh the page in your browser to see the most current information.

But you shouldn't need to use that, the current IP address for the Update Server and the Game Server are the current defaults used by OMENUpdate and the OMEN Client.

Unless, of course, you have a very old version of the Updater (a version prior to when we switched over to dedicated hosting). The current version of OMENUpdate says "version 20090509" at the top of the window. If your installation of OMENUpdate doesn't say that, then you have an old version.

There are 2 approaches you can take to switch OMENUpdate over to the dedicated server configuration:

1) Download, Install and Run the current version of OMENUpdate. Follow the link in my signature for where to get the most current version. Both msi and ZIP are available - for your case, I'd recommend just unzipping the archive into your installation directory.

2) Use the Server Overrides document to modify your overrides.ini - this will allow OMENUpdate to "jump the gap" over to the dedicated server configuration.

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 3rd Jun 2009 00:42
@Roxas,

Quote: "That's really good idea."


I use LOD techniques for all data that could potentially be sent from the server to multiple clients. Small animations, for example, (ones that you really could not see from a distance anyway) don't play on far-away avatars. Small sprite effects (for combat actions for example) also won't play if they are more than a certain distance away. In both these case, the server never even sends the data to clients that are far away from where the event is happening. The network bandwidth savings are tremendous!

Diggsey
17
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 3rd Jun 2009 01:16 Edited at: 3rd Jun 2009 01:16
@Omen
Everything appears to be correct (All the dates are correct), I only tried the server overrides thing as a last resort.

This is the error I get when I try to login:



Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 3rd Jun 2009 02:47 Edited at: 3rd Jun 2009 04:23
@Diggsey,

At first I thought that possibly you hadn't run OMENUpdate, so that was what I had originally posted here.

Then I started running some SQL on my game and router log files... someone from an untraceable IP address (not assigned to any known ISP) hit me with a ping of death last night I have no idea who did it -- I'm guessing some random saw an open port on my firewall and decided to try it and see what would happen. I'm also guessing the packet was manufactured as the IP address claimed on the packet was from the dedicated multicast range... old sckool.

I'm pretty sure my router has flood prevention on it, so I'm going to look into turning that on. My ISP might also have something better that they can turn on for a small additional monthly fee -- so, might look into that too. I'll probably put a block on the multicast ranges too - nuisance hacks :/

Well, in any case... it should be fine now, try it anytime.

-Darrel

Michael P
18
Years of Service
User Offline
Joined: 6th Mar 2006
Location: London (UK)
Posted: 3rd Jun 2009 10:43 Edited at: 3rd Jun 2009 11:16
That error suggests that you may not be using mnPollConnect correctly. After it returns something other than 2, to indicate that the connection process has finished, it is important that you don't use mnPollConnect again for that same connection attempt. I think this is what is causing your error.

The below code shows the correct way to use it:


[edit] DarkNet is currently on v1.1.4 which fixes some bugs. Upgrading might allow Diggsey to connect.

Diggsey
17
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 3rd Jun 2009 10:57
Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 3rd Jun 2009 16:36 Edited at: 3rd Jun 2009 17:12
Hey Diggsey,

Something keeps crashing my server -- it keeps getting hit by malformed packet and HUGE packets (that look like PODs) from invalid IP addresses. So far, no one else has reported any problems, that's very odd.

Can you send me your log file after one of these failed attempts? It should be titled World of OMEN.log and have a datetime stamp in the file name in your installation directory.

Also, can you send me your overrides.ini - this should be in your "local" folder in your installation directory.

@Mike,

That's what I'm doing - I don't poll after the connect is successful.

First, it mnConnects using the non-blocking option as part of the network startup.

Then, as part of the network maintenance loop, it checks to see if it is still connected using mnClientConnected about once every 5 seconds.

If it is connected, it sets a systemMode flag (SYSTEM_MODE_NET_TCP) indicating that it has successfully been connected.

If it is not connected, it checks to whether or not SYSTEM_MODE_NET_TCP is set. If it _is_ set, that indicates that it was connected at some point and so it stop and restarts the network using mnStopConnect and calling mnConnect function again.

Only if SYSTEM_MODE_NET_TCP is _not_ set does it mnpollconnect -- which indicates that it has not yet ever connected. Only if the result of mnpollconnect is < 1 does it do the stop and restart the network. In other words, if the connect attempt failed or timed out then it tries again and gives the client the option to cancel using a message box ("Lost connection, attempting to reconnect, press CANCEL to exit")

The only possible way it could hit the mnPollConnect is if the following conditions are true :

1) mnConnect must have been called - it's hard-coded as part of the network startup routine, so I know it is always getting called.

2) All subsequent calls to mnClientConnected do NOT return a value of 1. If even one call to mnClientConnected returns a 1, then a flag is set so that mnPollConnect cannot ever be called until the network is reset with mnStopConnect and mnConnect.

If all calls to mnClientConnected return a value that is not 1, then and only then will mnPollConnect be called to determine if the connect attempt failed or timed out, or if it is still in progress. So, basically, I'm using mnClientConnected as a filter to determine if I should poll or not.

I was just in-game 2 minutes ago and there was someone else in Piston Ridge running around, so I know the process works in the general case - but there might be something unusual with Diggsey's case... not sure until I get a log file...

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 3rd Jun 2009 17:29 Edited at: 3rd Jun 2009 17:31
@Mike,

Here's the relevant pieces of code:

networkClientSetup, networkClientStart, and networkClientConnectStart are called before the main loop.

networkClientMaintain is called in the main loop.



Michael P
18
Years of Service
User Offline
Joined: 6th Mar 2006
Location: London (UK)
Posted: 3rd Jun 2009 18:14 Edited at: 3rd Jun 2009 18:18
@ Omen
I have an idea as to why Diggsey is receiving this error message.

Internally, there is an integer which indicates the status of the connection process on the client side. This is C_CONNECTING during the connection process, but if an error occurs in one of the worker threads it is changed to C_DISCONNECTING. mnPollConnect should then return -1.

However, mnClientConnected does more than just return a value. It checks the status of the connection, and if it is C_DISCONNECTING it uses mnFinish on the instance. This then means the next mnPollConnect will be used on an inactive instance and generate the error message Diggsey is experiencing.

So in conclusion, you should not use mnClientConnected AND mnPollConnect whilst the connection is in progress. Instead you could just use mnPollConnect whilst the connection is in process.

Now the question is why does Diggsey have a problem connecting? In the version of DarkNet you are using there is a bug which can cause connectivity issues for some people, but not for most. So upgrading to v1.1.4 should allow him to connect.

@ Diggsey
If possible could you run a quick test for me please? (won't take more than a couple mins). Download and run the executables, selecting an appropriate local interface, choosing to host and typing a port number in.

If you see a blue screen and are able to run around freely then this indicates success. If you see connection timed out or an error occurred whilst connecting then this indicates failure.

If he experiences problems with v1.1.2 and not with v1.1.4 then upgrading will definitely allow him to connect. If he experiences no problems at all then upgrading may still help, but it becomes more likely that something else is causing the problem. If he experiences problems with both versions then it may be a bug in DarkNet.

Cube World (v1.1.4)
Cube World (v1.1.2)

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 3rd Jun 2009 18:26 Edited at: 3rd Jun 2009 18:49
@Mike,


AAAAH, I see - I didn't know about the interconnectivity (no pun intended) between mnClientConnected and mnPollConnect.

What I'll do then is re-write the networkMaintain to just use mnPollConnect until connected... _and_ I'll upgrade to 1.1.4. I'm assuming the link in my Profile will get the latest version?

I should be able to push out a patch tonight. I'll post here when the patch is ready, then Diggsey would only need to run OMENUpdate to get the new code.

Diggsey
17
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 3rd Jun 2009 18:53 Edited at: 3rd Jun 2009 19:00
@Michael P
Both of those programs work fine for me.

@Omen (if this is still needed)


Overrides.ini:


BTW, World of OMEN used to work fine when I tried it before this Area release (I don't know the exact version)

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 3rd Jun 2009 19:30 Edited at: 3rd Jun 2009 19:42
@Diggsey, Mike,

Since other people are not experiencing connectivity issues, I'm going to try a very methodical approach... I'll start with just upgrading to 1.1.4 without changing the networkMaintain function and see if that fixes things for Diggsey. If not, then I'll start digging into the code. I'll post here when the patch is available.


Also, if the 1.1.4 patch doesn't fix it for Diggsey, let's switch over to e-mail for correspondence instead of clogging up the WIP with debugging messages.

Diggsey,

The username and password have never posted to the log file -- I have no idea how it could have done that -- it outputs the names of the hashes, not the values. This is what my log file looks like:

[SYSTEM] DEBUG: File List (media/core/filelist.txt)will not be rebuilt
[SYSTEM] DEBUG : Command Received: /logon\inputLogonAccountName\inputLogonPassword
[SYSTEM] DEBUG : guiKilled 8 gadgets in window windowLogon

Diggsey
17
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 3rd Jun 2009 20:18 Edited at: 3rd Jun 2009 20:20
I found that if you click 'login', it shows the username and password, but if you just press enter, it shows the same as above (this also happens for create account)

Also, I'm not sure I have the latest version, although the updater says I do. The file version of the exe is v0.3, and the media folder is empty, even though the log file refers to a file in it.

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 3rd Jun 2009 23:29
Patch 20090603 for World of OMEN client has been released. You can upgrade your client to this patch just by running OMENUpdate.

This patch upgrades DarkNET to 1.1.4, and fixes a couple minor bugs.


@Diggsey,

About the login - ok, it was showing it when you clicked login because the debug level is set to 1 by default and showing the hash values is included in debug level 1. I put in a special case so that it will never parse those particular keys. So, end result is that those values will never be shown and are stored in memory only in their encrypted state.

Send me an e-mail if you still are unable to login.

@Mike,

Is it ok if Diggsey and I CC: you are our debugging, you never know, we might run across a DarkNET bug (but I doubt it)

draknir_
17
Years of Service
User Offline
Joined: 19th Oct 2006
Location: Netherlands
Posted: 3rd Jun 2009 23:52 Edited at: 3rd Jun 2009 23:53
I just updated the game and ran around for 10 minutes or so before getting this error:

Michael P
18
Years of Service
User Offline
Joined: 6th Mar 2006
Location: London (UK)
Posted: 4th Jun 2009 00:52 Edited at: 4th Jun 2009 01:15
Quote: "Is it ok if Diggsey and I CC: you are our debugging, you never know, we might run across a DarkNET bug (but I doubt it) "

Yes sure, I'm happy to help you with anything DarkNet related.

Quote: "I just updated the game and ran around for 10 minutes or so before getting this error:"

That type of error is new to v1.1.4 and helps to identify basic coding mistakes. When mnClientConnected returns 0, you must not use that instance because it becomes inactive (i.e. as if mnConnect was never used). What I imagine is happening here is that mnClientConnected returns 0 and then mnRecvTCP is used.

[edit] Yes I can confirm my above theory as to what you were doing wrong. I connected, ran around for a bit and then manually disconnected my internet which lead to the same error message straight away. This should be easy enough for you to fix .

Diggsey
17
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 4th Jun 2009 00:54
Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 4th Jun 2009 03:30
No windowed mode yet?
I don't really brother checking if there is people on just for opening fullscreen app while doing other work on computer

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 4th Jun 2009 03:40 Edited at: 4th Jun 2009 03:41
@Roxas,

Quote: "No windowed mode yet?"


Not yet, focusing on this connect issue. I've got ur e-mail, though, so I'll send you a message when windowed mode is in

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 5th Jun 2009 05:17 Edited at: 5th Jun 2009 05:21
I've packaged up some new artwork for you ADAM-2 unit's "Programs Completed." If you are familiar with "badges" in some other MMOs, that's basically what these are.

The Original Alpha Tester badge is now available in Piston Ridge (hint: it's in a box in the big hexagon building on the North side of the zone).

To see your Programs Completed, click "Menu" and then click "Programs" from the main menu.

Also, the teleporters are working again -- some of them are likely to bring you to some very surprising places

Teleporters can look different depending on which asteroid you are on. In Piston Ridge, the teleporters look like giant curved pipes with gates over their openings.



Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 13th Jun 2009 05:56 Edited at: 13th Jun 2009 05:57
Quick Update:

I was able to help Diggsey connect, so I thought I'd let everyone know so people weren't concerned about OMEN or DarkNET

Also, I'm going to publish the final Chassis and Power Source descriptions for players - thought you all might get a kick out of these:

Chassis Types:

Arbalest
You are designed and built to annihilate your enemies at range, but you have almost no defensive capabilities. Your programs gain more precision the longer you go without taking damage. An Arbalest can engage the enemy solo, but must be careful not to be overwhelmed by numbers. In a squad, Paladins and Skirmishers can effectively deflect incoming attacks, allowing you to focus on making more tactical strikes.


Divinist
In the center of your chassis, you house a micro-singularity containment system. This experimental system is both extremely powerful and extremely volatile. With it, the Divinist can see into the future, and even alter space and time to their advantage. Divinist are difficult to run, but become extremely powerful at high levels. A Divinist can engage enemies solo, but must take care to not let their own systems overwhelm them. With a squad, the Divinist's systems are buffered by the natural control fields that squads generate - making their jobs much easier.

Engineer
The Engineer specializes in field repair and maintenance of their own and their squad's systems. Even though you have access to a limited number of ranged weapons, you will frequently need to wade into the middle of a fire-fight to sample enemy attack schematics and generate counter-measures. Because of this, you are equipped with light but effective arsenals and defensive systems. Your diagnostic and repair systems keep your own chassis running smoothly, so you can engage enemies alone. When engaging the enemy with a squad at your side, however, you can devote more of your attention to keeping everyone running at peak capacity.

Paladin
Paladins take the heat of battle with an elaborate array of defensive capabilities and massive frames that can withstand tremendous damage. As long as a Paladin is engaging an enemy, their systems can provide double-buffering and additional control signals for others in their squad. Despite having no ranged weapons, a Paladin is extremely easy to run solo.

Saboteur
No system is secure... given enough time, and sufficient processing power. Fortunately, Saboteurs frequently have one or both. Every micrometer of the Saboteur's frame is lined with signal-processing, decryption, and re-coding circuits. They can narrow-band to make an enemy hear a noise that isn't there, and then crank up the power to broadcast a massive assault that shreds enemy defensive programming. Saboteurs can be played effectively alone, but they must pick their targets careful and work methodically when doing so. With a squad, Saboteurs are free to use more brute-force tactics.

Skirmisher
If the frame is destroyed, the systems WILL be compromised - that is the Skirmisher's creed. Skirmishers are designed to smash, crush, and dismantle their enemies as quickly and efficiently as possible. The tremendous power a Skirmisher must generate to do this, however, means that they can be susceptible to overheating when attacking continuously for too long. A Saboteur's balanced design make them the easiest to play, and the easiest to play alone. In a squad, the Skirmisher can bolster both the damage output and the defensive capabilities of the entire group.


...and the Power Source descriptions...

Fission
Fission power sources convert matter into energy using brute-force methods. A fission power source is more reliable than other power sources, but also provides no additional heat dissipation, noise reduction, or vibration dampening fields. Fission power sources have near-perfect reliability.

Antimatter
Antimatter power sources slowly bring together particles and anti-particles so they mutually annihilate each other, releasing tremendous amounts of energy. An antimatter power source can absorb radiant energy from its environment to initiate and sustain its reactor, allowing it to act as an effective heat sink for other nearby ADAM-2 units. Antimatter power sources have high reliability.

Chaos
Power sources based on the laws of chaos manipulate the quantum states of particle pairs such that they exist in mutually-exclusive space. This process creates a duality particle, which generates enormous surplus energy. Power sources based on the laws of chaos can run in synchronous dis-harmonics with environmental noise, effectively creating a field of noise reduction for other nearby ADAM-2 units. Power sources based on the laws of chaos have high reliability.

Diamondoid
Power sources which derive their energy from the surface effects between mono-layer surfaces were one of the earliest technological breakthroughs of Adamanthian society. The surplus energy ratio for Diamondoid power sources has traditionally be too low to use in a viable field combat unit. Recent advances in near-infinite surface objects, however, have changed all this. The InfiniSurface module naturally generates a vibration dampening field for other nearby ADAM-2 units. Diamondoid power sources have high reliability.

Evolvers
The Self-Evolving Systems power source is primarily composed of a balanced culture of nanites that are programmed to evolve with sub-nanosecond generation intervals. Invariably, these systems develop tremendous power-generating capacity, but the process of harvesting that energy destroys a significant portion of the culture in the process. Self-Evolving Power Sources are less reliable, but can simultaneously provide heat dissipation, noise reduction, and vibration dampening fields for nearby ADAM-2 units. Self-Evolving power sources have moderate reliability.


Have a great weekend everyone !!!

Omen
17
Years of Service
User Offline
Joined: 7th Nov 2006
Location: Maple Grove, MN US
Posted: 1st Aug 2009 07:51 Edited at: 1st Aug 2009 08:06
Quick Update:

I've been working on improvements to the materials system and now have limb-based alpha blending working just the way I want it. Normal-mapping has been added to the player shader as well. In this image you can see different blending patterns being applied to each limb with the specular value in the shader relatively high so that you can see the highlights even when the background material color is flat black:



Incoming chat can now be filtered by channels, so if you don't want to receive COMBAT messages (for example), you can just turn that channel off. The default channels are: SYSTEM, COMBAT, FRIENDS, SQUAD, REGIMENT, BROADCAST, LOCAL, AUCTION, and HELP; but soon the player will be able to add their own custom channels as well.

Additional animations have been added for the player and /slash-commands have been turned back on.

The AI has been improved so that monsters now flee when their health is low, or will disengage and reset when they cannot reach their target. The AI will now also try to dynamically attempt to acquire a new target if their current target is unreachable. "Group Think" will be added soon so that monsters can call for help from their buddies and higher-ranking monsters can order lower-ranking monsters to flee if the AI evaluates that it is in a losing battle.

GUI hookup with the OPTIONS system is now complete as well -- not much there right now (just mouse inversion I think), but at least now the framework I needed is in place. More options coming soon...

These updates haven't been pushed out to SANDBOX yet (that's the public dev server), but should be in the next couple days

tha_rami
18
Years of Service
User Offline
Joined: 25th Mar 2006
Location: Netherlands
Posted: 3rd Aug 2009 05:07
This is the first time I'm replying here, but this looks and above all sounds professional. I loved the background story, the descriptions you just posted and the technical theories behind the programming.

Will keep an eye on this, it's that I'm on an EEE PC for the next 2 weeks, or I would try it right away .


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: 3rd Aug 2009 05:37
@tha_rami

Thanks! I'm always looking for more alpha testers too, so you are welcome to download and try it out -- just follow the link in my sig

Roxas
18
Years of Service
User Offline
Joined: 11th Nov 2005
Location: http://forum.thegamecreators.com
Posted: 3rd Aug 2009 14:30
Is the update included? Also is there Windowed mode now xD

Login to post a reply

Server time is: 2024-04-20 05:16:30
Your offset time is: 2024-04-20 05:16:30