First of all with this proposal I'm supposing that there's real interest in
porting Wesnoth to the Android platform, now that there's an iPhone port.
Dave asked back in 2007 (if I remember well) if someone could do the port.
I'm also supposing that this port would have to be mostly in pure
Java/Scala/other JVM language, since there is the possibility of executing
native code on Android, but Google advises to keep that part small.

2010/3/10 Paul Ebermann <paul-eberm...@gmx.de>
> To make this a bit more useful, how about this idea:
>
> Make a kind of "alternate Multiplayer client", which can connect to the
Multiplayer server
> via internet (or to a local running wesnothd), and provides a plug for a
pluggable
> (Java/Scala/other VM language) AI. It does not have to have any GUI (maybe
to select a
> game, but this too could be done by command line), but would allow "bot
playing".
>
> This way one could experiment with (multiplayer) AI design and even test
them on the
> server against humans, or against each other.
>
> So, this project would have 3 parts:
>
> (1) define an Java interface for the AI to game data
> (2) implement the networking layer to interface the server
>      (This may need some more formal specifications of the send data
>       (simple_wml).)
> (3) implement (1) based on (2) (and a store of current game state)
>
> All would be pure Java (or Scala or any other JVM language), no JNI.
>
> Then you could do your Scala AI interfacing to (1), and other people could
do the same
> with different AI design goals (and maybe in different JVM languages).
>
> And it still would be usable in case (B), when a full JVM port of Wesnoth
comes (provided
> this port also has a implementation of (1)).
>
>
> PaĆ­lo

This is an interesting alternative. But after reading Boucman's comments I
guess it's not the right direction either, since there would be a drive to
replace it with C++ or lua sooner or later.
Maybe a better idea would be to make an Android app that allows connecting
to the Wesnoth server but only for watching games (and chatting when doing
so). The good thing about such an app is that it could actually become
massively popular, because of its cool graphical nature and general appeal.
Which means it would get more people motivated to finish the port so they
can play instead of just watching. An AI bot on the other hand is mainly
interesting for AI programmers.

Implementing this would require porting:
- netcode
- part of the WML engine since apparently the network protocol passes WML
around?
- map and unit display
- sound/music (wesnoth doesn't do anything fancy there, should be easy?)
And making a basic UI with tools available on Android.

Those are big chunks, but maybe without the GUI, advanced WML stuff, AI,
etc., this could still be a manageable project. You tell me...


2010/3/10 jeremy rosen <jeremy.ro...@enst-bretagne.fr>
>remember what we learned with the python AI:
>[...]

It does sound like opening a whole can of worms. I understand that an extra
dependency is not wanted, and I kind of expected the answer. It could be a
separately downloadable module, I guess, but then it wouldn't see much use.

>writing a bot framework for lua bots might be an idea worth studying,
>though, but the OP's idea seemed to revolve around using Java in
>wesnoth, so changing the requirement to lua probably doesn't make
>sense from his point of view

As I said I'm open to other projects, but what I had in mind here was to
advance somehow the Android port, since in my mind it's unlikely to be done
all at once.

Actually this brings up a question: even if there's a Wesnoth to Android
(and other JVM applications such as Wesnoth-in-the-browser) port done at
some point, do you think it will have trouble finding maintainers? I suppose
a few motivated developers could keep up with the changes in WML (including
gui2), graphics, network code, and so on. They'd also have to keep porting
changes to the AI, unless a completely different one is written and someone
maintains that. The only thing saving them work is that they wouldn't be
directly affected by stuff like Wesnoth moving to OpenGL. Overall it would
be more effort than for the iPhone port, so I don't know if it's realistic
to expect that.
_______________________________________________
Wesnoth-dev mailing list
Wesnoth-dev@gna.org
https://mail.gna.org/listinfo/wesnoth-dev

Reply via email to