• We would be very happy if you post something about your games/apps (made with Cerberus X or Monkey X) here in this section. One or more screenshots in your first post would be awesome and definitely show off your creation even better!

Showcase Cerberus Chess

Gerry Quinn

Active member
Tutorial Author
Joined
Jun 24, 2017
Messages
163
It's interesting, but unless you have really made some breakthrough in AI, you're certain to be repeating what's been already done. Computer chess has been massively analysed, and the chances that you will be competitive are zero. If you google it you will not believe all the various known algorithms and optimisations that are standard tricks of the trade!

So I wonder if a lesser-known game would be better to do. Of course none of this affects the multi-play element, so if you think there's a niche there, go for it!

There's one other technical thing you need to consider for games like this. it doesn't matter if you are not analysing deeply, but it affects you if you are making deep minimax calculations that will take a few seconds. Cerberus binaries are single-threaded, and mobile targets require programs to be responsive. So for heavy recursion you'll have to make your own stack (or equivalent) that you can hop into and out of periodically during long calculations. You can't just have the minimax code call itself recursively and rely on local primitives / pointers on the standard program stack, as in most examples you will find. Again, may not matter in this case but if you are developing strong chess or similar programs you need to be prepared for this.
 

Dubbsta

Active member
Joined
Jul 13, 2017
Messages
207
I've been into board games recently, if you're looking for something rare i came across a viking chess game called hnefatafl
 

Dubbsta

Active member
Joined
Jul 13, 2017
Messages
207
hahaha yeah, cant go wrong with crappy bird! it wasnt a request or anything just jumping off someone elses comment, thought you might've been looking for something a little more exotic.
 

Holzchopf

Moderator
3rd Party Module Dev
Tutorial Author
Joined
Jul 31, 2017
Messages
498
The source code is fairly tidy now, just the real hard stuff left !!

And by real hard stuff you mean tidying up your code? :p

But the interface looks quite tidy

Oh btw I see you're using seed = Millisecs() basically. If you're ever observing some bizarre/unexpected behaviour coming from code that should rely on the randomness of seeds initial value: Keep in mind that Millisecs() in Cerberus returns "the number milliseconds (thousandths of a second) the application has been running." and thus seed is very likely to be often the same. Using something like
Code:
        Local date := GetDate()
        Seed = date[3] * 3600000 + date[4] * 60000 + date[5] * 1000 + date[6]
should provide much more convenient results.
 
Top Bottom