Added a new snowman and a gumball & candy cane fence.
Like how can now make the boundary walls partially transparent and see the background behind them. Think can only use this on the outer walls..
AI is a big help with making the artwork. That's the part that is hard for me...
Found that the keywords "pixel art" and "sprite sheet" helps make the low res stuff needed here.
Wanting to get an actual playable thing going by Xmas. Think will start with stationary snowmen that through snowballs and player throws snowballs back.
Just something simple to get points on the board...
On the technical side, thinking that could easily have double resolution art for walls and sprites that is used when they are close. This increases demand on PSRAM a bit, but think that'd be OK. Right now, these things are drawn double pixelled when close. So, the size and P2 cycles need is basically the same for the close things in low res or high res.
But, going to save that for another day. Sometimes simplicity might be better than visuals...
Neat, nice quick way to generate artwork for games. Do you need different mipmap levels for these graphics textures as well in your 3D engine and if so is that easy to generate yourself from an original higher resolution texture?
In order to shoot, need to be able to add a sprite to the sprite list.
I'm trying to use the LUT as a buffer for this, but it's not working...
Here's what the sprite list looks like:
CON 'Sprite List cons
SpriteListLongs = 9 '#longs for each element in Sprite List
'NOTE: If the above is increased, be sure to add an sX and nX long at end of assembly
SpriteDrawListLongs = 5
SpriteListSize = 25 'Max length of sprite list
DAT 'Sprite list
SpriteList ' index, x , y ,dist, angle, count, hp, dx, dy
long 6, 256, 256 , 200, 200, 0, 0, 0, 0
long 6, 64+64, 300 , 350, 210, 0, 0, 0, 0
long 2, 64+64, 600 , 350, 210, 0, 0, 0, 0
long 5, 100, 100 , 100, 210, 0, 0, 0, 0
long 4, 100, 200 , 100, 210, 0, 0, 0, 0
long 5, 100, 300 , 100, 210, 0, 0, 0, 0
long 4, 100, 400 , 100, 210, 0, 0, 0, 0
long 5, 100, 500 , 100, 210, 0, 0, 0, 0
long 4, 100, 600 , 100, 210, 0, 0, 0, 0
long 4, 200, 100 , 100, 210, 0, 0, 0, 0
long 5, 200, 200 , 100, 210, 0, 0, 0, 0
long 4, 200, 300 , 100, 210, 0, 0, 0, 0
long 5, 200, 400 , 100, 210, 0, 0, 0, 0
long 4, 200, 500 , 100, 210, 0, 0, 0, 0
long 5, 200, 600 , 100, 210, 0, 0, 0, 0
long 3, 300, 100 , 100, 210, 0, 0, 0, 0
long 4, 300, 200 , 100, 210, 0, 0, 0, 0
long 3, 300, 300 , 100, 210, 0, 0, 0, 0
long 4, 300, 400 , 100, 210, 0, 0, 0, 0
long 3, 300, 500 , 100, 210, 0, 0, 0, 0
long 4, 300, 600 , 100, 210, 0, 0, 0, 0
long 4, 400, 100 , 100, 210, 0, 0, 0, 0
long 3, 400, 200 , 100, 210, 0, 0, 0, 0
long 4, 400, 300 , 100, 210, 0, 0, 0, 0
long 3, 400, 400 , 100, 210, 0, 0, 0, 0
long 4, 400, 500 , 100, 210, 0, 0, 0, 0
long 3, 400, 600 , 100, 210, 0, 0, 0, 0
long 0, 0, 0 , 0, 0,0, 0, 0, 0 'index =0 signals end of list
long 0[SpriteListSize*SpriteListLongs]
Maybe it's bigger than needs to be, but fine for now.
Here's the code where I try to copy the list down one sprite.
Doesn't seem to be working...
'Insert snowball into top of sprite list
'Need to move whole list down one
'Maybe can use LUT as buffer for this?
setq2 #SpriteListSize*SpriteListLongs
rdlong 0,pSprites
mov ptra,pSprites
add ptra,#SpriteListLongs
setq2 #SpriteListSize*SpriteListLongs
wrlong 0,ptra
'Create new sprite
'mov ptra,pSprites
'wrlong 6,ptra 'snowball
'wrlong fplayerx,ptra[1]
'wrlong fplayery,ptra[2]
'wrlong 0,ptra[3]
Comments
Make it foraging rats and you won't get any complaints.
And give them big fangy teeth too.
Or wind-up toys have escaped, and you (one of the elves) has to run around and collect them so they can be delivered.
Maybe giant angry snowman throwing something...
That could give kids bad dreams!
Added a new snowman and a gumball & candy cane fence.
Like how can now make the boundary walls partially transparent and see the background behind them. Think can only use this on the outer walls..
AI is a big help with making the artwork. That's the part that is hard for me...
Found that the keywords "pixel art" and "sprite sheet" helps make the low res stuff needed here.
Wanting to get an actual playable thing going by Xmas. Think will start with stationary snowmen that through snowballs and player throws snowballs back.
Just something simple to get points on the board...
On the technical side, thinking that could easily have double resolution art for walls and sprites that is used when they are close. This increases demand on PSRAM a bit, but think that'd be OK. Right now, these things are drawn double pixelled when close. So, the size and P2 cycles need is basically the same for the close things in low res or high res.
But, going to save that for another day. Sometimes simplicity might be better than visuals...
Getting good walls in the theme from Midjourney...
Neat, nice quick way to generate artwork for games. Do you need different mipmap levels for these graphics textures as well in your 3D engine and if so is that easy to generate yourself from an original higher resolution texture?
The graphics are currently all 64x64. Could improve maybe in the future, but also nice to keep things simple...
Thinking want to add music and sound effects soon... Just tried AI to make music for the game (Suno). Think it's not bad...
https://suno.com/s/a1tQCbosN7sLPjeU
I must reiterate, incredibly cringe.
Here's a puzzle...
In order to shoot, need to be able to add a sprite to the sprite list.
I'm trying to use the LUT as a buffer for this, but it's not working...
Here's what the sprite list looks like:
CON 'Sprite List cons SpriteListLongs = 9 '#longs for each element in Sprite List 'NOTE: If the above is increased, be sure to add an sX and nX long at end of assembly SpriteDrawListLongs = 5 SpriteListSize = 25 'Max length of sprite list DAT 'Sprite list SpriteList ' index, x , y ,dist, angle, count, hp, dx, dy long 6, 256, 256 , 200, 200, 0, 0, 0, 0 long 6, 64+64, 300 , 350, 210, 0, 0, 0, 0 long 2, 64+64, 600 , 350, 210, 0, 0, 0, 0 long 5, 100, 100 , 100, 210, 0, 0, 0, 0 long 4, 100, 200 , 100, 210, 0, 0, 0, 0 long 5, 100, 300 , 100, 210, 0, 0, 0, 0 long 4, 100, 400 , 100, 210, 0, 0, 0, 0 long 5, 100, 500 , 100, 210, 0, 0, 0, 0 long 4, 100, 600 , 100, 210, 0, 0, 0, 0 long 4, 200, 100 , 100, 210, 0, 0, 0, 0 long 5, 200, 200 , 100, 210, 0, 0, 0, 0 long 4, 200, 300 , 100, 210, 0, 0, 0, 0 long 5, 200, 400 , 100, 210, 0, 0, 0, 0 long 4, 200, 500 , 100, 210, 0, 0, 0, 0 long 5, 200, 600 , 100, 210, 0, 0, 0, 0 long 3, 300, 100 , 100, 210, 0, 0, 0, 0 long 4, 300, 200 , 100, 210, 0, 0, 0, 0 long 3, 300, 300 , 100, 210, 0, 0, 0, 0 long 4, 300, 400 , 100, 210, 0, 0, 0, 0 long 3, 300, 500 , 100, 210, 0, 0, 0, 0 long 4, 300, 600 , 100, 210, 0, 0, 0, 0 long 4, 400, 100 , 100, 210, 0, 0, 0, 0 long 3, 400, 200 , 100, 210, 0, 0, 0, 0 long 4, 400, 300 , 100, 210, 0, 0, 0, 0 long 3, 400, 400 , 100, 210, 0, 0, 0, 0 long 4, 400, 500 , 100, 210, 0, 0, 0, 0 long 3, 400, 600 , 100, 210, 0, 0, 0, 0 long 0, 0, 0 , 0, 0,0, 0, 0, 0 'index =0 signals end of list long 0[SpriteListSize*SpriteListLongs]Maybe it's bigger than needs to be, but fine for now.
Here's the code where I try to copy the list down one sprite.
Doesn't seem to be working...
'Insert snowball into top of sprite list 'Need to move whole list down one 'Maybe can use LUT as buffer for this? setq2 #SpriteListSize*SpriteListLongs rdlong 0,pSprites mov ptra,pSprites add ptra,#SpriteListLongs setq2 #SpriteListSize*SpriteListLongs wrlong 0,ptra 'Create new sprite 'mov ptra,pSprites 'wrlong 6,ptra 'snowball 'wrlong fplayerx,ptra[1] 'wrlong fplayery,ptra[2] 'wrlong 0,ptra[3]Anybody spot the problem?
You are adding 9 to ptra, but it should be 9*4.
That sounds like it! Thanks @rogloh
Ok, player can shoot snowballs now. Guess that's a step forward.
But, they don't interact with anything and basically fly forever...
This breaks the sprite engine for some reason.
Could investigate that, but think just having them disappear when hitting a wall will fix it...