Log In  

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

Cart #40162 | 2017-05-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

Cart #40159 | 2017-05-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

This is my first game, please enjoy!

1.1 fixed controls on title screen

1
0 comments


Cart #40919 | 2017-05-24 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21

Cart #40801 | 2017-05-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21

So this started on this thread by weeble but I ended up rather... running away with the code idea and overhauling it drastically.

While I've resumed working w/ Weeble on this in his original thread, I'm keeping this thread updated as well as I make changes.

V2.0 details
[hidden]

Cart #40742 | 2017-05-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21

Cart #40463 | 2017-05-11 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21

Cart #40406 | 2017-05-10 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21

Cart #40386 | 2017-05-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Cart #40308 | 2017-05-08 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21

Cart #40147 | 2017-05-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21

Cart #40129 | 2017-05-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
21

Also with V2.1 I've moved the various data tables needed outside of the sprite sheet, copied up from page 3 which is the one tiles are rendered into in-game, so all of the first two sprite pages are available for graphics as is the first two rows and change of page #2.

With V2.2 I've added the initial code for clipping regions, to avoid redrawing the entire screen every frame. This is a MASSIVE speedup, pushing CPU usage outside of screen-transition periods down to 5% CPU at 60fps in most cases. I'm working on a '16x16 bitfield' based solution that will instead re-render the screen in regions as small as 8x8 pixels per frame, allowing for multiple moving objects that way.

I've also cut the CPU used for baking the tile graphics in half from ~2.5 frames at 60fps to ~1.3 frames at 60fps with this release, while the token count and overall codesize has actually gone down.

Finally, the game picks a random room in the entire 16x16 grid to start you in, so you get different areas of the maze each time you restart the cart. So hit Ctrl+R a few times to see all the various biomes.

As a caveat I have removed the 'biome viewer' in this version for now, as I'm redesigning the interface to be a general-purpose editor for the maze itself, including setting biomes on the maze and editing individual biomes directly.

As of V2.3 I've integrated newer 'cavern generation' code that weeble came up with, to avoid blocking paths and allowing for much denser 'crazyness' to occur, as well as my 'context sensitive dithering' code which makes the transition tiles look much more alive and distinct now.

I'm working on some additional cavern smoothing functions to retain the 'crowded' feel without having quite so many dead side-passages at times, and adding a caching layer for the more expensive parts of the room-generation, to allow much of it to be generated in the background as you walk around a room to get to the next exit.

V2.4 adds a fourth unique room design for some biomes, one with much deeper, winding passages and a crowded feel.

V2.5 adds a MASSIVE speedup to the bake_tiles function by calculating the 'masked' tiles a full 32-bit row of 8 pixels at a time. So one fourth as many calculations in exchange for a bit of bit-shifting to load/save the values, but overall it's a HUGE win, including on token-count! Only 2814 tokens current! :D As a note, the masking colors are now 2/3, 4, 5, and 6/7, with values 0, 1, and all those above 7 MUST be avoided in the masks now.

As an interim release, V2.5-caching includes a further sped up tile-rendering codebase which is also moving some data from peek/poke memory to lua memory, taking up roughly 128k of the 1MB available with pre-rendering graphics tiles organized for faster rendering. This transition is freeing up enough speed that I am preparing to remove the 'biome' approach and allow direct per-maze-room assignment of walls, floors, and borders (including palettes) to simplify world painting. The trade-off is worlds will take ~768 bytes of sprite/map memory to store instead of ~512 bytes as they are now.

[ Continue Reading.. ]

21
5 comments


Cart #40113 | 2017-05-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

This is my entry for my first gamejam ever, ludum dare 38:
https://ldjam.com/events/ludum-dare/38/momma-zilla

Mother nature has sent Momma ZILLA and her kiddos to punish humanity.

Collect baby ZILLAS for help!
When a building is destroyed, you can eat the humans for health
Z is to fire
X is blink
Dodge missiles!
Avoid fire!
Buildings hinder your path!
Crush vehicles!
2 minutes to cause as much destruction as possible. Get the high score!

0 comments


