Log In  

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

Cart #32764 | 2016-11-26 | Embed ▽ | License: CC4-BY-NC-SA
1

1
1 comment


For my shmup project (bullet hell/danmaku), my first step was to work on the bullet/pattern system because it's related to the core of the gameplay (dodging bullets); and also because it's accountable to the beauty of the game.

First, I need limits. I decide to handle 128 bullets at a time. New bullets will replace the old one. From my perspective, is not a big deal. Players probably won't notice it. But if it happens, maybe it's because that bullet stays visible too long on the screen, turning arround following a circular path or simply moving too slowly. So, fuck that bullet.

I decide to create a table of bullet objects during the _init() proccess and reuse them instead of creating/deleting every time. It is called object pool

The process: every time I need to shoot a bullet, I select the next bullet object in the pool, If I reach the last one, I loop to the first. Simple.

To do that, I need:

  • a list of bullet objects,
  • an index for the next bullet index to use
  • and a number of max bullet:
bullets={}
bullets.next=1
bullets.len=128

[ Continue Reading.. ]

2
0 comments


Cart #32754 | 2016-11-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

Hi! First off - I'm not in any ways a programmer, I'm hacking together bits and pieces of code, and adding/subtracting stuff from Jelpi. It's basically a reskin, with the enemies taken out, the map and sprites redrawn (eventually) and music rewritten (I'm a musician). I know there's a lot of redundant Jelpi code in there but I think I've deleted about as much as I can without breaking everything.

What I want to do is have a text box open at the bottom of the screen when the player presses X beside the horse. A line of text appears in a black box at the bottom of the screen, disappears and then another appears, etc, until the message is completed. The game is part of a Christmas present for my girlfriend who's in her final year of vet, and it's mad stressful for her.

I was thinking to use a sprite flag but I honestly have no idea how.. any help would be hugely appreciated!

2
3 comments


I was trying to achieve an effect that you could see a lot in oldschool demos. Usually it looked like a waving
flag made up of many tiny squares(sprites?). Other times it could be a big text scroller made up of tiny sprites.
I saw a similar effect in the Ad Astra demo recently, but that code was way beyond me.

i'm still very much a beginner so i'm unsure of how to go about creating an effect like that.
If anyone could push me in the right direction i would be super grateful. Any help would be appreciated!

6 comments


Cart #32741 | 2016-11-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
6

FINAL GAME IS HERE: https://www.lexaloffle.com/bbs/?tid=28132

In the game above, the character is gliding in zero-g. They can move left and right using little air jets on the side of the space suit (left and right arrow keys).

I am struggling to make a good sound for this that isn't too grating (you will hear the sound A LOT). I was hoping for a high-pitch hiss; like air escaping a ballon, but having nailed it yet (see above).

"TSSSsss.. TSSSssss..."

Any audio designers know how to achieve this sound?

6
7 comments


Cart #32744 | 2016-11-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2


changed: rebalanced
changed: reflection algorithm
added: pause before start
added: 100 scores = 1 life

Cart #32730 | 2016-11-24 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2


Based on Pico BreakOut by Bassintag. It made for training purposes.

2
1 comment


Hi,

I am trying to come up with a simple algorithm for filling an area of the screen a particular color.

I have a "path" in my game defined by the thin white lines shown above. Lines are represented with the following data structures:

function mkvec(x,y)
	local v=
	{
		x=x,
		y=y,

		getlength=function(self)
			return sqrt(self.x^2+self.y^2)
		end,

		getnorm=function(self)
			local l = self:getlength()
			return mkvec(self.x / l, self.y / l);
		end,
	}
	return v
end

----------------------------

function mkline(x1,y1,x2,y2)
	local l=
	{
		a=mkvec(x1,y1),
		b=mkvec(x2,y2),

		draw=function(l,col)
			line(l.a.x,l.a.y,l.b.x,l.b.y,col)
		end,

		drawnear=function(l,o,col)
			local lp=closestpointalongline(
				l.a,l.b,mkvec(o.x,o.y))
			circ(lp.x,lp.y,2,col)			
		end,

		closest=function(l,o)
			return closestpointalongline(
				l.a,l.b,mkvec(o.x,o.y))
		end,
	}

	return l
end

[ Continue Reading.. ]

1
7 comments


whenever i make a function, such as the one below, and try to run it, pico-8 almost always returns a syntax error, saying something along the lines of "<EOF> EXPECTED AT LINE 23", where line 23 is the last line of the last function in the code.
below shows the framework of the functions i usually code, "blah" obviously being substituted with code.

FUNCTION DOSTUFF()
IF BLAH THEN
BLAH BLAH BLAH
BLAH BLAH BLAH --this line is where an "<eof>" is usually expected
END
END
5 comments



My first time making a game or writing any code at all.
Avoid the sparkling cat and take the points to your house.
Use the arrow keys to control the not impressed man.
Maybe I'll come back to it and improve a little. Only time will tell.
Thx to Marcelo (Cloud) Gomes.

0 comments




