Re: Modeling events that occur in a game world




Jordan Marr wrote:
But you would avoid constantly accessing the slow hard drive!

DB != disk. A good DB only goes to disk when RAM is not available.

Which DBs can you imbed completely in memory like this?

Completely? Is that really the goal? Anyhow, relational theory does
not dictate implementation. Whether there is an existing
implementation that uses RAM exactly the way you want, I don't know.


I did not suggest that
everything be hooked up to the DB. The general strategy and planning
would sort of be processed in the background, in an independent
process from the here-and-now game engine. The primary (visable)
process would generally take care of instinct-oriented behavior, but
strategy etc. would come from the DB-driven strategy engine. Even
though your enemy might be running for cover at the moment, he/she/it
should still be working on a counter-attack strategy.

I see what you're saying, and if you had a small footprint /
completely in-memory DB, this could work nicely. Still though, it
seems easier to me to just objects and strategy pattern. This would
be all in memory, and it would avoid the chore of hooking up to a
database.

In biz apps a database is usually available and assumed available. If
one is not used to such in a game system, I suppose it could be time-
consuming at first. But if you wish to make lots of games with the
same engine, then the up-front config time may pay off.

I would rather use objects that represent the problem
domain than table structures that represent a database. After all, my
ogre is implementing a strategy, not a table!

You assume they are mutually-exclusive. I find apps easier to manage
when the stuff that can readily be represented in a declarative form
is put into a declarative form. Behavioral coding is then reserved
mostly just for the *exceptions* (oddballs) that need custom
fiddling.

When stuff is tablized, I can search, sort, and sift it as I please to
study any given aspect or relationship I want. Code is much more
difficult to do that. If people had such good memories, we wouldn't
need databases. If you are a structure savant who memorizes where
everything is and who doesn't need analysis and sifting tools, I
applaud you.

Plus it is easier to do many collection-oriented operations with a DB
than hopping around pointer loops in code. It is easier to do "math"
on declarative info than behaviorally-encoded info. To me, the
navigational/OO approach reminds me of Go To's.


jordan

-T-

.



Relevant Pages

  • Re: Slow performance
    ... I realize that the pagefile usage is excessive and I need to reduce memory ... I've never messed with those settings before. ... Peak are greatly in excess of the installed RAM. ... The Disk Defragmenter report shows you have minimal free disk space. ...
    (microsoft.public.windowsxp.perform_maintain)
  • Re: Blue Screen of death
    ... I do have a memory checking program that I have not tried recently. ... It can be noted; that about 6 months ago, I added 2 Gig of ram; that I put in with what I had. ... For graphics testing, http://majorgeeks.com/3Dmark_d99.html has a copy ... You can test disk drives. ...
    (microsoft.public.windowsxp.hardware)
  • Re: SCO OSR5.0.6 System Crashed during LoneTAR Verify
    ... RAM; scrambled bits point the CPU toward disaster and it ... available that can really stress memory, but the best ones need to run ... disk corruption can cause otherwise good code to be read ...
    (comp.unix.sco.misc)
  • Re: Out of memory?
    ... Extensive disk testing needs to read / write to the disk and aren't ... Having so many database problems ... is read into memory but it can exceed the available memory. ... I suspect your AD got corrupt in a bad way (I recall your previous ...
    (microsoft.public.windows.server.sbs)
  • Re: Diagnosing extreme fps drop
    ... It's probably the game loading from disk all kinds of new textures on ... or competition for RAM by other memory hog apps like MS ... what the current and peak commit size shows in relation to the physical ...
    (alt.games.warcraft)