Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Starting a fighting game
And I agree that as far as anything *functional* is concerned, we were saying the same thing. And the emphasis on *functionallity* will always cause me to know that the there is no functionallity or use added by insisting that just because it is sometimes useful to think of a segment as the beginning of a 64 KB data space that that means that a segment *is* 64 KB in length.

Now, then. Kofman, if you're reading this...you emitted a deep sigh, above. Regardless of which one of us inspired that, was there a question buried in there someplace? (You might want to ... well, ask it. It might conceivably make it easier to answer. Smile )
ravelling Curmudgeon
(geocities sites require copying and pasting URLs.)
I liked spam better when it was something that came in a can.
Windows should be defenestrated.
Reply
The segments at either end of the linear address space will have 16bytes of available space independant of all other segments. However all of the segments in the middle share /all/ of their space with their neighbouring segments, which really gives them an effective length of zero, because you cannot guarantee that anything you write into one segment cannot be overwritten by an offset into another segment. So, practically it is best to consider that all segments are 64k and to not use neighbouring segments to avoid them overwritting each other.

Why Intel didnt combine the 16bit segment/offset pair into a single 32bit memory address, which would have given the 4GB worth of independant 64k segments is strange. They probably figured that 4GB was a ludicrous amount of memory in those days, and rememeber Bill Gates himself said "No one will every need more than 640k memory". ;-)
esus saves.... Passes to Moses, shoots, he scores!
Reply
is impractical. Smile (And just because offsets can be up to 65,535 doesn't mean that a segment is 64KB. Gross over-generalizations have never had the affect on me people seem to want them to.)
ravelling Curmudgeon
(geocities sites require copying and pasting URLs.)
I liked spam better when it was something that came in a can.
Windows should be defenestrated.
Reply
Hey KOFMan,I haven't really been reading in this post, but how much progress is in your fighting game so far? I'm interested in trying it..
Reply
So far I have been able to display everything, and and animate frames, but I'm just so lost when it comes to buffering. I mean, theirs no point in asking for help anymore. It seems like their is so much info out there I'm just missing the concept here. And theirs nothing I can ask. Maybe I have a programmers block (I don't think these actually happen) but I don't get it right now. In this project this orginally was not supposed to be something I was to be responsible for. But I ended up working on the buffer and keyhandler becuase my parentner is really slacking off. I figured out the milo sandleck keyhandler without any trouble and it works perfectly. But with all this progress I still don't have a playable game. Everything is broken up into different files. And until I get the buffer I don't know if I can get the playable version done. If I work my ass off I might be able to figure everything out and solve all the errors by friday I'll post it on the thread to show you my progress. It wont be very impressive. I don't have AI or Collisions yet but I have a feeling it wont be hard no matter what everyone else says. It just makes sense in my head. If I'm wrong then so be it but right now I have an idea for collision which makes sense. Anyway Glenn I wish I could ask something but I feel very lost in everything. I read this thread everyday atleast three times a day. Rereading things and the more I look at it the more confused I am. So far I'm making a little sense off Ninkazu's Tutorial becuase it resables what I've done previously with wiz.

Nathan thanks allot for your help your tutorial is helpful. It's very helpful. I'm just not there yet. I sort of wonder how many of you learned this. My school education is no where near this level in programming. I suppose on your own but even still how did you come around the understanding of these concepts amazes me.
·····································LINEAR INC·····································
Ø-----------------------------------------------------------------------O
From Problem to Solution - We take the shortest distance
Reply
(and it could be a file, if speed isn't important) that stores graphic data in the same manner as it would be if it was in video memory and being displayed on the screen. One way of creating that buffer is just to put stuff on the screen and then use GET to save the video data in an array (which is an area of memory). Another way is just to write data (e.g., POKE) to an array in the proper fashion. If you want to see a demonstration of how to do *that* (for any of the video modes that QB supports), you could look at

http://www.geocities.com/gstumpff/offscrn.zip

But if you're only interested in mode 13, things aren't near as cumbersome (and possibly slow) as those routines may make it seem.
ravelling Curmudgeon
(geocities sites require copying and pasting URLs.)
I liked spam better when it was something that came in a can.
Windows should be defenestrated.
Reply
In the put command, you always have to set the width and height for the image being saved. Why do we need to multiply the first dimention by 8? Does 8 represent 8 bits in some way. Also does it have to be the first dimention or could it be the second one.

8x8

sprite(0) = 8
sprite(1) = 64

?

Just curious.
·····································LINEAR INC·····································
Ø-----------------------------------------------------------------------O
From Problem to Solution - We take the shortest distance
Reply
Vice versa
am an asshole. Get used to it.
Reply
(or in any other 8-bit, 1 plane mode). In mode 12, for example, you'd just multiply the width by 1, i.e., you wouldn't really need to multiply it by anything. What you're really doing is multiplying the width by the number of bits per pixel and then dividing by the number of bit planes per pixel. In mode 8, bits per pixel = 8 and bit planes = 1. That way, the first two bytes in the array give the width in pixels per bit plane of the picture. Storing that number instead of the width itself is for the benefit of PUT. (It apparently makes it easier for PUT to use the array.)
ravelling Curmudgeon
(geocities sites require copying and pasting URLs.)
I liked spam better when it was something that came in a can.
Windows should be defenestrated.
Reply
Kofman, I've posted the buffer techniques to the FAQ. I've tried to make it more complete, and I have included all the code snippets you need. Please feel free to check it out:

http://faq.qbasicnews.com/?blast=DoubleB...ngConcepts

I've also uploaded an example to help you understand. An image is worth 1,000 words, isn't it? Big Grin
SCUMM (the band) on Myspace!
ComputerEmuzone Games Studio
underBASIC, homegrown musicians
[img]http://www.ojodepez-fanzine.net/almacen/yoghourtslover.png[/i
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)