Log In  

BBS > Superblog
Posts: All | Following    GIFs: All | Postcarts    Off-site: Accounts

Cart #51409 | 2018-04-08 | Code ▽ | Embed ▽ | No License
3

Hey! Do you know with the video games industry you can earnd lot of money? Do you want some money? So, why do not made games?

To Publish a game, you need first Combine one Art point and one Developpement point. To create this point, click on the big square button on the left. When the progress bar is finish, you earn some points. You can upgrade you progress speed with the Plus button at the left. And if you want to upgrade your productivity, you can change the upgrade type and click again on the Plus button.

This game was create for the Meta Game Jam (https://itch.io/jam/metagamejam), with a mix between a parody of AdVenture Capitalist and Game Developement.

[ Continue Reading.. ]

3
0 comments


Here's a repo with the code and more details on GitHub

PICO-8 has a GPIO interface supporting 128 pins, each of which can store a 128-bit unsigned integer (0-255). However Raspberry PI and CHIP only support consuming each GPIO pin as a single bit (0 or 255), and only have pins for a small subset of the 128 virtual slots. The Pocket CHIP only has 6 fully-exposed pins (indices 2-7).

This means that if you want to pass GPIO information that can be used easily with any platform that runs PICO-8, you only get six on-and-off slots, which doesn't sound that great. Until you consider that you can still use those 6 slots to encode an integer up to 6 bits (-32 to 31 signed, or 0 to 63 unsigned!). Even a 3-bit int (0-7 unsigned) can often be enough to encode meaningful state information for many games, which can be used to trigger vibrations, color lights, etc.

The trouble is, taking a decimal value and encoding it as binary with PICO-8's built-in GPIO functions, then reading it again later, is not simple. PICO-8 Messenger provides utility functions which abstract away the bit-shifting and let you just read and write numbers.

Usage

Copy the functions you need from pico8-messenger.lua into your .p8 file.

-- included definition for write_gpio
-- included definition for read_gpio

-- write the number -1 to bits 2 through 4
write_gpio(-1, 2, 3)

-- print out the number stored in bits 5 through 7
print(read_gpio(5, 3), 8, 8, 7)

[ Continue Reading.. ]

2
0 comments


Cart #51707 | 2018-04-17 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1


Improved the text box system, and some code refactoring. I'm gonna use some of the stuff I improved here in future games!

Cart #51392 | 2018-04-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1


For the BYUi game jam! By Alex, Alan, and Cam. Also available on itch.io!

1
0 comments


so i have a function where the enemies have enemy1.isalive = true enemy2.isalive = false so i got that system working so how can i check to see if all enemy1.isalive are false (BY the way all enemies are in a group called enemy = {} i add every one of them sorry for no snippets)

1
20 comments


Cart #51377 | 2018-04-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

3
1 comment


       ・ 。
        ☆∴。 
        ・゚
。★・゚。・
         ・ ゚。  
         ・ ゚。・゚。 ゚。・゚★。
          ☆゚・。°. ゚ ☆゚・
          ゚。·
・。 ゚ ゚。·・。 ゚
          ゚
.。☆。★ ・ *.。☆。★ ・

[ Continue Reading.. ]

24
2 comments



What it is and does:

  • 3D single-point camera(pan and zoom, no rotation)
  • Sorted draw of "scubes" (small cubes/sprite cubes) and "lcubes" (large cubes, collections of scubes - but they could be any shape)
  • Generates voxel data from the cart's sprite map! It works by combining a texture map, a depth map, and an address into the texture data to generate scubes. Then some additional post-processing allows the scubes to be transformed opening possibilities for procedural terrain etc.

I'm not sure how much further I'll go in developing this one because the game I'm making needs something a little more suited to crisp, accurate walls and corridors and I ended up with this after iterating through polygonal voxel cubes first and finding that this technique could approximate that result with far fewer tokens. So I cleaned it up a bit and started thinking about how to make it do things more like old Sega games(Space Harrier, Outrun, Power Drift, Galaxy Force), but the asset pipeline isn't quite as complete as I want yet - so if you want to step in, please go ahead. This probably won't be my focus for a while.

0 comments


I want to share a game that is WIP to a friend that does not have Pico8 emulator.
I'd love to upload them here and be able to give a non-indexed link to a friend, so he can play with a browser, but I only see the option to upload and play the game from website if it's posted publicly on the forum.

Dropbox and Drive dropped support to serve html.

What's a best and easiest way to sahre a game to a friend so that he only has to click a link and play from browser, while not being totally public?

7 comments


Cart #51336 | 2018-04-05 | Code ▽ | Embed ▽ | No License
2

Sinopsis

Blackout is a game with a simple core mechanic. You cannot see. You will have to pick up some items around, but you will have to do it only with the help of the sounds around.

Gameplay

Use the arrow keys to move.
Press "X" to pick up the item. You will only pick up the item when you are above it.

About

My name is "Bibiki". I'm a composer/sound designer interested also in learning programming and game design, so pico8 is an awesome tool for learning. This is my second attempt to make a pico8 game, and even though the mechanic is simple, I feel very happy about a game done with a sound mechanic.

If you want, you can follow more of my stuff in twitter: @BibikiGL

Also, thank you very much to @egordorichev for making this awesome menu!

Any feedback is welcome :)

