-
Notifications
You must be signed in to change notification settings - Fork 1
ennorehling/atlantis-movement
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This code is an attempt to write a set of testable rules components for Atlantis-like PBEM servers. The overall design goal is to make that logic independent from the objects in the actual game (Atlantis, Atlantis 5 and Eressea have the same basic objects, but different codebases). There are a few components to this, and they are somewhat neatly spread over these directories: svc: abstract interfaces to access the game objects. These are pretty much just headers containing function pointers for every possible operation on the specific game's data, and all game logic is written in terms of these interfaces, never accessing the actual implementation. There is test coverage for these interfaces, to make sure that your game's implementation ot the interface is correct. mock: a super simple data layer you can use to mock the game for tests without having to use a game-specific library. logic: game logic implementation. All logic is implemented in terms of the interfaces defined in the svc direcory. a1: this is the original Atlantis, by Russell Wallace. I made a few changes to get it compiled with gcc, and extracted some code into functions, but mostly kept it the way it was to make sure that the interfaces I was writing didn't depend on a particular implementation. And now, a dragon. Because you can't have too many dragons: _ _ _ //` `\ _,-"\% // /``\`\ ~^~ >__^ |% // / } `\`\ ) )%// / } } }`\`\ / (%/'/.\_/\_/\_/\`/ ( ' `-._` \ , ( \ _`-.__.-;%> /_`\ \ `\ \." `-..-'` ``` /_/`"-=-'`/_/ jgs ``` ```
About
Some code related to the PBEMs Atlantis and Eressea
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published