Log In  

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

Cart #23215 | 2016-06-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

A rhythm game for the Pico-8.

Controls: Press arrows with timing for great justice.

Music Credit: Wistful Waltz by 0xbad1dea, see this thread (big thanks).

UPDATED 0.3: Silly title screen, particle effects, persistent high scores. Still only one song, more coming soon(TM).

I'm no musician, so if anyone would like to submit a song for the Pico-8 for the full version I'd much appreciate it (with full credits included of course).

P.S. My high score is 7660, apparently that's pretty good?

Old Versions:
0.1.2
Cart #22938 | 2016-06-15 | Code ▽ | Embed ▽ | No License
6


"This is a quick demo that I did this evening. I'm hoping to build it out into a more fully featured game soon."

0.2

Cart #23082 | 2016-06-17 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6


"Now updated with some shiny new graphics, and some infrastructure in place towards multiple songs (only 1 actual song currently)."

6
14 comments


https://itch.io/jam/a-game-by-its-cover-2016

MAKE A GAME INSPIRED BY FAMICASE COVER ART

Submission open from July 1st 2016 at 1:00 AM to August 1st 2016 at 1:00 AM

What is Famicase?
It's an art exhibition of fictional NES cartridge art.
Selected artists and designers are invited to contribute.
It is hosted by and at a shop called Meteor in Tokyo, Japan.
http://famicase.com/16/index.html

What is the jam about?
It's fun to turn things around and make real games of the fictional artwork.

2015 entries:
https://itch.io/jam/a-game-by-its-cover-2016
http://www.youtube.com/playlist?list=PLYKU1lvSF85cpvEFdFvcgmnTbeA4Ka6Nu

Disclaimer:
I'm one of the hosts of this jam so I'd love to see some pico8 entries!

3
1 comment


Cart #22905 | 2016-06-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


Hey all,
Just my first little game in pico-8, which means that it is horrendous. I was wondering if anyone would like to critique my current code and suggest improvements, particularly to the collision detection "system". Thanks!
-jad340

0 comments


You can find the episode here!

#2: just jammin'

The quality of work in this jam was so high! This episode is a bit long, but that's not going to happen very often. We just thought every game warranted a discussion. The work ranges from old pros to first time developers, and really shows the talent and enthusiasm of the Pico-8 community.

Please let me know if you have any feedback, or if you'd like to join me for a future episode!

Tony

4
17 comments


I initially just wanted to display a large text for a title screen... and I ended with this.

Cart #22890 | 2016-06-14 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
13

use:
left and right to control the scrolling speed (two ways)
up and down to control the wave frequency

call scan_text() at the beginning of your program : it clears the screen twice
you can add your own effects very easily into put_sintext() - the existing five ones should help

13
5 comments


So here it goes.

The project, due to its scope, is currently at concept stage (no actual code has been written yet).

The idea is to create a "universal" emulator for (fantasy or not) microcomputers. EVC would be fully customizable by loading specific modules for things like CPU, GPU and so on that are basically DLLs written to specific specs. Example cores would be included and entirety would be open source.

There are two types of modules that you would be able to write for the EVC: Core and Generic. Core modules are fixed by their role (GPU module, CPU module and so on). This is planned list for the core modules:

  • CPU module
  • GPU module
  • Drive I/O module
  • Peripheral I/O module
  • Sound module
  • System ROM (firmware)

Last one is kinda special as this would be just a regular EVC ROM compatible with the hardware selected for i/o, gpu and cpu and is executed like any program. System ROM will always be loaded at address 0.

The Generic modules are additional extensions that can be loaded for doing specialized things, such as network communication, ram extenders (if maximum is too low) and so on. Up to 3 Generic Modules can be connected at the same time.

Both Core and Generic modules will have read/write access to the EVC's basic RAM which can be set to anywhere betweem 16kb and 2mb.

EVC ROM specification.

Each EVC rom begins with the EVC header which consists of the following:

