Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 10 Oct 2012
Offline Last Active Oct 23 2012 10:30 AM

Posts I've Made

In Topic: Improving AI of MMORPG Raids

23 October 2012 - 10:29 AM

I think static content is more the problem with MMOs than the AI. Looking at things from outside the box, do you really want an AI that, for example, stops using frost abilities because you have frost protection? Didn't you just nullify all the work I put into protecting myself?

There's a fine balance between challenge and just being downright mean. There needs to be a feeling of reward for a player who does things right and can utterly dominate a situation because of it. Certainly they will learn the magic method of defeating a boss to where it becomes trivial, but I think that's part of the Static content problem and not a problem with the AI itself.

Personally my problem with Dungeon Crawls in MMOs is the "Trickle" problem. You walk into a base and see monsters around you standing and having a conversation, you really don't feel like you just infiltrated an enemy stronghold where everyone would be on alert. I think there needs to be more dynamics on that front to bring immersion.

In Topic: Protocol ID - usage and point of it

10 October 2012 - 02:40 PM

Even with the ID in there, the packet can be spoofed pretty easily if that's what you're worried about. "Oh, it's passing this DWORD around, I'll just pass the same one". I'm not sure if security is what you're worried about?

If it's just to make sure you're talking to the right machine, why not simply challenge up front and leave it be?

In Topic: ElapsedTime Movement?

10 October 2012 - 02:21 PM

If you're handling all the entity updates in batch, you only need one delta for all of them. Create your delta and pass it through your updates. Depending on how you go about calculating your delta it can be a subtly costly operation that has little gain. It also mean all objects are synced to the same 'point' in time.

I do all these things in floatational numbers. So time becomes normalized to a second.

In Topic: Garbage Collector?

10 October 2012 - 02:15 PM

I don't use garbage collection. Garbage collections and such cause too many hassles and inefficiencies. I like absolute control of the memory I'm using. Allocation and freeing can get deep into problems with fragmentation, cache issues and more.

One thing I like to do, for example, is reuse already allocated memory when it's not being used. This can increase performance of dynamic objects significantly and if it's using certain methods you can push fragmentation out of your mind forever.

In Topic: Is it possible to have a vertex shader and the fragment shader in the same f...

10 October 2012 - 02:09 PM

I used a marker and do a quick string function after I load the file to replace the markers with 0's and save offsets, Then I pass those pointers to the compiler. [vertex shader] [fragment shader] [geometry shader] is what I use. I also have shader definition which allows me to create indexes to attributes and other data opengl needs to index data.

So it ends up looking like this.
[source lang="plain"][Shader Definition][0] = attribute vPosition[1] = uniform mModelView[2] = uniform mProjectionfrag fragColor0[Vertex shader]#version 150in vec3 vPosition;uniform mat4 mModelView;uniform mat4 mProjection;void main(void){ vec4 posTemp = mModelView * vec4(vPosition, 1.0); gl_Position = mProjection * posTemp;}[Fragment shader]#version 150out vec4 fragColor0;void main (void){ // Save it squared fragColor0 = vec4(0, 0, 0, 0); }[/source]