Arduino(-Like) Game Platforms

Arduino(-Like) Game Platforms

Postby dulsi » 08 Oct 2018, 02:50

I'm looking for arduino devices (or devices with similar capabilities) which come as a mostly complete product. It can require assembly but assembly should be simple and not require soldering.

Tiny Arcade and Pocket Arcade
I own both of these. The Tiny Arcade is fun to toy with but not a great gaming device. I find the Pocket Arcade to be exactly what I wanted. Programming is very easy but API is very low level. It uses the standard Aduino IDE. The two platform are compatible so you can use the same binaries on each machine. Pixels width and height are only 96x64 but I'm enjoying the challenge.

Pokitto
It seems to be a reasonable sized. The graphic modes are annoying to compare. It has higher resolution than the Tiny/Pocket Arcade but is more limited in color. Seems more designed for a lower color games. They seem to suggest using the online service to write programs for the platform. The offline IDE mentioned in the tutorials only provides a windows version.

Gamebuino Meta
Better display than Tiny/Pocket Arcade but otherwise similar hardware it seems. They use the Arduino IDE. The API is more advanced.

Arduboy
Display is black and white only but more resolution than Tiny/Pocket Arcade. API is more advanced.

Odroid Go
Seemingly the most advanced hardware. Unfortunately it seems to suggest using the system for emulators more than writing new open source games.

Anyone have any other suggestions?
Last edited by dulsi on 20 Oct 2018, 13:26, edited 1 time in total.
dulsi
 
Posts: 118
Joined: 18 Feb 2016, 15:24

Re: Arduino Game Platforms

Postby dulsi » 17 Oct 2018, 03:29

Pocket Sprite
It looks like a better Pocket Arcade but it has an oddity. Like the Pocket Arcade it has an 96x64 pixel screen. It has a better CPU. However, the screen has 8 pixels covered on each side reducing it to 80x64. The system is advertised to run emulators which is disappointing but they are open source. It's interesting that they push the emulators on a system that can't match the pixel resolution of the original hardware. Also it doesn't run Arduino. It has it's own SDK. I'm not sure I like the idea of it running a web server to upload files.
dulsi
 
Posts: 118
Joined: 18 Feb 2016, 15:24

Re: Arduino Game Platforms

Postby drummyfish » 19 Oct 2018, 17:25

Hello, I own Arduboy and Pokitto. Let me just clear some info on Pokitto:

- It's not Arduino. It's based on an NXP ARM processor. AFAIK it has some very small piece of BIOS-like proprietary code in its ROM, but this kind of code is very close to what even FSF tolerates. Everything else is FOSS.
- The online compiling service is only one option, mostly for beginners. You can use GNU toolchain to compile your programs under GNU/Linux -- that's what I'm doing, I use it from within command line with Vim.
- The display is full-color, but the numbers of colors depend on the screen mode. Screen modes with palettes are inevitable because full RGB pixel buffer would take the whole memory. Basically we now mostly use either 110x88 16 colors, or 110x88 256 colors (you can choose the color palettes), but there are more options. If you choose your palette wisely, you can achieve very nice things, e.g. here I've been able to make quite smooth shadows in an 3D environment:
Image
- It's still pretty much new compared to other consoles like Arduboy and a lot of things are work in progress and a lot of things, including tutorials on some compilers, are missing, but the community is very nice and active and everything's moving forward really quickly. People are trying to set up new compilers, port libraries (e.g. Pygame) etc. There is a big potential, a lot of things are coming.

I can recommend Pokitto and I'll help you get started if you want. You can find me at their forum as drummyfish.
User avatar
drummyfish
 
Posts: 10
Joined: 29 Jul 2018, 20:30
Location: Moravia

Re: Arduino(-Like) Game Platforms

Postby dulsi » 21 Oct 2018, 00:07

Arduino isn't exactly what I meant for this thread. It's more arduino like platforms. As in CPU that are slow enough or without a lot of memory so that you aren't running a regular operating system. Below the level of the rasberrypi for the most part.

For pokitto is there a thread/wiki you would recommend for setting up a development environment? Do you use a simulator or emulator to develop on your computer. I saw a post by you in a thread about a simulator running under Code:Blocks.
dulsi
 
Posts: 118
Joined: 18 Feb 2016, 15:24

Re: Arduino(-Like) Game Platforms

Postby drummyfish » 21 Oct 2018, 16:55

I've started preferring the emulator a while ago because it got superior to the simulator now. It now supports advanced features such as GDB remote debugging and profiling, and you don't need Code::Blocks for it. The simulator is still useful because it produces native binaries that are sometimes useful when debugging (you can e.g. use valgrind on it).