increment_second = function(this)
	this.second = (this.second + 1) % 60
	if this.second == 0 then
		this.minute = (this.minute + 1) % 60
		if this.minute == 0 then
			this.hour = (this.hour + 1) % 24
			if this.hour == 0 then
				this.day = this.day + 1
				if this.day > days_in_a_month[this.month] or this.day > 29 and this.month == 2 and this.year % 4 == 0 then
					this.day = 1
					this.month = (this.month % 12) + 1
					if this.month == 1 then
						this.year += 1
					end
				end
			end
		end
	end
end

I'm creating a tamagotchi kit, and since os.clock is no longer part of the API, I figured it'd be okay if the user would have to type his/her current time at every launch.

Currently at 1500 tokens, with a datetime input screen, an "are you sure this is correct?" screen, a class for stats/resources (ie. health, hunger, random_event_countdown, etc...), a class for date calculations, and plenty of overflow control for both classes.

Nearly done, but before I submit it, I'd like to inquire if there's a possible improvement to this eye sore of a function?

5 comments


Hi all,

In case anyone is interested...

[box=c2c3c7]AdventureJam returns for its third year of game development pandemonium as anyone with a computer, an idea, and an internet connection is invited to create an adventure game over the course of 14 days!

Whether you love point & click adventure, text adventure or exploring 3D environments, we want you to jump in and create a game that embodies the spirit of adventure, whatever that means for you! Adventure games have been around nearly as long as computers, and what began with words on a black screen has evolved into an amazing spectrum of gaming experiences. Let's celebrate the awesome legacy this genre has created with 14 days of pixels, puzzles, parody and pathos!

AdventureJam will begin May 5th at 9:00 PM EST, and end precisely 14 days later on May 19th 9:00 PM EST. The voting process will follow immediately after the jam concludes, and will last until June 16th at 9:00 PM EST.

So [b]GET LAMP... GET SWORD... and GET READY... for AdventureJam!

[ Continue Reading.. ]

3
0 comments


Cart #40096 | 2017-05-01 | Code ▽ | Embed ▽ | No License

Get hyped, Esc community!

0 comments


Cart #40095 | 2017-05-01 | Code ▽ | Embed ▽ | No License
1

v1.1
Note: Works a bit better in actual PICO-8.

1
0 comments


Cart #40083 | 2017-04-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

I decided that the first game I should make for this system would be an homage to the earliest game I have strong memories of playing : “Moon Mine“. Published in 1983, “Moon Mine” was available only on the TI-99/4a, Which means that nobody has ever heard of it. I had it though, and it was a blast. For years this was my favorite game.
So here’s my remake. Made from memory and by closely examining the old game manual I found in the basement.

The original classic was made by Rob F Hendren and John Phillips and I’ve always felt it didn’t get enough nostalgia love.

The instructions are in the system menu. Basically use the arrow keys to move the lasers. O to fire. X to beam down a crew-member to retrieve minerals and water samples.

1
0 comments


Cart #40080 | 2017-04-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

Controls

Z to start. Z to flip box over to next side. Arrows move the barcode scanner. X scans a barcode. Z to restart from the game over screen.
Objective
Scan as many barcodes as you can in the 90 seconds allotted. Be careful not to flip the boxes too fast, or you'll have to go all the way back around.​

Commentary

​This game has been on the back burner for ages. The inspiration was trying to simulate a cube/box that you could flip over in a semi-real way, but I spent ages messing with that and ultimately couldn't make it work. It was a classic case of solving a problem the game didn't need to be solved. I changed it so that the box always flipped over to the 'next' side, so you just needed to carefully press one button instead of imagining a real cube. It's not as cool, but it did allow this game to happen.​

itch.io page: here

[ Continue Reading.. ]

1
2 comments


Cart #40065 | 2017-04-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
7

made for BANANA JAM to be played on a DIY arcade machine (made from banana boxes) on RETROSPELSMÄSSAN 2017 at BANANPIREN. check out the jam entry here: https://catnip.itch.io/monoid

made by Ossian Borén (pod3x3) and Erik Svedäng ({Else.Heartbreak})

MONOID is a shooter with a polarity mechanic (Ikaruga, Fast Racing). You can only be hurt by projectiles the flashing projectiles, switch polarity to change them into powerups instead! you have a shared energy meter for both health and ammo.
you get 1 point per pickup and 10 points per enemy, but each pickup you get without getting it will add a multiplier of 1. while you have less than 20 energy that multiplier is doubled. have fun!

7
3 comments


How to add extra keys