-Bytes 186,218,85
32bit integer denoting CPU identifier the rom is made for
32bit integer denoting GPU identifier the rom is made for
32bit integer denoting Sound module identifier the rom is made for
32bit integer denoting Disk I/O module identifier the rom is made for
32bit integer denoting Peripheral I/O module identifier the rom is made for
32bit integer denoting Generic Module #1 identifier required (-1 if less than 1 needed)
32bit integer denoting Generic Module #2 identifier required (-1 if less than 2 needed)
32bit integer denoting Generic Module #3 identifier required (-1 if less than 3 needed)

The rest of the ROM is completely arbitrary and rom size isn't limited in any way. It is up to I/O module to interpret it and load properly. In theory, it should be possible to create set of core and extension modules to emulate say, NES, but then every ROM would need to be converted to contain EVC header before standard INES one.

EVC will be written in Free Pascal using Lazarus IDE

That's all I got for now, please poke holes in this design as it's important to get it as good as it can be before any actual work would start.

16 comments


Cart #22888 | 2016-06-14 | Code ▽ | Embed ▽ | No License
2

Very first Pico-8 game.

It's going to be a shoot em up where your bullets have gravity!

2
10 comments


Thinking about it, but unsure whether I should post it there or not.

1
13 comments


so maybe this is impossible, or maybe theres something similar that works, but i can't seem to come up with an idea

for reference, this is relating to https://www.lexaloffle.com/bbs/?tid=3585

so right now, the grid for the maze is a two dimensional array. i'm creating it with all values set at 1 (wall), then manually setting values for blocks as 0 (for walkable areas)

this is fine for the little 8x8 maze i made manually for the WIP, but won't scale very well for 16x16 dungeons with multiple floors, just the legwork/tokens required is awful to think about. so i'm trying to come up with other ideas on ways to do this

what im thinking is, its easy to draw the maps as sprites, but is there some way to like..read the sprites as data into an array? like if i could parse 16x16 worth of sprite so that each pixel is a datapoint in a 16x16 array, that would save me tons of space (and effort), but im not sure if thats actually possible. i cant come up with any way to do it anyway, but if someone knows of a way to make this happen im all ears

(alternatively if someone has an idea of an easier way to handle this im always curious about clever suggestions)

7 comments


Is it possible to get an option in the config file for where to save GIFs and screenshots?

Saving images and gifs really quickly is great but it can fill up the desktop, and it's nice to keep them all in one place. An option in the config file would be great for choosing where they go.

Is there anyone else who would appreciate the option, or is there a simple way to do it already?

1 comment



View on Github.com

You miss built-in lua functions such as ipairs or getmetatable in pico-8? Well, fear no more.

Currently supported Lua "built-in" functions

    getmetatable
    setmetatable
    rawget
    unpack
    ipairs
    table.pack
    table.unpack as an alias to unpack
    table.insert
    table.remove
    table.sort

Tested to imitate their counterparts

Travis-CI is set to test missing.lua against test.lua, which compares results of this library functions with the built-in ones. Well, tests may be incomplete, so do not hesitate to flag a bug to the issue tracker if something goes wrong.

[b]How to use

[ Continue Reading.. ]

4
4 comments


Cart #23051 | 2016-06-17 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

Cart #22812 | 2016-06-13 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

Sanic Rick 0.1

Collision is now "perfect".
Fully commentated code for beginners to see and think about.

4
0 comments


Cart #23035 | 2016-06-17 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
109

FEATURES INCLUDE:

  • Bumpin' soundtrack
  • Freakishly lifelike graphics
  • Cute lil sloth guy
  • Relatively breakneck speeds
  • Innovative day/night system
  • Vast array of 7 different obstacles
  • Puns

(The point of the game is to see how long you can play before killing yourself out of boredom)

Version History:


v1.0:
Initial release!

v1.1:
Fixed a bug where day doesn't get reset after restarting game. My bad.

