TinyCircuits

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - mjculross

Pages: [1]
1
User Projects / Code Examples / Simple implementation of TinyQuix
« on: December 23, 2018, 08:06:17 AM »
I was recently re-inspired by Ben Rose's interest in adding new games to be included in the ZIPfile distribution, so I have tackled the simple implementation of yet another classic game: TinyQuix is now available (so named in an attempt to keep copyright concerns at bay as much as possible).  The source & binaries (suitable for SD card loading) for the initial release of TinyQuix is available in its own folder on my Google Drive in the same place as previously indicated for TinySimon & TinySNAKE:
   https://drive.google.com/open?id=1Pv0LDGhe3uLNJvhF7-aSdTOSZMYe8hbx

Here's the run-down:
 
   TinyQuix for the PocketArcade
      version 1.0 dated 12/23/2018 @0605
      written by Mark J Culross, KD5RXT (kd5rxt@arrl.net)
 
   Using the TinyScreen+ display to allow a player to play a loose
      implementation of the traditional Qix game
 
   Uses the TinyCircuits libraries for its display output & digital
      joystick input
 
   Configure/build to run in the PocketArcade Menu System as follows:
      Tools : Board : "Tiny Arcade"
      Tools : Build Options : "Binary for SD Card"
      Sketch : Export compiled Binary
      [ rename the binary to "Tiny Quix.bin" & place in "Tiny Quix" folder ]
 
   Configure/build to run standalone on the PocketArcade as follows:
      Tools : Board : "Tiny Arcade"
      Tools : Build Options : "Default"
      Sketch : Upload (after setting Tools/Port as appropriate)
 
   TODO:
      - limit the length of the quix
      - limit player border movement only to borders that have at least one empty space nearby
 
   Controls:
      - pressing the left button at the splash screen starts the game in player mode
      - allowing the 10-second timer on the splash screen to expire starts the demo mode
      - pressing the right button either while on the splash screen or when in demo mode
        enters/exits the "debug" screen
         - pressing the up & down d-pad keys moves between debug controls
         - pressing the left & right d-pad keys while changing the number of lives causes changes by one
         - pressing the left button while changing the number of lives (with the d-pad) causes changes by ten
         - pressing the left button for any other debug control toggles that control on/off
      - the d-pad keys are used to move in player mode (player stops when no d-pad keys are pressed)
 
   Comparison to the original Qix game (purists take heed):
 
   Original Qix:
 
      1) the Qix is multiple lines
      2) as the game progresses, the number of qix increases
      3) as the game progresses, the number of sparx increases
      4) as the game progresses, supersparx (which can kill the player) move around in the unfilled space
      5) the player & the sparx can only travel on borders that touch at least one empty space
      6) scoring is based upon the increase in the amount of space filled by the newly enclosed area(s)
      7) scoring includes a 1000 point bonus for each percent of filled space > 75%
      8) the player can move fast or slow, & space filled while moving slow scores higher points
      9) pressing a button while moving causes the player to move "slow"
     10) when moving, stix (temp lines) must have at least one space between them (to allow "filled" space)
     11) there is an initial animation when placing the player on the border
 
   TinyQuix:
 
      1) the TinyQuix is always only a single line
      2) as the game progresses, the number of qix increases
      3) the number of sparx is always two
      4) there are no supersparx
      5) the player & the sparx can travel on any borders anywhere
      6) scoring is based upon the total amount of space filled each time new space is enclosed
      7) scoring includes a bonus for each percent of filled space > 75%
      8) the player can only move fast
      9) the buttons are only used to start the game (left button) & to enter/exit "debug" (right button)
     10) when moving, stix (temp lines) can be adjacent
     11) there is only an animation when the player is killed
 
Enjoy !!

Mark J Culross
KD5RXT

P.S. Bug reports & comments are both encouraged & appreciated.  MJC

2
I recently ordered & received a PocketArcade kit.  After downloading & installing the ZIP collection of games, I was inspired to try my hand at implementing my own simple versions of TinySNAKE (aka Nibbles) & TinySimon (aka memory).  The source & binaries (suitable for SD card loading) for "TinySNAKE" & "TinySimon" (no title screen video yet for either, but they do still show up in the initial menu system) can be found in their respective folders under the "PocketArcade projects" folder in my Google drive at the following URL: https://drive.google.com/open?id=1Pv0LDGhe3uLNJvhF7-aSdTOSZMYe8hbx

Enjoy !!

Mark J Culross
KD5RXT


3
General Discussion / volume not consistent when using tone()
« on: October 26, 2018, 09:52:06 PM »
When tone() is called in a simple PocketArcade game that I've written, the volume of the note played is sometimes sufficiently loud, but other times (after reboot and/or power cycle), the sound is only about half as loud.  Following the first note, whatever the volume turns out to be, it is consistent & independent of the note played.  There does not seem to be anything that allows setting the volume.  I'd really like it to always be consistently loud(est).

Pages: [1]