You are on page 1of 11
OPEN SOURCE GAMING BASED ON ARDUINO MAKE & SHARE GAMES PLAY Featured game: EVADE by Modus Create Favorite games so far LEARN Tips & Tricks with Team A.R.G New Year’s Resolution? Learn to make your own game with @crait’s Tutorials EXPLORE Love the clicky Arduboy buttoms? Use your Arduboy as a controller to play games on your PC with @fuopy’s Arduboy Gamepad What libraries to download? Some help welcome note: Gee i ARDUBOY MAGAZINE Your monthly dose of all things Arduboy! Hello, and welcome to Arduboy Magazine. We are your monthly roundup for all things Arduboy. This is a brand new magazine dedicated for Arduboy. News, interviews and tips and tricks, we have it all! All of the team at Arduboy Magazine give you a warm welcome and hope you enjoy your slay. -@widehaslet @JOBRI: Better known as TEAM A.R.G, some of Arduboy’s community favorite games such as Mystic Balloon and Shadow Runner are written by them, as well as their own Arduboy Game Loader, where you can easily upload your favorite Team A.R.G games without using the Arduino IDE. http://www.team-arg.com/ @crait: Creator of various Arduboy games such as Circuit Dude and Train Dodge, crait has written tutorials on how to get started with creating your own game, and developed Arduboy Manager; an easy way fo upload games to your Arduboy without using the Arduino IDE. http://www.crait.net/ AF @Dmian: This talented graphic & web Designer from Madrid, Spain created the Magazine's Logo and various icons. https://damianvila.com/ DYN Meee) entre anes Have an interesting article you wish to share with the Arduboy community? A cool project you did, your experience on working on it? A funny joke? We want to hear it! Reach out to the Magazine through Twitter DM @arduboymag Page 2 of 11 Arduboy Company news: ier ppening at headquarters @Celinebins The Arcduboy Website has a new look! Team Arduboy is working on adding more fea- tures, for the site to be easy to navigate, and helping users find whatever information they need, Anew page, “Frequently Asted Questions" gomg fo ARDUBOY help new users navigate getting started with and basic troubleshooting their Arduboy FREQUENTLY ASKED QUESTIONS without referencing to the community pages or sending ‘an e-mail through the contact pages. Pro-tip: take your time to surf the site, and enjoy the rainbow graident! Where t In order to better deliver the Arduboy to you, a distribution model for sales has been currently implemented. You can now purchase the Arduboy from a variety of different retailers from around the world! ane Wacarruit Ga tecH Fab x Fab PIMORONI pe mck mC RoboF’ f RoboFun TL insert SWITCHSCIENCE (yseeed = sttazezyriam buy one Page 3of11 PLAY: create, a product studio based in the US, gave their customers a very special Christmas gift for the year end of 2016. Not only a custom engraved Modus Create white Arduboy, but also made their own custom game - EVADE. Theme of the game? You're the sole survivor from a space colony who had been decimated by an alien invasion. Your only mission was to escape and evade (the enemy) Four design staff and six of their senior developers managed to create EVADE within 4 weeks, working together to tackle Arduboy’s limitation of 32KB of storage. Try it out for yourself Write in to us with your game, how you made it, and anything else you want the community to know! Page 4of11 *Most downloaded based on clicks from community posts Most downloaded* games so far y by @widehaslet 1. CrazyKart by @Alberto Simple and fun linear racer! Start the race and dodge the other racers as your speed picks up. Exclaimation marks warn you where the other racers will appear. If you hit . them you will slow down and lose a life. Uploaded: February 2016 No. of downloads: 1.9k 2. Glove by @fuopy Defeat the bad guys by shooting at them, discover new routes by unlocking gates with keys, collect eae B hidden treasure and get to fnialaietntetaininiaiateteted the finish with a new high score! Will you discover and conquer all 30 uncharted rooms? Uploaded: June 2015 No. of downloads: 1.6 3. Chrome Dino Scroller by @flaki Everyone's favorite Chrome Dino is now fully offline. Make sure Dino can run as far as possible by jumping over the catus obstacles, otherwise he will trip and fall. No highscore is saved and a new game Came Uploaded: will aulomatically boot up. October 2015 Fy No. of downloads: 1 14k Keep your eyes peeled on the community pages for Favroite Games Polls soon! Page 5 of 11 LEARN: In this topic we would like to present you some tips & tricks to help you code your games for Arduboy. What we present doesn't intend to be the absolute truth, it’s just a way we al TEAM arg. code. So always remember, these are not golden rules. Using multiple files by @jo3ri In this first edition | would like to start with the very first thing | taught myself, when | started coding on Arduino (the platform Arduboy is based on): use multiple files. When you start coding a game/app you will always start small, with a few lines, but that will grow fast while adding code into one big file. | found it unpleasant to have to scroll through hundreds of lines of code, so | started looking for a solution, which | found in “using multiple files” Assuming you're using Arduino IDE for writing your code, but the idea is the same for any other program you use, you can add a new tab [file) to your game/app by clicking on the little arrow on the right side of the IDE and choose "New Tab”. Let's do this and call this tab: globals.h Now if you save your game/app and check the folder you saved it in, you'll see an extra file called globals.h In the IDE you can switch tabs (files), by clicking on them. We will use the globals.h to put all global includes, defines, variables and sometimes functions. Before we write anything into the file, we always put this 2 lines of code at the very beginning of our file: Always use capitals and the exact same name as you used for the file itself and end that with _H We will also have to tell our compiler fo include this global.h file when compiling. You do this by adding the next line to the top of the maiin file (the .ino file), the tab (file) with the name of your game/ app: Before we continue, let's explain this header file. A header file is a file with extension .h which contains C/C++ function declara- tions and macro definitions to be shared between several source files. There are two types of header files: the files that the programmer writes and the files that comes with your compiler. to be continued next page >> Page éof11 Now all C/C++ programmers will tell you, you'll also need a .cpp file. In the .h file you create and in the .cpp you would use what you created in the .h itis up to you, if you do this or not. We generally don’t, but if you look at our game "Virus LQP-79", you see that every has a companioning .cpp file. Let's continue with our globals.h file, by including other header files (make sure you have the Arduboy? library installed) Arduboy2Base arduboy; Sprites sprites: Because, you now have included Arduino.h and Arduboy2.h in your globals.h file, you no longer have to do this in any other file you'll create (assuming you do include globalls.h in every new file). If you look closely, you'll see we also included bitmaps.h This means we will have to add another tab|file) named bitmaps.h You can use this fle to include alll your converted images. Because you added this into globals.h and you will add the #include “globals.h” in every new tab/file) that you make (but not in the bitmaps.h itself, the compiler will always know where to find the images, you use. The bitmaps.h should look like this to start This is how we split out different parts into different tabs|files). In the games we make, we usually have this set of tabs (files): Don't forget you will have to include every :h file in the main file (the .ino file) except for the bitmaps.h, because that one is already included in globals.h Also, it you for example use functions in game.h that you have created in player.h, you'll have to include player.h in the game.h tab/file) joo. Voila, this is how we split out different parts of the game into different files. This helps us to navigate through all the functions,de- fines and variables in a more convenient way. It's also easy to copy paste a file into the folder from another game. Just copy the :h file you like into the folder of your game. and then open the .ino file in the IDE, all other files in that folder will be opened as ditferent tabs. Have fun coding your games and next time we'll talk about #define and why we use those and also about the naming of variables, functions and defines. Page7of11 Game Design Tips Programming a video game can be fun, but once you create a few games, sometimes you can feel burnt out and not really know what to do next. Maybe you're a beginner and you don't really know how to come up with your own game. Either way, you can follow this guide to help come up with a game concept. In this article, I'm going to go over the most popular methods for creating a video game concept: Stealing, Mixing, Experimenting, and Design. When | come up with games, it's usually a mix between alll of these. I'll go through what each of these methods are in a second, but first, let's tak about feasibility. Feasibility is how easily and likely an idea can be implemented. Whenever you design a video game, you need to take these into account. Programming a dialog-heavy 3D open-world MMORPG on your own would be very difficult and definitely beyond the capabilities of a lot of new developers. Because of the Arduboy's technical limitations, even for amazing programmers, some bigger games are just not feasible on the system So, whenever you design a game, you also need to take into consideration which platform you're developing for. Okie dokie, let's talk about the stealing method. It sounds bad at first, but this is actually a pretty broad idea so just bear with me. What usually comes to mind is taking another person's game idea and just re-creating their idea. This is usually frowned down upon and may not even be legal, depending where you live. However, there's a distinction between “stealing” and what I'm going to talk about, Porting is re-creating a game on a small er platform like the Arduboy. Typically, a ported game will come out way different- ly. For instance, it you ported Dig Dug, the game you end up with will play and look differently than the original. Porting is under the umbrella concept of stealing, but is absolutely fine as long as you have permission to re-create the game. In the original Pokemon games, there are some locations that you cannot pass through without firs sliding around on ice. These locations are like puzzles and can be difficult (but fun) to attempt. Even though the games are about fighting monsters, this small mechanic was borrowed from an even older video game that was a series of puzzles that were your puzzle piece slides around. Another aspect of stealing is using another game's idea or mechanic and implement it it in a unique way. This is incredibly popular and most video games in some way use a previous game's ideas. Even the concept of collecting monsters or fighting creatures in video games came before Pokemon ever came out. This brings me to mixing, which is a very fun method for people just starting out in game design. The idea is to take a few mechanics from other games and com- bine them to create new mechanics or gameplay elements. You can even mix two very basic games together. The example Ilike to give is taking the teleportation mechanic from Portal and putting it into Lemmings. Oh! What about, like, making Pong, but instead of using paddles, you have snakes that change size like in Snake? Try this, yourself! Maybe take a game mechanic that you like from @ favorite game and mixing it with a game concept that you used to play as a kid and see what you get. The next method is experimenting. When | started making video games, | was pretty bad at programming. | would follow tutorials and make little programs or games, but didn’t really know what to do next. to be continued next page >> PageBof11 Ihad game ideas, but | wasn’t good enough to program them. instead, what | did was experiment with the code | was comfortable with. Take for instance, my Pong tutorial on the Arduboy forums. | try to explain well enough so that you under- stand what each line of code does. If you know how to make that game, you could try making a version with multiple paddles, or multiple balls, or maybe even some kind of enemy that eats the balls! Even if you aren't able to program a Pong-like game, you could simply try programming a game with what you do know. Not all video games have to be considered fun. As long as you have a way to win or lose, your game is still a game. Try making what you can and changing it over and over again until you have something that is kinda fun to play, EXPLORE: Remember, the most important step in developing a video game is taking the first step and starting! if you never start pro- gramming your game, you'll never get it done! The last method | want to talk about is design. This is the most formal method for creating a game. Stereotypically, you can imagine someone sitting down, planning everything out beforehand... Coming up with several different mechanics as well as a theme that all fits together. if you want to create a game like this, there are a lot of resources online that you can find that will go more in depths in the steps of this process... But maybe I'll go over the more formal steps in the next issue. Until then, take care and be sure to share your game ideas on the Arciuboy_ community forum! Arduboy Gamepad by @fuopy Arduboy Game: \d allows you to map your Arduboy's buttons to keyboard keys, so you can play PC games with your Arduboy buttons. ee ee ani OM TENE Tips: - You can save up to five mapping configurations, - Alphanumeric, function and modifier keys are supported. - To exit from gamepad mode back to the main menu, turn the Arduboy off and on again. Page 9of11 Videos and reviews by the arduboy community Been seeing some issues that the newer members of the Arduboy community has been having some problems with uploading games and getting around the Arduino IDE and the different libraries. The Quick Start Guide runs through the steps on how to get your Arduboy ready, but if you are more of a visual person, here are two videos from Roanoke Hobby Online to get you started with game uploading, and code tweaking! Te ey at etn ate ‘ete ato a Hac ne ate Part | reviews the steps to upload Part 2 uses the Arduino IDE to upload and programs (Sketches) with the Arduino IDE. see how game codes can be changed to improve the game. Adding new libraries. IMPORTANT NOTE: Install all the necessary libraries from the Arduino IDE directly [wor anv |ardeno 168 ~ 9 *1 On the top of the Arduino IDE click boom vconemnc = Sketch > click Include Library > PE oss I worcee teres Upon ing Rogan CSR Kor compe ony Cav AkS as This will open the Library Manager. Nw sa ss. Ub In the search box at the top enter Arduboy. Install the below listed: [Ong Monger x © Tok 2 seg Arduboy Arduboy2 -- | ArduboyTones = AtduboyPlaytune ArdBitmap ArdVoice ATMilio Page 10 of 11 Harduboy: @ fumIhiro @ omurot Show us your Kitties! Post your photos with Arduboy on Instagram and Twitter with #arduboy. We want to feature them in this segment! Thank yout Thank you for reading the Magazine! Hope you enjoyed it as much as we did putting it together. We want to know how to make Volume 2 better than the first, so write in to us to. tell us what you think! hitps://twitter.com/arduboymag

You might also like