2
2 comments


Hi

I am making a ninja game now.

I need a really cool background music. I tried to use music editor with PICO-8 but I don't I have any sense of creating

a cool music. Creating a music was really simple, but create a good or cool music is a different thing which requires

talent of creating music which is totally unrelated with coding.

That's why I am looking for a cool music which is allowed to use free.

I tried to google "pico-8 free music" "free song pico-8" but found nothing.

3 comments




(Note: I already pushed it a few days ago, but I deleted it by accident^^)

Hello,
Just programmed a simple "Menu Manager" and I thought, it can be useful for others. :)

It presents a way to write your own Menu, moving a cursor with Arrow-Keys (Up/Down), select an Entry (X) and call a Function.

The Sourcecode is well documented.

EXAMPLE

menu={}

function menu.update() --Copy from Cartridge
function menu.draw() --Copy from Cartridge

function _update()
 menu.update()
end

function _draw()
 menu.draw()
end

function entry_one()
 cls()
 print("entry one selected!")
end

function entry_two()
 cls()
 print("entry two selected!")
end

function entry_x()
 cls()
 print("entry x selected!")
end

cls()
menu.entries = {
 "text entry one", entry_one,
 "text entry two", entry_two,
 "text entry x", entry_x}
cursor(26,40)
menu.start()

[ Continue Reading.. ]

0 comments


The fact you can read and write PICO-8 GPIO values from the web wrapper is awesome - it means you can do things like emit vibrations according to game state, change the site theme to match different in-game levels, or maybe even develop a brand new input scheme.

However the API for reading these values is a bit basic... PICO-8 writes GPIO values to an array, and it's up to you, the developer to check those values periodically to see if they're different. What if you could just tell JavaScript to let you know whenever the GPIO pins get updated with new values?

Voilà:

var gpio = getP8Gpio();
var unsubscribe = gpio.subscribe(function(indices) {
  console.log(
    'New values at indices ' + indices.join(', ') + ': ' +
    indices.map(function(i) { return gpio[i]; }).join(', ')
  );
});
// unsubscribe later if you want...
unsubscribe();

This uses JavaScript setters under the hood to watch each index in the array, which means the watching part is shoved into a native background thread (== faster!). No need to write once-a-frame JS iterator loops or anything like that. Whenever PICO-8 writes to the GPIO array, you get notified immediately.

Of course you can also write back to the GPIO array:

gpio[3] = 255;
gpio[4] = 0;

[ Continue Reading.. ]

11
3 comments


I want my web export to support mobile. But if you're like me, you might find the API for controlling touch button inputs from a web page a bit esoteric, and not super easy to read/write. Why not write a tiny API wrapper that makes this much easier?

If you have a page that looks like this:

<!-- ... cart stuff -->
<button id="left"> < </button>
<button id="right"> > </button>
<button id="up"> /\ </button>
<button id="down"> \/ </button>
<button id="o"> O </button>
<button id="x"> X </button>
<! -- ... -->

Include this in your page...

(function() {
  var __btns = {};

  function update_btns(playerIndex) {
    pico8_buttons[playerIndex] =
      Object.keys(__btns[playerIndex]).reduce(function(val, btn) {
        return val | (__btns[playerIndex][btn] ? Math.pow(2, btn) : 0);
      }, 0);
  }

  function registerP8Btn(domElement, btnIndex, playerIndex) {
    playerIndex = playerIndex || 0;
    window.pico8_buttons = window.pico8_buttons || [];
    pico8_buttons[playerIndex] = pico8_buttons[playerIndex] || 0;
    __btns[playerIndex] = __btns[playerIndex] || {};
    domElement.addEventListener('touchstart', function() {
      __btns[playerIndex][btnIndex] = true;
      update_btns(playerIndex);
    });
    domElement.addEventListener('touchend', function() {
      __btns[playerIndex][btnIndex] = false;
      update_btns(playerIndex);
    });
  }

  window.registerP8Btn = registerP8Btn;
})();

[ Continue Reading.. ]

1
1 comment


Cart #charlie4-3 | 2019-04-24 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
8

Charlie is back from the research lab! Now he can lock the brain into keys and scales. He will still have to teach his neural network (music brain) how to make musical sounds.

When he starts the machine for the first time, it will make a random sound or maybe nothing at all. To hear the sound of this brain again he can press the green PLAY button in the upper left. To reward the machine for playing something sort of musical, he can press the red LEARN button. This will modify the brain and a new sound will play, usually similar to the first but not always. If the new sound is still "musical," he can press LEARN again to get more creative. To save this brain to the cartdata, he can press the gray SAVE button. To randomly reset the brain's concept of music, he can press the blue RESET button.

[ Continue Reading.. ]

8
5 comments



