Jump to content

What would you have me do, Caesars?


Recommended Posts

Okay... several exams, two Rome Total War mod releases, one text-based RPG programmed, far too many illnesses and a university offer later...

I'm here again! I've got quite a lot of exams coming up, and they're fairly major, so I can't promise/firmly commit much at all by way of time, but in terms of modding/programming projects I'm a lot freer than I have been for a while at least. So if I have some 0AD time, what should I do with it? I could go back and work on JuBot, but I guess it's probably been massively superseded by now (correct me if I'm wrong). Or I could do scenario design perhaps, or figure out how to write random map scripts, or something else entirely (as long as it stays out of the bits that need C-family coding).

Link to comment
Share on other sites

Okay... several exams, two Rome Total War mod releases, one text-based RPG programmed, far too many illnesses and a university offer later...

I'm here again! I've got quite a lot of exams coming up, and they're fairly major, so I can't promise/firmly commit much at all by way of time, but in terms of modding/programming projects I'm a lot freer than I have been for a while at least. So if I have some 0AD time, what should I do with it? I could go back and work on JuBot, but I guess it's probably been massively superseded by now (correct me if I'm wrong). Or I could do scenario design perhaps, or figure out how to write random map scripts, or something else entirely (as long as it stays out of the bits that need C-family coding).

Yeah, qbot and Marylin have been greatly improved, the AI API has been improved a bit (and probably will be further improved), you'd be surprised with the progress with the new random map scipts, romans have been added... I encourage you, though to have a look at both qbot and Marylin, they have been endlessly fighting for the title of best AI of the game! qbot's topic will surely have a lot of news for you, and then you can read the code to see the changes.

Link to comment
Share on other sites

I've always wanted to create an AI myself and name it Mason. In theory, it builds defensive circuit walls first and then goes for strong economy and builds massive cities. You could do that ;)

Not a bad idea at all. Good to start something like this once walls are implemented. Also, should probably go ahead and regularize the names of the official AI bots.
Link to comment
Share on other sites

I've played against the current qbot (on the SVN) and it's certainly vastly improved economics and building. Still pretty wasteful of troops I find, it's an AI that does well against aggressive play because it can rush better but struggles against well built defences.

I'm thinking I may look into updating JuBot for the newer stuff and API changes, and see if I can get it a bit more competitive again...

Link to comment
Share on other sites

I've played against the current qbot (on the SVN) and it's certainly vastly improved economics and building. Still pretty wasteful of troops I find, it's an AI that does well against aggressive play because it can rush better but struggles against well built defences.

I'm thinking I may look into updating JuBot for the newer stuff and API changes, and see if I can get it a bit more competitive again...

Splendid (y) It's probably the area where you can offer the most, at least at the moment. After all, while some things have changed, and others are changing, in the AI API I'd still assume it's the area you know best, and thus if you don't have much time it's probably better spent on working on something you're familiar with rather than trying to learn new things. It's up to you of course, sometimes learning new things can be more motivating :)

Also, should probably go ahead and regularize the names of the official AI bots.

In what way? Something like "Official bot #1 - qBot"? Or something completely different :unsure:

Link to comment
Share on other sites

I had been thinking it would be nicer to have programming effort concentrated on a single official bot, I don't know what you think about it. The main problem I guess is that AI's can have such a variety of implementation that people might want to take differing approaches like we have previously. To some extent this could be helped by modularizing carefully and allowing multiple module implementations to coexist.

I have found being in charge of my own bot quite nice though since you decide what you think is best and do it without having to consult people etc. Plus having multiple bots has a competitive element which can help drive development. I think these are outweighed by the duplication of effort and working collaboratively is nice as well.

If we did this then we could just name it someone pretty generic like AI Bot. These are just my thoughts though, I won't object to anyone not wanting to do this.

Link to comment
Share on other sites

In what way? Something like "Official bot #1 - qBot"? Or something completely different :unsure:

I think we should start including their difficulty and game style. Something like - "qBot - Medium - Turtle", "Jubot - Medium - Rush" and "Demo Bot - Easy - Rush"

Link to comment
Share on other sites

My own suspicion is that the gains made via teamwork would be eliminated by the necessity of far more preplanning and team communication for the AI developers. Co-ordinating working on different bits of a single AI would take a lot of very tight communication, and could cause a lot of confusion if people were attempting to tinker with different bits of code simultaneously.

Link to comment
Share on other sites

I think we should start including their difficulty and game style. Something like - "qBot - Medium - Turtle", "Jubot - Medium - Rush" and "Demo Bot - Easy - Rush"

Maybe it would be good for now, but in the far perspective it would be better to have these things customizable at least for the default/generic bot.

Link to comment
Share on other sites

I think that the competition is the best way of managing the AI development yet. Competition is funny (thus motivating the developers and the users), the developers will learn new tactics and the AIs will be tested. Since code borrowing is permitted, in the end there will be only two cases: either there will be multiple AIs with different strategies (and it's not a bad thing, since it simulates different playstyles/personalities) or there will be only one AI which will be the most efficient and challenging of all (and that is good for those wanting a challenge).

Link to comment
Share on other sites

Wow Jubal, nice to see ya again :P

As far as work goes JuBot, I would try to implement some novel features (wall building, perhaps ranged cav hunting.) But like you said, the problem with having two AIs in development is there is a ton of duplication of effort.

One thing that I would look at would be implantation (even if at a proof of concept level) of one of the planned features. Things like ramming for ships comes to mind. An improved click-drag wall placement system would be outstanding. Or Auras for heroes. Special abilities (i.e. a targeted "conversion" for priests. I think working gates might fall under this. The "Open" and "Close" ability would toggle passibility on the structure and play an animation.) A new game mode/victory condition (i.e. "Regicide") would be welcome too.

Even a mostly working, sorta buggy implementation of the above would have quite the impact on game-play I think. There are also plenty of behind the scenes things that could use some work. There's a new sound manager in the mix, people have been asking about scripting events for maps and so on.

I'm not really sure how involved those projects would be, but most of the other suggestions (AI work, RMS, etc) in this thread seem pretty well covered.

Edited by gudo
Link to comment
Share on other sites

An improved click-drag wall placement system would be outstanding.

A wall system is being worked on :) So in that case it's definitely not necessary to duplicate the effort ;) =)

From a non-programmer point of view I'd still say AI is one of the areas that would benefit the most from having several people working on it at the same time though. Partly because of the competition sense, but also since it's probably one of the best way to determine how to best get a good AI API. If the API just works for one kind of AI it's not much use in having an API =) Also, and here I might really be wrong not being a programmer so use caution when interpreting my words ;) , to me it seems AI programming can take relatively different paths to the same goal. In other words, an AI seems to be possible to program in fairly different ways, and while we certainly can't foresee all ways an AI can be implemented I do think there's benefits from having more than one official AI being developed. With enough communication and thinking it should be possible to put the things that can be shared in the AI API to avoid too much duplication of effort, and if it can't be shared that directly/completely the code can after all be copied-pasted-and-then-edited if there are things that has to be done slightly differently.

That said, it would probably be good if the different AIs filled slightly different goals. Maybe one should be more defensive and another more aggressive? Difficulty should be possible to incorporate in each single AI, but there might be decisions that may be easier if an AI only has to be really good at one scenario (though of course it doesn't hurt if it has some variation to its strategy to avoid making it too easy to play against).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...