The game isn't really the main reason for this post, it's the graphical thing I did with it.
(Although, in case you're wondering, the game is Slime, and it may have a few glitch fixes)

It pretty much speaks for itself. I really only chose Slime because I thought it best suited this game more than any of my other work-in-progress games. Feel free to extract the GART function and use it in your stuff! The function is at the very bottom of the code, and only uses the BAR and BARSIZE variables. It doesn't actually need that line where it references "SLIMES", so just delete that and you can probably just paste it right into any of your projects. (Just remember to put GART() after you render!)

12
13 comments


Cart #32697 | 2016-11-22 | Code ▽ | Embed ▽ | No License
5


This is a thing for my noise project. It draws random lines and plays random notes while slowly corrupting memory.
Not much to look at, but still fun.

It's my first cart, and it's entirely a toy. Maybe next I'll do something interactive.

5
2 comments


Cart #32710 | 2016-11-23 | Code ▽ | Embed ▽ | No License
9

Cart #32709 | 2016-11-23 | Code ▽ | Embed ▽ | No License
9


9
3 comments


Cart #32691 | 2016-11-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5


Made for Epitech 2016 Maths lesson,

Controls:
Left / Right to move the paddle

Feel free to edit this cartridge as you like

5
1 comment


Cart #32689 | 2016-11-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2


Made for Epitech 2016 Maths lesson,

Controls:
Up / Down for P1
E / D for P2

Feel free to edit this cartridge as you like

2
0 comments



Can you score 100? Possible, but very hard. Press x (or c?) for a cloud of ink, it makes you invulnerable for 0.5s.

Please fix the sound effects for me :(

music copy-pasted from

Cart #15486 | 2015-10-17 | Code ▽ | Embed ▽ | No License
132


thank you very much!

2 comments


Ein-Blaster Alpha
Cart #33112 | 2016-12-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

Improvements/Re-designs:

  1. Animation of Player ship.
  2. Speed-boost when going forward.
  3. Speed-reduced when going Backwards.

To-Do:

  1. Re-configure Star field background.
  2. Shooting.
  3. Enemies.
  4. Scoring.
  5. Lives.
  6. Sounds/Music

PIXEL SPACE

Cart #32679 | 2016-11-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

Just something I have been working on as I learn to code in PICO-8.

I would appreciate some help in getting the Shooting mechanism up and running and, if at all possible, suggestion on how to make my code shorter.
Also. I know it would be easier to use the sprite editor but I am interested in learning to arrange the pixel through the coding process itself.
As of right now the star field is on a conveyor-belt-style cycle which may change in the future.
The right side bar is the game HUD which will contain Score, Lives, Levels, Power-up (maybe), etc.
The play area will be updated to keep the spaceship within the playing area, and Perhaps a wrap-around on the X axis.

So in essence it's cause and effect, trial and error, as I teach myself LUA.

1
4 comments


Cart #32676 | 2016-11-21 | Embed ▽ | No License

1 comment


Cart #32670 | 2016-11-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

This is an experiment to test my understanding of handling collision detection for a large number of items on the screen. I'm proud to say that this cartridge can handle ~90 large bubbles or ~200 small bubbles before skipping draw frames (visible slowdown). The code is kind of messy, so if you need help interpreting what it does, let me know.

Controls:
Up and Down: adds or removes 1 bubble
Left and Right: adds or removes 10 bubbles
X button: switches between large and small bubbles
O button: resets the program

4
0 comments


by smk
Cart #38109 | 2017-03-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
38


Purpose:
Learning pico-8.

Description:
A simple 2.5 renderer.

Features:

  • BSP-based, non-grid level rendering
  • lighting "fog"
  • 60 fps
38
12 comments


isn't pico8 supposed to drop to 30fps when your cpu load exceeds 100%?
that's not what I am seeing:

text="dlfkjhglskdhj shlksgjhlksjhslk sdhlkjshgk"
scx=128
stlim=1

function _update60()
	scx-=1
	if (scx<-#text*4) scx=128
	if (btnp(0)) stlim -= (btn(4) and 0.1 or 0.001)
	if (btnp(1)) stlim += (btn(4) and 0.1 or 0.001)
end

function _draw()
	local st=0
	cls()
	print(text, scx,64, 7)
	repeat st=stat(1) until(st>=stlim)
	print('target:  '..stlim..'\nstat(1): '..st,0,44,7)
end

that's a scroll text, one pixel per frame. use c, left & right to change cpu load.

the scrolling is smooth at 60 pixels per second until stat(1)==1.012
beyond that, pico should drop to 30fps, and you should see the text scroll at half-speed, right?
something else happens: the scrolling only gets kind of jerky, but stays at full speed until stat(1)==2.121
it seems _update60() still runs at 60hz with 200% cpu, only video sync gets wonky.
that would mean you can get double cpu power if you don't mind losing synchro.

isn't there a mismatch between code throttling and video syncing ?

edit: same thing with _update(), doesn't really drop to 15fps

4 comments




Top    Load More Posts ->