Game Types and Game Kits [Documents/02.2-GameKits.txt] Don Yacktman, 28 Sep 93 Well, here's goes a few of my random comments... The possible game types listed are quite broad, and many would benefit from different types of top level design. For example, the board-style games (Risk and Splat are NEXTSTEP examples) need an engine that understands "rules" about how the pieces move and a board object to hold them. On the other hand, the more complex simulation wargames (xconq comes to mind, as do many of the others listed) require a simulation engine in there to act as a sort of server, but this engine does much more than hold the location of the pieces. Luckily, this is just a subclass which extends the first case, in most respects. Now, the SimCity types of games, while not zero-sum games, would need the same basic simulation engine underneath, even though the goals and resources in the game are quite different. Thus, I think that those should still fit in with the definition. Doing the role playing stuff in many ways can fit into the framework, but I would suggest that it's another subclass, one which is almost complex enough to warrant another list... :-) By the way, there are no NEXTSTEP native adventures. Wow, this needs fixing. :-) Anyway, I think that the games listed already are a good representation of what I'd consider to be a WarGame... I agree with Joe's post, as long as SimCity types are included, because although they aren't zero sum games, the underlying implementation details end up being remarkably similar. Before we set forth any designs, though, I _highly_ recommend looking over the Splat source code, which is interesting because it attempts to be a generic board game with a "Rule" protocol that controls game play. You'll notice that the Splat rules are encapsulated into a single class which implements this protocol. This protocol is too limited for what we want to do, but I think it would be a good springboard into the full system, especially if we pick it apart for it's good points and then determine it's deficiencies. >From Joe's post: > [The following inspiration may be superfluous if Don Yacktman's kits already > cover this area. I would love to read an overview of the Don's kits, if one > is readily available! In any case, my attempt at inspiration follows!] Well, try ftp.byu.edu:/pub/next/gamekit and /pub/next/misckit for starters. There is a lot in there! Since I was mentioned a few times in the initial messages that went out, I think it might be fair if I give a little background about these kits and what's going on with them, as well as a summary of some of the things I've discussed with Ernie P. As many of you know, the MiscKit was originally a bunch of objects and stuff that I found I used a lot in my projects, and have now released to the public. The misckit is now also open for others to contribute their pet objects, so it should grow into a sort of public object repository of free objects. Almost, but not quite, public domain stuff. Many of these objects will be useful in speeding along the WarKit implementation, and some won't be of any use at all. If you're not on the mailing list and want to be, you can ask me to put you on and I will. GameKit. This one is the core of all my games right now. It's specific to games and provides the interface glue and many subsystems that would be useful in a game. The subsystems are designed to be independent of each other, and thus useable in other systems, but can also work well together, and have more features available when used in GameKit projects. Subsystems for things like overall top-level game logic, score tracking, high score recording and a net high score server, and a full sprite-based animation system are all part of it, but the subsystems can operate independently. You'll notice that most of the services, minus the sprite could be of use here; and depending on the game, you might want to use the animation subsystem, too, to make things spiffy. (BattleChess, etc...) The GameKit at the moment has one restriction, though, which is a problem. That is that if used in a _commercial_ app, you owe me a license fee. (In a PD app, it is free, though.) Well, I'm considering lifting that, and making it always free. (Comments on whether or not I should do this should go directly to me, and not to any mailing list, please.) Also, the GameKit will NOT be opened up for public contributions like the MiscKit. That's getting really complex, and I don't want the attendant hassles there, since I know where I want the GameKit to go. However, suggestions are still welcome, and I plan to mold the kit into what the public wants to see in it. Now, my "special" offer was this...to make sure that the GameKit provides hooks and necessary bits to allow the WarKit to be another sub-system that fits into the kit, just like the current animation system and such; they can all co-exist quite nicely... So, as the WarKit requires the GameKit to provide a hook or implement a protocol, I'll make sure it does. That way, the top level junk, like interface code is taken care of already. Here in the WarKit, all that's needed is the design of good core engines, rule sets, and so on. In other words, I hope I can help us get to the meat of things by providing the glue that every game would need. I should also mention that the GameKit was originally designed with the idea in mind of eventually supporting every type of game thought possible, by the use of different sub-systems which implement the needed frameworks for a given genre. Right now, I'm refining the arcade-style stuff. The next was to be role playing games, and then this...war games, and from there, whatever is left. Since this is happening now, well, I won't have to do this one by myself. :-) That's good, because Kris Magnusson is aching for an NX_Defender, so I'd best take some time out for that...he knows where I live. :-) Well, the subsystems are autonomous enough that you could always plug in a new one for any purpose anyway, and I provide ample hooks to do this with. And, if we don't use anything in the GameKit, I won't be offended, either. I offer it as a way to save some time, and I'm quite willing to work to make it useful for what we're doing in the WarKit. (Can't do much better than that.) And, as noted, who knows how long this will all take? I've got to get my paying work done, and this sure won't put food on my table. I do it because it's fun and I really enjoy it a lot. Well, that's a lot of spewing, I think I'll call it a night. Hopefully I'll be able to make a meaningful contribution here. (I'd really like to see an xconq-like thing and a SimCity style game for the NeXT, too, and have long considered doing something like these.) As an overlap, I _love_ xpilot (which has arcade action in a war like setting), so I'll be sure that both kits can function well together. Well, grab the stuff off ftp.byu.edu and play! Remember that the GameKit is incomplete and thus you can mold it to what you need it to be via bugging me. I welcome this. Later, Don_Yacktman@byu.edu