Jump to content


New Members
  • Content Count

  • Joined

  • Last visited

Community Reputation

30 Excellent

About Sknarp

  • Rank
    Star Raider

Profile Information

  • Interests
    Music, Games, Art

Recent Profile Visitors

98 profile views
  1. I agree with the others. I thought it looked fantastic, but then realized it wasn't supposed to be read as "Maiiard games" so you should make the L's more obvious.
  2. Nice start, I definitely think dev threads are a good idea because there's any number of choices/issues/changes that can come up during the process and you never know what information might be helpful to others in the future.
  3. Thank you, that would be an awesome bit of information to have for sure. I've been using the syntax if !var1=var2 then a lot so if I need to change it to if var1<>var2 then it's not going to cost me any efficiency and I'll just adjust my style, but if it's safe to do it either way it's good to have the flexibility. As for using if !myvar then instead of if myvar=0 then I can't find the exact post right now but I'm positive I got the idea from some previous post on AA about space saving techniques, so it's important from an efficiency standpoint to know if you can't use ORs with the trick. I understand that it'll be a while before we get the definitive answer, I might just do a preemptive rewrite to be safe either way.
  4. Alright, so I went ahead and tested if <> has any advantage over !=, because I would love to know of any way to optimize- unfortunately it makes zero difference. In my tests of four conditonal checks using != vs the same four checks rewritten with <> instead, both sets of four checks take up exactly 32 bytes of ROM (8 bytes per conditional check) and take 64 cycles (16 cycles per) so it's just a matter of programmer's choice of style. I really don't understand why you're saying I can't write a conditional that uses a ! token and an || token... There's no reason as to why you can't in the linked page, and the "more information link" just brings you to another copy of the same warnings with again no explanation and a link back to the first verbatim warning. Also it does seem to work just fine, and even if the chart is accurate it says you can use OR with = and the condition if !varthis || !varthat is the same thing as saying if varthis=0 || varthat=0 so I'm really confused on WHY it would only work when written one way, Is there a source post somewhere that explains where the chart came from?
  5. Nice, added FP only using 74 bytes- most of which are if statements unfortunately but it might be well worth the cycles for sure. Could I ask a couple of questions about the opts you did? I noticed in the for loop for movement you used <> instead of typical equivalency (= or !=)- I couldn't find much information on if this has advantages- is it faster? Does it take less bytes? Also in the main loop you combined the collision checks, but on the win screen you separated out the switch checks, Which is better: using a bunch of &&'d ifs in one line or doing them as single checks over seperate lines? I really appreciate your help and input- your website is one of the main things I refer to when I am curious how to use a function of bB.
  6. It's done to save on space, indexing the memory space of one player and incrementing the index/offset..It's probably better I just show the code rather than fail to explain it. If you want to compile this you'll need the modified includes in the same directory, otherwise there's not enough free space. WIPsourceAA.bas multisprite_kernel.asm score_graphics.asm
  7. I tried to use FP, hung the compiler BAD - eventually got it to work, but it didn't actually have the desired effect because of decimal points being truncated when applied to an integer like x positions. Hanging the compiler (I assume) caused me to eventually be unable to compile any code- and also caused some sort of leak that was making my entire computer slow down. I was able to fix ability to compile by moving the most vital files to a new directory (The old directory will be deleted just to avoid that happening again) and the effects on my computer was mitigated by excessive swearing and a forced reboot. (I probably needed to do a fresh restart anyway, I'm lazy about those) At the moment I am not intending to use Fixed Point anything for anything I will still try tweaking the for loop to see if I can make it look more fluid
  8. Is it their movement speed, or is the jerkiness happening when you are on the same Y as the enemy? If it's the later, I think it's a kernel-related issue that's over my head.
  9. Just posted a near-complete build of my last 2-wk's of work in the bB section. (ATAX-ATAX) (LINK)

  10. Switch Support & Game Modes When I was programming in the switch support I saved 4 bytes on every switch check by using bit checks instead of bB keywords Title screen now supports Select Switch as well as Fire. Main game now supports Reset Switch. Win Screen supports both the Select Switch and Reset Switch. Two game modes (LEFT "Difficulty" Switch) and Two difficulty settings (RIGHT "Difficulty" Switch): Less than 150b left. Let me know if there are any game-breaking bugs I need to fix. New binary! Enjoy WIP_ATAX-ATAX_by_SKNARP.bin
  11. Player0 sprite: The player0 sprite wasn't completely centered, This was easy enough to fix The sprite looks almost exactly the same during gameplay, but now won't be offset if you turn around in a tight area, this helps to ensure you won't get stuck in a wall. Kernel Timing I used something like 15 cycles where I had 12 to work with, there was always a bit of room to go a little over-cycle at this point in the kernel (I belive at least 10-20 over was the wiggle room), but I found that one of the opcodes was unneeded (STA PF0), so I removed it and should be cycle exact now. Two Week Progress Report Currently at 16 screens (not counting the title), and 528b free. I also still have 28 variables free. I am now 14 days into development of this game. I still have some time this evening so I might still get more done tonight.
  12. No, apparently I have Build 566, I'll have to update. Thank you RT
  13. My apologies if this has been mentioned already, but I couldn't find anything in the search. inline ASM throws some warnings- "asm is not a recognized keyword" and more frustratingly "end is a duplicate label definition" if you use more than one block of inline asm, the latter has an annoying tendancy to pop up every time I write any line of code, anywhere in the program, which constantly snaps the window around to focus on where the warning is being generated from.
  14. Very cool. It's quite difficult, I can't get more than 8 notes in, and that requires some concentration to pull off.
  15. NTSC runs roughly 17% faster than PAL (someone with more knowledge feel free to correct this number) So anything you can do within the timing of an NTSC should be able to be done in the timing of a PAL. Your timing will be different, so the kernel and anything else that makes assumptions about the passage of time would need to be adjusted. NTSC and PAL also use different colors, so you'll have to adjust any time a color is being used. (And probably can't exactly replicate the NTSC colors) I believe it could be done, but would require some time and effort.
  • Create New...