I know this is a rather sore topic, so let me preface it with the following:
- I have read through a lot of the wiki for the game in general
- I have joined the Steam Group Chat (nobody else is ever there) and connected to the IRC channel.
- I have read through this topic in its entirety (though i skimmed the part where it got derailed into a LoL/Tribunal discussion).
- I do software development as my job, so I may not know what the AI War code is like, but i understand programming and thus recognize the difficulty, cost vs benefit, etc of requested features.
All that being said, I'd like to start a discussion on an alternative idea that may not have been considered previously to implement some sort of matchmaking feature. Simply put, pass it off to the community.
One of the biggest examples of a community working together that I've seen so far is the enb-emulator project. This project was to resurrect the game Earth and Beyond, an MMO, after EA Games killed it. It took at least 7 years to rewrite the server from scratch but was entirely driven by the community and is now live and fully functioning, plus has new content and updates. The point is that generally speaking, there are individuals in the community willing to put effort into a task because they like the game, the community, and have the desire to improve it.
The IdeaThe general idea i had was to add a few 'command line arguments' or equivalent, to set up multiplayer, then simply leave the actual matchmaking/chat client to the community. My specific idea was some sort of simple chat program, where users configured what times they were available, connected to a server, and then the client could ask for users with similar schedules. There is something similar in EVE Online for finding a guild (corporation) based on active time (see the screenshot on
this EVE Wiki page). Additionally a 'lobby' and possibly public/private channels might be implemented. An icon next to the username could list whether the user is ingame (not 100% sure on detection of that), whether they can host (user runs a 'host' test and chat server attempts the UDP connection. AI War must be running. if successful, they get a different icon), or if they're simply in chat.
To set up the actual game, once a group is ready the chat client can simply launch AIWar with some command line params to tell it how to behave once its loaded up. For example, "-h" could mean host new game, while "-h [savegame]" could tell it to load [savegame] as a host. "-c [IP Address]" could tell it to try and join a Direct Connect game using [IP Address].
From what I know of programming, it tends to be fairly straightforward to accept and process command-line arguments, and I believe you already have something triggering at the end of the load, mainly the story/credits scrolling. But as I don't know the actual code, I certainly can't say definitively what kind of time it would take to implement this.
I welcome comments and suggestions.