Sadly I'm only aware about tutorials on the online and Windows IDE, and I think someone set up PlatformIO as well (don't know much about that and if you'd want to use it). If you create a thread, people will help you get started. Here is a piece of thread where I've been helped to set up mine (GNU toolchain + Makefile), you might be able to do it as well.

Since you've created the demand now, I'm thinking about creating a tutorial on setting up the environment as I am using it. Not promising anything, but if I do it, I'll drop a link here.
User avatar
drummyfish
 
Posts: 10
Joined: 29 Jul 2018, 20:30
Location: Moravia

Re: Arduino(-Like) Game Platforms

Postby drummyfish » 21 Oct 2018, 18:52

Okay, so I quickly put together a how-to on setting up the command line workflow (excuse me if there are some mistakes, hopefully it's at least a bit helpful):

https://talk.pokitto.com/t/cli-building-on-linux/1387
User avatar
drummyfish
 
Posts: 10
Joined: 29 Jul 2018, 20:30
Location: Moravia

Re: Arduino(-Like) Game Platforms

Postby dulsi » 24 Oct 2018, 13:46

I tried out compiling a program and running it in the emulator. I can't seem to get it to work. When you follow your steps to compile, I get a firmware.bin and game.elf. If I try to run the emulator with firmware.bin and game.elf as parameters it complains that it can't find game.bin. I downloaded you 2048.bin and pokitto-puzzles. Couldn't get 2048.bin to work. Compiled pokitto-puzzles but had the same problem of getting an elf file.
dulsi
 
Posts: 118
Joined: 18 Feb 2016, 15:24

Re: Arduino(-Like) Game Platforms

Postby drummyfish » 24 Oct 2018, 21:54

DO NOT put the elf in the parameters, just the bin. Like

./PokittoEmu firmware.bin

You're all the way there -- if you've actually compiled it, you've done the hard part :)

EDIT: (Also note that the puzzles are WIP and not working correctly yet.)
User avatar
drummyfish
 
Posts: 10
Joined: 29 Jul 2018, 20:30
Location: Moravia

Re: Arduino(-Like) Game Platforms

Postby dulsi » 25 Oct 2018, 00:21

Hmm... It just crash for me then.

../PokittoEmu/BUILD/PokittoEmu BUILD/firmware.bin
Segmentation fault (core dumped)

Same thing with 2048.bin or pokitto-puzzles firmware.bin

(gdb) where
#0 0x00007ffff7165337 in std::locale::~locale() () from /lib64/libstdc++.so.6
#1 0x00007ffff71b8dba in std::basic_ifstream<char, std::char_traits<char> >::~basic_ifstream() () from /lib64/libstdc++.so.6
#2 0x000000000040535b in loadBin(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) [clone .cold.3] ()
#3 0x0000000000000000 in ?? ()

EDIT: Weird. I hacked the PokittoEmu loadBin function to use FILE* functions instead of ifstream. It works now. Wonder why ifstream fails?
dulsi
 
Posts: 118
Joined: 18 Feb 2016, 15:24

Re: Arduino(-Like) Game Platforms

Postby drummyfish » 25 Oct 2018, 09:14

I have no idea :-)

This would best be posted on Pokitto forums, we've got a very skilled guy working on the emulator, that would be able to tell you what's going on and fix it real quick.

I'll repost your report there so that he can have a look at it... but it would be best if you made an account and could communicate directly in the forums, post your OS details etc. You'd also get a much better support as I'm still among the newer members who don't know that much.

But you've got a workaround for now at least, right? If so, take a look at the API and play around a bit in the meantime.
User avatar
drummyfish
 
Posts: 10
Joined: 29 Jul 2018, 20:30
Location: Moravia

Re: Arduino(-Like) Game Platforms

Postby dulsi » 25 Oct 2018, 15:11

It's caused by -O3. I'll see about filling a bug with Fedora. I haven't joined the pokitto forum yet because I'm still not sure about it. I'll join if I decide to do more with it. Mainly I'm wondering about porting Color Monsters to it.
dulsi
 
Posts: 118
Joined: 18 Feb 2016, 15:24

Re: Arduino(-Like) Game Platforms

Postby drummyfish » 26 Oct 2018, 16:42

You don't have to have Pokitto to join, it's simply a group of people who are excited about it and some don't even own it yet. Of course it's better because the emulator isn't complete yet, but you can just hang around and chat, discuss ideas etc. With that said, it's all up to you of course :)

Also I've been recently checking Gamebuino META and it looks good as well, I'm planning to buy it and am porting one game to Pokitto now. These two consoles are very similar, so you might want to compare them, even if you'd eventually like to buy both like me. The basic differences I'm seeing:

