Thanks for all your works! Now it’s time to play! , and vote!
the games added into warehouse now
be sure get the gs online and press Y to update the clockworkpi’s warehouse then you can see GameJam 19q4
and still , love2d games are not yet very stable on GS
The 2019Q4 Game Jam is ready for voting now!
Please go to https://itch.io/jam/gameshell-19q4 to vote for the game you like.
For 17 days, it’ll be open for you guys.
Also, since we have the Warehouse now, we’ve put the Jam works into it.
You can download and play these games easily through the Warehouse.
Play on the GameShell, vote on itch.io, back up your winner!
Are there ever going to be plans for a partnership with Lexaloffle to potentially have a gameshell edition free to download? Ala the pocket chip.
Even if it is somehow a time limited version, just for the purposes of game jams. There are enough precedent game jam events to show that this can be a great way to promote pico-8 as a platform, and would no doubt be mutually beneficial.
A few of the game jam entries require Pico-8, so possibly there could be a bias if not all users have Pico-8 installed?
That’s the next question. How many people have purchased Pico-8, either for the gameshell, or I’m the past?
I doubt Lexaloffle is going to do that again to be honest.
If what you want is to play the game, just ask the people to export their game as rPi binary
Open a game in PICO-8 and on the console command line run
and it will generate executable for: Windows, Linux, Mac OS X, and the Raspberry Pi.
You will then have 3 files, a
data.pod, an executable here named
filename and the png file (here
filename.png) of the game cart, and this can be distributed officially by the game designer.
There is no need for a PICO-8 License or a “player” for the GS for these.
An alternative is to play it on the browser. Pico-8 games can be exported as html games. Though we should be able to play all submissions on GameShell since it is a GameShell jam.
That’s good to know. I didn’t know that is possible!
Definitely would be in the interests of those who entered the game jam to consider this!
The less work people have to do to play it, the more likely it will get votes!
As it stands now, using the garage system to play Pico-8 games requires you to have it installed.
Thanks for getting back.
Oops! Good point; I didn’t even think of that.
Just uploaded binaries of my game – anyone know how we get them added to the Garage?
btw, I do recommend pico-8 to everyone. I got it free because I bought the Humble Voxatron Bundle like a million years ago – speaking of which, you should probably look into that if you buy a lot of Humble Bundles… there’s a chance you already have a license and just haven’t claimed it yet lol. If you own Voxatron from that, then afaik you should also have a pico-8 license.
Anyway, since then I’ve purchased multiple licenses for friends and students. And gotten hundreds of hours of use from it. So I definitely think it’s worth it to get a copy.
@Veronica @yong hey GameShell folks – If you reach out to zep @ lexaloffle, I actually think he would be amenable to working out some licensing deal. He’s a pretty cool guy. And in the pico-8 community it’s a common opinion that the GameShell is one of the most ideal playing experiences for pico-8 games.
great, good to know
I’ve tested your way
pico8 exported the raspi binary which I believe is the only way to run on GS
but GS is missing the
libbcm_host.so, even I downloaded the libbcm_host.so, the exported binary still reporting that
libbcm_host.so is missing…
don’t know how to fix that
If you ever find a way to fix the libbcm_host issue, please share! This is a problem the plagues some other Raspberry Pi binaries and as far as I know, no one has solved it. It means the custom builds of Gamemaker games that Yoyo released for the Pi don’t run on Gameshell (or other non Pi devices with similar hardware), as well as Minecraft, etc.
There is (or was) a dummy version of that lib somewhere. I even made one at some point, but probably lost it.
If I find it I will share
Here is a dummy libbcm_host that was made for Minecraft Pi:
Not sure if it will export all the needed function for Pico-8, but that’s a start at least.
great, it works very well
Could you post a binary? I had trouble building it since it couldn’t find GLES/gl.h. Did you have to change anything to get it to compile? Maybe I’m missing a needed package but I wasn’t sure which one.
I tried just removing that header include line entirely and it built, but then when I copied it to /usr/local/lib a Pi game I was testing acted like it couldn’t find the file, so I’m not sure what’s going on.
then rename the libbcm_host.so.1.0 to libbcm_host.so
then copy the libbcm_host.so to /usr/local/lib
If there anything else I need to do besides copying the file to /usr/local/lib?
-rwxr-xr-x 1 root root 13884 Jan 16 23:58 /usr/local/lib/libbcm_host.so
I tried to run a Raspberry Pi binary that gave the error about that library, but it still claims it can’t find it! It even gives this error when I copy the file into the same directory as the executable. I’m not sure what’s going on…
./TheyNeedToBeFed: error while loading shared libraries: libbcm_host.so: cannot open shared object file: No such file or directory
you are on os v0.4 or v0.5 right?
here is the whole command I try to run an exported pico8 games on GameShell
cpi@clockworkpi:~/Scratch$ ls data.pod libbcm_host.so scratch
LD_LIBRARY_PATH=. DISPLAY=:0 ./scratch -splore -draw_rect 32,0,256,240
I put the libbcm_host.so and the exported binary (scratch) together in the same folder
but I also tested that if I put libbcm_host.so into /usr/local/lib, it works too
and I use pico8 osx to export games
here is the link to the testing game above
if you download the tar.gz and try to run it manually
just add DISPLAY=:0 before Scratch.sh
cpi@clockworkpi:~/Scratch$ DISPLAY=:0 ./Scratch.sh
Your example works for me, and scratch runs whether the lib file is there or moved to /usr/local/lib.
However, it still doesn’t work for the Raspberry Pi games I’ve been trying:
I haven’t gotten the first game running under the Gameshell at all. The other two mostly work using box86 (and using x86 Linux versions of the game), but I was hoping these Pi builds might be faster and more stable.
for these particular ones it miss SDL binding, using this libbcm fork https://github.com/XECDesign/mcrpi-wrapper add the missing bind,
on second point they need particular libcurl
finally it still fail (with today compiled mesa)
$ LD_PRELOAD=/usr/lib/libcurl.so.3 ~/games/SuperCrateBox/SuperCrateBox
/home/gs/games/SuperCrateBox/SuperCrateBox: /usr/lib/libcurl.so.3: no version information available (required by /home/gs/games/SuperCrateBox/SuperCrateBox) *************************************** * YoYo Games Raspberry Pi Runner V0.1 * *************************************** Couldn't grab exclusive keyboard access couldn't find keyboard event file RaspberyyPi Model : Beta Board RaspberyyPi RAM : 0 can't open /dev/mem - GPIO functions disabled Init OpenGL ES Screen size (2560,1700) EGL Vendor: Mesa Project Version: 1.4 Client APIs: OpenGL OpenGL_ES Extensions: EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_CHROMIUM_sync_control EGL_EXT_buffer_age EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_KHR_cl_event2 EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_partial_update EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_MESA_query_driver EGL_NOK_texture_from_pixmap OpenGL ES Vendor: lima Renderer: Mali400 Version: OpenGL ES 2.0 Mesa 20.0.0-devel (git-d55573aac6) GLSL version: OpenGL ES GLSL ES 1.0.16 Extensions: GL_EXT_blend_minmax GL_EXT_multi_draw_arrays GL_EXT_texture_format_BGRA8888 GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_rgb8_rgba8 GL_OES_stencil8 GL_OES_texture_3D GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_EGL_image GL_OES_depth_texture GL_OES_packed_depth_stencil GL_OES_get_program_binary GL_APPLE_texture_max_level GL_EXT_discard_framebuffer GL_EXT_read_format_bgra GL_EXT_frag_depth GL_NV_fbo_color_attachments GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_array_object GL_EXT_occlusion_query_boolean GL_EXT_unpack_subimage GL_NV_draw_buffers GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_EXT_draw_buffers GL_EXT_map_buffer_range GL_KHR_debug GL_KHR_texture_compression_astc_ldr GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_separate_shader_objects GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_draw_elements_base_vertex GL_EXT_texture_border_clamp GL_KHR_context_flush_control GL_OES_draw_elements_base_vertex GL_OES_texture_border_clamp GL_KHR_no_error GL_KHR_texture_compression_astc_sliced_3d GL_KHR_parallel_shader_compile Implementation limits: GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 16 GL_MAX_CUBE_MAP_TEXTURE_SIZE = 4096 GL_MAX_FRAGMENT_UNIFORM_VECTORS = 4096 GL_MAX_RENDERBUFFER_SIZE = 4096 GL_MAX_TEXTURE_IMAGE_UNITS = 16 GL_MAX_TEXTURE_SIZE = 4096 GL_MAX_VARYING_VECTORS = 8 GL_MAX_VERTEX_ATTRIBS = 16 GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0 GL_MAX_VERTEX_UNIFORM_VECTORS = 4096 GL_MAX_VIEWPORT_DIMS = 4096, 4096 CommandLine: -game game.unx ExeName= /home/gs/games/SuperCrateBox/SuperCrateBox MemoryManager allocated: 17920 *************************************** * YoYo Games Runner v1.0(999)[r32908] * *************************************** RunnerLoadGame: game.unx RunnerLoadGame() - assets/game.unx Checking if INIFile assets/options.ini Exists SavePrePend /home/gs/.config// !!!!No INI File assets/options.ini Reading File assets/game.unx Loaded File assets/game.unx(23514454) IFF wad found Get Resolution Get Header Information InitGMLFunctions HighScore..Game..Math..Graphic..Action..File..Resource..Interaction..3D..Particle..Misc..DS..Sound..Physics..Gamepad..GAMEPAD: Initialising Ubuntu support GAMEPAD: 4 axis values (last) at 0xb5f38660 GAMEPAD: 4 axis values (last) at 0xb5f38640 GAMEPAD: 4 axis values (last) at 0xb5f38620 GAMEPAD: 4 axis values (last) at 0xb5f38600 Buffers..Networking..Shaders..InitPushFunctions...YoYo..Fini Code_Load() VARI_Load() got 2 global variables got 139 instance variables got 5 local variables ID_STRG Create Window Init Graphics GR_D3D_Init() OpenGL Error Check: GLError #1: 0x0506 File: (586) Files/Graphics_API/CommonOpenGL/Graphics_DisplayM.cpp OpenGL: version string OpenGL ES 2.0 Mesa 20.0.0-devel (git-d55573aac6) OpenGL: vendor string lima OpenGL GLSL: version string OpenGL ES GLSL ES 1.0.16 OpenGL: VBOs supported OpenGL: Non-power-of-two textures supported OpenGL: 24bit depth supported OpenGL: packed 24bit depth/8bit stencil supported OpenGL: seperate 8bit stencil supported /home/gs/games/SuperCrateBox/SuperCrateBox: symbol lookup error: /home/gs/games/SuperCrateBox/SuperCrateBox: undefined symbol: glGenFramebuffersOES