Page 1 of 1

Dreamblade

PostPosted: 30 May 2009, 01:18
by telengard
Hi,

This is an info post for my computer version of a collectible miniatures game
called "Dreamblade". Dreamblade was released by Wizards of the Coast
in August 2006 and was cancelled in 2007. Please note that Wizards of the Coast
are in no way associated with this computer game.

Below is the homepage of the game, and there
is also an online playable demo there to become acquainted with the basics of the game.
(Link no longer works)
http://ww2.wizards.com/Dreamblade/Home.aspx

The game is mix of Magic the Gathering and Chess played on
a 5x5 board with very cool miniatures. The rules and FAQ
on the game itself are available here:

(Link no longer works)
http://ww2.wizards.com/DreamBlade/Rules.aspx

This version supports all of the 396 released miniatures including the official
stats for Serrated Dawn which was not released, and other custom sets/minis (including
Witching Hour and Twilight expansions), all of the rules/mechanics, lots of cool extras,
and a decent AI player. Rules are enforced by the program.

The minis can be seen here:
(Link no longer works)
http://dreamcatcher.wizards.com/dreamcatcher.aspx

Here's a picture of the GUI version running:

http://www.briansturk.com/dreamblade/db_gui.png

Both a GUI version and a console (text based) version are included.

My webpage for the program is at the address below, and here you can download the program for your platform of choice:

http://www.briansturk.com/dreamblade.html

There are example warbands included under the 'warband' directory
and a README under the 'doc' directory. How to run and use the
program is described in the README file.

At some point I may post the source if there is interest in helping out.

I'd love to hear feedback and bug reports etc would be GREATLY
appreciated. Please post in this forum with your feedback/etc if possible rather than
emailing me directly.

Thanks!

Re: Dreamblade

PostPosted: 30 May 2009, 02:37
by frwololo
Note for stupid people like me who get a "term" error in cygwin: you need to install the ncusrses package to run the game.

Also here's a way to launch it. It's explained in the README but that'll help people test:

Code: Select all
./dreamblade.exe  -s warbands/example.txt -g warbands/example.txt -i 1
I might be interested in helping with the code, what language is it ?
I'm actually focused on PSP development, and it seems like the board could easily fit on a handheld device screen if it had a real user interface.
The AI algorithm you use with default parameters is quite slow on my machine which has lots of cpu power. How easy would it be to improve it, can I dream of have it running at a decent speed on a PSP (300MHz CPU) ? What's the default tree depth, and how much can it be reduced before the AI becomes completely dumb?

Not saying i WILL do a port, but depending on the sources I might give it a shot...

Re: Dreamblade

PostPosted: 30 May 2009, 02:45
by telengard
frwololo wrote:Note for stupid people like me who get a "term" error in cygwin: you need to install the ncusrses package to run the game.

Also here's a way to launch it. It's explained in the README but that'll help people test:

Code: Select all
./dreamblade.exe  -s warbands/example.txt -g warbands/example.txt -i 1
I might be interested in helping with the code, what language is it ?
I'm actually focused on PSP development, and it seems like the board could easily fit on a handheld device screen if it had a real user interface.
The AI algorithm you use with default parameters is quite slow on my machine which has lots of cpu power. How easy would it be to improve it, can I dream of have it running at a decent speed on a PSP (300MHz CPU) ? What's the default tree depth, and how much can it be reduced before the AI becomes completely dumb?

Not saying i WILL do a port, but depending on the sources I might give it a shot...
Hmm, I'm surprised by the need for the ncurses package. I would have thought the 2 dlls would have been enough. Hard for me to test that since I have it installed. :) Gotta figure out how to deal with that. Thanks for the feedback on that!

In the short term a Mingw port w/ PDCurses might be the way to go rather than Cygwin for the Windows version.
Once the Qt port is done users will have a choice.

I'll go look up what the default depth and phase depth are. 6/7 is about the limit at the moment. It does about 220k/evals a second so depending on things like # of unengaged creatures and damage to assign things can get a little loooong. I always test w/ -i/I 4. The other ones have some expectation stuff built in. I'll have to try out -i 1.

300Mhz, hehe dunno. I'm always optimizing so it's possible. I've spent countless hours tweaking code to squeeze performance out. The code is straight C++. I only use boost, ncurses, and tinyxml (which isn't utilized yet, but will be for adding custom minis).

I'm working on more documentation too, like the -i flag you mentioned, what it means.

Thanks for the feedback and trying it out!!

~telengard

Re: Dreamblade

PostPosted: 30 May 2009, 02:55
by telengard
Yeah the -i/I 1 is a lot slower. It's the "Defensive" AI setting.