v1.2
Fixed a bug where tally marks get screwed up once you hit ~240 points, which is an absurdly high number of points. Thanks so much to @le_gars for finding and fixing this!

109
39 comments


Cart #22781 | 2016-06-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
26

26
6 comments


For your games, you could have to manage a score greater than 32768 (I like games were I can score millions), and often, you want the score displayed in a fixed length, prepended with zeros (00072635).
But managing this can consume lot of tokens.

I came accros a solution I'm quite proud (I'm still learning Lua...) and wanted to share.

In Lua, if you do : "the score is "..score , score is converted into a string and then concatenated to the first one.
So to convert a number into a string, you just have to write : ''"..score

I wrote a recursive function that takes a string and a number (the length) and returns a string padded with zeros at its beginning to reach the desired length :

function pad(string,length)
  if (#string==length) return string
  return "0"..pad(string, length-1)
end

score=723
print(pad(""..score,7))  -- will display 0000723

Elegant and thrifty, isn't it ?

Then, you can use two variables, score2 will store the 10 thousands, score1 anything under 10000
each time your player scores something, you add it to score1 and you test if it's above 9999 :

if score1>9999 then
    score1-=9999
    score2+=1
  end

[ Continue Reading.. ]

5
5 comments


Hello, i'm coding a character movement but it don't work, why ? :(

Code :

function _init()
	hero = {}
	hero.x = 64
	hero.y = 64
end

function _uptade()
	if btn(0) then 
		hero.x = hero.x - 1
	end
	if btn(1) then 
		hero.x = hero.x + 1
	end
end

function _draw()
	cls()
	spr(0,hero.x,hero.y)
end

my character don't move :(

2 comments



A howto about rotating a sprite around its center...
Use left and right arrows to spin the sprite.

84
53 comments


Cart #22763 | 2016-06-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Cart #22751 | 2016-06-12 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Pico Cup
Pico Cup is a game about European football/soccer. Do penalty kicks and shoot goals. Hear the crowd cheer. You're the player. The fate of the team depends on you. Don't fail and make your favorite team win the cup.

Controls
Arrows - select options, kick ball
Z - kick ball up-left
X - kick ball up-right, accept team selection

[ Continue Reading.. ]

2
2 comments


Hi, for a game I'm working on, you can choose between two characters. But I dont have enough space to store the two characters in the same cart. I was thinking about releasing two carts, each one with a character.

The issue is that a given thread in the BBS only show the most recent cart in the "splore" of Pico 8.
Do I need to make two separate threads then ? Or is there a way to show or choose what cart is shown in splore ?

I could also try a multiple cartridge thing, like with a main cart with a selection menu, and two cart for the characters. But I dont think it work in web player or in splore. You would need to download the 3 carts manualy.

Is there a better idea than two separate threads ?

4 comments


Cart #22711 | 2016-06-11 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
42

Accidentally found a fun wavy transition effect while screwing around with math.

I added nice comments to the source. Try pulling it down and tweaking the values to see if you can make it even cuter-looking.

--timer
t=0

function _update()
 --increase timer
 t+=0.05
end

function _draw()
 cls()

 --this crazy bit loops through
 --limited background colors,
 --and changes it when the
 --screen is covered with white
 local c = 12 + ((t-2.55)/4)%4
 rectfill(0,0,128,128,c)

 for i=0,8 do -- column loop
  for j=0,8 do -- row loop
  	--x positions are snapped
  	--to 16px columns
  	local x = i*16

  	--this number sweeps back
  	--and forth from -1 to 1
  	local osc1 = sin(t+i*0.1)

  	--this number also sweeps
  	--back and forth, but at
  	--a different rate
  	local osc2 = sin(t/4+j*0.03)

  	--y positions are influenced
  	--by one of the sweepy
  	--numbers
  	local y = j*16 + osc1*10

  	--the circles' radii are
  	--influenced by the other
  	--sweepy number
   circfill(x, y, osc2*15, 7)
  end
 end
end
42
2 comments




Top    Load More Posts ->