Indivisible on NES

A place where you can keep others updated about your NES-related projects through screenshots, videos or information in general.

Moderator: Moderators

Rahsennor
Posts: 479
Joined: Thu Aug 20, 2015 3:09 am

Re: Indivisible on NES

Post by Rahsennor »

Qualifier: unavoidable with my impaired reflexes. Obviously everyone else has no problem with it. :)
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Re: Indivisible on NES

Post by Kasumi »

Nah, Rahsennor, you're definitely not alone. You'll probably find yourself in good company. The boss is one of those things for a long devlog post.
User avatar
Diskover
Posts: 219
Joined: Thu Nov 24, 2011 7:16 am
Contact:

Re: Indivisible on NES

Post by Diskover »

I was totally astonished. Magnificent mastery of physics.
User avatar
Ryoga
Posts: 61
Joined: Wed Mar 16, 2016 2:08 pm
Location: World 9 - Warp Zone
Contact:

Re: Indivisible on NES

Post by Ryoga »

Sprite animations looks great! Gameplay is amazing.
User avatar
tokumaru
Posts: 12427
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Re: Indivisible on NES

Post by tokumaru »

Didn't have time to play it properly yet, but congratulations on the great looking game! I particularly like the complex fading animations! Few NES games bothered changing the hue to add more steps to fading sequences.
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Re: Indivisible on NES

Post by Kasumi »

Thanks for more kind words!

Tokumaru: I figured you'd notice the fades! It's one of many things this game steals from my secret advanced slope game. It's a really simple algorithm that's something like <= $X7 move toward $X1, >= $X8 move toward $XC. Once at $X1 or $XC, subtract $10 and make black on carry clear.

But as simple as the algorithm is, the code for it is HUGE and a mess, I'd like to simplify it sometime.

The thing I didn't steal was my other game's level format, this game is basically uncompressed. I wanted to be lazy with RAM, the good format uses a whole page for it.

Maybe in a couple of weeks I'll upload a video of a runthrough that shows lots of stuff off. (As well as getting a fast, fast time.) I've got a good recording already, but it has two mistakes that keep it from a time milestone (Sub X:00.00) in my favorite category. I want to knock the two seconds off. 8-) You'll have to wait to see what X is.

But of course... the game can be beaten even faster than that in other categories.
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: Indivisible on NES

Post by Myask »

edit: see note below

Larger than 64 bytes? Sounds like a job for a lookup table.
01 0F 01 02 03 04 05 06 09 0a 0b 0c 0F 0c 0f 0f
11 01 11 12 13 14 15 16 19 1a 1b 1c 0c 1c 0f 0f
21 11 21 22 23 24 25 26 29 2a 2b 2c 1c 2c 0f 0f
31 21 31 32 33 34 35 36 39 3a 3b 3c 2c 3c 0f 0f
My table is for hue-then-value (though all in the same process).
Which isn't the same thing as is being done, so…oh well. Maybe I can use it later.
Last edited by Myask on Wed Sep 06, 2017 3:41 am, edited 1 time in total.
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Re: Indivisible on NES

Post by Kasumi »

The code I could avoid by using a lookup table for fade to black seems to win over a 64 byte lookup table. It's also not quite as simple as beating 64, because apparently the hue shift and value shift are separate steps. I was wrong, value is first, any color that reaches $0X doesn't become black until the hue shift step. You can see this with $0C on the title screen. (It stays $0C until everything else is $0X.)

So you'd need two tables for a purely table based approach, but one could be 16 bytes since after value the high nibble is guaranteed zero.

Hybrid's probably best, the subtract $10 and do a thing on carry is easy, and then you only need the 16 byte table. Looks like it'd beat what I have by about 8 bytes.

Fade in is a tougher call, since the destination color is not always the same it's trickier to find the code I could certainly avoid using lookup tables. I'll say had I used tables the fade in would probably look better because I'd have iterated more. I'll probably play with the algorithm for fade in for future games.
Last edited by Kasumi on Wed Sep 06, 2017 3:30 am, edited 1 time in total.
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: Indivisible on NES

Post by Myask »

Well, speed isn't super-important, you're not updating much else, so yeah, hybrid with 16-byte table and ANDing off the value nyb.

(…thought you said it hue-shifted, going to hue 1/C, *then* value-shifted to 0 and then black?)
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Re: Indivisible on NES

Post by Kasumi »

I said it was something like that, yes, hence the "I was wrong".
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: Indivisible on NES

Post by Myask »

No worries! :D My table is for hue-then-value (though all in the same process).
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Re: Indivisible on NES

Post by Kasumi »

Spoilers: This video reveals one new thing, but not everything: https://www.youtube.com/watch?v=p86jeacic9Y
User avatar
rainwarrior
Posts: 8731
Joined: Sun Jan 22, 2012 12:03 pm
Location: Canada
Contact:

Re: Indivisible on NES

Post by rainwarrior »

You can whack the floor attack back at the boss??
User avatar
gauauu
Posts: 779
Joined: Sat Jan 09, 2016 9:21 pm
Location: Central Illinois, USA
Contact:

Re: Indivisible on NES

Post by gauauu »

Finally got a chance to play this. Wow, well done. I'm impressed.
User avatar
Kasumi
Posts: 1293
Joined: Wed Apr 02, 2008 2:09 pm

Re: Indivisible on NES

Post by Kasumi »

rainwarrior: I expected more wouldn't find it than would, but it was a fun idea I had and it was easy to do. It definitely makes the fight faster, whether it makes it easier is up for debate.

Thanks, gauauu!
Post Reply