- Pokitto has a bigger (custom made) display, which can make a lot of difference to some.
- Gamebuino is Arduino based, which means maybe a little friendlier development environment, but also some differences in programming (e.g. storing data in program flash memory is a bit more complicated).
- Pokitto is more educational, Gamebuino is more gaming.
- Gamebuino is more expensive, but also a bit better physically (made of genuine wood etc.). But Pokitto has a lot of customization options (different colors for front, back and buttons).
- Pokitto has a better emulator ATM plus also a simulator.
User avatar
drummyfish
 
Posts: 10
Joined: 29 Jul 2018, 20:30
Location: Moravia

How to install PICO-8 on a Game console named GameShell?

Postby jack899 » 13 Dec 2018, 16:36

SOURCE: https://github.com/clockworkpi/GameShel ... -GameShell

PICO-8 is a fantasy console for making, playing, and sharing small games. PICO-8 is a commercial product by Lexaloffle Games LLP. Versions are available for Windows, mac OS, Linux, and Raspberry Pi. The Raspberry Pi version runs on the GameShell, with some set-up.

Follow these instructions to get PICO-8 and install it on your GameShell. It will run in "splore" mode, which lets you browse, download, and play PICO-8 games.

Purchase a PICO-8 license and download PICO-8 for Raspberry Pi

Visit the PICO-8 website to create an account and purchase a license.

Once purchased, visit the downloads page and download the Raspberry Pi version. This file has a filename similar to: pico-8_0.1.11g_raspi.zip
Tip: Your PICO-8 license includes versions for all platforms. Download the version for your desktop computer, make PICO-8 games of your own, and run them on your GameShell!

Transfering PICO-8 to the GameShell

Connect your GameShell to your wifi network and get its IP address:
1. Turn on your GameShell.
2. If necessary, connect the GameShell to your wireless network: Settings, Wi-Fi.
3. In the main launcher menu, select TinyCloud. This displays the IP address of your GameShell, such as 192.168.0.49.

You can transfer files to the GameShell using scp, a file transfer method based on ssh (Secure Shell). Some file transfer programs know how to do this, such as Putty SCP for Windows, WinSCP for Windows, or Transmit for Mac. Connect using the IP address, an account name of cpi, and a password of cpi.
On Mac and Linux (and also Windows with Putty SCP or the Windows Subsystem for Linux), you can use a Terminal to do this with a command-line interface and the scp command. To transfer PICO-8 to the GameShell using the scp command:

scp pico-8_0.1.11g_raspi.zip cpi@192.168.0.49:~/

Enter the password cpi when prompted.

Connecting to the GameShell's command-line interface with ssh

The steps that follow require running commands directly on the GameShell. On Windows, you can do this with an SSH client such as Putty for Windows. On Mac and Linux, open a Terminal window and use the ssh command. Connect to the IP address with a username of cpi and a password of cpi, as above.

To connect with the ssh command:

ssh cpi@192.168.0.49

Enter the password cpi when prompted.

Tip: My GameShell responds poorly over an SSH shell connection like this. Things I type don't appear right away. It's frustrating, but if you can get through these next few steps, you won't need it again.

Installing WiringPi

PICO-8 requires WiringPi to run. It uses this for features that access the GPIO pins on a Raspberry Pi. You probably won't use this feature with GameShell, but PICO-8 won't start without it.

At the GameShell Linux command prompt, run these commands:

git clone git://git.drogon.net/wiringPi
cd wiringPi
./build
cd

Installing PICO-8

Also at the GameShell command prompt, run this command:

unzip pico-8_0.1.11g_raspi.zip

Adding PICO-8 to the Launcher


You will start PICO-8 using a new icon in the Clockwork Pi Launcher interface. To add this icon, run this long command at the GameShell command prompt. (I recommend copy-and-pasting this into your terminal window.)

echo >~/apps/launcher/Menu/GameShell/PICO-8.sh SDL_VIDEODRIVER=x11 DISPLAY=:0 /home/cpi/pico-8/pico8_dyn -splore -draw_rect 32,0,256,240
Restart your GameShell. An easy way to do this is to run this command:

sudo reboot

(Your ssh connection will disconnect after running this command. This is normal.)

Tip: The -draw_rect 32,0,256,240 part of this command tells PICO-8 to draw its screen stretched to fit a 256x240 region, with a left margin of 32 pixels so that the 256-wide rectangle is centered on the GameShell's 320x240 display. PICO-8's screen is a 128x128 square, so stretching it to a wide rectangle makes it a little wider than intended. You could make this exactly square with -draw_rect 40,0,240,240, but to fit these dimensions PICO-8 has to make every other pixel an odd size. I think 256x240 looks better, but you can experiment to find something you like.

