Nova the Squirrel 2 (WIP)
Moderator: Moderators
Re: Nova the Squirrel 2 (WIP)
... OH. I have "Smart Referer" installed.
Re: Nova the Squirrel 2 (WIP)
Thinking about grid-free player movement with gridded blocks. That could look as shown below.
It's using two simple rules: When pushing a block north,
It's using two simple rules: When pushing a block north,
1) player must be heading north +/-45 degreesIf that isn't the case, ignore the vertical movement apply horizontal movement only (as shown in the two bold horizontal lines).
2) player must be within +/-40 percent of the block width
- Attachments
-
- temp.gif (2.15 KiB) Viewed 8795 times
- 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 different ways of making the Mode 7 stages feel better. I'm also giving git branches their first real use in exploring these different solutions. Making it not aligned to the grid seems like it has promise but could cause its own issues? I feel like I might want the ability to snap to angles there.
Another good option seems to be just using the original movement but making turns take twice as long.
Letting player turns happen immediately at 90 degrees but have the camera catch up felt unintuitive, though maybe that would require me to draw the other directions to be able to figure it out, or I might not have implemented the right things well enough.
I wonder what specific aspects of Blue Sphere works. In any case I think I'm going to provide the option to use a top-down perspective instead and have it look like regular Chip's Challenge, if the player prefers that.
Another good option seems to be just using the original movement but making turns take twice as long.
Letting player turns happen immediately at 90 degrees but have the camera catch up felt unintuitive, though maybe that would require me to draw the other directions to be able to figure it out, or I might not have implemented the right things well enough.
I wonder what specific aspects of Blue Sphere works. In any case I think I'm going to provide the option to use a top-down perspective instead and have it look like regular Chip's Challenge, if the player prefers that.
Re: Nova the Squirrel 2 (WIP)
Maybe making the background curved by offsetting the matrix transforms a bit per row would work? It would make it more sonic-y...
(curves the wrong way, but you get the idea)
Also maybe you can make your checkerboard pattern larger?
(curves the wrong way, but you get the idea)
Also maybe you can make your checkerboard pattern larger?
- NovaSquirrel
- Posts: 483
- Joined: Fri Feb 27, 2009 2:35 pm
- Location: Fort Wayne, Indiana
- Contact:
Re: Nova the Squirrel 2 (WIP)
I don't think making it feel more like Blue Sphere aesthetically is important, unless you think the curve helps to make it easier on the eyes? I mostly meant that it must have some design decisions that make it fine, since I haven't really seen people complain about Blue Sphere's turning.
What I probably should do, in addition to any camera stuff I decide, is to make sure that the level design itself isn't set up to require the player to turn unnecessarily. I'm also trying out having left/right strafe and L/R turn, to emphasize strafing. That seems to improve it a little?
What I probably should do, in addition to any camera stuff I decide, is to make sure that the level design itself isn't set up to require the player to turn unnecessarily. I'm also trying out having left/right strafe and L/R turn, to emphasize strafing. That seems to improve it a little?
-
- Posts: 611
- Joined: Mon Jan 23, 2006 7:47 am
- Location: Germany
- Contact:
Re: Nova the Squirrel 2 (WIP)
Add support for the mouse and it might feel like a modern 3D gameNovaSquirrel wrote: ↑Mon Sep 07, 2020 8:01 pm Making it not aligned to the grid seems like it has promise
I don't think it's possible to add a horizontal curvature with Mode 7. The Sonic screen was made with tiles on a regular background.NovaSquirrel wrote: ↑Tue Sep 08, 2020 10:32 pm I don't think making it feel more like Blue Sphere aesthetically is important, unless you think the curve helps to make it easier on the eyes?
My current setup:
Super Famicom ("2/1/3" SNS-CPU-GPM-02) → SCART → OSSC → StarTech USB3HDCAP → AmaRecTV 3.10
Super Famicom ("2/1/3" SNS-CPU-GPM-02) → SCART → OSSC → StarTech USB3HDCAP → AmaRecTV 3.10
Re: Nova the Squirrel 2 (WIP)
It really was just an idea you could try out without going through lots of trouble. Definitely not a must aesthetically. I can imagine it could also turn out very awkward / disorienting when the camera is rotating.I don't think making it feel more like Blue Sphere aesthetically is important, unless you think the curve helps to make it easier on the eyes? I mostly meant that it must have some design decisions that make it fine, since I haven't really seen people complain about Blue Sphere's turning.
About what makes the design of Blue Sphere feel good, it probably has to do with fine-tuned timings, the fact that it has lots of sprites for the spheres, big patches for the checkerboard pattern, great color choices, the visible horizon, and maybe more stuff I can't think of right now.
Your version with the slower turning camera, and movement still restricted to the grid, also already feels much better imo. Maybe you can also stick with that one and just add some easing on the turning / movement animations, and maybe add sprites for the player character looking left or right when turning so that you can have the camera "lag behind" a bit. If you want to keep the stages more puzzle-oriented, this approach can work very well.
This also sounds good, this is just like the movement scheme in Contra III. In that game, you can also double-tap L and R to turn faster.What I probably should do, in addition to any camera stuff I decide, is to make sure that the level design itself isn't set up to require the player to turn unnecessarily. I'm also trying out having left/right strafe and L/R turn, to emphasize strafing. That seems to improve it a little?
- Señor Ventura
- Posts: 233
- Joined: Sat Aug 20, 2016 3:58 am
Re: Nova the Squirrel 2 (WIP)
Well... What about 256 colors?NovaSquirrel wrote: ↑Tue Sep 08, 2020 10:32 pm I mostly meant that it must have some design decisions that make it fine, since I haven't really seen people complain about Blue Sphere's turning.
Re: Nova the Squirrel 2 (WIP)
A better reference for a curved Mode 7-style floor is the cylinder-shaped floor of any Animal Crossing game on the DS or later. But I don't know how compatible that'd be with a behind-the-player camera, seeing as the AC games I've played have the camera always pointing due north while outside and not talking to an NPC.
- NovaSquirrel
- Posts: 483
- Joined: Fri Feb 27, 2009 2:35 pm
- Location: Fort Wayne, Indiana
- Contact:
Re: Nova the Squirrel 2 (WIP)
I noticed I had 128 sprite tiles that were unused, that I had no current plans for, so I made a system where I have 8 dynamic sprite slots of 16 tiles each. Here I'm using them for a better explosion animation that I'm streaming in.
I think these smoother animations could get expensive fast, so this might be where I actually start putting the RAM I've got to use, with holding decompressed streamed graphics I can DMA out of. I have about ~73KB of RAM just sitting there doing nothing, and I have LZ4 all set up in the game.
Oh, and speaking of explosions, bombs are implemented and work similarly to Kirby Super Star. This capture shows what the old explosions looked like, where they were literally just a smoke frame at random angles with an increasing radius.
It's not super visible at the framerate the tool I use records at, but I improved the Mode 7 camera a little bit to be a little bit zoomed out in addition to using a smoothing function on turns so they follow a sine curve instead of making it just linear. I also made it so that holding A makes left and right strafe, which may feel comfier than using L/R, though I'm probably keeping L/R.
I really need to get around to touching up all of the player animations.
Re: Nova the Squirrel 2 (WIP)
Dynamic sprites are nice, but are non-dynamic sprite graphics loaded by the enemy codes themselves, or by the level?NovaSquirrel wrote: ↑Sat Sep 19, 2020 7:57 pm I noticed I had 128 sprite tiles that were unused, that I had no current plans for, so I made a system where I have 8 dynamic sprite slots of 16 tiles each. Here I'm using them for a better explosion animation that I'm streaming in.
I think these smoother animations could get expensive fast, so this might be where I actually start putting the RAM I've got to use, with holding decompressed streamed graphics I can DMA out of. I have about ~73KB of RAM just sitting there doing nothing, and I have LZ4 all set up in the game.
Oh, and speaking of explosions, bombs are implemented and work similarly to Kirby Super Star. This capture shows what the old explosions looked like, where they were literally just a smoke frame at random angles with an increasing radius.
It's not super visible at the framerate the tool I use records at, but I improved the Mode 7 camera a little bit to be a little bit zoomed out in addition to using a smoothing function on turns so they follow a sine curve instead of making it just linear. I also made it so that holding A makes left and right strafe, which may feel comfier than using L/R, though I'm probably keeping L/R.
I really need to get around to touching up all of the player animations.
If the latter, have you looked into semi-dynamic sprites, which are the former?
Also, you put the packed data in VRAM rather than in WRAM before decompressing it?
And yeah, you should have configurable controls in the final game.
Nice camera smoothing, by the way.
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)
Currently, non-dynamic sprites are just specified in a level's header, but I have thought about semi-dynamic sprites. I do have most of the engine features they need (and sprite palettes are dynamically loaded already). The main concern I had was that I wanted it to be somewhat intelligent about what slots it's choosing to swap out with a new one, but I guess that's getting into the whole topic of cache replacement policies.Nikku4211 wrote: ↑Sat Sep 19, 2020 11:59 pm Dynamic sprites are nice, but are non-dynamic sprite graphics loaded by the enemy codes themselves, or by the level?
If the latter, have you looked into semi-dynamic sprites, which are the former?
Also, you put the packed data in VRAM rather than in WRAM before decompressing it?
And yeah, you should have configurable controls in the final game.
Nice camera smoothing, by the way.
Right now what sprite palettes do is four slots start out as empty, and when allocating a slot it will first try to choose a slot that has never been allocated before, and then if that fails it uses the first slot it finds that no sprites used the previous frame. That has some pretty obvious problems I can see, and I want to do something better if I do something like that for sprite tiles.
The random looking tiles are just uninitialized video RAM. Configurable controls are definitely planned.
- NovaSquirrel
- Posts: 483
- Joined: Fri Feb 27, 2009 2:35 pm
- Location: Fort Wayne, Indiana
- Contact:
Re: Nova the Squirrel 2 (WIP)
Semi-dynamic sprites are in! The level header still specifies eight sprite tilesets to start things off with, and if a level never needs a tileset that's not already loaded this system won't be used. But I can now have levels with nine or more sprite tilesets.
When all slots are free and I need to overwrite one, I just choose the one whose "last used" timestamp is the oldest. At 18 minutes there will be an overflow, but that shouldn't hurt anything.
Re: Nova the Squirrel 2 (WIP)
What would you do if too many sprites come up all at once in the same screen by accident?NovaSquirrel wrote: ↑Mon Sep 21, 2020 9:39 pm Semi-dynamic sprites are in! The level header still specifies eight sprite tilesets to start things off with, and if a level never needs a tileset that's not already loaded this system won't be used. But I can now have levels with nine or more sprite tilesets.
When all slots are free and I need to overwrite one, I just choose the one whose "last used" timestamp is the oldest. At 18 minutes there will be an overflow, but that shouldn't hurt anything.
I have an ASD, so empathy is not natural for me. If I hurt you, I apologise.