Game challenges are nice, they teach you something (i wrote a game and only one person gave a crap despite it's educational and practical value for ANY age! OK, no prob ;) so since we're all professionals here, im more inclined towards suggesting a practical threading model...
 
The threading is not the problem... it's the transactional queuing and reporting that is interesting... The same "game model" applies to many many applications - waiting cabinets, post/mail-sending, delayed update synchronizations, cache cleaning, etc...
 
The threading transaction script is the following:
 
-- The bartending example just used in memory to the old thinkC OOP class/event model ;)
-- i dare not say here which was the first C compiler i used!
 
on bartender customerObj
  send "MakeDrink" &&CustomerObj to me in GetQueueTime(me)
on taskdoer
 
on MakeDrink obj
  get ObjectBestCandidateDrink(obj)
  if is it empty
  then send "ask \"Drink Sir\" to" obj
  put MakeDrink(obj) into drinkObj
  ServeDrink drinkObj
  StartTwoBitChatWith Obj
end MakeDrink
 
-- end of script
 
Now, this will surely thread-whizz a few drinks on the bar's tabletop nicely given few clients without "in GetQueueTime(me)" question...
 
But if it's friday night and you have to serve both drinks, chips bowls, clean dishes, check drink stock + order disminishing fast, do checks, collect and account checks, you see that it gets quite different - and more down to earth than just a game... The barSim game in Rev, why not?
 
OK,  What if even with just drink making, you get many clients more than one drink... It gets crowded on weekends, how do you prepare?
 
The best GetQueueTime() function wins no matter how many clients and drinks are thrown at the bartender...
What if we have more than one bartender (move the request drink script to the bar group holding the bartender buttons... You can generalize or individualize the bartender scripts as you wish naturally ;)
 
Seen the AI article on Wired?
http://www.wired.com/news/culture/0,1284,67659,00.html
Cool! But hey, IT industry is kind of sterile now and it's time to wake up the industry to RunRev... Can RunRev do threading? No, I do have a working solution though. Of course, no one will listen but it's part of the strategy to overturn the IT empires with TAOO ;)
 
If this script is well optimized we have a better chance at making Real time simulators or RPG/FPS games in RunRev too.
 
maillist perenial netTip:
 
Here's how to make time-synchronized events in RunRev - however there's no guarantee that the event will happen at the right time if another even is running (grrr). But with the right queuing, we can make it work... We do have more processing power than old mainframes PDP11 dont we?
 
Send "drawyourself" to thisgraphic in 40 milliseconds
-- 40 ms = 25 FPS frames per second = video - 80 = 12 FPS is animation quality. Would a binary-easy number work better?
 
OK, so now, how do you schedule it all? And have enough "send" bandwidth?
 
We can make this into a cool game too later... But the real benefits is that you can thread anything. This also works for web site client serving btw...
 
Tip: while there are polynomial ways of doing this kind of optimization, RunRev's speed of calculation in matrices or arrays prohibits this (though it helps compared to hypercard times ;) - There is simpler geometric way...
 
I've been sitting on this one for about 9 years but it's the clustering event model in TAOO which im proud to describe here - as i read on a sig today - information is only of value if it is shared... How true...
 
Any Game Theory adepts in the list?
 
cheers from Lulucity
Xavier
 
 
_______________________________________________
metacard mailing list
metacard@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/metacard

Reply via email to