Log In  
Log In  
BBS > Lexaloffle Community Superblog
This is a combined feed of all Lexaloffle user blogs. For Lexaloffle-related news, see @zep's blog.

All | Following | PICO-8 | Voxatron | General

I see in the manual that Qubicle file format is supported for importing models, but I use MagicaVoxel on my computer and Particubes on my iPad, which use the same .vox format. (Spec: https://github.com/ephtracy/voxel-model/blob/master/MagicaVoxel-file-format-vox.txt)

P#61967 2019-02-17 01:24

Cart [#pugafufahi-0#] | Code | 2019-02-16 | License: CC4-BY-NC-SA | Embed
4

Inspired by an idea from JW of Vlambeer, I built this dungeon generator.

In short it adds a bunch of rooms on top of each other and then moves them randomly around until they don't fit any longer. Usually this makes for some very nice and organic looking scenes. This version also has a bunch of other parameters like wider door ways, interconnectedness, and decoration among others. The example in this thread randomises these parameters but in the code it is fairly easy to set them up to whatever.

I've tried to document it to a degree, so hopefully it can help out if someone wants to dive into my implementation. It should be said though that I primarily wanted to visualise the process and to look nice, not necessarily be the most efficient data structure. ;)

Have fun and let me know if there are any questions!

P#61963 2019-02-16 23:53 ( Edited 2019-02-16 23:54)

A starfield effect, inspired by the old Windows screensaver, though the style is more in line with Star Trek. Use up and down to increase and decrease speed, and press X to show stats.

I used nucleartide's Pico-8 snippets, specifically vec3 and pline(), to do the 3D projection. I was encouraged by reinvdwoerd's Perspective Lines and used his cartridge to figure out how to use pline().

To really get immersed, shout "increase speed to [warp number]!" as you hold the up key or "all stop!" as you slow down to zero.

Cart [#starfield-0#] | Code | 2019-02-16 | License: CC4-BY-NC-SA | Embed

P#61959 2019-02-16 22:46

Cart [#dodge_1-0#] | Code | 2019-02-16 | No License | Embed

Dodge is a fast paced reflex game. There is no end, you just have to survive the longest possible. Enemies move towards you and it's game over if they touch you, but they explode and give you a point if they touch each other.
There is a powerup (the ball with fire particles) that you can touch to destroy all enemies that are currently on the screen.
This game is still WIP and will be updated regularly. There will be music, better sound effects, updated graphics, and maybe even some more gameplay elements depending how far we want to go with it.

P#61949 2019-02-16 15:44 ( Edited 2019-02-16 17:32)

This is my first pico-8 game ( i use to be a game mekar 8.1 maker) feel free to remix it if you want!

Cart [#kukinikofo-0#] | Code | 2019-02-16 | License: CC4-BY-NC-SA | Embed

P#61940 2019-02-16 04:22 ( Edited 2019-02-16 04:26)

Cart [#gezwupes-0#] | 2019-02-16 | License: CC4-BY-NC-SA | Embed
2

This is a short puzzle game based off of another puzzle game I saw, SPAB. The player's inputs affect the world as well as the character. I came up with some messy ways to make it work and would redo a lot of it if I made a more complete version.

If I do expand on this idea I see two ways to with it. Either a sort of action-puzzle game with fighting enemies and smoother movement, or a more complex puzzle game with much more responding environmental parts and maybe more rigid movement.

P#61936 2019-02-16 01:37

Hey all,

A slightly annoying bit of Lua syntax is how verbose the anonymous function syntax is.

For example consider a function filter function that accepts an array and a test function that accepts a single element and returns true or false if the element should be kept. The filter function would then return an array of all elements for which the test function returns true.

function filter(array, test_fn)
 local ret = {}
 for elem in all(array) do
  if (test_fn(elem)) add(ret, elem)
 end
 return ret
end

So yeah a pretty straight forward functional programming paradigm that's easy to use and awesome.

It is especially convenient to use with anonymous functions where your test function need not be defined anywhere and can instead be defined inline with the function call. Here's an example that would filter an array to only even numbered elements:

filter({1, 2, 3, 4, 5, 6, 7, 8, 9}, function(v) return v%2==0 end) -- result: {2,4,6,8}

And this is still good but I find Lua anonymous function syntax to be especially verbose. Consider a similar example in C#:

Filter(someList, (v) => v % 2 == 0)

Which is obviously much more compact and seems easier to work with especially if you're doing all of your coding in the Pico8 code editor and have limited column width for a big long anonymous function declaration.

Through work, however, I have become familiar with Havok Script which is a modified version of Lua that Havok uses and is available to developers using Havok tools. There are lots of neat features in Havok Script and few of them are of particular importance to Pico8 but consider the Havok Script implementation of anonymous functions with the same Lua example from earlier:

filter({1, 2, 3, 4, 5, 6, 7, 8, 9}, [(v)| v%2==0])

Woah, way fewer characters!

All that is going on here is '[' translates to 'function', '|' to 'return', and ']' to 'end'. No fancy lexer/parser magic at all! (well aside from needing to determine that the '[' and ']' aren't trying to index into some table)

One additional feature is that if you have an anonymous function with no parameters the empty parameter list '()' is not necessary as in this incredibly contrived example:

function wait_for_true(fn)
 while not fn() do end
end

-- wait until the game timer reaches 5 seconds
wait_for_true([| t()>5])

Now I'm not sure how viable this is with the pico8 Lua implementation and this specific style isn't necessary but it does seem like it would be in the spirit of pico8 additions to Lua to make things a bit less verbose and this is just one particular feature of Lua that I have found a bit cumbersome.

Anyway, curious if anyone else feels similarly or if this is just my own personal tastes. I know language additions at this stage in Pico8's development might not be viable or prioritized but I think it would be cool!

P#61932 2019-02-15 23:18 ( Edited 2019-02-15 23:23)

HACK*MATCH

Cart [#deadpixl_hackmatch_1-1#] | Code | 2019-02-16 | License: CC4-BY-NC-SA | Embed
3

Screenshots

About

HACK*MATCH is a mini-game in EXAPUNKS, a programming puzzle game by Zachtronics. When I first played the mini-game I loved it, and thought that it would work really well on PICO-8. This is my own version of the mini-game with some slight modifications.

How to play

The goal is to connect 4 or more of the same coloured piece. There are two ways you can do this, by either picking pieces up and putting them down in a different location, or by swapping two pieces, either the two above you, or the one you're holding and the one above you. The game takes some getting used to so it might take a few rounds before you're comfortable with the controls.

Controls

[◀] [▶] : Move EXA left/right
[▼] : Fast drop
[X] : Grab/drop piece
[O] : Swap two pieces

Changelog


16/02/2019:

  • Added the option to enable fast drop
  • Added a 1 second delay after dying to prevent accidentally missing what your score was
P#61921 2019-02-15 18:32 ( Edited 2019-02-16 16:01)

Thanks in advance for any help.

I have two Objects tabs in my Designer. Also, I am missing Fonts.

I am on a MacBook Air running 10.14.2.

Thank again!

P#61919 2019-02-15 15:39

Cart [#arcade_pong-1#] | Code | 2019-02-15 | License: CC4-BY-NC-SA | Embed
2

Welcome to my first game ever finished!

  • Controls
    • Player 1 -> E(Up) / D(own)
    • Player 2 -> Arrow Keys
  • Description
    • It is a simple PONG game that you can play alone trying to survive as long as you can or with a friend trying to beat him.
  • Special Thanks
    • Thanks to @Alfedi for finding bugs and giving me feedback <3
P#61912 2019-02-15 14:08 ( Edited 2019-02-15 15:19)

Cart [#zeldamos-0#] | Code | 2019-02-15 | No License | Embed
1

Zeldamos is a Zelda-esque Engine similar in style to the GameBoy titles.
I will be updating this throughout to hopefully make an example dungeon with combat, puzzles, and a boss.

v1.0 --

  • 8-Way Movement
  • Screen Transitions
  • HUD
P#61906 2019-02-15 07:04

using google translate

At the beginning of the year I started using PICO-8 when I found out that Celeste was born from such a simple concept.
The first thing I could discover using PICO is that you can export to html...

if you can use HTML you can visualize it directly on Android using a tool called WebView.

This is a step-by-step tutorial to use your PICO-8 cartridges on your Android phone, let's begin shall we?

What do we need:

Now we need to understand what we are going to do:

1) create an application on Android (the classic helloworld: https://developer.android.com/training/basics/firstapp/).
2) Add the WebView tool to your app (https://jgvcodigo.blogspot.com/2017/12/webview-android.html).
3) Add the controls on the html file of your cartridge.
You can use the following template and call your .js file:

https://github.com/headjump/pico8_html_template (awesome morningtoast post: https://www.lexaloffle.com/bbs/?tid=30147)

4)Finally add your html and js file inside your android project:
C: \ Users \ AndroidStudioProjects \ YOUR_PROYECT \ app \ src \ main \ assets

This is the line that made the magic:
myWebView.loadUrl("file:///android_asset/YOUR_GAME.html");
This line sends your html.

MainActivity.java

package com..;
import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {

    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);
        WebView myWebView = (WebView) this.findViewById(R.id.webView);
        myWebView.loadUrl("file:///android_asset/YOUR_GAME.html");
    }
}

So as you can see we are calling a simple html on android to be able to show our game. It seems the easiest way to have your first android application working.

And you don´t need as much knowledge to publish your Pico-8 game on Google play.

I leave my code so you can steal it https://github.com/demilion/Celeste-Classic-PICO-8-Android

It has a couple of extra lines such as having ads or integrated purchases.

{\__/}
( • . •)
/>♥ u want this?...

{\__/}
( • . •)
♥< \ NoOoOoOoO

{\__/}
( • . •)
/>♥ im joking

Let me know what you think!!!!!!

https://play.google.com/store/apps/details?id=com.demilion.a20

P#61896 2019-02-15 03:15

Cart [#pip12-0#] | Code | 2019-02-14 | No License | Embed
7

A retro platformer where Pip, the tiny birb, must collect feathers to get strong enough to return to their nest and finish their nap.

Z/C to jump and airjump
X/V to short hop (on ground) and dive (in air)

P#61895 2019-02-14 21:10 ( Edited 2019-02-14 21:20)

Hello, I saw in the new changelog that Voxatron can now run Pico 8 cartridge , I tried it on my version , but didn't find any "pico 8" section , I tried opening a .p8.png in the designer , but it just crashed the console. This feature really hyped me , so I'll be more than happy to try it , thanks to anyone who read me.

P#61894 2019-02-14 20:55 ( Edited 2019-02-14 20:56)

Cart [#descenders_v9-1#] | Code | 2019-02-16 | No License | Embed
4

updated: added ricochets / music / music toggle / screenshake toggle. use the 'return menu' to access the options.

z=shoot
x=jump
l/r=move left/right

get a high score! ammo is limited so be sure to retrieve your shots. chain together multiple kills with 1 bullet for score multipliers, and ricochet bullets off walls for bonuses.

some tips:

  1. bullets take on the left/right momentum of the player, so use that to line up shots!
  2. jumping can help you launch bullets higher!
  3. when bullets hit an enemy, their direction/travel speed is affected by the enemy movement. i.e a fast enemy moving left will knock the bullet left by a moderate amount and halt its upward momentum significantly.

Been working on and off on this for the last week or so. It's still my first week and a bit with pico-8 and coding in general so the code is a bit janky in places (methods are a bit long overall, lol)

Enjoy!

P#61870 2019-02-14 04:02 ( Edited 2019-02-16 20:55)

Cart [#ozarkrush-6#] | Code | 2019-02-15 | No License | Embed
2

-

Save small town Ozark!

Play as ArgentBot v2.02, an old rusty excavation automaton who's the only hope for the small rural town of Ozark!
After Harold Pechengsky vanished deep underground, the town's last few residents jumped ship. Now Ozark is in danger of collapse! Dig deeper and deeper and bring back riches to rescue Harold and save the town! Buy, sell, recharge, and repair your way to mineral mastery!
Inspired by Schulles' "Utopian Mining". Play it on Armor Games!

Quick Guide

Energy-
Without energy, you can't mine and harvest minerals! Make sure to recharge often at the power plant.
The deeper you go, the more energy it takes to mine, so make sure to upgrade your battery consistently.

Integrity-
If you dig too deep, the heat will start to destroy you! Low integrity will cause you to move slower so if you take damage, heal up quickly at the Garage to the far left to maintain peak efficiency.

Shop-
Sell your ores at the shop after you fill up your case. You can disable/select which ores to sell as well.

Upgrades:
-Drill - Move and mine faster
-Chassis - Store more ores and take less damage
-Battery - Recharge less often
-Coolant - Dive deeper to find better and more valuable minerals

Controls:

  • Arrow Keys to Move
  • Z/C to Interact
  • X to quit

Tip:
Hold X while mining for precise and efficient movement!

Updates:
-Smoother Motion
-Optimized CPU time

Let me know if any bugs or crashes I have over looked in the comments below!

P#61866 2019-02-14 01:20 ( Edited 2019-02-15 07:42)

Hey, everyone! I'm a hobbyist developer who finds the concept of a "fantasy console" pretty interesting, so I made a little demo based on this game I made for a programming competition for CodeWalrus, which I also remade into an Atari 2600 game. I hope it looks and plays alright!

Cart [#dishibitu-0#] | Code | 2019-02-14 | License: CC4-BY-NC-SA | Embed

P#61865 2019-02-14 00:07

a commanche like voxel renderer

Cart [#voxel8-1#] | Code | 2019-02-14 | License: CC4-BY-NC-SA | Embed
8

fix minor bugs

usage:

use arrow keys to move
press x to generate a new terrain

Cart [#voxel8-0#] | Code | 2019-02-13 | License: CC4-BY-NC-SA | Embed
8

previous version

P#61864 2019-02-13 23:00 ( Edited 2019-02-14 22:44)

Hi guys,

There's an Alakajam! event scheduled for the 22-24th February week-end!

The event is an online gamedev competition where people make a game from scratch over 48 hours. Start/end times are suited to European timezones (7pm UTC), also both the theme and the winners are decided by the community! As I write the theme submission phase in ongoing, and you can suggest your own ideas.

You can discover the winners from the last jam here</a>, for which we had 79 games aounrd the theme Falling. For the record the very first jam was actually won by a PICO-8 entry :)

More than the thrill of the competition, a cool thing is that all games are getting valuable feedback their games thanks to our voting/comment system.

If you're interested feel free to check in, we also have a Discord & an IRC chan. See you there!

[16x16]

P#61861 2019-02-13 22:02 ( Edited 2019-02-13 22:02)

 
Cart [#adelie-0#] | Code | 2019-02-13 | License: CC4-BY-NC-SA | Embed
6

A metroidvania mod of Celeste Classic. :)

P#61855 2019-02-13 19:49
View Older Posts
X
About | Contact | Updates | Terms of Use
Follow Lexaloffle:        
Generated 2019-02-17 03:54 | 0.121s | 4194k | Q:193