What if you could play **Star Battle** on //different geometries//? Now you can! Geometric star battles include triangular, penrose, Amman-beenker and hyperbolic tilings of the plane, star battle in polar corrdinates (polar star battle) and in three dimensions, folding cubes, icosahedron, and möbius strip (star battles in space)! The puzzles come in varying difficulties. One star puzzles tend to be easier, and two star puzzles a bit harder, but not always! Choose between old-school [#Paper star battles] and the newest [#Interactive star battles], or enjoy a couple [#Hybrid star battles]! Paper star battles #=#=#=#=#=#=#=#=#=#=#=#=# To play these, all you need is pen and paper! Or, if you prefer, the flood-fill tool will work on every puzzle, e.g using MSPaint or other image editing software. Shall a star battle be named //in space//, then part of the challenge is **folding the puzzle** either in your head or an actual paper version. Title CELL DATE STAR PUZZLE Cairo pentagonal 06/03/2021 ☆ [star-battle/images/22-cairo-star-battle.png|star-battle/images/22-cairo-star-battle.png] Fractal square (variable size) 21/12/2020 ☆☆ [star-battle/images/25-fractal-star-battle.png|star-battle/images/25-fractal-star-battle.png] Basket weave rectangle 12/12/2020 ☆ [star-battle/images/19-basket-weave-star-battle.png|star-battle/images/19-basket-weave-star-battle.png] Half-hex hexagon and trapezium 05/12/2020 ☆ [star-battle/images/18-half-hex-star-battle.png|star-battle/images/18-half-hex-star-battle.png] Kite and Dart kite and dart 28/11/2020 ☆ [star-battle/images/17-kite-and-dart-star-battle.png|star-battle/images/17-kite-and-dart-star-battle.png] Good Morganing ellipse intersections 21/11/2020 ☆☆ [star-battle/images/16-good-morganing-ellipse.png|star-battle/images/16-good-morganing-ellipse.png] Good Morganing circle intersections 20/11/2020 ☆☆ [star-battle/images/15-good-morganing-circle.png|star-battle/images/15-good-morganing-circle.png] Square Prism (in space) square 10/10/2020 ☆☆ [star-battle/images/14-star-battle-square-prism.png|star-battle/images/14-star-battle-square-prism.png] Cube (in space) square 04/10/2020 ☆☆ [star-battle/images/13-cube-star-battle.png|star-battle/images/13-cube-star-battle.png] Tetrahedron (in space) triangle 12/09/2020 ☆ [star-battle/images/12-tetrahedral-star-battle.png|star-battle/images/12-tetrahedral-star-battle.png] Ammann-Beenker lozenge and square 04/09/2020 ☆ [star-battle/images/11-ammann-beenker-star-battle.png|star-battle/images/11-ammann-beenker-star-battle.png] Moebius (in space) square 29/08/2020 ☆☆ [star-battle/images/10-moebius-star-battle.png|star-battle/images/10-moebius-star-battle.png] Penrose rhombus 11/08/2020 ☆ [star-battle/images/09-penrose-star-battle.png|star-battle/images/09-penrose-star-battle.png] Icosahedron (in space) triangule 09/08/2020 ☆☆ [star-battle/images/08-icosahedron-star-battle.png|star-battle/images/08-icosahedron-star-battle.png] Polar square (perspective) 01/08/2020 ☆☆ [star-battle/images/07-polar-star-battle.png|star-battle/images/07-polar-star-battle.png] Hyperbolic square (deformed) 12/07/2020 ☆ [star-battle/images/06-hyperbolic-star-battle.png|star-battle/images/06-hyperbolic-star-battle.png] Hyperbolic square (deformed) 11/07/2020 ☆ [star-battle/images/05-hyperbolic-star-battle.png|star-battle/images/05-hyperbolic-star-battle.png] Cube (in space) square 19/06/2020 ☆ [star-battle/images/04-cube-star-battle.png|star-battle/images/04-cube-star-battle.png] Triangular triangle 18/06/2020 ☆☆ [star-battle/images/03-triangular-star-battle.png|star-battle/images/03-triangular-star-battle.png] Triangular triangle 17/06/2020 ☆ [star-battle/images/02-triangular-star-battle.png|star-battle/images/02-triangular-star-battle.png] Interactive star battles #=#=#=#=#=#=#=#=#=#=#=#=# ${ScriptLoad("projects/star-battle/hyper-loader.js"),""} Pick one of the puzzles below to launch the interactive **3D star battle player** in your browser, thanks to @zenorogue! Title CELL DATE STAR PUZZLE Cairo pentagonal 06/03/2021 ☆ [star-battle/images/22-cairo-star-battle.png|star-battle.html?c=-sb+-zoom+.6&1=22-cairo.lev] Kite and Dart kite and dart 28/11/2020 ☆ [star-battle/images/17-kite-and-dart-star-battle.png|star-battle.html?c=-sb+-zoom+.6&1=17-kite-and-dart.lev] Cube (in space) square 04/10/2020 ☆☆ [star-battle/images/13-cube-star-battle.png|star-battle.html?c=-sb&1=starbattle-cube-13.lev] Icosahedron (in space) triangle 09/08/2020 ☆☆ [star-battle/images/08-icosahedron-star-battle.png|star-battle.html?c=-sb&1=starbattle-icosahedron.lev] Cube (in space) square 19/06/2020 ☆ [star-battle/images/04-cube-star-battle.png|star-battle.html?c=-sb&1=starbattle-square.lev] Triangular triangle 18/06/2020 ☆☆ [star-battle/images/03-triangular-star-battle.png|star-battle.html?c=-sb+-zoom+.5&1=starbattle-triangle2.lev] Triangular triangle 17/06/2020 ☆ [star-battle/images/02-triangular-star-battle.png|star-battle.html?c=-sb+-zoom+.6&1=starbattle-triangle1.lev] Controls ==================== Placing //stars// =-=-=-=-=-=-=-=- To place a star, [[click]] on an empty //cell//. To remove a star, [[click]] on it. [[drag]] around to remove many. Placing marks =-=-=-=-=-=-=-=- To place a mark, [[auxclick]] on an empty //cell//. Drag around to place many marks. To remove a mark, [[auxclick]] on it. [[auxdrag]] around to remove many. Panning =-=-=-=-=-=-=-=- To rotate the puzzle, [[wheel-click]]. The position of the mouse around the center determines the direction of rotation. You may also pan with the ${Hyper("ArrowKeys/Arrows")}. Checking for errors =-=-=-=-=-=-=-=- To check for errors press [[E]]: the //regions// will become white (correct number of //stars//), red (too many //stars//) or blue (missing //stars//). To return to the puzzle, press [[R]]. Editing & Advanced =-=-=-=-=-=-=-=- Open the options menu by pressing [[v]]. You can use this to make your own puzzles and edit the geometry! Hybrid star battles #=#=#=#=#=#=#=#=#=#=#=#=# Hybrid star battles are a mix of star battle and other puzzle genres, such as Galaxies or Aquarium: check the [Paper Puzzle Trove]! Star battle rules #=#=#=#=#=#=#=#=#=#=#=#=# Standard star battle puzzles =========================== In standard star battle puzzles, you must deduce which //cells// in the (square) //grid// to place a star on, so that every line and region have a set number of //stars// (1 star: easy, 2 //stars//: medium, more //stars//: hard). Importantly, no two //stars// may touch each other diagonally, because they may not share vertices. Geometric star battle puzzles =========================== In star battle puzzles using different geometries, the rules are identical. However, //lines// may bend or wrap-around, there may be more than two //lines// per //cell//, and the number of //cells// per vertex / vertices per //cell// may differ, even locally. - Planar square //grid//: **2** //lines// per //cell//, **(1, 2 or) 4** //cells// per vertex, **(3, 5 or) 8** adjacent //cells//. - Cube square //grid//: **3** //lines// per //cell//, **3 or 4** //cells// per vertex, **7 or 8** adjacent //cells//. - Planar triangular //grid//: **3** //lines// per //cell//, **(2, 3 or) 6** //cells// per vertex, **(6, 7 or) 12** adjacent //cells//. - Planar Penrose //grid//: **2** //lines// per //cell//, **3 to 5 (?)** //cells// per vertex, **8 to 11 (?)** adjacent //cells//. - Planar Amman-Beenker //grid//: **2** //lines// per //cell//, **(...) 3 to 8** //cells// per vertex, **(...) 8 to 12** adjacent //cells//. How to make geometric star battle puzzles #=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#=#= You ==found an interesting //grid// geometry== for a star battle puzzle! But... how do you make a puzzle? At least two approaches can be distinguished, named [#forward] or [#backward] design. The forward approach is recommended for more interesting puzzles, while the backward approach can be a useful starting point or complement, especially in unfamiliar geometries. Both approaches can be combined, by e.g. //forward designing to a desired solution//. Finally, you'll need some [#tools] to save you time! Forward design approach ======================== Starting with a blank slate, [#forward design] involves a placing a small set of clues then partially solving the puzzle by exhausting all new deductions implied by those clues. Iterate until the puzzle is complete. Forward design applies to all paper puzzle types. Below you find some specific star-battle methods, suggested by @@ Deusovi,IHNN @@. Catalogue of interesting //small regions// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Analyse all possible very //small regions//, e.g with 7 //cells// or less. In many cases, there are only a handful of compatible positions in those //regions// where +2 //stars// can be placed. Adjacent constraints ------------------- Often, these //small regions// will constrain any //adjacent regions//, so by placing them strategically, larger //adjacent regions// can be constrained quickly. This works even if placing a single star per region. Line constraints ---------------- Also, some //small regions// may completely exclude a //line// or exclude one of several //lines//. Grouping //lines// or //regions// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Count the number of //regions// fully contained in a set of //lines// and how many //stars// would need to be placed in those //regions//. How many //stars// remain to be placed in those //lines//? If none, any remaining //regions// partially contained in those //lines// will be empty. If negative, you made a mistake. Otherwise you can use that information to constrain the non-overlapping portion of those //regions//. Often, combined regions can do interesting things that they don't do alone. Divide and conquer method =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- You split the //grid// into //macro regions// with a large but fixed number of //stars//. Then you split those //macro regions// incrementally until you arrive at the desired //regions// with the standard number of stars. Backward design approach ========================= The [#backward approach] starts with the solution and attempts to make a puzzle around it. If used in isolation, it may lead to less interesting puzzles. Luckily, it can also be used to give a global direction to a [#forward design] process. Specifically for star battle, this approach has two steps: - finding a //constellation// (easy) - drawing a set of //regions// with a unique solution (hard) Let *r* be the number of //regions// and *n* the number of //stars// per //region//. In total you'll need ** s = r ** x ** n ** //stars//. Finding a //constellation// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Finding a star battle //constellation// means filling the //grid// with a set of *s* //stars// such that no starred //cells// share any vertices, and no more than *n* //stars// per //line//. Different geometries impose different rules on which vertices are shared, and on what constitutes a //line//. First ensure the //grid// is not too small, so that it is not impossible to find a //constellation//. Start by counting *s*, the total required number of //stars//. Then notice how many //cells// are adjacent to each //cell// (there may be a couple different cases at the //grid// boundary), and try to discount any overlaps. Do *s* //stars// fit the //grid//? If not, keep enlarging the //grid// by one unit until they fit. Then, with a //grid// in place, the following two imperfect methods are are sometimes useful for finding a //constellation//. Symmetry method ------------------ Usually the //grid// has some symmetries that can be used. For instance, shall there be a *m*-fold rotational symmetry around a central point, often you can place a //starting star// anywhere away from the center, and then place **m - 1** //star copies// at the symmetric points. Knight's method ------------------ Place a //starting star// anywhere, and mark a //ring// of all its adjacent //cells//. Then place a //second star// outside and adjacent to the //ring//, as close as possible to the //starting star//, but on a different //line//. In a //square grid//, the //second star// is now a **knight's move** away. Place more //stars// following the same pattern, until either you wrap-around a boundary and finish the //constellation// or you must stop. If you must stop, try to place a secondary //starting star// also adjacent to the //starting ring// and continue from there. Drawing //regions//, while ensuring unique solutions =-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Finding a valid //constellation// is relatively easy, and with a single //constellation// you can make a huge number of star battle puzzles, by drawing different sets of //regions//. However, ensuring that the puzzle has a unique solution can be ==very time consuming==. Here's one method. Nucleation Method ------------------ - Place a valid //constellation// on the //grid//, with ** r ** x ** n ** //stars//. - Draw r-1 small uninteresting //regions// to confine ** n ** x **(r-1) **//stars//, and name these //regions// crystals. Thus only n //stars// remain outside any crystal, in open territory. - The smaller the initial crystals you pick, the easier it is to verify uniqueness. So change the crystals manually now until you ensure a unique solution. Then, in the last step, you'll transform a boring unique solution into an interesting unique solution. - Pick one of the r-1 crystals. Grow it by one new //cell// into open territory where you can quickly check that no star from the crystal could be moved to the new //cell// (i.e., the new solution is still unique). Repeat this step until you're happy. Tools #=#=#=#=#=#=# Square //grid// editor ====================== For simple square //grids//, check the handy [puzz.link star battle editor|https://puzz.link/p?starbattle/]. Other //grids// =============== All [#interactive star battles] are editable, and you can even change the geometry, thanks to @zenorogue's @RogueViz! More ideas #=#=#=#=#=#=# A list ideas for future puzzles, for self-reference. If you make one of these, please let me know - happy to add it to the list (with proper credit). - Toroidal star battle, with self-intersecting //lines//. //stars// are placed at intersections (@thinky). - binary star battle 1: two types of //stars//, heavy and light. Light //stars// are alone in a line, heavy //stars// are together; - binary star battle 2: two types of //stars//, blue and red. Blue //stars// on every line, red //stars// on every region. //stars// cannot be adjacent; - log spiral //grid// - current 2 star //constellation// with too many //stars//, possibly tedious; - liar star battle - where exactly one of the //regions// contains no //stars//; - starrykabe - the location of the //stars// is actually the starting point for a nurikabe puzzle (the number assignment would be based either on order of placement of //stars// ot their coordinates); - origami star battle - this would require two orthogonal folds plus transparent paper. Folding could erase and create new //regions//, and reduce the number of //stars//. - HEGANOX - a laser game, using the half-hex //grid// ## Credits ${Hyper("GameCredits/Authorship")} Special thanks to @zenorogue for adapting his brilliant @RogueViz, for star battles! Paper star battles ==================== Triangular =-=-=-=-=-=-=-=- Thanks to @skymoo, @portponky, @deusovi, @JackLance, @Velleic, @KatelynDelta, and others in the @thinky, especially for important ideas, useful comments, mistake detection and trying out the triangular puzzles. Hyperbolic =-=-=-=-=-=-=-=- Thanks to @zenorogue for making great tools to explore the hyperbolic plane and to @grant for inpiring discussions. Polar =-=-=-=-=-=-=-=- Thanks to @portponky, @zenorogue for help in clarifying the puzzle rules. In space =-=-=-=-=-=-=-=- Thanks to @icewing for helping perfecting the cube. Thanks to @delta and @TheZachMan for help with the icosahedron fold //lines//. Tilings =-=-=-=-=-=-=-=- Amman-Beenker ------------- Thanks to @softfro for finding an unintended solution, now corrected. Kite and Dart ------------- Thanks to @deusovi, @portponky, @karoo, @hempuli for helpful comments and finding an unintended solution. Basket Weave ------------- Thanks to @deusovi, @pancelor for help in clarifying the rules and solving the puzzle! Good Morganing =-=-=-=-=-=-=-=- Thanks to @clark for suggesting the ellipses! ## Changes **2025-07-17** Restored and archived this page