sushiomsky / opentestbed

Automatically exported from code.google.com/p/opentestbed
0 stars 0 forks source link

Basic Application GUI #8

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
basic RCP application:

1. Preferences
2. Running one/many Cash Session/Tourney in the background thread
3. Showing basic stats(bankroll graphs etc.)
4. Selecting bots for the game/tourney

Original issue reported on code.google.com by absolut...@gmail.com on 18 Mar 2010 at 8:21

GoogleCodeExporter commented 8 years ago
I'm just making this type-enhancement as it isn't a defect.

Original comment by schatzbe...@gmail.com on 18 Mar 2010 at 8:30

GoogleCodeExporter commented 8 years ago
i just opened another project opentestbed-ui: i needed a separate source tree - 
i'm
building RCP app. besides it's a good idea to separate ui and model.

Original comment by absolut...@gmail.com on 18 Mar 2010 at 10:48

GoogleCodeExporter commented 8 years ago
oh dear - let the rcp/osgi one-little-mini-jar for everything-hell begin ;) ...

Do we really need that ? Can't we do the separation just on the package level 
(where
model and ui would still be nicely separated ?) in the project here ?
Remember that we don't have nice tooling like maven to manage dependencies 
here. Also
people will want to download one single project and don't wont to assemble 
different
jars later themselfes ?
Don't understand me wrong - if I started a project in my company this 
separation is
nice - but here in the open we should keep it simpler for everyone, don't you 
think ?

One further question we should think of in the beginning ... if people later 
want to
embed their bots (by maybe just having a jar and a *.pd file that they want to 
put
into some folder) ... is this possible when everything will become a bundle ? 
Will we
have the freedom to create some fancy classloaders to load custom bots which 
won't
come with proper bundle-manifests ?

Original comment by bluegasp...@gmail.com on 18 Mar 2010 at 11:47

GoogleCodeExporter commented 8 years ago
I agree with keeping everything all in one project although I have no clue what 
rcp
is all about. Can you clarify what you mean by embedding bots? You mean akin to 
what
poker academy has done?

Original comment by schatzbe...@gmail.com on 19 Mar 2010 at 12:33

GoogleCodeExporter commented 8 years ago
>> Can you clarify what you mean by embedding bots?
I see two scenarios: 
1) developing a bot within eclipse and also starting the testbed from within 
eclipse
(hopefully not seperated into two projects which need to be checked out)
2) downloading a prepackaged/compiled testbed and just starting it with some 
bots
packed into an extra jar file.

Thats why I programmed the BotRepository so that it scans for *.pd-files in the
/data/bots directory (like poker academy does) and thus can find all (even 
'foreign')
bots (as long as they are on the classpath or we manipulate the classloader on 
the fly).
So a bot running in pokeracademy would also run in the testbed without changes.

RCP (Rich Client Project, the thing Eclipse itself is built upon) builds on
OSGI-bundles/plugins - each jar has to explicitly define its imports and 
exports in
the Manifest. Since our code doesn't now the future jar-names of new bots we 
cannot
declare a simple import in our Manifest, so the BotRepository would never be 
able to
instantiate new bots (OSGI does a lot of classpath magic on its own to ensure 
this). 

I don't have too much knowledge of OSGI/RCP myself, thats why I'm asking if 
there
will be still possibilities to manipulate the classpath to load new bots from 
simple
external jars.

Original comment by bluegasp...@gmail.com on 19 Mar 2010 at 1:15

GoogleCodeExporter commented 8 years ago
Yeah ideally we would be able to plug in bots like you describe. I really have 
no
idea what I'm talking about with regard to this GUI so I'll defer to you all 
for this
task.

Original comment by schatzbe...@gmail.com on 19 Mar 2010 at 1:38

GoogleCodeExporter commented 8 years ago
1. Single All-in project - it's totally a possibility. to tell the truth, i did 
it
automatically(like u said - good practice for serious projects). I'll switch to 
that.
nice explanation about OSGI/RCP btw.

2. Importing 3rd party bots - well we have 2 options:
* plain jars(PA style) - we do have all the control we need over classloading 
etc.
* 3rd party Bot will be a Plugin itself, with dependency on our project, and 
will
implement an extension point(eclipse way of extending existing app func-ty) 
where
he'll specify the class (meerkat.Player subclass) its name etc. I can create a
Eclipse wizard + cheatsheet(interactive help) for that(but that's pretty far 
away now
IMO)

Original comment by absolut...@gmail.com on 19 Mar 2010 at 6:53

GoogleCodeExporter commented 8 years ago
1) I'd say feel free to change the package structure to suit your needs like
opentestbed.logic.bots
opentestbed.logic.game
opentestbed.ui

I'm used to CVS from work so this will be the first time I experience no 
problems
when files are moved (I hope) with a modern version control *g*.

2) lets go for PA style to make it simple to integrate other bots (thus 
tweaking the
classloaders later on). I think its a great bonus if bots written for the 
testbed run
instantly in PA (and vice versa)

Original comment by bluegasp...@gmail.com on 19 Mar 2010 at 1:03

GoogleCodeExporter commented 8 years ago
Hi absolut666 - I just commited a CashGameConsoleStarter which can run a 
simulation
of 2000 cashgames.

Now its time to add some GUI to get away from Console :) ...

What we'd need:
- GUI for configuring/saving GameDescriptions (like in PokerAcademy where you 
select
blinds and what bots should sit where)
- Starting a simulation
- Watching a simulation
- GUI for observing a game (live bankroll graph would be fine)

Original comment by bluegasp...@gmail.com on 29 Mar 2010 at 12:10

GoogleCodeExporter commented 8 years ago
Hey bluegaspode(and doormat)
I'm very sorry for dissapearing like that - i'm going through some personal 
problems
right now and i don't think i can make the time for this project.
i apologize again for leading you on

Original comment by absolut...@gmail.com on 13 Apr 2010 at 12:44