Circuit Dude - 3.2 UPDATE! (75 Levels + Level Editor + Sharing Tool!)

Code is supplied for 2 purposes: 1) Ease of loading onto a device to play for users, and 2) Educational value in the case of studying the code and modifying for personal educational use. Even though the source code is available to the public, this software is not open-source. I created Circuit Dude. I coded Circuit Dude. If you’d like to play it, you can download the code. You can even link others to the code. However, re-releasing or publicly sharing a modified variation or derivative of my code and/or imagery is not allowed. The code is supplied as-is and has no guarantee of support in the future. The code is also free of charge in order to play as long as the it is not for commercial or financial gain. Finally, someone creating a new version of the game for a different platform with imagery, gameplay elements, or game design element derived from this game must have explicit permission from me.

Eh, I really don’t like licensing and that kind of adult stuff… Don’t be mean and don’t steal my code, I guess. ¯\ _ (ツ) _ /¯

1 Like

You should put that text as a comment at the start of the CircuitDude.ino file itself.

You should also state the requirements for binary distributions, such as the .hex file or a .arduboy file. For instance, can someone who wrote a loader/manager include a copy of your .arduboy file with it?

1 Like

Sorry @Cronck and others,
All links to my modified version have been removed in this topic as per @crait’s wishes.

NNooooooo… i just wanted to play this game BC its the highest rated. and now its broken to where i cant upload it.

ok well @crait are you working on some sort of fix action for this game, or will it be lost… TY

To use the current version of Circuit Dude, switch to the previous version of the Arduboy2 library using the Arduino library manager.

ohhh ok TY ill try that, im on part 6 of @crait building games tutorial… man this stuff is cool. might be awhile before i try to change up the game library. Having a blast making.

Make Your Own Arduboy Game: Part 6 - Graphics!

Deff give these a try if you haven’t yet.

3 Likes

Damn - wish that had been mentioned in the source. I was going to contribute some improvements and fixes but I guess now I’ll go find something else to do.

I’d encourage you to think about open sourcing it and finding a license you’re ok with. There are quite a few with various protections and attribution requirements.

There are open-source licenses that are compatible with that.

1 Like

By my interpretation of @crait’s terms, you could publish your improvements and fixes as unified diffs (or any other form of change information), as I did in a few posts early in this thread. This way you’re not “publicly sharing a modified variation or derivative”. You’re only providing instructions that someone else could use for “2) Educational value in the case of studying the code and modifying for personal educational use.”

You could also submit your modified version privately to @crait for his consideration, such as via a secret gist on GitHub and a PM with a link to it.

This is a relevant post:

http://community.arduboy.com/t/what-license-should-developers-use/

It’s probably better to start a new thread or find another one directly related to licenses for further discussion. Back on topic:

@crait congrats your game is featured on the front page of www.arduboy.com! :cake:

1 Like

Size issue on this game… still cant get it to flash/upload. any ideas?

Right now either we will have to reduce the size of the library with @MLXXXp or we can see if @crait has a chance to optimize some of his code.

As a note to developers, it might actually be a good idea to break convention and include the library with the game if you are up against a memory capacity limit.

1 Like

Quick fix:

Remove line 1400:

  arduboy.begin();

and replace it with the following lines:

  arduboy.boot(); // raw hardware
  arduboy.blank(); // blank the display
  arduboy.flashlight(); // light the RGB LED and screen if UP button is being held.
  arduboy.audio.begin();
  arduboy.bootLogo();
  // wait for all buttons to be released
  do {
    delay(50);
  } while (arduboy.buttonsState());
2 Likes

Ok, I don’t know if I’m just not understanding something, but I can’t get this game to compile in the arduino IDE. I’m running Mac, so the arduboy manager isn’t an option.

I copied the sketch file into a new sketch in arduino, and named it what it’s supposed to be named. I’m not really sure what to do with the hex code though. I don’t really remember hardly anyting about coding, so I’m probably skipping a few steps.

I also made sure the folder containing the .ino file and the .h file was in the right place, and named the correct thing.

Solved my initial problem, and downloaded the libraries I was missing. Now the game doesn’t fit on my arduboy though? Everyone else seems to be able to play it just fine, what am I doing wrong?

Arduino: 1.6.12 (Mac OS X), Board: “Arduboy”

Sketch uses 28,786 bytes (100%) of program storage space. Maximum is 28,672 bytes.
Global variables use 1,404 bytes (54%) of dynamic memory, leaving 1,156 bytes for local variables. Maximum is 2,560 bytes.
processing.app.debug.RunnerException: Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it.
at cc.arduino.Compiler.size(Compiler.java:335)
at cc.arduino.Compiler.build(Compiler.java:159)
at processing.app.SketchController.build(SketchController.java:641)
at processing.app.SketchController.exportApplet(SketchController.java:666)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2176)
at java.lang.Thread.run(Thread.java:745)
Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

I tried the quick fix, and it worked.

1 Like

Updated the code with a similar fix to the one @MLXXXp posted. Sorry it took a while. This is a temporary fix, though. There’s some refactoring I could do, including converting the level data to half-bytes.

I think there is a lot of room for size reducing refactors… be happy to take another look myself if you’d consider a more permissive license and making it easy to contribute (git repository, etc).

Ahh, don’t spoil the surprise ending

I used half bytes for Arduminer, probably about the only sensible space saving technique i used

i found and downloaded the sourcecode but could you make public the ArdBitmap.h so i can compile and play it?