So this was a quick project made for mouse and keyboard functionality in future projects. Hopefully someone out there will find it useful for them as well! Below is a "Features" list which also serves as a guide that explains how it works and how to utilize it, as well as some notes about particulars. Enjoy!

Features:

Keyboard and Mouse state monitoring through the use of _keyboard() and _mouse() functions in the update step.*See below.

Currently Pressed Keyboard Key is stored in _kbk.

[box=111111]A keyboard string is stored in _kbs and sent to the "terminal," or _kbt, when return/enter is pressed. Afterwhich kbs is cleared.

[color=#ffaabb] [ Continue Reading.. ]

1
2 comments


Cart #51245 | 2018-04-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5

Super simple solar system. Left/right to adjust time, up/down to adjust zoom.

This is a port of an orrery I wrote in C++ back in 2003 or so. It was fun trying to cram it into the Pico-8, with its limited numeric precision.

Printing the date proved to be more of a challenge than just about anything else. I haven't tried to write the reverse function yet (year/month/day to Julian day number) so the cartridge just starts up somewhere near the beginning of the current year.

Not recommended to plan horoscopes or Mars missions with this thing, but compare it with https://ssd.jpl.nasa.gov/?ss_inner or https://ssd.jpl.nasa.gov/?ss_outer, which is where I got the orbital elements from.

Putting a Lambert solver in so you could plan Mars missions (despite what I just said) would be a fun next step.

5
5 comments


Cart #51244 | 2018-04-03 | Code ▽ | Embed ▽ | No License
9

MSX FAN 1991年2月号に掲載された、ADRESSさん作ICE-MANをPICO-8に移植してみました。

MSXは256x192ピクセル、PICO-8は128x128ということで、アレンジしました。

ステージは全9ステージ、全てクリアするとお楽しみもありますので、挑戦してみてください。

カーソルキーで移動、zで左にxで右にアイスブロックを出します。

アイスブロックは消すことが出来ません、詰んだらリトライをしてください(何もキーを押さないでいると、メニューが表示されます)。

--- Google translation ---

I tried transplanting ADRESS's ICE-MAN posted in the February 1991 issue of MSX FAN to PICO-8.

MSX was 256 × 192 pixels, PICO - 8 was 128 × 128, so I arranged it.

Since the stage has 9 stages all, if you clear it all, we also have fun, so please challenge.

Move with the cursor keys, z to the left and x to the right to issue an ice block.

Ice block can not be erased, please try retrying (if you do not press any key, the menu will be displayed).

9
6 comments


Cart #51449 | 2018-04-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
24

1-2 player beat em up based on the Nes version of Bad Dudes with a bit of Mighty Final Fight mixed in. Made in 2 weeks for the metagamejam.

V.1.3
Added hit sprites.
Added 1 music track (More to come)
Fiddled with sfx a bit
Improved Ron-Bots dmg and shot animation.
V.1.2
Fixed another 2 player bug when 1st player dies.
Fixed tag-in bug after dying.
V.1.1
Fixed continue bug where level auto clears after continuing
Fixed stuck continue msg.
Fixed Negative health bar on enemies.
Fixed 2 player bug when 1st player dies.
Fixed 2 player Ron-Bot AI bug.
Added a short invunerablitly to enemies after falling.
Added stop/go staggering to stop people running through the level.(Beta)

[ Continue Reading.. ]

24
20 comments


Cart #51217 | 2018-04-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

So this is mostly for those of you who are thinking about ChessJam and wondering if the Pico8 is tough enough for the job.

The answer is clearly "Yes!" (1). Here is my implementation of a Sid Sackson classic board game Lines of Action. OF interest is that I'm using Negamax, bit boards and the 0x4300 user memory for the storing thereof.

There is unfortunately some kind of bug hiding in my (horrible, horrible) code that means the smart AI occasionally glitches the game state. I did mostly write this late at night during a period I wasn't sleeping well. I am very hapy with the code about the menus though.

(1) People have managed to fit (most of chess) into a ZX81 (that's a whole 1K of ram they were working with). http://users.ox.ac.uk/~uzdm0006/scans/1kchess/

0 comments


Cart #51208 | 2018-04-02 | Code ▽ | Embed ▽ | No License
3

This game was made in a game jam ran during a retrogaming event.
This year the theme was maze, a boss and the Odyssey.

My game is far from being finished, I didn't worked really long on it (4-5 hours maximum) and mostly only the rendering is done (and may still need some tweaks)

When playing the X button allow to display a debug view of the maze, which is for now, not generated randomly. I hope to update it at a later time to add all of what I wanted to include in it!

The final game should include some RPG elements, HP, EXP points, attack, treasure to find and grab, different levels and in the end the big boss that you have to kill to be able to escape the maze.

The polyfill function is from scgrn ( see https://www.lexaloffle.com/bbs/?tid=28312 ) modified to not directly write to memory to support the fill pattern.
If anyone have a better fillpoly function, one that can do even better dithering than using the fillp I will probably switch to it to have smoother gradients.

3
5 comments




Top    Load More Posts ->