An entire game w/ 2 AIs at setting 1 and depth of 4 and phase depth of 2 finishes in 9 seconds or so for me:

time ./main -i 1 -I 1 -s warbands/example.txt -g warbands/example.txt -M 4

Silver AI evaluated 766119 nodes, pruned 7571 nodes, executed 143 actions, missed 0 searches
Gold AI evaluated 590912 nodes, pruned 12048 nodes, executed 122 actions, missed 0 searches

real 0m8.944s
user 0m8.853s
sys 0m0.036s

I'd be curious to see what it is on your machine w/ Cygwin. I've done *very* little testing of the Cygwin port. Just finished it yesterday (had to re-do the RNG stuff).

The default depth is 8. I need to change that. It should be 4 or 5. I changed the way shifting is done (now 1 action instead of 2 separate ones) so the # of moves to get to the same point is lower. 8 now goes *very* far ahead.

~telengard

Re: Dreamblade

PostPosted: 30 May 2009, 02:59
by frwololo
Cool. If you take the time to set up a SVN somewhere I might be willing to help now and then. You can wait till I provide my first patch before giving me write access to your repository though :lol:
Note that I maintain a 2D graphical library that allows to compile for Linux/Windows and the PSP with the same source code.
It uses openGL on Linux and Windows, and might be a good way to design a cool GUI for your game (or at least you can get inspiration from the source):
It's called JGE: http://code.google.com/p/wagic/source/b ... /trunk/JGE

As for your timing question:
$ time ./dreamblade.exe -i 1 -I 1 -s warbands/example.txt -g warbands/example.t
xt -M 4
Silver player will be an AI with style type 1
Gold player will be an AI with style type 1
AI players will look ahead 4 moves max
Silver AI evaluated 93000 nodes, pruned 3392 nodes, executed 81 actions, missed 0 searches
Gold AI evaluated 78653 nodes, pruned 5016 nodes, executed 102 actions, missed 0 searches

