Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 02 Dec 2004
Offline Last Active Jun 27 2016 05:40 PM

Posts I've Made

In Topic: Hundreds of timers...

27 June 2016 - 05:10 PM

because of the less critical timing of MMORPGs you may be able to handle this kind of thing without alot of the thread overhead when discrete timers are being used..


Possible way - a sliding (window) 'time' bucket chain (with time increments of 1/5th 1/10th second, or possibly even cruder intervals) to which activator tickets are added to the 'buckets' (link list) by the objects for event timings (debuff, start buff after warmup, etc...)


When the time becomes "current" the tickets get processed and the FSM logic executes whatever (including putting new tickets further down the timeline).  If you have LONG delay times, they can be bucketted in a seperate Long Time Chain with bigger time increments (like of 15 seconds) which when they get closer to the current time then move the ticket into the Short  Time Chain.



- Fixed length bucket chain (a ring  array of pointers with the  'current' moving)  - insertion using an offset.  


- Possibly Some space allowed for 'past due' in case of server slowdown issues.


- The server now runs the time clock advance allowing constant  flexible timing controls (instead of multitude of real timers which now have to be 'patched')


If there are special DEBUF events effecting this whole game mechanic  you have complications anyway --- the object would track its own list of "In Effect" Buff data, and so removal from the master timer bucket chain again is an offset and only has an extra link list search to pull the now defunct ticket.


- This detailed  mechaism can be used as a general 'wakeup' system though it may be advantageous NOT to generalize it, and instead split into many seperate Timer chains for different flavors of uses.



Also If you can avoid Threads and their overhead, do so - use fibers/microfibers (a software threading mechanism versus system resource hard threads)


Again : MMORPG timings can be pretty loose (imprecise) giving you leeway to do less costly processing




As Always -- Free Pools for constantly used data structures/objects (like the 'tickets' mentioned above) to greatly reduce alloc/dealloc overhead

In Topic: Space Simulation Game Design (Finding The Fun)

27 June 2016 - 04:54 PM

Look up StarFlight on wikipedia.  It has a article describing that oldie PC game which had alot of interesting aspects (exploring to have the randomness for the suprise element and problem solving).   

In Topic: optional perma-death mode?

17 June 2016 - 05:03 PM

Depending on your game mechanics you probably will have to rebalance everything to accelerate skill/ability advancement and obtaining weapons etc..  if that all starts over on a new 'life'.


Otherwise if you have extended ramping like that, most players (in that mode) may never reach the goodies you worked to create (or fight/handle the things the ramping advancement enables.

In Topic: A game suitable to training a neural network?

17 June 2016 - 03:47 PM

A 2D grid you move a mouse on and the neural network controlled 'follower' tries to follow the mouse pointer



its graphical so visually shows the activity (and can be 'played'/demonstrated)


its easy to generate training sets for


can be as simple as JUST directional guidance/control based on the XY  cooordinate of the object and the current pointer


can be made more complex a task if 'blocking' objects (cells) can be on the grid (even moreso if they are walls instead of just dodging obstructions (note that grid edges can come into play as 'environment' in these cases)


Increase the size of the grid til its beyond practical 'size of the NN layer'   to demonstrate predigesting relative inputs.

In Topic: forcing negative plot twists on the player

14 June 2016 - 06:59 PM

Just a thought : that instead of specific vignettes of these plot twist 'negatives' that you systematically have 'shit happens' situations across the whole game where the 'dangerous world' is a constant factor.


Things you HAVE to run away from (or die)

Things that are hazardous which if you dont respect them, will kill you.

Unfortunate circumstances that happen randomly despite vigilance


Probably being a game where killing the player off alot is not condusive to fun, then partial disasters which the player then can compensate for (and learn to do this)  and react-to to make right (or make the best of) all the unfortunate perils of living.


Thus the player also has to be offered a sufficient plutrality of options and ways to react and compensate for specific 'negatives'.


Perhaps it depends how much your game is "sandboxy" or a closer controlled story arc.





Edit  - anything that deals with human interactions adds immense complexity of proper reactions to interactions (and of indirect actions) if its to be a plausible simulation of that kind of thing.    Human behavior goes beyond Fight or Flight simplicity.