Old NA Blog - 2011
Welcome to a archive of the most prolific blog ever to grace the pages of NintendoAGE written exclusively by Mario’s Right Nut.
12/8/11 - D Day
Yes, today I got Divorced! Horray for boobies, or lack thereof. Or maybe new ones.
I should start a pool. I wonder how long it will take the crazy woman to realize how good she’s had it. 6 years and 5 months.
12/6/11 - "The Grind"
So, I’ve been kicking around ideas in my head for a while as far as my next game. I would like to finish Nightman someday, but I’m really just not motivated to dive into a giant ass game right now. Maybe someday.
Anyway, I’ve been toying with some characters for a bit now. Just letting my creative juices drift somewhere besides the drain in the bathtub. I’ve come up with some stuff, but I have a while to go. A while ago I asked for ideas on new games. I found three things that peaked my interest.
1. I have a bunch of 16KB NROM doners that I would like to do something with.
2. Brad had the idea of a 8×8 character game. He said platformer, but honestly, platformers are not my thing. I like the top down and space ships type stuff.
3. The Grind. Reccomended by a very young user who thought it would be pretty cool. Basically you just grind away at something until you beat it.
With this in mind, I’ve set about designing a new game. It will be small to fit in the little doner carts, so that will be a challenge. But we’ll see where it takes us. I’ll post the graphics when I get somewhere.
Peace!
Later that afternoon…
So, I’ve been bored at work (first time in a long time), so I’ve been making stuff that would get me written up. Here’s some of the art for The Grind. It should be enough to get me started anyway. Once the basic engine is in place, and I see how much extra space I have, I’ll add bells and whistles.
11/8/11 - Homebrew Prices
Rant time. I’m pissed about something today, so I get to rant about something trivial to make myself feel better. Shut up and listen!
So, all said, Bust A Nut, a CIB game, was $27.50 SHIPPED and I still made $1000 on 50 of them (and donated an additional $200 to NA). (I can understand a higher price if you get a real box made, but for an extra $15 each, it’s stupid IMO.) Now, I see cart only games (NROM games, mind you, not even the complicated ones) selling for $30 cart only. That’s crap. Homebrewing is not a way to make money, it’s a hobby. If you don’t enjoy the construction, release the rom and the label and let people make their own game. Don’t fuck people over for the hell of it.
NROM Doner – 2, chips – 2.5, label – 1, shipping – 2.5 = 8. Any more than ~25 is screwing people.
You, future homebrew releasers, don’t be assholes. Keep it cheap.
11/4/11 - Bitches Be Trippin'
Well, since bitches be trippin’ that I’ve not started on NM vs. JI rev…4 (I think), I sat down for a bit today and did some stuff. I thought about giving up programming for a while, but it relaxes me. So, in the effort to get out of my head for a bit, I redid the overworld meta tiles…again. My goal this time around is to do like I did on BAN where I don’t have to fuck with attributes. So, this may compramise some versitility, but in the end, it will be much less frustrating. Here’s the result:
This shit on the left is the meta tiles from iteration #1 and #2, I believe. Then the top right is from #3. The middle right is the current one. I don’t know if you can see it very well, but I took out some of the detail that might make just over a rat’s ass of difference, but overall, I doubt you’d be able totell if I didn’t point it out. You can see the repeats of some stuff. That’s for the different pallettes that I’ll eventually specify. I blunted out some of the round stuff so that the collision detection would seem to work better. And changed stuff ever so slightly so that there would be more duplicate meta tiles. This is blatiantly obvious if you compare the final with the original wall shit. Much more efficient.
Anyway, any suggestions, let me know.
10/31/11 - Boredom
So, I’ve not really had insperation/motivation strike me since I finished my last game. As a result, I’ve not done shit in the way of something new. I’ll most likely start on Nightman again at some point, but we’ll see. I really like the short games that I can finish in a few months rather than a few years like an entire big ass game. I have everything that I’d need for another small release (or a couple more), but I need an idea to strike.
Other than that, I’m having some turmoil in my personal life that may or may not end up being a good thing. I’m pretty sure that I know what I want, but TX makes it pretty much impossible to do it economically and timely. Who knows what will happen. But she did tell me yesterday that she didn’t care, wasn’t trying, and was being a bitch (her words), so I really don’t know what to do with that…? How can you even try to get past it with an attitude like that?
Anyway, any good homebrew suggestions, let me know.
And the distribution of BAN went pretty goot. So far I’ve only had 2 damage claims. Both to Canada. One where the case got squished and the other where the SB cart was damaged. Seems weird that that would be what’s hurt, but I’m still waiting on pictures. So far they’ve been nice about it, but next time I may have the option to ship to CA in a box or they take the damage risk.
Anyway, till next time.
9/26/11 - Almost Done
For those that know what I’m talking about, Saturday, the 24th, was my 4th birthday. Kinda weird to think that it’s been that long, but I remember when I first started and a guy said that his shit happened 4 years ago…I thought that was never going to happen to me. It’s crazy. September 24th always has me keeping busy so that I don’t think about it.
Ufda.
Anyway, I got an insert from Tusk finished, I got the Graphic Novels finished, I’m waiting on an insert from some weird Canadian that should be here today hopefully, I finished cart construction and testing yesterday (it’s the two that don’t work that take so fucking long to fix), and re-printed the 2 labels that I messed up while laminating.
All I have to do is apply the front and back labels and I’m done…well, after I stick, all this shit in the boxes. Then ship them out (gag). Then I’m done!! Fuckin’a. I have a picture of the completed carts. I guess I’ll post it hold on.
9/19/11 - Manuals and Shit
I have completed the manuals. I’ll meant to post pics, but I guess I forgot to take them. I spent a half hour trying to get it to print correctly and I came to the conclusion that the printer paper location tolerance is what the problem was. Fuck. They just wouldn’t line up correctly and when one did, the next wouldn’t. But, they look good on the front cover.
I also printed off the campout insert. It’s pretty neat. Thanks to Paul and the mystery artist for supplying that.
I also nastily cut my finger while cleaning the tape goo off the paper cutter. Cutting the tip of your index finger is really irratating. Every time I do something, it starts bleeding again. Doesn’t hurt, but I keep messing up everything. It went deep.
Oh, and Office Depot has a “deep” stapler. It is a must for manual making. It’s on sale online right now.
As for the game, I’ve been debugging and I’m almost all the way through. Hopefully I can burn chips this week and test without any further problems. I am SO freaking ready to be done with this game.
9/6/11 - BAN Construction
Rather than double post, I’ll just post the link:
http://nintendoage.com/forum/messageview.cfm?catid=22&threadid=48861
(Note that the stuff in this thread has been archived on my site. See HERE in the BAN page.)
8/30/11 - Music
Sorry I’ve been such a freaking slacker about updating this lately. I’ve been crazy busy.
Anyway, I “finished” the music and SFX last night. Hopefully I won’t have to add to it, but who knows. It is fun, but it just takes so long to do anything with it. I can’t quite “see” what the music will sound like as I can with the graphics code. I have to assemble it at each little step to hear what I’ve done.
But, I’m happy with it.
Just a little more coding to go, integrate the music, and we’ll have a complete game. I’d post what I’m coding, but I want to make sure it works first. It is something I’ve never done before.
8/24/11 - Bust a Insert
I made up this insert for my release and got approval from DreamTR. Simple but neat.
Sould have 8-10 if everyone gets me their stuff. It’ll be awesome!
8/23/11 - Bust A Nut Box Art
Box Art Bitches! Open to suggestions if anyone has any. This is obviously a resized jpeg. The original isn’t so crappy.
8/18/11 - Travels: Chicago
So, I had to go view a site and attend a meeting in Chicago yesterday. First, the project runs along I-88 from the I-335 intersection and going west for about 3.5 miles. As you may or may not know, there are freaking houses, on/off ramps, schools, office buildings, parking lots, rivers, all kinds of shit backed up to the freeway where they are replacing this pipeline. Needless to say, it will be a freaking bitch and I hope we don’t get the job.
Second, I have so much to do, I decided to fly from Hobby to Midway and back on the same day. Well, I almost missed my return flight, but that’s not the point of this rant. My flight out was at 7am, meaning that I had to get to the airport at 6 and that’s an hour away…you can see how early it gets. Then the freaking client yacked on for an extra 25 minutes longer than she said she would so I had to rush to get back to Midway to make my flight home. I ran through the airport and got there just as they were boarding my section. So, sweaty and thirsty I got on the plane.
Then I swear that the dude sitting next to me was cracked out. He was shaking the whole time and had his legs bouncing. Kept leaning forward, then back, sighing, whiping his hands on his face and I wanted to smack him and say STFU. You know? Why the hell can’t the hot brunette sit next to me? Why always the cracked out middle aged guy?
I did note that Chicago drivers, while still crazy, are infinitely more curtious than Houston drivers. And you can tell that the weather gets bad there because even when the weather is in the 80s, they still give you a very wide birth between cars and actually let you over. I thought that was nice.
Also, and I may have talked about this in the past, but next time you walk through the airport or mall or wherever, stop and look at people. Do you notice the percentage of people that are attractive to you? It’s crazy that we ever meet anyone. I mean, assuming you’re not bi, there’s half. Finding someone in your age bracket takes out 80-90% of that half. Then there’s the people that just aren’t your type, the dumb ones, the, dare I say it, fatties who can’t seem to take care of themselves. etc.
All in all, I’d say 1/200 people, maybe, are attractive. And of that 1/200 people, you talk to most of them and end up hoping that they’d just die…so that puts you down to say 1/1000 or 1/5000. That’s crazy. The fact that you ever met anyone astounds me.
Oh, and I’m still working on music and box art and such.
Peace.
8/15/11 - Music
So, on a side note, I got my hair cut again this weekend. Last time there was a reference to the tan. Well this time I saw the top of the mountains, and it was there and it was good. Seriously, she could get me in trouble if she tried. I may have to think about going elsewhere.
Anyway, back to the gaming. I’ve been working on music (and labels/covers), and I finished song #1 this weekend. 1220 Bytes. That is a big ass song. No wonder it took so freaking long. I’m happy with it. Hopefully the rest won’t take as long, but we’ll see. I think that most homebrewers don’t put as much effort into music as they should, so I try to at least put some. It is difficult though. I can lay down some good beats, but I’m not much in the way of melody.
Total there’s like 7 songs. So wish me luck.
8==D
8/9/11 - Homebrews and Ezines
So, my first ezine article came out today. It’s freaking long…but awesome. I am an excellent writer, I’ve always thought that.
I also received some requests for another couple pictures of the cases. They do have the sleeves around the cases (a la SMS games) so you can put an insert in there. I got 100 of them for ~$80 shipped. A little more than those UMC cases, but you don’t have to fuck with their insides and they fit perfectly.
http://www.cddimensions.com/packaging/dvd-cd-cases/gen-12dmppc-blk.html
8/8/11 - Homebrew Cases FTW!
I got pissed because I can’t ever get any of those Universal Game Cases, so I started searching around for alternatives. This is what I found. The carts fit perfectly without modification. They don’t even rattle around when you shake it. And one of the little sleeves can hold manuals, inserts, or what-have-you.
They are
8/2/11 - Bonus Round Bitches!
So, I implimented a bonus round. I’ll post a video eventually. I’ve almost got it like I want it. It just has 8 bad guys ships that chase you around the screen and try to run into your ass. It is harder than it sounds. But pretty fun!!
7/28/11 - Level Sayings Complete
So, I’ve input all 100 level sayings into the game. What a Zzzzz job. But it was fun coming up with all that stuff.
Anyway, now we are at 14440 bytes. Before it was 9243 after the tables, so that means that we used 5197 with the tables. Or an average of 52 characters per level. I expected to use twice that. Weird. I may have to do something with the extra space. Like bonus levels!!
7/21/11 - Level Engine Tables
Erik, look away.
What’s the simplest form of specifing something? Yes/no, on/off, 1/0, etc.
My game has a bunch of on/off makers that vary throughout the game to make the various levels. Now, when I constructed a table of 100 levels worth of information, did I need to make an entire 100 entry table for each on/off flag? Fuck no. This is another place where bit testing comes in handy. If you’re just starting out, I suggest you look into this. If you’ve been doing it for a while and know what I’m talking about, no one cares, shut up and listen.
First, we’re all familiar with the simplest bit function the AND command, right? %00110011 ANDed with %1110101 will output %0010001, easy, right? Knowing this, we can do the following.
Say we have 8 different functions that are 0/1 (a bit) that we want to put in our 8 digit Byte. i.e. ABCDWXYZ to save space in our program. That’s cool, but what do we do when we AND the stuff in the A, B, C, etc spaces? Well, then you simply use the LSR command. Skipping all the more complex parts of this command, if you say to LSR ABCDWXYZ, it will spit out 0ABCDWXY. Do the LSR enough times and you’ll end up with 0000000A. (Obviously there are more simple ways to do it, but here we’re sporting these commands.)
And the opposite is the ASL…ASL ABCDWXYZ will spit out BCDWXYZ0, etc. at el.
The point:
If you have 5 different things that you wanna stuff into one table like so:
;000000XX – delay for bonus appearance 1,2,3
;00000X00 – enemy damage 0,1
;0000X000 – platform movement 0,1
;000X0000 – recoil value 0,1
;XXX00000 – bonus string value 000-shield,001-exlife,010-double,011-drones,100-drones double,101-exlife, drones, shield, double
Then you can use the above tricks to read this table:
Table3:
.db %00000000
.db %00000001,%00000001,%00100001,%00010001,%00100001 ,%00100001,%00010001,%00000001,%00100001,%00100001
.db %01000101,%01000001,%00110001,%01000001,%01000001 ,%01100001,%01110101,%01000001,%00100001,%01101001
.db %01000101,%00100001,%01100001,%01000001,%00100001 ,%01000001,%01000001,%01100101,%01000101,%01100001
.db %00110110,%00100010,%01010010,%01100010,%01010010 ,%01110010,%01010010,%00100110,%01101010,%01000010
.db %10001110,%10010110,%10011010,%10001010,%10010010 ,%10100010,%10000110,%10011010,%10001010,%01001010
.db %01110010,%00101010,%01100010,%01010010,%01010110 ,%01100010,%10101010,%10010110,%10000010,%10001010
.db %00011011,%00010011,%00010111,%00000011,%00010111 ,%00000011,%00010011,%00000011,%00000111,%00000011
.db %10110111,%10001111,%10000111,%10011111,%10000011 ,%10011111,%10000111,%10111111,%10110111,%10001111
.db %10011111,%10011111,%10011111,%10011111,%10011111 ,%10011111,%10011111,%10111111,%10011111,%10011111
.db %10011101,%10111101,%10011101,%10111101,%10011101 ,%10011101,%10011101,%10111101,%10011101,%10011101
This will put into ~100 Bytes what would have taken you ~500 Bytes if you used seperate tables for everything.
8==D
So, now my tables are done. I have 4 of them if you can believe that. But it runs and looks like it’s working. I had a bug that was pissing me off there for a minute. Suffice it to say that when I actually turned EVERYTHING on (i.e. level 100), the damn program was over running Sprite 0, so the scroll would flash different places…blah. So, simple fix. Move Sprite 0 down $10 pixles!
Horray. It works now. Onto the text part. Gag.
E: Oh, and before we were at 8856 Bytes. Now we’re at 9243. That means that getting the tables to run, we used 387 B. (I commented out some stuff from when I thought I’d be able to make 2 player work. Not enought NMI time. )
7/21/11 - NSFW Empress!!
I’ve been working a lot on polishing up Bust A Nut. It’s a slow process, finishing it off. I’m down to two things on my to-do list, but they are pretty big things (not counting sound). Basically I need to add words at the bottom of the level screens (see below) and then need tables to make the level engine run. Right now it is where you manually enter numbers.
The tables won’t be difficult really…it’s just deciding how difficult I want the game to get how fast.
The words will be time consuming. I need to come up with a story that runs in the 100 levels but still fits in my available space. We’ll see what happens there. Right now, we’re sitting at 8856 Bytes used out of 32768. I’ve saved 8192 for music so we’ll go from there.
Here’s the good stuff. The level screen (minus the afore mentioned words) and the win screen. Horray for boobies.
7/8/11 - The Empress
Well, I made major progress this week. The game engine is, dare I say, 100% complete. I just need to add a few tables to make it run the various levels and we’re done.
I have space, so I’m adding a story line to the game. I may write an ezine article on the “pre-quel” like I did with nightman. We’ll see if I have time.
Anyway, my progress is as follows:
-Added in bonus ships and bonus drops
-Added in a moving starscape, may take this out cause it makes me dizzy
-Added in credits
-Added a boss/ending sequence after level 100
-Added in “PAUSE” when the game is paused
-Added 2 difficulty levels
-Fixed it so that if you die and have lives left, you get to use them.
-Added in score/difficulty markers on the Game Over/Win screens
-Added a Win screen
-Various other fuckups and things fixed.
To leave you with something to salivate over for the weekend, here’s the Empress that you’re trying to save:
We’ll see if I can get it to render her correctly.
7/6/11 - Recoil
I added a some’en, some’en in where when you shoot, it will recoil and push you in the opposite direction. I may save this for the higher levels because it tends to work better when you’re whaling on shit than the occasional shot. That and I think that it will include a level of difficulity in the higher levels to keep it from getting stale.
Also, I’m at 6172 bytes for the game so far (w/o the CHR stuff). Total, there is 32768, so this leaves me 26596 worth of space. There’s still a few things to add and stuff, but that’s that. I guess music will take up its share, maybe 8192 ish. We’ll see. I’ll most likely finish the game and fill it up with music.
There’s not a whole hell of a lot left to do, programming wise. There is a lot of tables to make!
6/28/11 - Part 2: Chick Awards
Petition Dain to add these. He doesn’t think girls would like to be singled out like this:
Red FTW.
6/28/11 - Bad Days
First, on BAN, I have made a “game engine” that works the way I want it. I need to add a bunch of stuff, but as of now, it’s more or less complete minus all the content that makes it fun. Nothing too serious, just a random stuff to make it not just a shoot ’em up, but have some sort of story. We’ll see. Text crap takes up a lot of space.
Anyway, that said, bad days. I’m in a situation at work where I’m kind of the…well, this isn’t exactly the case, but it makes my point. There’s me who’s kind of the bitch of the office, then there are some 6 “direct supervisors” that all do the same thing. And I technicall work for all of them at the same time. Not quite, but it sets the stage.
So, when we bet a RFP in, all 6 of these yahoos take a different approach towards getting it done. No one knows what the rest are doing and no one knows what’s done and what needs done…except me. Because I’m here listening to all of them babble about the different ways that they want it done. And of course none of them agree on stuff or DO SHIT THE SAME WAY…then they wonder why shit is always getting turned in at the last minute…hmmm, lemme think….
So, I can deal with that kind of disorganization. Fine. The thing I’m having trouble dealing with is one ass that’s taken it upon himself to make sure that everything gets done. Well, this feels like micromanaging towards me (and I don’t really react well to that) and just all the stuff that he tells me all the time makes me feel like an idiot and completely incopitent.
Well, today I sent him a bitchy email when he did a micromanaging thing and he yelled at me for it. I decided that I would yell back, well, not yell, explain. I explained how this stupid process that they’ve got here isn’t working and most of the shit that he blames on me is one of his counterpart’s crap that they can’t decide how to do uniformly. Well, the look on his face was the classic deer in the headlights and a shocked “I had no idea’. In one ear and out the other.
The point is: nothing ever gets solved when you have people like this that don’t want to offend any of the others and don’t have the 8==D to nut up and say this is the way it’s going to be. I may have to do it before long and they can suck on their titles.
Viva la revolution! (or at least Viva La Rant!)
6/24/11 - My Nuts Busted
I’ve finally got back to working on Bust A Nut. I am trying to finish the “game engine”. i.e. after you kill all the dudes on the screen, what next? Basically, I’m adding an effect that takes you to a new screen that is really just there cause it looks cool and gives some point to the game.
The f-ing problem is that even if I clear the freaking screen of everything before I start writing this new background, the last bad guy is still there…I don’t understand WTF could be happening. Seriously. I hate debugging like this.
I’m sure that I’ll find it, but it doesn’t make sense. You write a blank tile to every tile on the damn background, it should be gone. WTF?
Okay, rant over.
6/20/11 - CIB NES Set
I figured it out today. I’m only missing 14 or 15 boxes to a CIB NES set. If I can ever quit giving money to Sir William, I’ll be able to get back to it. I’m so close.
I’ve been in the process of reorganizing my game room for the past…7 months. I took some pictures a while back, but I’ve never posted them. I basically went through and incorporated a bunch of stuff that I’ve had scattered everywhere in an effort to make all the shit be in one place. I never posted these pics, but they are fucking epic (IMO). I moved everything into my library to organize and now I’m moving them back into my empty game room. I think that I’ll post updated pics after I complete that.
5/26/11 - Slappin' Bitches: The Box
So, gwyndion has been putting a box together for his copies of SB. Here’s his rough draft, and I think that it looks amazing. Hopefully we can get these out. I know I can’t wait to get one.
Originally sent by: gwyndion
5/23/11 - Padme
This says it all:
http://www.gamergrrlz.net/post/5675483414/padme-costume-star-wars-exhibit
5/20/11 - Never Go Ass To Mouth
For those of us that have seen Clerks 2, we are perminately scarred. You’d have to be pretty skull fucked to come up with that shit. But it is pretty funny if you think about it. I miss my donkey.
I’m still subscribed to Gamer Grrlz…and this is what they came up with:
http://www.gamergrrlz.net/post/5639715497/you-never-go-ass-to-mouth-cross-stitch
I’ll never get women.
5/17/11 - Work Sucks
We’ve been crazy busy at work for a very long time now. It’s insane. It just won’t let up. As a result, I’ve not had any time to work on my game. 🙁 Bummer.
Funny story though. I showed the 8==D icon to a friend who happens to be a girl. She wasn’t impressed. She thought it was gross and distrubing. Such are Nintendo freaks.
5/10/11 - Bad Guy Counting
I can’t remember if I wrote about this or not, but the reason that I’ve not made much progress of late is cause I was stuck. In a right nut shell, I was trying to count bad guys killed so that my program would know when each level was complete. Well the problem was that sometimes things would get hit twice in the same frame.
You’ve got 6 points on the ship that are being checked for collision. Then you’ve got 6 bullets checked. For example, say that the right side of the top of the ship and the top of the right side are intersecting the same bad guy. Or for the intellegence lacking, I’ll see if I can make a pic where the * is the hit:
—-*——————
I I
* your I
I ship I
I I
———————–
Before, this type of collision would decriment the bad guy count twice even though we only hit one guy. So, I had to come up with not only a way of figuring out if this collision was happening between any 2 of the 12 collision points, but then figure out a way to handle the bad guy counter after checking these collisions. But, every hit wasn’t a kill. Remember we made the bad guys able to take damage in the advanced levels. So, we had to take this into account as well. Well, due to my awesome programming skills (recognize!), it worked on the first try.
Anyway, for those interested (turn away Erik). The variables are pretty self explanatory. Hi and Lo refer to bytes of the background write address (i.e. what you’d write to $2006)
;;;;;;;;;;;;;;;;;;;
Check_Bad_Guy_Hits:
LDX #$00
LDY #$01
.loop
LDA Ship_Write_Req,y
BEQ .done
LDA Ship_Writes_Lo,x
CMP Ship_Writes_Lo,y
BNE .done
LDA Ship_Writes_Hi,x
CMP Ship_Writes_Hi,y
BNE .done
LDA #$00
STA Ship_Write_Req,y
.done
INY
CPY #12
BNE .loop
.balls
INX
CPX #12
BEQ .finished
TXA
TAY
INY
LDA Ship_Write_Req,x
BEQ .balls
JMP .loop
.finished
LDX #$00
.big_ass_titties
LDA Ship_Write_Req,x
BEQ .complete
LDA Ship_Write_Tile,x
CMP #BlankTile
BNE .complete
LDA Bad_Guy_Qty
SEC
SBC #$01
STA Bad_Guy_Qty
LDA Bad_Guy_Qty+1
SBC #$00
STA Bad_Guy_Qty+1
LDA Bad_Guy_Qty
BNE .complete
LDA Bad_Guy_Qty+1
BNE .complete
INC All_Dead_Flag
.complete
INX
CPX #12
BNE .big_ass_titties
RTS
;;;;;;;;;;;;;;;;;;;
5/1/11 - Baseball
Yesterday, I went and saw the Astros spank the Brewers 5-0. It was a decent game. There was a home run with 3 runs. The one thing that I noticed about the Milwakee team was that a lot of them had shaved heads. Not only that, but most of the ones with shaved heads had full beards. It’s like they were saying, “I’ve lost the hair on top of my head, so I’ll make up for it with a beard! Horray!” I just think that this looks dumb and I wonder why people would do this.
I also got a hair cut this weekend. Not a very note worthy experience, but I the hair cutress is a red head. And she is so tan, that her skin almost matches her hair. Weird, right? I wonder if the tan goes all the way down?
4/27/11 - Adding Content
God, I’m bad at updating this crap all the time. Oh well.
Anyway, I’ve just been adding content to BAN. I really only need to add:
-Scrolling, if you can call it that
-bonus enemies/items
-…
Okay, fuck that list, it’s depressing. Suffice it to say, I’m making progress. It’s actually pretty bad ass right now. And freaking hard. At the risk of looking too much like Galaga, I’m thinking about adding a bonus stage every 5 or 10 levels or so. It would keep it from getting stale.
But so far, it all works according to plan. Maybe I’ll make a youtube video. I need a little ego stroking.
ETA. There’s a youtube video in the thread.
I added scrolling after the video. It basically just wobbles back and forth to make it a little more difficult. Not sure if I like it yet. But you can vary the scroll distance and speed. So, I’m happy with it coding wise. Wasn’t nearly as difficult as I was expecting. THX to bunny for his tutorials on the subject. They made it real easy.
4/21/11 - Background Crap
Quick note here. I’ve been working on a gnarly background compression routine that will take X factors and make different backgrounds based on them. It “works” now, if you can imagine 100+ backgrounds in 1000 bytes. I’ve been trying to add in attribute support into the meta tiles. It will assemble and run, but it still won’t fucking work right. I’m not exactly sure what’s wrong, but I’ll figure it out later.
It’s just the more the compression, the harder the decompression routine is to write. But if I can make it work, no more fucking with attributes! I won’t change nightman, but maybe for the next game.
Speaking of nightman, on this bust a nut game I’ve already used more variables in this simple arcade game than in the whole of Nightman…….who knows.
Anyway, I’ll do something more interesting if I can get this to function correctly.
E: Success! All I had wrong is that there was a place that I needed to divide by 4 instead of 2…i.e.
LSR A
LSR A
Not just
LSR A
Horray! I need to do something else though. It kind of assumes a pattern to the background. I’ll have to do some more randomizing.
4/19/11 - 2011 NintedoAge Campout - Sign Up Now
Check out this thread for details.
/forum/messageview.cfm?catid=32&threadid=44833
Or see about it on Facebook
https://www.facebook.com/event.php?eid=106278789408643
Don’t forget to stop by and meet Paul:
4/18/11 - Things That Make You Go Boom!
So, I had originally planned on making shit blow up when you shot it in this space ship game. I even made sprites. But somewhere along the line, I spaced it. But don’t cry! I implimented it.
So, now when you shoot a bad guy, he’ll blow up (rather than just dissapear). Not too terribly exciting, but adds a new level to the game. I’m debating on making them blow up when you run them over too, but can’t decide if the sheilds flaring is enough or not. Thoughts? I don’t think that it would be difficult, I just don’t want it to be too much. Hmmm.
This wasn’t that complicated, if anyone cares. The hardest part was translating the location on the background that you’re blowing up to a sprite position. (Basically the reverse of the collision routine for this game.) Look up tables and an understanding of the background “grid” is all you need.
I’d post a screen shot, but it wouldn’t make any sense. I’ll do a video later after I get more content.
8==D
I am also thinking of changing the name to this game. I’ve had both good and bad feedback from the SB name. The bad feedback is mostly people’s wives. If I did change it, it would be “Quagarrs”. Quagarrrrrs, not quagars, double R bitch. Ala:
http://reddwarf.wikia.com/wiki/Escape_pod
But I can’t decide. I think that I get more attention by having a semi-contraversial…whatever name. But then Quagarrs is a cool name. However, attention is good and it helps sell games. I’d welcome thoughts on this as well.
Peace.
4/13/11 - Dynamic Tracking
Erik, look away! Well, read it anyway, you know you want to.
So, I had a little problem with the BAN game. I wanted to have these floating weapons platforms that shot at your ass all the time. Sounds simple, right? Well, not exactly as I found out. Most games just have stuff shoot in a fixed direction, or kinda auto direct the things you shoot (like the bomb things in SB).
But I’m talking about a moving platform that fires at where you are at the moment it fired. Can’t really have it track you cause then you’d die. So, I needed to write a routine that took your ship’s position relative to the platform’s position and somehow figured out which direction to fire in wherever you were on the screen. Simple enough.
But the NES doesn’t work well with negative numbers…or division. So…?
When you and the platform are far apart, the…well, distance rolls over so the fancy “negative sensing” ops that the NES can do don’t work correctly. It took me a while to deduce this problem. Keep in mind that if you take 2-6 on the NES, it will produce $FC.
Anyway, basically it takes the platform’s position and compares it with the ship’s position and finds the horz and vert distance (while noting the absolute value of the difference and the “direction”). The it divides the horz/vert and vert/horz to find out how much it needs to go up/down and right/left each frame to impact your ship. Then it’s a simple matter of moving the sprite each frame. But you run into the fact that you can’t have decimals and the whole divide by zero thing…it’s a mess.
I will confess I borrowed and slightly modified the divide routine from nesdev.wiki.com. Pretty slick, if long winded. But after head+wall banging, it works now.
I’d post my final routine, but it’s not very organized. But it works!
8==D
4/12/11 - Top 3 Again!
So, after a long, long time, I’m back up to #3 on the top traders of the site. 😀
http://www.nintendoage.com/index.cfm?FuseAction=Users.Directory&show=UsersWithFeedback&sort=vchshow&order=desc
Since NGD is MIA, maybe I’ll make #2 someday. I love it. I really want that damn NA chalice.
4/11/11 - Bust A Nut
I got the collision detection for Bust A Nut working. It uses the position on the screen to look up the background tile that the object is over and from there determines if there is a hit or not. Pretty slick. I made a thread in the Brewery section cause I want attention, but I’m too lazy to link to it.
Now I have to figure out a number of things. Namely a leveling system and how to make “random” background loads. We’ll figure it out.
Any suggestions are welcome as I’m kinda making this up as I go along.
8==D
4/5/11 - 200 Motha' Fuckas!
I thought that this deserved it’s own entry. I am now at 200 Feedback. Eat it, bitches!
4/5/11 - Animating With Bank Switching
Well, I’ve more or less finished inputting that art I posted into Tile Molestor. Heh, molestor.
Anyway, it amounts to the same shit, 4 different times. That way you can swap out a massive amount of data, instantly, even mid frame. Doing this you can effectively animate the entire background at once. I like CHR-RAM better because there’s not so freaking much wasted space, but that’s not instant and you can only do so much at a time. Trade off…that and, well who knows. But it’s pretty tedious.
Slow progress, but progess.
RANT!
I’m a little irratated that so many people bitched when I ran out of Slappin’ Bitches carts, they all wanted me to make more, more! But I freaking made MORE! and 90% of the people that wanted one seem to have changed their minds. Not cool. I spend an entire freaking weekend putting this shit together and people back out…? That’s fucking weak.
Next time I’m going to make a fixed number and they can suck it.
4/1/11 - It's a Secret to Everybody
I don’t want to go into much detail (mostly cause I’m not too sure that I’ll be able to get this to do what I want it to), but I started a thread for suggestions on a new arcade type game. So, I took several and came up with a “new” concept. It’s all been done before, right? I loved the quick pace that SB came together with. This will be infinitenly more complicated to program and may or may not work. But, here’s the art that I’ve finished. Along with the working title. It will have a different control style involving two controllers. Thoughts?
3/29/11 - Slappin' Bitches Released!
Well, it’s finally done…and sold the fuck out. 😀 With requests to make more. We’ll see. But I’m happy with them. There are a couple carts that have issues, but they all work. Sunfaded and such, that I didn’t notice until I put them together. Now comes the fun of shipping them out…ufda.
But if you missed the boat, and want one, here’s the auction for the one I reserved.
http://www.nintendoage.com/forum/messageview.cfm?catid=34&threadid=48204&StartRow=1#bottom
(Rather than reiterate everything, please see HERE for the information on the release of this game!)
3/25/11 - Travels: Pindeale, WY
So, I got all of a few minutes notice that I was going to look at a job outside of Pinedale, WY. The basic “pack your shit on the way to the airport” story. I hate it when they do that, but thankfully it doesn’t happen too often. As much as I love WY, I still don’t like this part as much. It’s right in the same area as the job that I helped on last summer. Pretty good job though. I hope we get it.
Anyway, I have the tiles for Level 4 loaded into Tile Molestor. The most irratating part is when I take it upon myself to make “random” blocks. i.e. blocks with an outline and random filling, so they look like whatever. Those are the hardest to enter cause, well, try it. It’s a lot faster and easier with some sort of pattern to it.
Once Level 4 is completed, I can’t decide on what to do next. Level 5 isn’t a platformer, so if I did that, I’d have to write the main program and NMI routines for the submarine levels. Not a big deal, just can’t decide if I want to get into that yet. But there are 4 other platformer levels…I may skip ahead and do those instead. Still debating, but in any case, Level 4 needs to be polished off.
Oh, and SB is ready to be packaged up and sent out. Hopefully I’ll have time this weekend.
3/22/11 - Level 4 Art
It’s been a while since I did any real work on Nightman. I sat down today and hammered this out. Sorry for the crappy quality. The picture is almost double this size. I’m open to any suggestions. I’ll get to coding it sooner or later. 🙂
8==D
3/21/11 - SB Carts
Well, I spent the weekend playing in camping fuel, wackin stuff with a paper cutter, and soldering stuff. In the end, I had 40 working carts for Slappin’ Bitches as well as all the labels printed off. I fucked up one label while trying to laminate it, which sucks. I’ll have to print a new one, but wanted to stick them all on before I wasted a sheet of sticky paper. And I had 4 dead carts after my construction project. 1 I hadn’t programmed anything onto the CHR chip…? It was neat though, all the graphics were different colored squares. Kinda Atari looking. The other 3 I think that I had FUBAR-ed the carts while desoldering. I tried repairs, but that didn’t work. After I took the chips out and put them in new carts, they worked fine. I spent more time getting those 4 carts to work than the other 36. 🙁 Anyway, here’s the completed chips/labels:
And here’s the completed carts, sans labels:
Almost there!!
3/16/11 - SB Label
Simple post, here’s the label. Somewhat distorted. 😉
3/14/11 - Game Building
Spent the weekend building games! And after 2 failed attempts (bastard HEX editor), it worked nicely.
First, I took some good advice and built some “blanks”. Carts made to accept chips without having to solder them in there. There are 4 different types here, and unfortunately, I don’t have to chips to see if the wired one works…yet. 🙂
After I was successful in getting it to work on the proto carts, I started stripping doners. Here’s my pile of shit to be cleaned:
Next, I pulled the old chips off of the boards. This was a long process, and I think that it went well. Lots of work though.
Here’s the cherry on top. I love it when shit works!! Look for it soon!
Enjoy! 8==D
3/9/11 - Official NintendoAge/SegaAge Fundraiser
Help SegaAge and NintendoAge in the community effort to raise funds to upgrade our servers. Our goal, and by “our” I mean NintendoAGE and SegaAGE alike, is to raise $6,000, one year’s worth of server cost.
Anyone who donates can receive a NintendoAge donators icon, however anyone who donates at least $60 will receive a special server donator icon in addition to the donator icon. Every year you continue to donate a minimum of $60 to NA, you will get a revamped server donator icon with the number of years of donation in it. The icon will have a number with it representing that.
Please visit THIS thread for details on how you can help out.
/forum/messageview.cfm?catid=4&threadid=47107
3/9/11 - Official NintendoAge/SegaAge Fundraiser
Help SegaAge and NintendoAge in the community effort to raise funds to upgrade our servers. Our goal, and by “our” I mean NintendoAGE and SegaAGE alike, is to raise $6,000, one year’s worth of server cost.
Anyone who donates can receive a NintendoAge donators icon, however anyone who donates at least $60 will receive a special server donator icon in addition to the donator icon. Every year you continue to donate a minimum of $60 to NA, you will get a revamped server donator icon with the number of years of donation in it. The icon will have a number with it representing that.
Please visit THIS thread for details on how you can help out.
/forum/messageview.cfm?catid=52&threadid=47113
3/9/11 - Travels: Evansville, IN
Female readers, look away. I went up on Monday and back last night. The trip there was pretty nice. I sat next to this brunett that pulled out a card that said “Happy 21st”. Well, she slept most of the flight while leaning towards me giving a nice clevage shot. Let’s just say that the bumpy ride made for a pleasant show. I wish all the people that I sat next to on the plane were that hot.
Most of the time it’s a fat lady. I remember this one time that I was on one of those planes with the one seat on one side and two on the other. It was a full flight. In the first row there was this morbidly obease lady that was sitting on the side with 1 seat. She literally had one cheek in the chair, the arm rest up her crack, and the other cheek flopped out into the asile… seriously, she sat that way for the entire flight. Discusting. Have some self control.
Funny story, last Christmas, my step brother got stuck in the airport for some 12 hours, so he took it upon himself to send my mother picture messages of the fattest women he could find in compermising positions. He got some “good” shots, but I think that he’s fucked in the head.
Anyway, back to business. I have everything except chips ordered to produce my game. I haven’t done any actual work in a while, but I should be able to start stripping doners this week…hopefully. It will be hard to distroy carts, but they will be reborn like the overused phenoix.
8==D
3/3/11 - Slappin' Bitches Cont.
I think that it’s finished. I need a couple names to complete my blurb.txt part, but that’s about it. 🙂 I’m debating on posting the final version, cause I think that I want to make a limited cart only release out of it. It would be pretty cool, I think. Just a cheap simple thing. I’ve wanted to mess with that side of programming for a while, and these small NROM games are the easiest to make. Or so I hear.
To that end, I modified the game a little bit to change it from CHR RAM to CHR ROM. I don’t know if there are any NROM games that use ram. It took all of 2 minutes, so I may as well not try something too difficult for the first shot.
Any thoughts? Is this too small of a game for a cart release? Nothing too fancy, just a cart and maybe the blurb.txt as a “manual”.
3/1/11 - Slappin' Bitches
I’ve been spending my time since finishing level 3 polishing slappin bitches. i.e. sound. Zi came up with a killer track for the game, I’ve been making sound effects, the start/end screen song, and highly coustomizing Metal Slime’s sound engine. I’ve changed it a lot, but it works the same. He did a great job. I’ve got like 5 more effects to go and I’ll be done. Then a quick round of beta testing and that’s it! We’ll see how it does in the Coding Comp. 🙂
I need to change the order of some sprites so that flashing doesn’t happen…..don’t forget again, damnit.
2/25/11 - Level 3 Video
Quality still looks crappy. 🙁 I’ll have to try something else:
2/23/11 - Level 3 News
Well, Level 3 rides! Well, kind of. It’s weird. I have all the background assembled and debugged, but the steam vents are only half active. In that, the damage part is on, but the actual steam is absent. So you just randomly get spanked with no indication of why. 😛 Also, you can’t get around the level without the collision op codes in place yet. Makes it difficult, but that’s next on the list. Looks good. Hopefully I can make it work, hump it into submission.
2/21/11 - Level 3 Art
Well, Level 3 art is done. This level concept is the overworld ship flipped up platformer style. 🙂 So far, the rooms in the other levels and overworld all fit together so that when you look at them as a whole, they make sense, i.e. all the pipes, trees, and shit flow into each other. If I tried that here, you wouldn’t really work cause all the rooms would look the same. So, Fuck it. You don’t see the whole map anyway.
This level features some steam vents from damaged pipes, suggested by Braveheart. Actually should look pretty cool. Similar to the Fire in Level 2. It also sports two new “collision detection op codes” as it were. First, a ninja wall grab ala Ninja Gaiden. Second, a grab-the-roof-and-move monkey bars style. Assuming that I can make them work. You can’t really see it too well, but the walls that you can grab are different and the cealings are blue and look to have exposed beams where you can grab them. We’ll give it a go and see what happens.
I’d love to hear throughts! Also, note it looks shitty cause it’s compressed to about 50% due to NA limitations. Oh, and the colors on the pipe aren’t quite right cause I was too lazy to remake all the parts in the various colors for this exercise. They’ll be right in the game though.
2/17/11 - Travels: Oklahoma
It’s okay, don’t panic. I didn’t die in a trailer while being swallowed up in a tornado. Nope. I drove all over hell in the back country, if you can call it that. If not for the curve of the Earth, you could see the whole state from where you are standing.
-Side note-
I hate people that wear calone. I mean, who wants to smell your ass? Some asshole that wears it just came in my office and stood here for all of 2 minutes and now I have a headache. Jesus Christ. I like perfume on a hot woman (vanilla,mmm), but on a guy, it’s just a dick move.
Anyway, back to my story. Oklahoma, at least the part where I was, was the most run down, dirty, skunk infested place I’d ever been. Good lord. Have some pride in your state’s appearance. Gross.
But, while stuck at the overwhelmingly hot OKC airport, I did take some time to modify MetalSlime’s sound engine to support sixtuplets and started messing around with it. I’d love to come up with some simple stuff to put into my Slappin’ Bitches game for the 2011 NES Coding Comp. Game without sound is not a game. Der.
2/14/11 - Valentines Day
While I think that Valentines Day was created by facists who want us to spend our money on useless crap that we don’t need (i.e. the pearl earings my wife “needed”), the womenfolk seem to not agree with me. Most of these crappy holidays are made to stimulate the pocketbooks of peeps during the lulls between real holidays. I mean seriously, who really wants to go out on a date night on the same night as the rest of the fucking world? How is it romantic to spend twice as much on a “couples meal” as it normally would cost yesterday or tomorrow? I know I sound bitter, but I really don’t understand it. Whatever.
;————————————————————————-
Okay, I’ll admit it. I subscribe to GamerGrrlz.net. At first for her bead art, but she has some pretty cool stuff. First:
http://www.gamergrrlz.net/2011/02/court-your-pixel-paramour-with-video.html?utm_source=feedburner&utm_medium=email&utm_campaign=Feed%3A+GamerGrrlz+%28Gamer+Grrlz%29
And, I’m pretty excited about this new game:
http://www.gamergrrlz.net/2011/02/new-tomb-raider-screens-are-all-ass.html?utm_source=feedburner&utm_medium=email&utm_campaign=Feed%3A+GamerGrrlz+%28Gamer+Grrlz%293
I must say, the new Lara Croft is stupid hot. 🙂
2/7/11 - Lambda
For those of you keeping up with the back story, meet Lambda:
I might change the coloring as she looks like she has liver disease. But, she truned out rather well. And if I’m motivated, she might be the gateway into: Nightman 2: I Don’t Believe In Time.
I’ve also been getting after the level 3 art, but right now it’s about 1/2 finished and the coloring is so fubar-ed that it most likely wouldn’t make any sense without my pea sized brain inturputing the picture.
2/3/11 - Collision Detection
Well, real quick. I did some work on the collision detection today as I foreshadowed yesterday. The horizontal line is a visual indication of how much processing time the program uses. The top row is the new stuff and the bottow row is the old way:
As you can see there’s a pretty dramatic improvement. Okay, Erik, look away. I’m gonna geek out here.
Both of these routines do the same thing, but the top one is the new way and the bottom is the old way.
;————————————-
vertical_index:
.db $00,$10,$20,$30,$40,$50,$60,$70,$80,$90,$A0
horizontal_index:
.db $00,$01,$02,$03,$04,$05,$06,$07,$08,$09,$0A,$0B,$0C,$0D,$0E,$0F,$10
;—————————————–
Vertical_Mod:
.db $02,$02,$10,$10
Horizontal_Mod:
.db $03,$0C,$03,$0C
;—————————————–
vertical_positions:
.db $3F,$4F,$5F,$6F,$7F,$8F,$9F,$AF,$BF,$CF,$DF
horizontal_positions:
.db $00,$0D,$1D,$2D,$3D,$4D,$5D,$6D,$7D,$8D,$9D,$AD,$BD,$CD,$DD,$ED
;———————————————————
Find_Collision_Meta_Tiles:
LDA Background_Data_Table_Bank ;load the bank for the room data
JSR setPRGBank
LDY #$00
.start
LDA sprite_vertical
SEC
SBC #$40 ;take off the HUD
CLC
ADC Vertical_Mod,Y
LSR A
LSR A
LSR A
LSR A
TAX
LDA vertical_index,x
STA collide_temp
LDA vertical_positions,x
STA vertical_collide_position,y
LDA sprite_horizontal
CLC
ADC Horizontal_Mod,y
LSR A
LSR A
LSR A
LSR A
TAX
LDA horizontal_positions,x
STA horizontal_collide_position,y
INX ;the data bank entries in the table!!
LDA horizontal_index,x
CLC
ADC collide_temp
STA collision_index,y
INY
CPY #$04
BNE .start
DEC vertical_collide_position+2 ;so he doesn’t flash
LDA horizontal_collide_position
CLC
ADC #$06
STA horizontal_collide_position
LDX #$00
.load_meta_tile_data
LDY collision_index,x
LDA [collideptr2],y
STA collide_metatile,x ;store the meta tile info
INX
CPX #$04
BNE .load_meta_tile_data
LDY #$00
LDA [collideptr2],y
AND #%00111111 ;load the correct meta tile bank
ASL A
TAX
LDA #BankMetaTiles ;load the bank for the meta tiles
JSR setPRGBank
LDA meta_tile_sets,x ;load the meta tile set pointer
STA meta_tile_sets_ptr
LDA meta_tile_sets+1,x
STA meta_tile_sets_ptr+1
LDX #$00 ;start out at zero
.load_collision_data:
LDA collide_metatile,x ;load the meta tile found earlier
ASL A
TAY
LDA [meta_tile_sets_ptr],y ;load the pointer info for that metatile
STA meta_tile_ptr
INY
LDA [meta_tile_sets_ptr],y
STA meta_tile_ptr+1
LDY #$04 ;load the collision data from the meta tile string
LDA [meta_tile_ptr],y
STA collide_data,x ;store it for later use
JSR check_op_codes
INX
CPX #$04
BNE .load_collision_data
LDA Climbing_Flag
AND #%11000000
CMP #%11000000
BNE .continue
JMP .continue2
.continue
LDA Climbing_Flag
AND #%00110000
CMP #%00110000
BNE .continue3
.continue2
LDA #$01
STA Climbing_Flag
RTS
.continue3
LDA #$00
STA Climbing_Flag
RTS
;———————————————————
as opposed to
;————————————-
vertical_positions:
.db $3F,$4F,$5F,$6F,$7F,$8F,$9F,$AF,$BF,$CF,$DF
horizontal_positions:
.db $00,$0D,$1D,$2D,$3D,$4D,$5D,$6D,$7D,$8D,$9D,$AD,$BD,$CD,$DD,$ED
;———————————————————
Find_Collision_Meta_Tiles:
.sprite_transferBGCD:
LDA sprite_vertical ;transfer correct collision box coords
CLC
ADC #$02 ;to change this, must change DEC below to keep him from flashing
STA collide_vertical
STA collide_vertical+1
LDA sprite_vertical
CLC
ADC #$10
STA collide_vertical+2
STA collide_vertical+3
LDA sprite_horizontal
CLC
ADC #$03
STA collide_horizontal
STA collide_horizontal+2
LDA sprite_horizontal
CLC
ADC #$0C
STA collide_horizontal+1
STA collide_horizontal+3
LDA Background_Data_Table_Bank ;load the bank for the room data
JSR setPRGBank
LDX #$00
.find_collision_meta_tiles
LDA collide_vertical,x ;find the index for the upper left corner of the sprite intersect
SEC
SBC #$40 ;take off the HUD
.loop
CMP #$10 ;use the vertical position to find the first part
BCC .next
SEC
SBC #$10
TAY
LDA collision_index,x
CLC
ADC #$10
STA collision_index,x
TYA
INC collide_position,x ;set up the position marker
JMP .loop
.next ;include the horizontal portion
LDA collide_horizontal,x
.loop2
CMP #$10
BCC .next1
SEC
SBC #$10
INC collision_index,x
INC collide_position+1,x ;set up the position marker
JMP .loop2
.next1
TAY ;find the opposite corner
LDA collision_index,x
STA collision_index+1,x
TYA
CLC
ADC #$09
CMP #$10
BCC .next2
INC collision_index+1,x
.next2
INC collision_index,x ;include the bank data entries in the table
INC collision_index+1,x
;our index should be correct now
.load_meta_tile_data
LDY collision_index,x
LDA [collideptr2],y
STA collide_metatile,x ;store the meta tile info
LDY collision_index+1,x
LDA [collideptr2],y
STA collide_metatile+1,x ;store the meta tile info
INX ;repeat for top and bottom
INX
CPX #$04
BNE .find_collision_meta_tiles
.position_finder
LDX collide_position ;find the various stop places in the grid
LDA vertical_positions,x
STA collide_position
INX
LDA vertical_positions,x
LDX collide_position+1
STA collide_position+1
DEC collide_position+1 ;must change this if guy flashes
LDA horizontal_positions,x
CLC
ADC #$06 ;must change this if guy flashes
STA collide_position+2
INX
LDA horizontal_positions,x
STA collide_position+3
LDY #$00
LDA [collideptr2],y
AND #%00111111 ;load the correct meta tile bank
ASL A
TAX
LDA #BankMetaTiles ;load the bank for the meta tiles
JSR setPRGBank
LDA meta_tile_sets,x ;load the meta tile set pointer
STA meta_tile_sets_ptr
LDA meta_tile_sets+1,x
STA meta_tile_sets_ptr+1
LDX #$00 ;start out at zero
.load_collision_data:
LDA collide_metatile,x ;load the meta tile found earlier
ASL A
TAY
LDA [meta_tile_sets_ptr],y ;load the pointer info for that metatile
STA meta_tile_ptr
INY
LDA [meta_tile_sets_ptr],y
STA meta_tile_ptr+1
LDY #$04 ;load the collision data from the meta tile string
LDA [meta_tile_ptr],y
STA collide_data,x ;store it for later use
JSR check_op_codes
INX
CPX #$04
BNE .load_collision_data
LDA Climbing_Flag
AND #%11000000
CMP #%11000000
BNE .continue
JMP .continue2
.continue
LDA Climbing_Flag
AND #%00110000
CMP #%00110000
BNE .continue3
.continue2
LDA #$01
STA Climbing_Flag
RTS
.continue3
LDA #$00
STA Climbing_Flag
RTS
;———————————————————
Both do the same thing, but you can see how much faster and easier the top one is. 😀
2/2/11 - Thoughts on Level 3
First, comments on level 2. Well, I changed the thrusters to fire on “equal” terms with the um, not firing. It is pretty random, but if you let it run for a very long time, you’ll see the pattern. I also changed the fire damage to where it is about 10% per second. And just based on the collision detection routine, it does more damage if you take the blunt of it rather than if you just dip your head in or you feet. 🙂 I call it being cool by lazyness.
Anyhoo, here we are at level 3. This level is called “So Much for My Happy Ending”. Nightman goes to a derilect scout ship to save a 3rd gen robot (i.e. one like himself). Delta tells him that the ship was very old and the last she heard, there was a battle when they tried to shut down their robot. Anyway, he gets there and the ship is trashed…and haunted. 🙂 Due in no small part to the fact that I have a ton of ghost type sprites from my man casperdj777.
Anyway, he gets there and fights his way through the errant spirits and at the end finds the girl robot, Noel, trashed. He manages to save her mind and destroys the remainder of the ship.
The basic level design will be that of the overworld…but a platformer. I’ve got some ideas. We’ll see where it takes me. Any suggestions anybody has would be welcome!
Later:
I sat down today and figured something out. The part of the program that figures the collision indexes takes about 10% of a frame to run. To put that in perspective, when you have Nightman and 6 little enemies crusing around, that eats up some 60% of the time…just on that part of the routine. Doesn’t really matter right now, but it is something to keep in mind. I could change this to a look up table that would run almost instantly but the trade off is the huge table. I’m gonna have to ponder this one. Maybe sit down and figure out exactly how big said table would be.
2/1/11 - 100 Blog Post! Word!
http://www.nintendoage.com/forum/messageview.cfm?catid=22&threadid=25663&StartRow=1#bottom
From the thread:
UPDATE:
YouTube vide of Level 2. Still minus sprites:
Level 2 FTW! I need to change the fire frequency as it’s kind of sparce. I also need to adjust the fire damage cause it’s kinda weak.
But other than that, I’m pretty happy with it.
1/31/11 - Level 2 - She Rides!
Well, level 2 is a smashing success. I have the usual round of debugging, but the engine loaded it nicely. There are a couple oh-fuck-I-can’t-jump-that-high spots, but it looks pretty good. I might reconsider the stars, or make them less prevelant or gray or something. It’s kinda busy.
1/28/11 - Level 2
Well, I have level 2 pretty much encoded. Not input into my program, but all the data built in a seperate sheet. I’m freaking bug eyed. I fucking hate attributes. It’s the easiest thing to mess up and the hardest thing for me to trace. And I think that I’m going to try and build levels around attributes next time. It would make life a lot easier.
Anyway, all I have to do is input this into the program and hope it assembles. But that’s for later. I’m done for today. But I will say, if I can get all the CHR-RAM stuff to work like I want in this level, it will be awesome.
We’ll see.
1/27/11 - Fixing Stuff
Well, I had two easter eggs that I had built in before. I didn’t forget about them, they still work and everything, I just forgot that I had erased the routine that made them, you know, turn on without using the Hex Editor. So I fixed them which involved updates to the Cut Screen engine (i.e. different wording on those screens).
I also had an error in one of my indexes, so when it loaded the sprites that populated the HUD, it was loading more than one. I had the place that the program starts in the data stream (X) in place of the store shit/loop counter (Y) as a result, each level would leave a freaking extra thing in the B button space. (i.e. the jump on top of the mace, etc.) First time that I noticed that was fucked up. Shame on you beta testers.
I also implimented a DHD, as SG1 says. When finished, the boss will drop something in each level that will Dial Home (the overworld) for you. As I have no bosses or drops, I made Select (in the levels) transport you back to the overworld for now. It works. 🙂 (And it works a lot better now that I actually changed the freaking “Active_Level” variable from the levels back to #$00 for the overworld. :P) Anyway, I need to change it a little so that it will jump to cut screens first, but that shouldn’t prove too difficult.
I am, however, feeling like crap today. I’m lactose intolerant, and it feels like I just drank a gallon of milk…even though I’ve not touched any in a long time. I think that I’m going home. This will be the first time that I’ve left work for being sick, ever, including hang overs. And with me, that’s saying something. I just can’t concentrate. 🙁
I’ll try to step up the number of pics that I post here. That always makes stuff more interesting. But this engine work doesn’t offer much in the way of new stuff. I’m close, so when I get level 2 inputteder I’ll post a couple screen shots to show just how much of a bad ass I am.
Later:
Well, the DHD works complete with cut screens. 🙂 And I also fixed the Level 1 HUD. I modified the Overworld HUD a bit ago and that changed some stuff around. Just a reordering of meta tiles.
Later Still:
I know it’s not that interesting, but shut up and listen. I went through and encoded the rest of the HUDs. So, now even though it only loads level 1 in every level, it loads the correct HUD for that level complete with map and level number. I also went through and encoded the level names so that they will pop up on the cut screens. I made this neat little excel program with look up stuff so that you type in the thing you want it to say and excel will look up the tile numbers of the letters and arrange them in HEX. No mistakes and fast. 😀
Anyway, just to show you what I’m talking about:
1/26/11 - New Program Size
Well, I have a little odds and ends to clean up like the death scene and making the level 1 stuff switch rooms correctly again, but more most intents and purposes, I am back to where I was before I started this re-do…or three-peet, of the overworld.
To refresh memories, here’s what the program looked like back when I started:
This is what it looks like now:
Same program. Booya…again. 30k…for porn, easter eggs, what have you. I think that it was worth it. Do you?
Later:
Level 1 works. 🙂
The death screen works. 😀 Both in the overworld and level 1…you’d be surprised how difficult it was, or I’m just retarted. I’ll leave that for you to decide.
1/25/11 - Level Engine
Well, the level engine is coming along…slowly. I’ve gone through and changed all the hard coded bank switches to little routines so it automatically locates the data required. It only required about 30 freaking look up tables. I’ve got the computers to throw up a flag and activate a level switching routine. And, I got all my cut screens to start loading. 😉 I’ll have to post one of these as soon as I can get it to do it and clear the damn sprites at the same time. Let’s just say that Delta looks better than I expected her to.
Now I’m procrastanating because I’m not exactly sure how I want to proceed. I thought I had it figured out, but the bastard computer keeps doing EXACTLY what I tell it to do, not what I mean. Seriously, how hard is it???
Later:
1/24/11 - Molesting Stuff
So, how to make this so Erik gets it? Hmmm….
I’ve been working on the Level Engine, the thing that makes the game switch between the different levels of the game. It’s a long process, but I think that once I get it done, adding new content will take off swiftly. Basically, I plan to make the game run all of the levels as “Level 1” then just replace the addresses (places it looks for stuff) with the various levels as I go along. With the engine, it will be plug-and-play…ish.
Anyway, getting this to work itsn’t so hard, it’s all the crap that I have to modify to get it to work correctly. The computers work again, well they load the steal/give life/arrows that they do when they are not the level entrances. And it loads the level info when you enter the room, but doesn’t do anything with it yet. I’ve also reformatted the cut screens for space/too lazy to make it that big issues. I went back and redid the cut screen stuff and entered it into Tile Molestor. Now, onto the engine.
Also, for those keeping track of the blog, I said a while ago that I was entering the graphics for Level 2 and left a little out cause I ran out of time (or maybe I didn’t post that, who knows?), well I went back and finished that while I had Tile Molestor open. 🙂
1/18/11 - Marker Stuff
So, it recently came to my attention that my blog isn’t exactly understandable to the non-programming savvy. I shall attempt to correct this oversite in future entries.
I just fixed the map marker (that’s the nobby little red dot on the map that indicates where you are in the map). Instead of loading a position when you start and then moving around X pixles in the direction you change rooms in, it pulls values from a table. (It has a magic thingie that tells it where to go instead of a big bastard knocking it around). This isn’t a big improvement, but it will allow for warping around the overworld and such.
8==D (<–Balls)
1/18/11 - Finally
So, I’ve restored the overworld to perfect working order. 🙂 Not I have some stuff to modify, add, and stuff. Then rebuild the level engine/cut screen using the collision detection engine. Booya.
1/14/11 - A Little Tip
I can’t believe that it took me this long to figure this out. If you add $02 to a variable it is the same as adding $FE (on the NES anyway). This is important because it can take this:
.down3
LDA enemy_direction
STA arrow_direction
CMP #$00
BNE .nexts
LDA #$1F ;load the UP graphics
STA Weapons_RAM+9
LDA #%10000001
STA Weapons_RAM+10
LDA sprite_vertical
SEC
SBC #$02
STA Weapons_RAM+8
LDA sprite_horizontal
CLC
ADC #$07
STA Weapons_RAM+11
JMP .graphics
.nexts
CMP #$01
BNE .nexts1
LDA #$1F ;load the DOWN graphics
STA Weapons_RAM+9
LDA #%00000001
STA Weapons_RAM+10
LDA sprite_vertical
CLC
ADC #$0C
STA Weapons_RAM+8
LDA sprite_horizontal
CLC
ADC #$03
STA Weapons_RAM+11
JMP .graphics
.nexts1
CMP #$02
BNE .nexts2
LDA #$1E ;load the RIGHT graphics
STA Weapons_RAM+9
LDA #%00000001
STA Weapons_RAM+10
LDA sprite_vertical
CLC
ADC #$01
STA Weapons_RAM+8
LDA sprite_horizontal
CLC
ADC #$10
STA Weapons_RAM+11
JMP .graphics
.nexts2
LDA #$1E ;load the left graphics
STA Weapons_RAM+9
LDA #%01000001
STA Weapons_RAM+10
LDA sprite_vertical
CLC
ADC #$01
STA Weapons_RAM+8
LDA sprite_horizontal
SEC
SBC #$08
STA Weapons_RAM+11
JMP .graphics
-and turn it into this:
Arrow_Tile:
.db $1F,$1F,$1E,$1E
Arrow_Attributes:
.db %10000001,%00000001,%00000001,%01000001
Arrow_Vertical:
.db $FE,$0C,$01,$01
Arrow_Horizontal:
.db $07,$03,$10,$F8
LDX enemy_direction ;load the graphics
STX arrow_direction
LDA Arrow_Tile,x
STA Weapons_RAM+9
LDA Arrow_Attributes,x
STA Weapons_RAM+10
LDA sprite_vertical
CLC
ADC Arrow_Vertical,x
STA Weapons_RAM+8
LDA sprite_horizontal
CLC
ADC Arrow_Horizontal,x
STA Weapons_RAM+11
JMP .graphics
See how that saves space? Especally when everything you do has to have the 4 directions in it?
1/13/11 - Bug Free
Well, I found my major error. I had an extra entry in my pallette table. As a result, it was throwing off all the look ups after that entry off by 1. So, it was pulling the wrong value. Anyhoo, after I fixed that, it was simple errors/typeos here and there. Now it’s bug free, the background anyway. Or at least bug free enough where I’ll be able to pick the remainder out and fix while I do other stuff.
Next on my list:
-Fix the moving stars. I moved the tiles in the CHR space around so it doesn’t really work right any more.
-Verify that the enemies are not starting on anything solid now that I’ve moved stuff around.
-Switch from the hard coded collision detection to the engine that I designed for the overworld. Kinda weird walking around with the background not matching where he can’t walk. 😛
-That’s enough work to stop planning.
Wish me luck.
Fix Stars – Check, just had to change a few starting addresses.
Fix Enemie Starting Positions – Check. Had to add a couple configurations, but it is correct now.
Collision Detection – Well, this one is a little more complex. I’ve input the data into the meta tiles. I made it call the correct routine, but there’s a problem. When I built this system, it was for a platformer set up (ala, Level 1). But the overworld is a top down. More or less the same process, but the Platformer is a little more involved as you check both up/down and left/right at the same time, where as with the top down you’re only moving in one direction at one time. So, in my collision write up I did the top down type thing. So the problem isn’t getting either to work, it’s getting them to work interchangabley. Not as complex as it sounds, but there’s a lot of code to modify. Ufda. I’ve got a headache.
x2 – well it works now. 🙂 God I love engines. That takes the 32000 bytes worth of crap from the original run at the overworld collision detection down to 128. Boo ya.
1/12/11 - Succ-fucking-sess
So, after I coded the meta tiles, I pasted everything in there and viola! It works. The usual round of debugging, but so far, I kick ass. I still have a lot of work to do, but the rooms load smashingly. 😀
Later……….sO…mAnY…bUgS…. 🙁
1/11/11 - Attributes and Pallettes
Well, after inspecting the Attributes and Pallettes already in my program, I decided to redo them. I went from 13 pallettes to 10 and 46 attributes to 14. That’s a total of 1584 bytes right there and it does the same thing. I don’t know what the fuck I was thinking when I did the attributes the first time, but I must have been crazy.
1/11/11 - Oops.
So, the wife left at about 6:40 am this morning for a meeting at work. Upon her leaving the house, before she had even started her car, I decided that I would release a big fart that had been brewing inside me all morning. Well, like any self respecting American, I let ‘er rip. However, it didn’t sound or feel normal.
I had sharted. The first thought that came to mind was that hadn’t ever happened when I was not drinking, well the morning after, anyway. One time it actually happened in the shower (with my wife [gf at the time] who took the blunt of it) 🙂
My second thought was sheer panic. So, I stopped mid bite and waddled to the bathroom. I slowly pulled down my pants and looked at the mess in my boxers. Ufda. I sat down on the crapper and felt a squish. Unpleasant. So, I finished a series of farts, similar to the one in question, and felt that I was done for at least a bit. I did have to leave for work at 7.
After the first two whipes, I realized that it was a lost cause. So, I looked down at my pants around my ankles. With some creative shimming, I managed to extracate myself from my shoes and kick them aside. Then I slowly pulled off my pants, one leg at a time, so as not to drip any more stuff on them from my boxers. Then pulled down the sopping wet boxers and slowly set them in the trash. Then I stood up and looked at the throne. The crap that was running down my leg when I sat down was now oosing its way down the sides of the toilet. Wonderful. So, I looked in the mirror and used a whole roll getting as much of the chunks off as I could then proceeded to clean the crapper up as best I could.
Next, sporting a dress shirt and socks only, I streaked my way from the 1/2 bath in the hall that now held the crappy remains of my clothes, to the master bath. I stripped off the rest of my clothes and proceeded to scrub myself for 15 minutes with the hottest water I could stand. Finally, I got dressed in new clothes, threw out the crappy undies, and headed to work.
I couldn’t help but thinking that this would be a shitty day.
1/10/10 - Room Encoding
Well, I spent a couple hours today encoding the rooms for this new overworld scheme. Beins’ this is the third iteration, I am a little faster. The first time that I did this it took me a month-6 weeks…if I remember correctly. This time it took me about 4 hours. 😛
So, anyway, that wasn’t so bad. Next, I need to encode the new metatiles, then…make it load this new stuff, I guess. I know that I fucked over the attributes, but I’m thinking that it will be easier to just go through and see what’s messed up rather than re-do all of it. We’ll see. I’ll try a couple and see how long it takes/how f’ed up it is. Then it’s a good house cleaning of the program and back to level 2.
1/6/11 - New Overworld Rooms
So, today in an epic dick off at work fest, I finished re-doing the rooms in paint. So, with that finished, I can move on to other, more exciting (i.e. mind numbing) things. Such as reprogramming the meta tiles, reprogramming the rooms, fixing the star movement (since I changed the position of the tiles in CHR space), etc. All the shit that I need to modify to make my new scheme work correctly. Not quite as daunting as I thought. We’ll get there.
I miss my donkey. 🙁
1/5/11 - Programmingish
Well, I guess I have 65 unique overworld rooms. I went through and re-did 6 of them using the tiles that I showed not too long ago. The changes are minor for the most part. I’m going to try and do a few a day at least. We’ll see how long it takes me.
So, 59 to go. 🙁
1/5/11 - Yuna
Well, I’m just horrible at this keeping up my blog stuff. Kinda like Bella’s shipping habbits. 🙂
Anyway, I am working on the epic bead art picture:
The squares that are crossed off are the ones that I’ve finished. But, I’ve just about run out of the pink. 🙁 Well, when I tried to order more, it turns out that they’ve discontinued that particular color. WTF? The biggest problem that I’ve faced in my beading career is happening right now and I’m powerless to do anything about it. I mean, I’ve been working on this thing for like a year and now I run out of beads? I may kill something. Like, seriously…why the hell would they discontinue that color? It’s enough to make me want to burn the project.
But, alas!, there’s still hope. I’ve found another 4k and with a little creative additions, I may be able to salvage the project. I might not have the same look that is in my original model, but who knows? Maybe it will look better, maybe it will look stupid. But, fuck, I’ve invested too much time and effort into finishing it to give up for such a trivial reason.
Fuck beans.