real 0m10.003s
user 0m9.391s
sys 0m0.155s
Also a question about the rules (since I don't know the game very well, although I did the tutorial). Are you really allowed to skip your action phase?

Re: Dreamblade

PostPosted: 30 May 2009, 03:11
by telengard
frwololo wrote:Cool. If you take the time to set up a SVN somewhere I might be willing to help now and then. You can wait till I provide my first patch before giving me write access to your repository though :lol:
Note that I maintain a 2D graphical library that allows to compile for Linux/Windows and the PSP with the same source code.
It uses openGL on Linux and Windows, and might be a good way to design a cool GUI for your game (or at least you can get inspiration from the source):
It's called JGE: http://code.google.com/p/wagic/source/b ... /trunk/JGE

As for your timing question:
$ time ./dreamblade.exe -i 1 -I 1 -s warbands/example.txt -g warbands/example.t
xt -M 4
Silver player will be an AI with style type 1
Gold player will be an AI with style type 1
AI players will look ahead 4 moves max
Silver AI evaluated 93000 nodes, pruned 3392 nodes, executed 81 actions, missed 0 searches
Gold AI evaluated 78653 nodes, pruned 5016 nodes, executed 102 actions, missed 0 searches

real 0m10.003s
user 0m9.391s
sys 0m0.155s
Also a question about the rules (since I don't know the game very well, although I did the tutorial). Are you really allowed to skip your action phase?
Thanks for doing that. How fast is your CPU?

I think the results I posted were from a depth of 5 since the number of evalulations was much higher. I've read that the cygwin emulation can result in a little bit slower code. Price to pay for portability I guess. EDIT: Could have been the difference w/ RNG seeds.

Also, the -n flag lets you specify a seed. Should have mentioned that before asking for the timing test.

The JGE sounds great, I had a gp2x and loved it. Have been eyeballing the PSP for emulators. Hmmmm, might have to get one....

I'm not very good at UIs. At least ones that look good. ;)
Everything is in svn on my server so it shouldn't be too difficult to put up on sourceforge or something.

As for the rules question. Yes, you can choose to do absolutely nothing during your action phase. You do have to choose to shift or strike though, but you don't have to shift any pieces or declare strikes in any cells.

~telengard

Re: Dreamblade

PostPosted: 30 May 2009, 04:07
by frwololo
my computer's a Core 2 Duo at 2GHz

Re: Dreamblade

PostPosted: 20 Sep 2009, 02:05
by telengard
Hey frwololo,

Not sure if you are "watching" this thread or not but I'm wondering if your graphics library runs on OS X. 1/2 of the people using the program run on a Mac so I need to support that. I'm leaning towards GTK+ for the UI but would like something that could support some nicer graphics like your program (which I tried out a few weeks ago, EXCELLENT job!).

~telengard

Re: Dreamblade

PostPosted: 10 Nov 2009, 06:39
by frwololo
sorry for the super late reply, didn't get any email telling me about your reply for some reason.
JGE "apparently" supports macOs because it uses X, which seems to be supported on Macs. I don't have more information though, as the guy who was working on a port disappeared. It seems like porting it isn't too complex though

Re: Dreamblade

PostPosted: 12 Nov 2009, 15:38
by telengard
frwololo wrote:sorry for the super late reply, didn't get any email telling me about your reply for some reason.
JGE "apparently" supports macOs because it uses X, which seems to be supported on Macs. I don't have more information though, as the guy who was working on a port disappeared. It seems like porting it isn't too complex though
Cool, I'll download it tonight and try it out. Thanks for the info!

~telengard

Re: Dreamblade

PostPosted: 02 Dec 2009, 23:07
by tharkad
Thanks so much for this project. I'm shocked and thrilled it exists and is so far along. I'm a big fan of the game but have not played very much as I had no one to play with. Since the end of the game I've bought 200 or so used figures hoping that at least my kids will play it eventually. It will be great to get practice against the AI.

I am a Mac developer so I may be able to help out on the Mac version - I was going to ask about the Mac GUI but I saw you were looking for help. Let me know what I can do and thanks again.

-Mike Houser
tharkad@casdra.com

Re: Dreamblade

PostPosted: 03 Dec 2009, 00:19
by telengard
tharkad wrote:Thanks so much for this project. I'm shocked and thrilled it exists and is so far along. I'm a big fan of the game but have not played very much as I had no one to play with. Since the end of the game I've bought 200 or so used figures hoping that at least my kids will play it eventually. It will be great to get practice against the AI.

I am a Mac developer so I may be able to help out on the Mac version - I was going to ask about the Mac GUI but I saw you were looking for help. Let me know what I can do and thanks again.

-Mike Houser
tharkad@casdra.com
My pleasure Mike,

I'm very glad there are fans of the game still around. :)

Those minis won't go to waste either, you can use them to play against the AI. That's how I play (well sometimes when I'm not testing). The program was written really so I could use my minis and have someone to play against. You can even input the results of real dice rolls. :)

I too am hoping my daughter when she grows up will want to play so I'm not parting with the minis.

As for the Mac. Ideally access to a mac to build (ssh would be fine), or the ability to give you the sources to build and pack up (once I get the GUI version building on the Mac). The console version builds out of the box but I haven't got the GUI port to compile completely on the Mac. I had started it during lunch at work when I was on site and had access to a Mac but the effort was going to take longer.

Any help you could provide would be greatly appreciated by me and the OS X users. I feel bad since I can't do regular releases for that platform like I do the others.

~telengard

Re: Dreamblade

PostPosted: 03 Dec 2009, 03:53
by tharkad
Those minis won't go to waste either, you can use them to play against the AI. That's how I play (well sometimes when I'm not testing). The program was written really so I could use my minis and have someone to play against. You can even input the results of real dice rolls. :)

~telengard[/quote]

Ahh I get it now. I first tried out the app using the terminal version on my Mac but was confused - it was just letters in a box. Having the board set up beside it makes sense. I move over to Windows and played the GUI version which is great. Do you have plans for images of the figures?

Re: Dreamblade

PostPosted: 03 Dec 2009, 17:23
by telengard
tharkad wrote:
telengard wrote:Those minis won't go to waste either, you can use them to play against the AI. That's how I play (well sometimes when I'm not testing). The program was written really so I could use my minis and have someone to play against. You can even input the results of real dice rolls. :)

~telengard
Ahh I get it now. I first tried out the app using the terminal version on my Mac but was confused - it was just letters in a box. Having the board set up beside it makes sense. I move over to Windows and played the GUI version which is great. Do you have plans for images of the figures?
Yeah, the console version was just a way for me to focus on the core engine and not worry about graphics. Typing the letters shown shows the stats for that mini and 'Tab' shows a more detailed version. Not very intuitive but it works, even over ssh. :) I still mostly use that version as it is MUCH faster as far as AI performance (but I am working on speeding up the GUI version).

As for images, yep. The version I just put out a few days ago (should have probably made an announcement) supports images for the pieces. It's documented in doc/README.wx. Unfortunately, due to copyrights etc I can't include any images with the program without getting WotC's attention. :(

I'm sure at some point though someone will post a zip file you can drop in with images that they've either created or rounded up.

~telengard