I'm trying to make a game, but I'm not sure of the best way to set up the main loop and classes. For really small games, I could put everything in the
main() loop, including event handling, collision checking, etc. However, for large games, that's seems like a highly inefficient way to get things done. The architecture I want is kind like the way the Minecraft coders did it (I quote Minecraft code because I've seen the source code when downloading MCP).
They have objects entity classes
EntityChicken and they have methods like
onLivingUpdate(); and item classes like
ItemSword have methods like
onItemUse(). I've never seen these methods get called directly, but apparently, they get stored in a class called
DataWatcher, which, I think "watches" all the data (as the name implies) and calls the appropriate methods in the objects.
Is that how most games do it? If so, how is the
DataWatcher class implemented? Any help or alternate suggestions is really appreciated.