I got into NES development and furry at roughly the same time, and I've wanted to make big sidescrolling platformer game starring my fursona, Nova, for a very long time (like 6 or 7 years?) and I'm finally getting around to it here after completing like three games and having learned a lot more.

The gameplay's intended to take after Kirby (but with more creative abilities to copy, like one that shoots Conway's Life gliders diagonally) but with Mario-like levels and probably puzzle elements. The scrolling code can handle up to 8 pixels per frame so if I want to make levels that focus on going fast that's doable too. Oh, and the whole second world is probably going to take a pretty strong inspiration from Chip's Challenge. I'm going to have to figure out a plot that can tie all the gameplay I want together.

When I'm done it's going to be released with all the source code (GPL licensed) and all the tools I've written to help and I hope other people can use it as an alternative to SMB1 hacks that can be shared freely. I'm keeping future expansion in mind for most important parts of the project.

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

And after a long 3 year journey the game is finally complete! Check it out! I'm still going to be updating this, but it's ready for streaming and being shown off to the world, I think!itch.io page.Source code.

It's supposed to give you a bigger view in the direction you're going, but yeah, it feels weird and I'll probably want to slow down the turning a lot, not do anything when you just turn in place, or just disable that and just target having the player in the middle of the screen. Probably just going to go with the last one out of those unless I can find a better solution.

A lot of games just lock the character to the centre of the screen. It can be a good choice, depending on what your game needs.

A simple way to implement look-ahead is to offset the camera position by adding a multiple of the player's velocity to their position. This places the camera a bit forward when running, and smoothly returns to centre when you stop, or turn around. This works best if your player acceleration is relatively slow.

Another alternative is to delay the look-ahead and gradually move into it. Wait for the player to move some amount in the opposite direction before you switch the direction of focus, and then gradually slide to it as they continue moving in the new direction.

There's lots of things you can do. Try a few things out and see how they feel. If they feel good or bad, ask yourself why.

Also, I notice it is very easy to jump into or through the blocks hanging in the air. Keep working on your collision stuff.

I added music and sound effects (that I will probably redo or replace) using the Famitone2 engine. I also redid player collision to be a little better and I added interaction with level objects (you can break bricks and get coins and stuff but there's no animations for it). I also have a coin counter that appears above the player when they get coins.

I made the camera just keep the player in the center for now. I might try something more complicated later.

I really like the overall concept and color scheme and music...and the camera is much better.
A few things I noticed - if you hold R or L and try to jump (when you're next to a wall), it is either very short or not at all.
-it would be nice if the acceleration didn't ramp up so quickly. It's hard to fine tune movements. I want to move 1-2 pixels to the right, and end up moving 4-8. I do like the overall speed, though.
-also, the squirrel seems to run over short gaps, rather than fall into them. The only short gap I found was if you stand on the spikes and press right. Maybe this is on purpose, I don't know.
-I like the little trampoline thing. Add more of those. It's fun to bounce on.

dougeff wrote:if you hold R or L and try to jump (when you're next to a wall), it is either very short or not at all.

Not jumping at all when you're holding against a wall is a bug. Jumping a little bit is probably either a bug (still working on collision, aaaa) or from walking into a rounded ground tile, which I'm trying to treat like stairs and have the player automatically climb over as a substitute for slopes.

I'm going to play with altering the acceleration and deacceleration while keeping the same top speed since they're just two constants, and maybe change the behavior for turning around. When I use acceleration instead of having a run button, but still want the player to go fast, they're pretty much already running; maybe I should have two quick taps in a given direction start running instead?

Since the last time I added enemies (that can't be killed yet and still have sorta buggy collision), switched sounds engines to the one used in RHDE and I made a lot of progress on the level editor. The collision with the level is still just as broken as before.

Oh, and you can do attacks now though they have no effect, and select switches between different powers. I still need to make it load in the new graphics without blanking the screen and I need to fix the projectiles. You can walk and run too instead of just running.

Basically the editor is a crappy version of Tiled that uses rectangles instead and pretends it's Lunar Magic.

Yeah, I really like Kirby's copy ability stuff and how you'd sometimes use the abilities to interact with the environment (pressing down switches, cutting ropes, lighting fuses) but these seem mostly used for finding secrets rather than solving puzzles. I think I could come up with some interesting interactions to make puzzles with.

I think it'd be nice to have it alongside Mario's running and jumping that usually characterizes platformers. Kirby feels like it really relies a lot more on enemies than the level layout for the difficulty.

One thing I really want to do that neither of these games did is have an ongoing plot through the game and some adventurey aspects, with an inventory and cutscenes. I'll have to come up with a plot I feel more confident about though, and it's a little hard when I'm just designing it around the gameplay I already know I want. I also don't know if this is too ambitious for 256 KB?

Thanks for the encouragement; I'm actually getting pretty close to having the level editor at a point where I can load, save and export levels and it'll be enough for most of the game and I can get back to actually doing assembly.

I've been messing with the palettes ($28 looked icky in some palettes) and editing graphics to make them a little less Mario-y. For the background I actually have clouds, and recently I've been working on code for displaying enemy sprites more flexibly. Most of the new graphics I've drawn are for later on in the game so they aren't used yet.

I'm actually going to have enemies with sizes like 16x32 and 32x24 and I've been working on a routine for displaying them, though I feel like it's really inefficient. Aside from having the metasprite's tile data in columns, are there any good tips for efficiency?

The level editor is currently public though I don't have any pre-built versions available, and the code is awful.

I probably won't be able to work on this as much for awhile because of college.