observing a vertical shooter game PAT Shooter all the default player 1 keys (up, down, left right, z,x) were assigned I was trying to add more keys (for example 'A' for refill rockets).

btn(0),btn(1),btn(2),btn(3),btn(4),btn(5) -> all working as default player 1 keys but now I want to add
btn(6). Can anyone tell me how to do that

3 comments


Cart #40052 | 2017-04-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
17

My first Pico-8 project. Hope you like jumping in the snow :)

17
5 comments



Hey everyone! I suffer from idea blocks pretty regularly so I made this tool. Most of the time game idea generators will generate a cool name or something, but this one is based around relationships between verbs. You can arrange the cards however you like, using as many (or as few) cards as you'd like, and then generate ideas! I like to just continually generate them until something pops out to me and then I save a screenshot to the desktop.

I hope it helps someone other than me!

3
2 comments


Cart #40042 | 2017-04-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4


A prototype game from Bennett's class.
First time try to make a game in pico8, the music is stolen from youtube gaming theme songs~
It's really fun to make game in pico8~

4
2 comments


Cart #40042 | 2017-04-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4


A prototype game from Bennett's class.
First time try to make a game in pico8, the music is stolen from youtube gaming theme songs~
It's really fun to make game in pico8~

0 comments


Cart #40029 | 2017-04-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
9

Little experiment I made on the plane, using double-damped movement.

9
2 comments




Here is a function I made that is small and simple but may be useful to everyone. It launches a bunch of functions you've set, checking how many times each can be called in a frame and print sorted results so that the quickest function shows first. So, tailor made for optimisation or just know which is the fastest of many functions achieving the same goal. For example I needed to answer this agonizing question: when drawing a single big "+" sign, is it better to use 2 rectfills but draw twice the center zone, or to draw 3 rectfills (middle bar, plus left and right bars) so that no pixel is drawn twice? Now I'm ready and prepared to meet the Sphinx.

The running example here shows what is the fastest way to clear a screen between a cls or a rectfill (well, I made the wrong choice for months!) Just for fun I added clearing the screen with a bunch of lines and even psets. Surprisingly, lines are not that a bad choice against cls. Maybe there are more efficient ways I don't know, with peek or so. With this function they're easy to test.

The use and process are simple, the code above should be clear enough. If not, just declare an array containing your functions to test, each as an object with 2 properties :

  • name: used for showing results
  • f: your function

Then in _update (or _update60 if you want to get results every 1/60 second) call stat1comparator() with your functions array as argument. stat1comparator will then launch each function as many times it is possible before going beyond one frame and show results once it's done. For precision results also show how many iteration were called before going outside of the frame, and what were the precise time needed (with the limit of Pico float precision). The ratio iterations/time is used to sort the list. Just be aware that to get consistent results stat1comparator needs entire frames, so don't call it after any other processing.

And for the "+" enigma answer, I let you find by yourself :).


Twitter | Facebook | Pinterest | RedBubble

4
1 comment



I made this to try and learn a bit more about PICO-8. I am a programmer by trade but this is the first wee game I've tried to make in PICO-8.

I apologise for the terrible music - this is definitely the thing I am weakest at. :)

I set myself a target of finishing something within approximately a day of effort. The eating microgame never made it into this minigame.

1
2 comments



Here's a stab at some lossy compression of the Bad Apple animation-- clocking in at 25 seconds long without even touching the sprite sheet.

The compression algorithm finds the best possible dictionary of 32 different 8x8 tiles with which to represent all of the frames of the animation. Then for each 8x8 chunk of each frame that is being compressed, I find the closest possible match out of this dictionary and record the index of this chunk. Finally, I use run length encoding to compress the string of dictionary indexes for each frame. (That's the idea at least...)

That gets things down to around 54 bytes per frame while still being recognizable.

This is inspired by gamax92 (https://www.lexaloffle.com/bbs/?tid=3263) and this C64 version (https://www.youtube.com/watch?v=OsDy-4L6-tQ)

-ElectricGryphon

13
15 comments



Fight off the menacing birds and chattering teeth in Mr. Monkey's Boomerang Bonanza!

Made for the local Banana Jam in Gothenburg, and exhibited in a cardboard arcade cabinet at Retrospelsmässan 2017 (a retro game convention in Gothenburg).

9
2 comments




Top    Load More Posts ->