[WIP] Arducross - Picross for Arduboy

(David) #1

Arducross - Picross for Arduboy

Very simple, very early Picross clone that I have been working on for the past couple of days. Currently only has 3 boards, a 5x5, a 10x10, and a 15x15. They’re all treated like 15x15 boards, so hints are a little wonky at the moment. It’s my first Arduboy project and my first C project in a while so any feedback and suggestions will be greatly appreciated.

How to Play

Controls - Title Screen
Left/Right: Select board to play
A/B: Starts game with selected board (Debug turns on Debug Mode)

0: 5x5 Easy
1: 10x10 Medium
2: 15x15 Hard

Controls - Gameplay
D-Pad: Moves Chisel
A: Clears Block
B: Sets Block

OK! is displayed when you complete the board. Pressing A/B after restarts the game.

Controls - Debug Mode
Left + Right: Changes screen
0 - Title Screen
1 - Normal game with hints
2 - Hints are for current on screen board
3 - Shows Byte values for each row of on screen board
4 - Shows Byte values for each row of complete board

New (another) unofficial repo :)
(Nicolas Mougin) #2

I loved playing Picross on the DS! Great idea to port it on Arduboy!

(Simon) #3

I agree with @mougino … this lends itself nicely to the Arduboy.

(Pharap) #4

Dammit, I was planning to make picross at some point :P

(David) #5

Thanks dudes.

I added a few fixes, now hints are working on the smaller boards. Gonna try blowing up smaller boards so they fill up more screen space.

EDIT: smaller boards fill up more of the screen now.

(Simon) #6

Wow. Suggests a change to himself and implements it within the hour!

(Erwin) #7

I uploaded your game to my repo: http://arduboy.ried.cl/ :slight_smile:

(David) #8

Awesome. Will it keep up with updates from github?

I added a few more boards as I was debugging, up to 8 now, as well as a give up function that lets you see the completed board.

(Erwin) #9

It will but you need to do a pull request here https://github.com/eried/ArduboyCollection, otherwise I have to update the hex file

(David) #10

I think I got it? Hope I didn’t screw anything up.

I added a few more boards, made empty spots more visible, and made the cursor more visible.

(Erwin) #11

You got what?

You cannot ever mess with a git repo, that is the idea. But I did not see the pull request. I can update the game manually, it is fairly quick

(Pharap) #12

@oldmouse closed the PR shortly after opening it by deleting their branch (I am fairly certain it was unintentional).


That’s understandable though, the whole ‘git’ process is terribly verbose and confusing.

(David) #13

Yup, I had no idea what I was doing. I created a new hex file and uploaded that into the Arducross folder after that pull request you mentioned. Is that the proper way to update it?

(Pharap) #14

No it isn’t. (Like I said before though, it’s not very intuitive so I’m not surprised you’ve had problems with it. I’m pretty sure we all have at one point.)

Here’s a really really simplified explanation of github/making a pull request:

The collection of files on github is called a ‘repo’.
The owner of a repo can submit files directly, but for non-owners to submit files they must:

  1. fork the repo (i.e. get their own copy of all the files, which is itself a repo)
  2. add the files/make the edits to their copy
  3. create a pull request to the original repo (a request to merge the changes that have been added to the forked repo)
  4. wait for the owner to merge the changes, request more changes or close the pull request (closing means it won’t be merged)

And importantly, don’t delete your forked repo before it’s been merged, or there won’t be anything to merge.

(So much obscure terminology to keep track of.)

(Erwin) #15

That is the procedure. It feels more natural after a while :slight_smile: also this is the way to “send” your improvements to any repo in github (so it is quite useful to know).

(David) #16

Ok, now I got it. It took me the longest time to realize that I was looking at my copy after I made a fork. Thanks guys :smiley:

(Erwin) #17

Maybe @Pharap instructions are unclear but you actually modify your own copy and pull these changes to the original one.

I have updated your game and played for a while. It is quite fun and challenging. I would love to have a save state though.

(Pharap) #18

In fairness it’s kind of hard to summarise it.

Git has so many different concepts and buzzwords that it’s comparable to learning a new programming language.
(Thankfully the website UI makes things fairly easy, I had to use the command line a few times and it’s a really confusing mess.)

(David) #19

Hah, maybe I’ll get it right one day. Thank you @eried for updating it. I was hoping to add saved states once I get practice in with the EEPROM.

@Pharap Thank you for the guide, even though I didn’t follow it correctly :joy: I think I made a pull request from my copy rather than from @eried’s original? I think I was able to at least create a fork and make changes to that, but I could be wrong…

(David) #20

Just updated with a new title screen, a pause screen, and saving/loading from eeprom. Details are on the Github.

Ran into some weird issues when I added eeprom reading and writing. On startup I get weird characters under the arduino logo. Any idea on what that may be?