Recommend
 
 Thumb up
 Hide
5 Posts

BoardGameGeek» Forums » Board Game Design » Board Game Design

Subject: CUBIXI: a dice game for your consideration rss

Your Tags: Add tags
Popular Tags: [View All]
Artem Borovkov
Russia
flag msg tools
designer
Avatar
mbmbmbmbmb
Hi! I've spent a few months on computing and testing the game "CUBIXI" with dice. Currently there are three games, covering (1) Russian language, (2) English language, (3) number puzzle. Dice for other languages could be computed if needed. For Russian it's quite fun. I'm not good enough in English to play word games, so you may decide this by yourself - please, give me your feedback.



That's the letter position and my author example, made of mammoth bone. The problem was to balance letters on all dice to provide good game, which needed long lasting computation on many servers.

The rules for word game are easy: find the longest word you can. You may say word only once per round. The one, who tell the longest word, being the first, throws the dice again. You may use any word (not only nouns) in any form.

Statistics for English game: 7 dice; totally 1800 words; after each throw there are around 8 words possible; almost always you may find a word of 3 and 4 letters; you may find a word of 5 letters in 2 of 3 throws; you may find a word of 6 letters in 1 of 4 throws; sometimes (~5%) you may find a word of 7 letters.

A number puzzle is tricky - people like it a lot. By adding and subtracting some numbers you should come to zero. You may use any number of dice (sometimes, the puzzle is easy - need only 3-4 dice, but sometimes is hard - need all 6 dice). For example, you got 7, 2, 5, 25, 15, 18: then 7-2-5=0. 9|6 means, that you may use any of 9 and 6. There are 46000 different combinations and 19000 right decisions of this puzzle. There are approximately 4 decisions per each move. As in word game, the one, who tells the longest decision, being the first, throws dice - that's his reward.

10/12 mm dice are good for this game, but I prefer small ones with sharp corners.

Hope, you would like all this. The fun thing with word game is when being played during party, people start imagining unreal words, so as letter distribution provokes this.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Sturv Tafvherd
United States
North Carolina
flag msg tools
mbmbmbmbmb
gut response: Boggle

and following that, also found: Ad-Lib Crossword Cubes

and that led me to: Scrabble Crossword Cubes Game

2 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Artem Borovkov
Russia
flag msg tools
designer
Avatar
mbmbmbmbmb
All these are quite old games: 50 years ago people had no computational power to create such a letter distribution. And the rules are simpler - no score counting... By the way, this game was published in Russia in a local publishing house.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
J C Lawrence
United States
Campbell
California
flag msg tools
designer
badge
Avatar
The numeric case, extended to also include integral division and to disregard length, is a version of a popular job interview question for developers.


#! /usr/bin/env python

import itertools, operator

def check_expr (nums, target):
"""Given a list of unique integers and a target integer, return True if
there exists an arithmetic expression using the values in the list
which equals the target, else return False.

Additional requirements:
- Each value in the list may not be used in the expression more than
once.
- The expression is to be evaluated left-to-right (no operator precedence)
- All intermediate results must be integer.
"""
length = len (nums)
if not length:
return False
if length == 1:
return nums[0] == target
if target in nums:
return True
for valset in itertools.permutations (nums):
ops = itertools.chain (itertools.repeat (operator.add, length),
itertools.repeat (operator.div, length),
itertools.repeat (operator.mul, length),
itertools.repeat (operator.sub, length),)
for opset in itertools.permutations (ops, length - 1):
vals = iter (valset)
rc = vals.next ()
for pair in itertools.izip (opset, vals): # Smaller than zip()
rc = pair[0] (rc, pair[1])
if pair[0] == operator.div and not isinstance (rc, (int, long)):
break
if rc == target:
return True
return False
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Artem Borovkov
Russia
flag msg tools
designer
Avatar
mbmbmbmbmb
Interesting! My task here was to create such a number distribution, that each time you throw, you'll get a right answer: currenly 99,78% of throws got it's solution. And it wasn't easy at all.
 
 Thumb up
 tip
 Hide
  • [+] Dice rolls
Front Page | Welcome | Contact | Privacy Policy | Terms of Service | Advertise | Support BGG | Feeds RSS
Geekdo, BoardGameGeek, the Geekdo logo, and the BoardGameGeek logo are trademarks of BoardGameGeek, LLC.