Two questions

Discuss about Blockout II from Jean-Luc, post your feature requests etc.
Post Reply
Lieven
Posts: 55
Joined: Sun Aug 05, 2007 6:31 am

Two questions

Post by Lieven »

Hi,

Just discovered Blockout II. I really really like it because it is so close to the original! Jean-Luc did an awesome job. I also very much like the score submitting and statistics.

Ok now the two questions:

1. Are there any plans for a demo mode (like in the original?) I used to watch it for hours as a kid, especially 3D mania, watching it make deadly mistakes :) Shouldn\'t be too hard to program I think. For one block there are 6 ways of turning it, and say for 3D mania max 9 different positions. So for each block, there are about 50 different ways of playing it. Then one would have a function which for each configuration gives a score (taking into account holes, height differences, etc). The position with the lowest score is the one to play.

2. The way the score is calculated now, is it identical to the original? When I look at my old highscores in the original, they are substantially higher (150000+).


Thanks again for this remake!

regards,

Lieven
jlp_38
Posts: 264
Joined: Tue Jun 26, 2007 9:09 am

Re:Two questions

Post by jlp_38 »

Hi,

Thanks :) and Welcome to the forum.

1. There is no plan yet to add a demo mode. In fact this is not really simple to implement. Of course, calculating all possible moves is not difficult but you have then to make an evaluation function as in a strategy game. In other terms, give a note to a pit configuration for all possible drops and then select the best one. This is not so easy. And the second point that is not simple is the path finding. When the pit is almost full, you may have collision when trying to move/rotate a block to a specified position, so you have to find a path (if it exists) to bring you piece up to the good place.

2. No, the score calculation is not exactly identical to the original, it is only similar.
I must say, i didn\'t make much comparisons between BL2 and the original for all configuration, i especially compared the OOC and Flat Fun mode, and my feeling is that scores are comparable. But we may ask to 3D Mania guru what they think about ?


Thanks again and go on playing Blockout II ;)
User avatar
Herc
Posts: 174
Joined: Sun May 20, 2007 12:54 pm

Re:Two questions

Post by Herc »

well, jean luc, you always go for perfection ;-)

i agree, a really good (and original blockout seems to have a quite good computer ai) ai would need path sarching and a complex evaluation function.

but to get started, i would suggest to simply test all possible block rotations and positions and choose the one that goes 1. deepest and 2. removes the most layers. a third criteria would be closeness to other blocks in the pit.

so you would get a quite simple fitness function:

f(piece, rot, pos) = w1*dropdepth + w2*layersdeleted + w3*closeness;

w1 = 10
w2 = 100
w3 = 2

weights should be tuned to give a good result.

of course, such a simple algorithm would play quite bad and without any tactics (for example building 4-layers at once and such) but it would at least survive some time.

maybe you could add it as an hidden menu entry (what about entering \"demo\" while main menu is open) until you are satisfied with your algorithm?

p.s. the mountain trip was great! will post some pictures later. and a welcome to all new blockout players that arrived the last days!!
Lieven
Posts: 55
Joined: Sun Aug 05, 2007 6:31 am

Re:Two questions

Post by Lieven »

How about

f=10000*layersdeleted-500*holes-100*thickness-10*smoothness
+1*bordersfirst

->holes = nr of holes (nr of overlapping)

->thickness would be similar to dropdepth in the sense that:
1*for all filled squares on the bottom level
2*for .........................second level
3*for .........................third level
etc...
(preventing the scenario of Herc)

->smoothness would be similar to closeness and a measure for how smooth the surface is. For instance smoothness=the sum of all height differences over the pitch (for each square, count all neighbours)


->bordersfirst: count all filled squares, the ones at the edge/border are worth more.

Lieven

PS. I would like to help out on this. Unfortunately I can\'t get the sources to compile:

fatal error C1083: Cannot open include file: \'D3DX8.h\': No such file or directory

This is part of DirectX SDK I believe. I downloaded the latest version yesterday, but it doesn\'t contain this file. Would you know where I can get it? It seems to be part of an older distribution of DX which is no longer available. Alternatively would you be willing to share the directories: (which are included in the project file)?

\"D:\\c++\\Graphics\\D3DTools\\VC7\\Debug\";
\"D:\\c++\\Graphics\\ImageLib\\VC7\\Debug\"


Post edited by: Lieven, at: 2007/08/07 18:11

Post edited by: Lieven, at: 2007/08/07 18:21<br><br>Post edited by: Lieven, at: 2007/08/07 18:23
fredjust
Posts: 66
Joined: Fri Jun 29, 2007 3:59 pm

Re:Two questions

Post by fredjust »

Be careful the original demo mode cheating

try this, start a demo on level 9 with slow rotation

the piece rotate before falling !!

it\'s impossible

and demo mode is not a good player, he always drop the block with max cube on lower level

he don\'t try to make a multi line :S

watch a good replay is more interesting

(and I confirm score is very similar to the original even on 3Dmania)
jlp_38
Posts: 264
Joined: Tue Jun 26, 2007 9:09 am

Re:Two questions

Post by jlp_38 »

> How about
>
> f=10000*layersdeleted-500*holes-100*thickness-10*smoothness+1*bordersfirst
>
> ...

Yes i think something like that could be good.
The smoothness is a very good idea and should be more important. As Fred said it could also be interesting to build an AI that makes multi-line (but may be later, let\'s try first to build a good AI for single line)
Note: There is 24 possible rotation for a block (general case)

Just an idea to compute the smoothness:
What about the standard deviation (or variance) of the surface.

> PS. I would like to help out on this.
> Unfortunately I can\'t get the sources to
> compile:

Thanks for your proposition :) your help is welcome.

> fatal error C1083: Cannot open include file: > \'D3DX8.h\': No such file or directory

Yes you need DirectX SDK 8.1 to compile, here is a short extract of the README file:

How to compile the source ?
===========================

- You need Microsoft VC++ 7 or VC++ 8
- BlockOut II source can be donwloaded from sourceforge http://sourceforge.net/projects/blockout
- You need DirectX SDK 8.1 to compile. A recent release of the DirectX SDK will not work !
- If you already have a recent DirectX SDK installed, just update your project path
to the old DirectX SDK (present in the contrib directory)
- Set all appropriate include and lib paths in the project properties
(ImageLib , D3DTools and dxsdk8 if needed)
- Set the working directory to the BlockOut project root

Let me know if still get trouble to compile the source.<br><br>Post edited by: jlp_38, at: 2007/08/07 21:22
Post Reply