Start PICO-8 for the first time

When GameShell has finished booting and you see the Launcher again, a "PICO-8" icon (a circle with a "Pi" in it) will be in the menu. Select it.

One of two things will happen:
• PICO-8 starts with a chime sound, and it appears in a small square. You can use the cursor keys, but you can't use the ABXY buttons yet.
o If this happens, press MENU, then press START to select "shutdown pico-8".
• PICO-8 starts with a chime sound, but you only see the GameShell "Loading" screen.
o If this happens, connect to the command prompt via SSH and run this command:

killall pico8_dyn

When PICO-8 shuts down (using either method), it creates its configuration file and some other things. We can edit this file to fix the remaining problems.

Configuring PICO-8

Re-connect to GameShell via SSH to get a command prompt. Run this command to open a file editor with the PICO-8 configuration file:

pico ~/.lexaloffle/pico-8/config.txt

"Pico" is a simple text file editor available on most Linux systems, including GameShell. It has nothing to do with PICO-8, it's just called "Pico" by coincidence.

Use the cursor keys to scroll down to the line that says fullscreen_method. Edit this value to 0:

fullscreen_method 0

Scroll down further to the line that says button_keys. Edit this value as follows:

button_keys 0 0 0 0 13 14 0 0 0 0 0 0 0

Press Control-O to save the file. Press Control-X to exit Pico.

Optional: Change the Launcher icon

The Launcher icon for PICO-8 works just fine with the default icon (the letters "Pi" in a circle). You can change this to the PICO-8 logo, if you like.
In your browser, download this image file by right-clicking and selecting "Save Image As..." (or the equivalent feature in your browser):

Copy this file to your GameShell using scp or whatever file transfer program you used earlier.

You want this file to be named PICO-8.png, and to be located in the folder /home/cpi/apps/launcher/skin/default/Menu/GameShell. You can either find this location using your file transfer program, or you can transfer the image file to the home directory (/home/cpi/) then move it into place with a shell command. Connect via ssh, then:

mv PICO-8.png ~/apps/launcher/skin/default/Menu/GameShell

Restart your GameShell (sudo reboot). When the GameShell is finished restarting, the Launcher should have the new icon.

Welcome to PICO-8!

Launch PICO-8 from the Launcher. It should start reliably and at a comfortable size.

Move right to find the "Featured" section. If necessary, press B on [update] to load the list. Move up and down to find a game, then press B to start it.

PICO-8 games use one or both of the A and B buttons. Some games will refer to these as Z and X, or C and V, because these are the default keys on a desktop computer. Games may also refer to them as (O) and (X), which are their "fantasy console" button icons.
To exit a game and return to the Splore game selection menu, press the GameShell MENU button, then select "Exit to Splore". (You can also use the pause menu just to pause your game.)

To exit PICO-8 entirely and return to the GameShell Launcher, exit to Splore, then press MENU again and select "Shutdown PICO-8".

Tip: Be careful not to select "Exit to Console" from the shutdown menu. This puts PICO-8 in its game developer mode. It's a super fun mode, but you need a full keyboard to use it or get back out of it. Connect via ssh and run the sudo reboot command if you get stuck here.
Enjoy the games, and come visit the PICO-8 community in the forum to learn more!

Resources
• The PICO-8 website
• The PICO-8 forum ("BBS", where games are published)
• The PICO-8 wiki
• LinuxCommand.org, for learning the Linux command line
• Using Pico (the file editor)
jack899
 
Posts: 2
Joined: 13 Dec 2018, 16:23

Re: Arduino(-Like) Game Platforms

Postby Julius » 14 Dec 2018, 08:20

GameShell might also be interesting for those looking for a regular Linux environment with more processing power & RAM.
https://www.clockworkpi.com/
“You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete” - Buckminster Fuller
User avatar
Julius
Community Moderator
 
Posts: 2172
Joined: 06 Dec 2009, 14:02

Re: Arduino(-Like) Game Platforms

Postby Julius » 14 Dec 2018, 08:21

While PICO-8 itself is closed source, there seem to be some interesting open-source projects around it:
https://github.com/felipebueno/awesome-PICO-8
https://github.com/picolove/picolove
“You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete” - Buckminster Fuller
User avatar
Julius
Community Moderator
 
Posts: 2172
Joined: 06 Dec 2009, 14:02

Who is online

Users browsing this forum: No registered users and 1 guest