Search found 104 matches

by Goose2k
Wed Aug 26, 2020 9:10 pm
Forum: NESdev
Topic: Implementing "Rewind" in NES Game
Replies: 4
Views: 652

Re: Implementing "Rewind" in NES Game

I'd probably include a history list with all the information needed to reverse each move, and then have code to undo the move in a way that looks visually as close to the original move as possible. Since movement in this game is block-based, that'll simplify things a lot so you probably won't be wo...
by Goose2k
Wed Aug 26, 2020 5:31 pm
Forum: NESdev
Topic: Implementing "Rewind" in NES Game
Replies: 4
Views: 652

Implementing "Rewind" in NES Game

I'm working on a port of my Pico-8 game, Witch n Wiz . It's a grid-based puzzle platformer, based on the sleeper hit Catrap/Pitman for the Game Boy. One really cool thing about these games is they feature a rewind feature, so if you make a mistake you can go back a few moves without starting the gam...
by Goose2k
Thu Aug 13, 2020 4:00 pm
Forum: NESdev
Topic: Merging CHR ROM bit planes
Replies: 9
Views: 961

Re: Merging CHR ROM bit planes

Here's what I ended up with (C#) // Test file loaded as a byte array. byte[] file = System.IO.File.ReadAllBytes("C:\\Users\\Matt\\Documents\\Dev\\NES\\testrom.chr"); // The final format of the data will be a byte array, with each element representing a single pixel. // It only needs 2bpp, but byte i...
by Goose2k
Thu Aug 13, 2020 10:51 am
Forum: NESdev
Topic: Merging CHR ROM bit planes
Replies: 9
Views: 961

Re: Merging CHR ROM bit planes

Thanks for the info. Good to know I wasn't missing something. There's no way the bit swizzling is a significant computational load... I'd recommend just making your code easily understood instead of fast here. No concerns for performance at this point. Just felt like I might be missing something. :D...
by Goose2k
Thu Aug 13, 2020 10:08 am
Forum: Homebrew Projects
Topic: I want to make a Mega Man game for the NES
Replies: 7
Views: 904

Re: I want to make a Mega Man game for the NES

I'm guessing you already know about it, but if not, there is:

https://megamanmaker.com/
by Goose2k
Thu Aug 13, 2020 10:03 am
Forum: NESdev
Topic: Merging CHR ROM bit planes
Replies: 9
Views: 961

Merging CHR ROM bit planes

I am trying to display the graphical data from a *.chr file for a tool I am writing. Nintool.png Merging the bit planes seems super awkward with my naive approach. Doesn't really matter, since its just a tool, but I was thinking the system must use this format for a reason, and there must be some al...
by Goose2k
Tue Aug 11, 2020 7:14 pm
Forum: Homebrew Projects
Topic: FROM BELOW [NES Homebrew] OPEN BETA
Replies: 76
Views: 18260

Re: FROM BELOW [NES Homebrew] OPEN BETA

Hmm... never had any complaints about itch. Do you have an example of a game download site that you prefer?
by Goose2k
Mon Aug 10, 2020 1:11 pm
Forum: Homebrew Projects
Topic: FROM BELOW [NES Homebrew] OPEN BETA
Replies: 76
Views: 18260

Re: FROM BELOW [NES Homebrew] OPEN BETA

Update Week 11! This release has been a little delayed because I wanted to give the player feedback from Beta 3 a chance to settle. It seems to have done that, and baring any significant bugs being found, this may end up being the final version of the game! Thanks to everyone that provided feedback...
by Goose2k
Fri Aug 07, 2020 5:49 pm
Forum: NES Graphics
Topic: Recommended generic 2d animation software to use for animating pixel-art?
Replies: 12
Views: 2022

Re: Recommended generic 2d animation software to use for animating pixel-art?

I'm not totally sure if it meets your needs. It supports layers, and animations, and is specifically designed for pixel art, which sounded like what you were looking for.

https://www.aseprite.org/docs/animation/

Have you considered just using Flash? I know a lot of animators that still use it.
by Goose2k
Fri Aug 07, 2020 4:31 pm
Forum: Newbie Help Center
Topic: cc65 - Are % and * supported?
Replies: 27
Views: 4149

Re: cc65 - Are % and * supported?

For the multiplication case, I ended up just doing this to my macro: #define TILE_TO_BOARD_INDEX(x,y) (((y) * 10) + (x)) // is now: #define TILE_TO_BOARD_INDEX(x,y) ((board_lookup_y[(y)]) + (x)) And it appears to be the fastest out of all 3 versions (saving 13 scan lines for every 254 calls over the...
by Goose2k
Fri Aug 07, 2020 4:02 pm
Forum: Newbie Help Center
Topic: cc65 - Are % and * supported?
Replies: 27
Views: 4149

Re: cc65 - Are % and * supported?

Thinking about it a bit more, I think just storing the index for the common offsets rather than pointers into the array would be faster (and simpler). I am dropping frames, yah (my original post was just a general question, but I came back to it after trying to fix some sprite flicker). Only in extr...
by Goose2k
Fri Aug 07, 2020 3:34 pm
Forum: Newbie Help Center
Topic: cc65 - Are % and * supported?
Replies: 27
Views: 4149

Re: cc65 - Are % and * supported?

Interesting. So something like: unsigned char* RowLookup[] = { &game_board[0], &game_board[10], &game_board[20], &game_board[30], ... }; // later... unsigned char* RowData = RowLookup[row_num]; unsigned char CellVal = RowData[col_num]; You would expect that to result in significant perf gains?
by Goose2k
Fri Aug 07, 2020 2:34 pm
Forum: Newbie Help Center
Topic: cc65 - Are % and * supported?
Replies: 27
Views: 4149

Re: cc65 - Are % and * supported?

* 10 became mulax10 , which is a dedicated subroutine for multiplying by 10, and is pretty efficient. ... However, an immediate and simple suggestion is to make game board 16 wide, because multiply and modulo by 16 is generally fast (power of 2). I got curious about how much CPU time I would save b...
by Goose2k
Tue Aug 04, 2020 4:28 pm
Forum: Homebrew Projects
Topic: Roniu's Tale
Replies: 9
Views: 2607

Re: Roniu's Tale

Nice! I'm using CC65 as well, and thinking of moving to UNROM (from NROM) on my next project! Looking forward to seeing how this pans out.