Search found 2157 matches

by Celius
Tue Oct 17, 2017 12:59 pm
Forum: NESdev
Topic: Enemy placement in screen-by-screen top-down game
Replies: 28
Views: 6502

Re: Enemy placement in screen-by-screen top-down game

One solution would be to have a rough area where an enemy should start. The area would be, say, 5x5 metatiles. Instead of having an exact location for the enemy, you would indicate the location of the area, and have the enemy start in a random non-solid tile within the area. This way you can still d...
by Celius
Thu Oct 12, 2017 11:23 am
Forum: Homebrew Projects
Topic: Vigilante Ninja (edit)
Replies: 290
Views: 93825

Re: Vigilante Ninja (edit)

I really like to explore, get a better sense of the architecture of the levels, look for hidden rooms and items... You can't do that if you're zooming through every stage. Right. The freedom to zoom through sections is part of the fun, but not all of it. I, too, like to explore and absorb the envir...
by Celius
Thu Oct 12, 2017 7:45 am
Forum: Homebrew Projects
Topic: Vigilante Ninja (edit)
Replies: 290
Views: 93825

Re: Vigilante Ninja (edit)

The number of screens shouldn't really be a problem, if the gameplay difficulty is well balanced. It really depends on the style of game. I think once you move beyond single-screen, it definitely is a factor to consider. Think of a game like Sonic, for example. One of the things that makes the game...
by Celius
Wed Oct 11, 2017 2:09 pm
Forum: Homebrew Projects
Topic: Vigilante Ninja (edit)
Replies: 290
Views: 93825

Re: Vigilante Ninja (edit)

Just add more challenges, e.g. enemies It could also be that the levels are too short, which can really suck in terms of programming if your max number of screens is too low. Depending on "why" the maximum is what it is, you may have to go back and make a lot of changes to the engine to accommodate...
by Celius
Tue Oct 10, 2017 2:02 pm
Forum: Homebrew Projects
Topic: Vigilante Ninja (edit)
Replies: 290
Views: 93825

Re: Vigilante Ninja (edit)

I added a retrospective (post-mortem) about Vigilante Ninja 2 on my blog, if anyone is curious. I really liked reading this. I think it's great that you reflected honestly on the game and mistakes that were made during the design process. One of the things I also underestimated in designing a game ...
by Celius
Mon Oct 09, 2017 7:18 am
Forum: NESdev
Topic: Object data storing schemes -- as opposed to background data
Replies: 21
Views: 5493

Re: Object data storing schemes -- as opposed to background

How did you implement this window, if I may ask? Well, I actually do have an advantage, because my game only scrolls horizontally. I was able to dedicate $600-$7FF to my rolling window, and have every 16 bytes represent a column of metatiles (so $600-$60F holds a column, $610-$61F holds the column ...
by Celius
Sun Oct 01, 2017 8:34 pm
Forum: NESdev
Topic: Object data storing schemes -- as opposed to background data
Replies: 21
Views: 5493

Re: Object data storing schemes -- as opposed to background

To solve this problem I only deactivate/unload an object if both its current position AND its spawn position are out of bounds. That's actually a really good idea. Logically, that makes more sense than my method. However, for my engine (and possibly others), it might present a different problem to ...
by Celius
Fri Sep 29, 2017 2:45 pm
Forum: NESdev
Topic: Object data storing schemes -- as opposed to background data
Replies: 21
Views: 5493

Re: Object data storing schemes -- as opposed to background

I have used the same approach with the 1-bit per object status flag. This works pretty well for preventing respawning. Another problem to consider is that you should prevent your objects from wandering outside of the "active" zone. For instance, one of the enemies in my game just walks back and fort...
by Celius
Wed Jan 18, 2017 2:37 pm
Forum: Homebrew Projects
Topic: Metroid Rogue Dawn total conversion hack
Replies: 4
Views: 3615

Re: Metroid Rogue Dawn total conversion hack

Saw this post yesterday, downloaded and played all the way through in one sitting. Super awesome; thanks for sharing :)
by Celius
Fri Jun 17, 2016 9:06 am
Forum: NESdev
Topic: Including binary files that contain pointers to dynamic data
Replies: 26
Views: 6025

Re: Including binary files that contain pointers to dynamic

I have taken the approach of generating .db statements instead of including binary files before. I believe I did this when working on my raycasting demo, where I had tables of information for every possible wall distance, which looked something like this: RaycastingWallHeightsDistance01: .db $05,$05...
by Celius
Mon May 09, 2016 9:22 am
Forum: NESdev
Topic: "Philosophical question": Unnamed labels
Replies: 44
Views: 8069

Re: "Philosophical question": Unnamed labels

What happens when you need to resize an array, then? You have to manually move every variable that comes after it! Not to mention that you have to calculate the address of each variable/array in your head according to the size of the one that came before (i.e. the length of a variable is unknown un...
by Celius
Fri May 06, 2016 10:24 am
Forum: NESdev
Topic: "Philosophical question": Unnamed labels
Replies: 44
Views: 8069

Re: "Philosophical question": Unnamed labels

Generate a listing if the assembler provides the option. This will tell you the exact address of every line (useful not just for telling where each variable is, but also to tell precisely where the code gets stuck). I'm sure WLA could generate this, but for me, it's not that much more work to do it...
by Celius
Thu May 05, 2016 2:15 pm
Forum: NESdev
Topic: "Philosophical question": Unnamed labels
Replies: 44
Views: 8069

Re: "Philosophical question": Unnamed labels

Well it's not exactly the same as a named label. Something like this works: ldx var --- iny dex bne --- ;this will loop to the label above jmp + ++ rts ;this line will be ignored + lda #3 jmp + ;this will go to the NEXT occurrence of + ++ rts ;this line will be ignored + lda #4 .... You can reuse th...
by Celius
Thu May 05, 2016 1:43 pm
Forum: NESdev
Topic: "Philosophical question": Unnamed labels
Replies: 44
Views: 8069

Re: "Philosophical question": Unnamed labels

I actually like the way WLA does it: ldx var --- iny dex bne --- ;this will loop to the label above jmp + ++ rts ;this line will be ignored + lda #3 The number of + or - doesn't need to correlate to how many nameless labels are in front of or behind your branch statement. It always just looks for th...
by Celius
Tue Dec 29, 2015 1:58 pm
Forum: NESdev
Topic: NES Programming Blog
Replies: 101
Views: 50271

Re: NES Programming Blog

As long as you're consistent with your conventions, it's probably fine. I would agree with this. Putting multiple conventions together causes confusion and often causes one to doubt whether or not they understand what they're looking at. Camel case isn't really any better or worse than other naming...