In that case it will just fail to load in the new tiles. If it turns out to be a real problem I might try to figure out a solution.
Nova the Squirrel 2 (WIP)
Moderator: Moderators
- NovaSquirrel
- Posts: 483
- Joined: Fri Feb 27, 2009 2:35 pm
- Location: Fort Wayne, Indiana
- Contact:
- NovaSquirrel
- Posts: 483
- Joined: Fri Feb 27, 2009 2:35 pm
- Location: Fort Wayne, Indiana
- Contact:
Re: Nova the Squirrel 2 (WIP)
Things that happened since the last post:
HiROM should allow me to fit more stuff in the game - my automated bank picking script automatically makes a segment at the end of HiROM banks for a LoROM portion, sized exactly as big as it needs to be while leaving the rest set up to assemble with HiROM mapping. So I can pretend like it's the same as before but with fewer banks to cross.
I think I wanna finally try and get audio in, even if it's just placeholder stuff - I'm gonna go for SNES GSS and see if I can just improve it to add missing features later on. Though the biggest flaw to me is that you have to separate music channels from sound effect channels, and looking at the music for games like Kirby Super Star show me that a lot of games did that and sound great anyway.
One other big thing is that I've finally introduced a fourth button to the game - which is "A", to interact with things. You can pick up and put down blocks by pressing A, which means that unlike the first game's controls (Up and Down) it doesn't interfere with copy abilities. So I've got B-Jump, Y-Run, X/R-Attack, A-Interact.
Also playing around with commissioning art of stuff related to the game - here's bubble ability drawn by softcaribou.
- Rearranged video RAM - using the map described here. The biggest change is that layers 2 and 3 use the same memory now, so I can split it between them however I like. This means I can have a background that has 512 tiles if I want.
- Updated all the player graphics to look a little better, and changed the palette.
- Finally fixed issues with sprites not scrolling the same as the background. This turned out to be me doing (ActorX-CameraX)/16 instead of (ActorX/16)-(CameraX)/16. I also fixed this in a Nova 1 branch I'm working on.
- Added fire being able to melt ice.
- More graphics for level decorations.
- Animations for copying an enemy, and failing to copy and enemy, and stunning an enemy.
- Switched to HiROM and adapted the automatic bank picker I made to use it.
- Extended pilbmp2nes to allow specifying flags in a separate file, like GBA Image Transmogrifier can.
- Updated the level editor to pull data from the game repository.
- Updated the bubble ability to let you walk while holding it, which also means I had to add a "holding" version of most player animations.
- No longer halve the deceleration if you're turning around - this is something Nova 1 does too and I might change it.
- TONS more enemies implemented! Including a Knuckle Sandwich which can be baited into punching things using a sign you can pick up and carry. Also I brought back the Strife Cloud with a bigger sword! And there's another sword enemy too.
- Blocks you can pick up and carry, like in the first ame.
- Added new colors to most of the sprite palettes to try to fill out 15. This included adding yellow to the global palette I have loaded all the time. See the updates.
- Fixed a bug where enemies walking down slopes was completely broken because things were no longer in the same bank that needed to be.
- Fixed problems where trying to change too many blocks in a frame would just leave some not updated. Now it delays any updates another frames if it needs to.
- Lots more polish on individual copy abilities! Fire has more frames of animation, ice has icy sparkles and shrinks, rockets have more turning animation frames, burgers rotate and flash before exploding (and have a frame for colliding with things.)
- Particles for enemies being hit by projectiles.
HiROM should allow me to fit more stuff in the game - my automated bank picking script automatically makes a segment at the end of HiROM banks for a LoROM portion, sized exactly as big as it needs to be while leaving the rest set up to assemble with HiROM mapping. So I can pretend like it's the same as before but with fewer banks to cross.
I think I wanna finally try and get audio in, even if it's just placeholder stuff - I'm gonna go for SNES GSS and see if I can just improve it to add missing features later on. Though the biggest flaw to me is that you have to separate music channels from sound effect channels, and looking at the music for games like Kirby Super Star show me that a lot of games did that and sound great anyway.
One other big thing is that I've finally introduced a fourth button to the game - which is "A", to interact with things. You can pick up and put down blocks by pressing A, which means that unlike the first game's controls (Up and Down) it doesn't interfere with copy abilities. So I've got B-Jump, Y-Run, X/R-Attack, A-Interact.
Also playing around with commissioning art of stuff related to the game - here's bubble ability drawn by softcaribou.
Re: Nova the Squirrel 2 (WIP)
Interestingly, I'm getting Master System Alex Kidd in Miracle World vibes from this. Maybe it's the coin bags.NovaSquirrel wrote: ↑Tue Feb 08, 2022 12:15 pm Things that happened since the last post:I've managed to stay really focused on the project and get a whole lot done, and I'm gonna try and keep the momentum going. I was also working on Petal Crash Online throughout 2021 and that's done now so I'm freer. My recent goals have been to really try and work toward having everything I'd need for a world 1 demo that I can toss at people and give them something presentable to try out the game with. This means implementing a good amount of enemies for each of the copy abilities I want to showcase in world 1 (Fire, Water, Burger, Bubble, Sword) and I've got all of those all done and I need to implement the sword ability now.
- Rearranged video RAM - using the map described here. The biggest change is that layers 2 and 3 use the same memory now, so I can split it between them however I like. This means I can have a background that has 512 tiles if I want.
- Updated all the player graphics to look a little better, and changed the palette.
- Finally fixed issues with sprites not scrolling the same as the background. This turned out to be me doing (ActorX-CameraX)/16 instead of (ActorX/16)-(CameraX)/16. I also fixed this in a Nova 1 branch I'm working on.
- Added fire being able to melt ice.
- More graphics for level decorations.
- Animations for copying an enemy, and failing to copy and enemy, and stunning an enemy.
- Switched to HiROM and adapted the automatic bank picker I made to use it.
- Extended pilbmp2nes to allow specifying flags in a separate file, like GBA Image Transmogrifier can.
- Updated the level editor to pull data from the game repository.
- Updated the bubble ability to let you walk while holding it, which also means I had to add a "holding" version of most player animations.
- No longer halve the deceleration if you're turning around - this is something Nova 1 does too and I might change it.
- TONS more enemies implemented! Including a Knuckle Sandwich which can be baited into punching things using a sign you can pick up and carry. Also I brought back the Strife Cloud with a bigger sword! And there's another sword enemy too.
- Blocks you can pick up and carry, like in the first ame.
- Added new colors to most of the sprite palettes to try to fill out 15. This included adding yellow to the global palette I have loaded all the time. See the updates.
- Fixed a bug where enemies walking down slopes was completely broken because things were no longer in the same bank that needed to be.
- Fixed problems where trying to change too many blocks in a frame would just leave some not updated. Now it delays any updates another frames if it needs to.
- Lots more polish on individual copy abilities! Fire has more frames of animation, ice has icy sparkles and shrinks, rockets have more turning animation frames, burgers rotate and flash before exploding (and have a frame for colliding with things.)
- Particles for enemies being hit by projectiles.
HiROM should allow me to fit more stuff in the game - my automated bank picking script automatically makes a segment at the end of HiROM banks for a LoROM portion, sized exactly as big as it needs to be while leaving the rest set up to assemble with HiROM mapping. So I can pretend like it's the same as before but with fewer banks to cross.
I think I wanna finally try and get audio in, even if it's just placeholder stuff - I'm gonna go for SNES GSS and see if I can just improve it to add missing features later on. Though the biggest flaw to me is that you have to separate music channels from sound effect channels, and looking at the music for games like Kirby Super Star show me that a lot of games did that and sound great anyway.
One other big thing is that I've finally introduced a fourth button to the game - which is "A", to interact with things. You can pick up and put down blocks by pressing A, which means that unlike the first game's controls (Up and Down) it doesn't interfere with copy abilities. So I've got B-Jump, Y-Run, X/R-Attack, A-Interact.
Also playing around with commissioning art of stuff related to the game - here's bubble ability drawn by softcaribou.
Also, it's lucky I actually clicked on those images because I didn't realise they were animated until I did that.
- NovaSquirrel
- Posts: 483
- Joined: Fri Feb 27, 2009 2:35 pm
- Location: Fort Wayne, Indiana
- Contact:
Re: Nova the Squirrel 2 (WIP)
Yeah I figured it would be better to just upload the gifs directly to the forum than put them somewhere else, but I guess the forum only shows the first frame if they're too big and doesn't indicate this.iNCEPTIONAL wrote: ↑Thu Feb 10, 2022 4:23 pm Also, it's lucky I actually clicked on those images because I didn't realise they were animated until I did that.
Re: Nova the Squirrel 2 (WIP)
If only NESDev supported embedding compressed video files directly from attachments...NovaSquirrel wrote: ↑Thu Feb 10, 2022 4:49 pmYeah I figured it would be better to just upload the gifs directly to the forum than put them somewhere else, but I guess the forum only shows the first frame if they're too big and doesn't indicate this.iNCEPTIONAL wrote: ↑Thu Feb 10, 2022 4:23 pm Also, it's lucky I actually clicked on those images because I didn't realise they were animated until I did that.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.
- NovaSquirrel
- Posts: 483
- Joined: Fri Feb 27, 2009 2:35 pm
- Location: Fort Wayne, Indiana
- Contact:
Re: Nova the Squirrel 2 (WIP)
I got the Sword copy ability in, and it works like Crusader of Centy - including the ability to throw it! Whereas Kirby Super Star's Sword ability references the Zelda series, mine can reference an A Link to the Past clone. At some point I'll add some particle effects for the "charging" aspect of the sword throwing. I also decided to allow diagonal throws, to better feel like how the original game lets you just throw your sword in any direction. Unlike Crusader of Centy I decided not to have the sword home in on you, because needing to have it come back before you can attack again doesn't sound as fun for the game design I'm doing.
I have been modifying SNESGSS to support local samples, echo, and sound effect/music channel sharing, as I detailed in another thread. Still not 100% set on using SNESGSS but now I have at least one option that fulfills everything I want from a sound engine while not being based on Nintendo code.
A bit ago I checked 8MB ExHiROM support on various emulators and SD2SNES Pro and the only thing that didn't support it was ZSNES, which I don't care about supporting. So from here I'm just going to use as much space as I want, and plan to make lots of use of uncompressed graphics and lookup tables. I like the idea of using the fact that storage is effectively free as its own kind of expansion, even though it's not really one.
Attachment is an animated gif, like before.
I have been modifying SNESGSS to support local samples, echo, and sound effect/music channel sharing, as I detailed in another thread. Still not 100% set on using SNESGSS but now I have at least one option that fulfills everything I want from a sound engine while not being based on Nintendo code.
A bit ago I checked 8MB ExHiROM support on various emulators and SD2SNES Pro and the only thing that didn't support it was ZSNES, which I don't care about supporting. So from here I'm just going to use as much space as I want, and plan to make lots of use of uncompressed graphics and lookup tables. I like the idea of using the fact that storage is effectively free as its own kind of expansion, even though it's not really one.
Attachment is an animated gif, like before.
- NovaSquirrel
- Posts: 483
- Joined: Fri Feb 27, 2009 2:35 pm
- Location: Fort Wayne, Indiana
- Contact:
Re: Nova the Squirrel 2 (WIP)
I ended up putting a better camera in than I previously had (Demonstration) - I'm taking a hint from Super Mario World and using platform snapping, but I'm lerping toward the target Y position instead of just moving at a constant rate like SMW does. I'm also trying something where the distance between the target and the current determines what number to divide (target - current) by - but I'm not sure if that actually makes a huge difference or not.
Basically the camera's rules are:
Before I made the better camera, I also finished up the vertical level implementation - gif included. This was actually pretty easy since I've been designing the engine so far with them in mind. I have a little API that accesses level data, and each routine does an indirect jump, so I can just swap them all out for versions that arrange the level array differently. I've been thinking about adding additional level shapes aside from horizontal (256x32)/vertical(32x256). Maybe 128x64?
So with vertical levels working and a good camera system, I've been actually designing levels I intend to use. I wanted to put this off until I had a good solid base (with all of the core engine features that would affect level design), and I wanted to have a good plan. So far the levels I already designed are still fine with my newer plans (with some minor changes) which is nice because it doesn't mean I have any wasted work.
Basically the camera's rules are:
- Set a target Y position when the player touches the ground (or is on a ladder)
- If the player's Y position is beneath the target, update the target with the player's current Y position
- If the player sprite itself is drawn too high on the screen, move the target upward
Before I made the better camera, I also finished up the vertical level implementation - gif included. This was actually pretty easy since I've been designing the engine so far with them in mind. I have a little API that accesses level data, and each routine does an indirect jump, so I can just swap them all out for versions that arrange the level array differently. I've been thinking about adding additional level shapes aside from horizontal (256x32)/vertical(32x256). Maybe 128x64?
So with vertical levels working and a good camera system, I've been actually designing levels I intend to use. I wanted to put this off until I had a good solid base (with all of the core engine features that would affect level design), and I wanted to have a good plan. So far the levels I already designed are still fine with my newer plans (with some minor changes) which is nice because it doesn't mean I have any wasted work.
- NovaSquirrel
- Posts: 483
- Joined: Fri Feb 27, 2009 2:35 pm
- Location: Fort Wayne, Indiana
- Contact:
Re: Nova the Squirrel 2 (WIP)
I've been working on a hub world map for my game, because it seemed like a good natural-feeling way to tell a story in a traditional platformer, similar to how Drawn to Life for DS does it. You'd go here between levels and there'd be characters you could talk to about what's going on in the story (without being forced into cutscenes), and have shops and other buildings you can go into, and possibly minigames. The map is inspired by the BS-X one, and I tried to give off those vibes while also doing my own thing for the most part.
I still have a lot I want to add to make it really polished, and I've got about ~400 tiles and two unused palettes to do it with.
The way I'm making the map is I'm drawing it in Aseprite, and exporting layers corresponding to the SNES's first two background layers as PNGs, and then a script goes and converts everything to tiles, metatiles, and metatile definitions, using a palette definition I provide.
I still have a lot I want to add to make it really polished, and I've got about ~400 tiles and two unused palettes to do it with.
The way I'm making the map is I'm drawing it in Aseprite, and exporting layers corresponding to the SNES's first two background layers as PNGs, and then a script goes and converts everything to tiles, metatiles, and metatile definitions, using a palette definition I provide.
Re: Nova the Squirrel 2 (WIP)
Nice progress there.
- NovaSquirrel
- Posts: 483
- Joined: Fri Feb 27, 2009 2:35 pm
- Location: Fort Wayne, Indiana
- Contact:
Re: Nova the Squirrel 2 (WIP)
I've been playing around with the idea of having a mode 7 minigame again, this time using rainwarrior's dizworld demo as a basis for the perspective effect. I originally intended on switching to that code so that I could position sprites within the world, but the code also had everything set up where I could change the perspective during gameplay, so I played with combining that with jumping. I think it actually feels really fun and impactful to have the camera pull back during a big, floaty jump, and it reminds me a bit about the parts I enjoy from Jumping Flash! so I'm planning on shaping the gameplay around that. I've been working on figuring out what kind of levels and gameplay could go with that; I've played with having tiles that are obstacles or that have to do with air movement.
I think this new gameplay fits the rest of the game much better, too. While there will definitely be some slow puzzle sections in the traditional platformer levels, it's overall a very fast game based around having a lot of fun movement options, and something slow that sticks to a grid probably wasn't the best fit.
Because the HDMA data generation takes up so much CPU time, I wasn't able to position more than two sprites in the world without losing framerate, so if I do put a sprite somewhere it would probably be for an indicator of some sort rather than enemies, unless I designed around only having one or two enemies at a time. I am doing an optimization where it uses precalculated HDMA data when you're on the ground (using up 352KB) which also makes the graphics look a lot better, but that doesn't help a ton since skipping out on sprite positioning when you're in the air wouldn't really work.
One thing I can definitely do is go back to my old plans to play with software rendering sprites onto the mode 7 plane. I noticed Rampart and Pilotwings both do something like that. With those, I can hold off on updates or spread them out.
Video of some mode 7 gameplay, as it was too big to attach here.
I think this new gameplay fits the rest of the game much better, too. While there will definitely be some slow puzzle sections in the traditional platformer levels, it's overall a very fast game based around having a lot of fun movement options, and something slow that sticks to a grid probably wasn't the best fit.
Because the HDMA data generation takes up so much CPU time, I wasn't able to position more than two sprites in the world without losing framerate, so if I do put a sprite somewhere it would probably be for an indicator of some sort rather than enemies, unless I designed around only having one or two enemies at a time. I am doing an optimization where it uses precalculated HDMA data when you're on the ground (using up 352KB) which also makes the graphics look a lot better, but that doesn't help a ton since skipping out on sprite positioning when you're in the air wouldn't really work.
One thing I can definitely do is go back to my old plans to play with software rendering sprites onto the mode 7 plane. I noticed Rampart and Pilotwings both do something like that. With those, I can hold off on updates or spread them out.
Video of some mode 7 gameplay, as it was too big to attach here.
- Attachments
-
- nova-the-squirrel-2_000.png (9.71 KiB) Viewed 3188 times
Re: Nova the Squirrel 2 (WIP)
Very cool.
Happy to see the game progressing nicely.
Happy to see the game progressing nicely.
Re: Nova the Squirrel 2 (WIP)
That's basically how I imagine a mode 7 platform game would look like. Very good, it looks like it could be fun!
Re: Nova the Squirrel 2 (WIP)
Looks great.
Have you thought about using something like the DSP-1?
Have you thought about using something like the DSP-1?