in reply to Re^2: RFC hierarchic modelling documentation
in thread RFC hierarchic modelling documentation

The problem was more modest -- modelling a part of a game called Car Wars. It was quite popular at the end of the 80s and noone ever wrote an implementation for the design rules, but many have certainly tried. The rules have too many exceptions and ugly special cases. Which is the main reason I worked on solving it.

Heh. Car Wars is a great game! A Steve Jackson game, if I remember correctly. There is an official computer game called AutoDuel, which was based on the same ruleset. As AutoDuel was released between 15 and 20 years ago targeting primarily the C64 market, it wasn't able to match the complexity of the full ruleset.

That said, given the success of the AD&D computer gaming market, I cannot imagine that the current Car Wars ruleset would be that difficult to model. If I remember correctly, it's primarily a bunch of tables with a few interactions thrown in. That's extremely easy to do using the methods from those types of games. Look at how Warhammer and Battletech have been done. BTech has a number of computer games, especially console and arcade games, which means that the special-casing can be easily handled.

Ruleset modeling has a ton of real-world uses. For example, trading everything from commodities to currencies uses rulesets to aid the traders in which situations need their personal attention. A lot of the work on those systems was done based on the research that looked into modeling chess.


My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
  • Comment on Re^3: RFC hierarchic modelling documentation

Replies are listed 'Best First'.
Good software
by robin (Chaplain) on Oct 23, 2005 at 21:56 UTC
    2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

    By that criterion, perl is definitely not good software. I guess that shows that (1) is a fair bit more important than (2). :-)

    (Sorry for the topic drift.)

      Oh, most definitely! The code for the perl program most definitely is not maintainable. That, in fact, was a large part of the initial impetus for Perl6, way back when.

      And, yes, (1) is much more important that (2). If it doesn't work, it doesn't matter if it's maintainable. :-)


      My criteria for good software:
      1. Does it work?
      2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
Re^4: RFC hierarchic modelling documentation
by BerntB (Deacon) on Oct 24, 2005 at 05:13 UTC
    First I should say that my beloved Car Wars implementation feels a bit irrelevant, now. :-) I did most of it and started making a real lib out of this instead. This is a hobby that I lost control over and took time off to finish.

    computer game called AutoDuel, which was based on the same ruleset.
    I haven't seen it, but... did that game really implement the whole rule set??

    All exceptions and links between weapons, different loads in one magazine, variants of turrets like external weapon pods/rocket platforms/sponsons, different kinds of rockets and laser links, component armor etc, etc?? It implemented a real time game, so why should it?

    (Update: I missed the text "it wasn't able to match the complexity of the full ruleset" about AutoDuel. Totally missed the argument.)

    given the success of the AD&D computer gaming market, I cannot imagine that the current Car Wars ruleset would be that difficult to model.

    It hasn't been done, as far as I know. And there were lots of computer people that loved it.

    You have lots and lots of exceptions, etc. If you start implementing away, it will become really, really ugly. I started this as a hobby when I got the idea to model the cars as hierarchic structures and make them OO, so I could override behaviour everywhere. Then it becomes quite neat!

    Also, the finished object tree would be relatively easy to extend so you can have "behaviours" like possible moves, taking damage and when it is legal to shoot (and hit). Ergo, something that could play the game, too.

    (-: That said, I was at the Nordic Perl Workshop this weekend. I got a feeling there were a dozen people in the room that could throw something together over a weekend. :-)

    Ruleset modeling has a ton of real-world uses.

    There should be real world uses to make things easily that is very hard otherwise, but I have no idea which.

    If I knew who it would be worth money to, I would probably have sold it because I really could use the money or a high paying job. :-)

    (-: So, if you think up a good use, send a suggestion for enough money that I will go back on promising to publish it. It better be much, since I'd have to change name and move a long way. :-)

    N B The previous paragraph was a joke. (-: I think. :-)

      All exceptions and links between weapons, different loads in one magazine, variants of turrets like external weapon pods/rocket platforms/sponsons, different kinds of rockets and laser links, component armor etc, etc??

      Just out of curiousity, did you ever play with the complete ruleset on the tabletop? Or, did you use some useful subset that was easy to work with. My experience with RPG's is that even the hard-core gamers never use the full rulebook. It's just too darned cumbersome.


      My criteria for good software:
      1. Does it work?
      2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
        CW is not a full war game, so there were no problems to play. (Weren't you an old player?)

        About implementation:
        This is/was a hobby. If it was easy, it wouldn't be a hobby. :-)

        About playing:
        Rules to play CW is easier than design rules -- and those are harder for computers than for people. (-: For a munchkin like me, designing was most interesting, anyway. :-)

        (Besides, if you go to a game Convention, they play with the full rule set, so you need to play like that at home too.)

        Anyway, I put the CW implementation on the shelf until this is done. Then I'll probably ask for hobby programmers to help me implement an editor, a game player and a web-based UI. And the hardest part -- try to talk to SJ Games...

        Update:
        (-: This will probably make me end up in worst of the year, but... :-) It would probably be a smart idea NOT to release the library until after an agreement with SJ Games. I want the project to be completed, by SJG or by a group of CW-enthusiasts. I don't think SJG cares about CW anymore -- it should still be in their interest to get a version done, as long as the source isn't published and doesn't make a later version from them impossible. SJG might want to refuse and ask someone to try to do a version using my lib. I have to think on this.