an open source NES platformer game

Overview

Nova the Squirrel

You can also get the game from itch.io!

Nova the Squirrel is an NES game that stars Nova Storm, a green squirrel, who winds up in a new and unfamiliar world with strange new abilities, and she must use her new abilities to save the world.

Animated screenshot Animated screenshot

This game takes inspiration from Super Mario Bros. 3, Kirby Super Star, Chip's Challenge, and Hannah and the Pirate Caves. In many cases, Nova will have to copy abilities from enemies and then use them to solve puzzles.

Variable width cutscene screenshot Moving platforms screenshot

Engine features include cutscenes with variable width text and portraits, and moving platforms.

Level editor

There is a level editor that I think is a lot better than Tiled, named PrincessEdit.

This is an open source project and it also exists to develop the Princess Engine (named because its goal is similar to President ) into something that's useful for other programmers to use to make their own NES platformer game. This engine will provide something much more legal to play with than hacking a game in the Mario series. In addition, unlike with Super Mario World, all the tools as well as the game itself are completely open source, and GPL licensed.

Comments
  • Redo run related options

    Redo run related options

    While the rest of the options worked fine with only 2 choices, each 4 characters long, I think running will need more flexibility and I think it would make sense to have the following four choices:

    • Press B to attack when standing or in the air, hold B while walking to run (current default)
    • Press B at any time to attack, hold B to run
    • Press B at any time to attack, double-tap d-pad to run
    • Press B at any time to attack, hold B to run, double tap d-pad to run (new default?)

    I'll have to come up with shorter names for these before I can have them as menu choices too.

    enhancement 
    opened by NovaSquirrel 3
  • Suggestion: combined run method

    Suggestion: combined run method

    I've been checking on your project for a while, it looks very promising, congrats!

    One thing I've noticed is that while the default run method makes it impossible to shoot while moving, the alternative one (the double tap to run) makes it a bit uncomfortable/unconventional to run, specially when switching directions while running.

    Why not do like in Super Mario Bros 3 where the B button will shoot even while moving while at the same time allows running while pressed?

    It might cause you to shoot unintentionally sometimes, but I think that would be ok in most cases. You could still keep the double tap for running without shooting for the cases were you really need to be conservative with the attacks (but so far all the abilities I've seen can be spammed without worries, honestly).

    opened by Ferk 3
  • Runtime PAL music adjustment

    Runtime PAL music adjustment

    Detect a PAL console and adjust the music, even if none of the actual speeds are adjusted. This should be easy because Pently is already built for this.

    enhancement 
    opened by NovaSquirrel 2
  • 5-7 Boss: ???

    5-7 Boss: ???

    I want to do something similar to Mega Man X5's Duff McWhalen fight, but not sure past that. The fact that you can actually melt ice or also now explode it should make things very interesting.

    enhancement needed feature 
    opened by NovaSquirrel 2
  • Collectible secrets

    Collectible secrets

    I noticed in a lot of my secret/challenge areas I just have like, a health recovery items or lots of coins. I should probably actually have it so there's one secret per level that you can collect, that actually gets marked down somewhere.

    enhancement 
    opened by NovaSquirrel 2
  • Tall level bugs

    Tall level bugs

    You can get trapped between two screens, quickly cycling between them. Also the level exporter still doesn't handle this very well at all; enemies are in the wrong places, and it doesn't place barriers correctly. There's still that bug in level 2.

    bug 
    opened by NovaSquirrel 2
  • Mark puzzle levels on stage select

    Mark puzzle levels on stage select

    They should have a puzzle piece icon rather than a standard icon. Probably should also make it clear if you're entering a puzzle level, maybe by returning to the level select after completing a stage?

    enhancement 
    opened by NovaSquirrel 2
  • VWF cutscene engine

    VWF cutscene engine

    In my current plans, the story parts will be told with cartoony cutscenes with characters below a speech bubble or thought bubble or a narration or whatever (like this).

    enhancement 
    opened by NovaSquirrel 2
  • Skip over empty menu items

    Skip over empty menu items

    When you move the cursor past an empty menu option it should skip until you get to a non-empty menu option. Probably don't do this while you're rearranging an inventory, but do it otherwise?

    enhancement 
    opened by NovaSquirrel 1
  • Possible to make spring graphics glitch up

    Possible to make spring graphics glitch up

    I think it's just the metatile getting written to the map wrong, since pausing and unpausing fixes it. I think it also has to do with toggle switches.

    bug 
    opened by NovaSquirrel 1
  • Do something about $4011 levels

    Do something about $4011 levels

    The default for Pently is to make $4011 start at 64, but that affects the volume of the noise and triangle channels. I changed it to 0 to make the music sound as intended, but that means the voice samples now have a pop when playing because they abruptly change $4011 from 0 to/from 64. I changed it so that there's a ramp instead, but can it be better?

    question 
    opened by NovaSquirrel 1
  • Look into using all four palettes

    Look into using all four palettes

    A lot of levels don't use palette 4 at all, or use it sparingly. I can use this for lots of things like actually blue water, or for a separate palette for background elements that contrast against the foreground.

    enhancement 
    opened by NovaSquirrel 1
  • Blue water?

    Blue water?

    At least in 1-5 I think it'd probably be doable to make the water actually blue. Maybe more of like a light cyan? So it doesn't interfere with the other stuff.

    enhancement 
    opened by NovaSquirrel 0
  • Don't restart song when switching worlds on level select

    Don't restart song when switching worlds on level select

    Since the songs are all the same length (64 rows), I think a pretty straightforward solution to this would be to keep track of how many rows the song has gone on for, and then pently_next_row that many times before finally doing the loop in pently_update to write the state to the channels. I think that might be what skip_to_row_top actually does when rehearsal mode is on.

    enhancement polish 
    opened by NovaSquirrel 0
  • Out-of-bounds enemy ID bug

    Out-of-bounds enemy ID bug

    Through some unknown means, an enemy can have its ID corrupted. This caused a crash for one playthrough of the game, and while there's a safeguard to despawn any out-of-range enemies, I would like to fix this.

    bug 
    opened by NovaSquirrel 1
Releases(v1.0.6)
  • v1.0.6(Apr 30, 2019)

    Hopefully the last update. These are some minor changes, primarily because having the level editor broken would be terrible for a final release.

    • When initializing the memory for custom levels, the enemy list is initialized correctly now
    • Squirrel Domino automatically starts a new round after completing one now
    • Updated Squirrel Domino's name in the credits, instead of calling it Capsules
    • In custom levels, pausing and unpausing does not start playing music
    Source code(tar.gz)
    Source code(zip)
    nova.nes(256.01 KB)
  • v1.0.5(Apr 7, 2019)

    A small update

    • New title screen, which I drew by actually drawing it on paper and tracing it over
    • Plugging in a SNES mouse gets you a minimal paint program as an easter egg
    • Level editor now lets you name the levels you create
    • Level editor automatically initializes level slots now if a signature is not found (so it will erase levels made on an earlier version, be wary)
    • Level editor/sandbox shows the scroll position while flying
    • Level editor/sandbox uses a faster method of undoing autotiling, and an autotiling bug was fixed
    Source code(tar.gz)
    Source code(zip)
    nova.nes(256.01 KB)
  • v1.0.4(Feb 4, 2019)

    • Animated water/lava in more levels
    • New title screen (let me know your opinion on it?)
    • Puzzle game included: Squirrel Domino
    • Full level editor with 5 level slots (requires an emulator with NES 2.0 support)
    • Time trial mode after you beat the game
    • Music should sound correct even on PAL
    • "Old music" in the sound test should sound more correct
    • Minor level and dialog edits
    • Collision fix involving ladders
    Source code(tar.gz)
    Source code(zip)
    nova.nes(256.01 KB)
  • v1.0.3(Jun 10, 2018)

    ​Minor bug-fixing update.

    • Music muting now fully works.
    • Added a barrier before the last ceiling portion of level 1-7.
    • Rope no longer extends past the bottom of the screen if used above a pit.
    • Checkpoint collision box doubled so it's easier to hit.
    • Can no longer get past scrolling barriers by going over the top of the screen.
    • More hardware single-frame sprite problem fixes. (OAM decay)
    Source code(tar.gz)
    Source code(zip)
    nova.nes(256.01 KB)
  • v1.0.2(Jun 5, 2018)

    • ​"B always shoots" now the default, but can be turned on/off as always.
    • Fixes a rare problem involving garbage sprites for a single frame on real hardware (I hope).
    • Precautions added so that out-of-range sprite IDs can not crash the game.
    • New wall ejection code that searches for an empty space, instead of being based around the last known good spot.
    • Music plays more reliably during slowdown now.
    • Options screen is no longer able to hang on a note, though it may briefly play sound.
    • Springs can no longer accidentally use the wrong graphics when touched.
    Source code(tar.gz)
    Source code(zip)
    nova.nes(256.01 KB)
  • v1.0.1(Jun 4, 2018)

    • Minor fix to World 5's music, to make it more accurate to how it was originally supposed to be.
    • The player is ejected from walls better, pushing a little bit rather than instantly warping.
    • World 2-5 changed to require only 25 chips.
    • Fixed certain cheats, which produced a noise they weren't supposed to when activated.
    • Made horizontal laser beams actually act as a barrier.
    • Fixed a single frame of wrong scrolling on the level 4-8 boss.
    Source code(tar.gz)
    Source code(zip)
    nova.nes(256.01 KB)
  • v1.0.0(Jun 3, 2018)

Owner
SNES development squirrel
null
A blank for a SDL2-based platformer game

A blank for a SDL2-based platformer game Attention, this repository does not contain (and never will) a playable game. The goal is to show basic princ

Dmitry V. Sokolov 39 Dec 30, 2022
Full source code for WarriOrb, a Dark-Souls like action platformer - using Unreal Engine 4

WarriOrb source code WarriOrb is a hardcore action platformer where you play as a demon who is trapped in an unlikely body. The game mixes the difficu

Not Yet 247 Dec 30, 2022
Advent of Code 2021 - Solved on a NES

Advent of Code 2021 - On an NES Quest to complete Advent of Code 2021 on a unmodified 8-bit NES. Should (and does) run on physical hardware. Uses MMC1

Pellsson 23 May 26, 2022
OpenMW is an open-source open-world RPG game engine that supports playing Morrowind.

OpenMW is an open-source open-world RPG game engine that supports playing Morrowind.

null 4.5k Jan 2, 2023
This is a list of different open-source video games and commercial video games open-source remakes.

This is a list of different open-source video games and commercial video games open-source remakes.

Ivan Bobev 173 Jan 2, 2023
Minetest is an open source voxel game engine with easy modding and game creation

Minetest is an open source voxel game engine with easy modding and game creation

Minetest 8.3k Dec 29, 2022
Open-source, cross-platform, C++ game engine for creating 2D/3D games.

GamePlay v3.0.0 GamePlay is an open-source, cross-platform, C++ game framework/engine for creating 2D/3D mobile and desktop games. Website Wiki API De

gameplay3d 3.9k Jan 8, 2023
KlayGE is a cross-platform open source game engine with plugin-based architecture.

KlayGE KlayGE is a cross-platform open source game engine with plugin-based architecture. It's started since 2003. The explicit goal of KlayGE is: to

Minmin Gong 1.8k Dec 23, 2022
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU

Panda3D Panda3D is a game engine, a framework for 3D rendering and game development for Python and C++ programs. Panda3D is open-source and free for a

Panda3D 3.6k Dec 31, 2022
MIT Licensed Open Source version of Torque 2D game engine from GarageGames

We've moved! All torque engines have moved to a new organization, Torque Game Engines. Torque2D can be found at https://github.com/TorqueGameEngines/T

GarageGames 1.7k Dec 14, 2022
Free, open-source, game engine and a 3D sandbox.

Work-in-Progress The official "early alpha" release should be available around April 2021 SGEEngine SGEEngine is an open source (MIT License), C++ cen

ongamex 72 Dec 7, 2022
MAZE (My AmaZing Engine) - 🎮 Personal open-source cross-platform game engine

MAZE (My AmaZing Engine) is the self-written open-source cross-platform game engine in the active development stage. At the moment it is my main pet project, developed for the purpose of learning and preserving different game dev technologies.

Dmitriy Nosov 13 Dec 14, 2022
Ducktape is an Open source Light weight 2d Game Engine that gives utmost priority to user convenience.

Ducktape is an Open source Light weight 2d Game Engine that gives utmost priority to user convenience. It is written in c++ and uses SFML and Box2d for graphics and physics respectively.

Ducktape 102 Dec 30, 2022
An open source implementation of the dark souls 3 game server.

What is this project? An open source implementation of the dark souls 3 game server. Idealistically made for the purpose of allow better alternatives

Tim Leonard 547 Dec 30, 2022
An open-source puzzle game

These are series of enigmas games. Enjoy thinking about puzzles. This 1.4 version contains : - Eulerian Graphs series (with time challenge) ...but m

null 6 May 29, 2022
Cytopia is a free, open source retro pixel-art city building game with a big focus on mods.

Cytopia is a free, open source retro pixel-art city building game with a big focus on mods. It utilizes a custom isometric rendering engine based on SDL2.

CytopiaTeam 1.6k Dec 30, 2022
An open source implementation of the dark souls 2 game server.

WARNING: This is non-functional, its an initial branch from ds3os. What is this project? An open source implementation of the dark souls 2 game server

Tim Leonard 42 Oct 8, 2022
SnaX Game Engine - Open Source

SnaX Game Engine License SnaX Game Engine - https://github.com/snaxgameengine/snax Licensed under the MIT License http://opensource.org/licenses/MIT.

SnaX Game Engine 14 Dec 1, 2022
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World.

OpenXRay OpenXRay is an improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. S

null 2.2k Jan 1, 2023