Page 1 of 1
The QBRPG scene circa ~10 years ago
Posted: Sat Dec 19, 2009 7:09 pm
by GradualGames
Anyone here old enough to remember the QB RPG scene? It seemed hundreds of people were concurrently working on a NES/SNES style RPG for the PC in QuickBASIC back then. Even I got caught up in the craze and had partially developed an RPG (several attempts at it). Every so often, I google a couple of the old QB RPG projects I remember. There are a few files that are still floating around (including my own game), and I think there may be a very tiny group of people STILL USING Qb. It seems a lot of people have moved on to
FreeBASIC, which emulates QB's syntax (and even has a compatibility mode), plus a lot more.
I actually dabbled in FreeBASIC a little over a year ago, until I got a notion to check out NESDEV stuff, where I finally feel totally at home.
Posted: Sat Dec 19, 2009 7:30 pm
by Dwedit
The only QBasic RPGs I ever saw was something that used screen 7 (320x200 EGA graphics mode), and that hamster RPG system which ended up giving the world Arfenhouse.
But back in 2000/2001, I once tried to make a Zelda 2 clone in QBasic before I abandoned it.
Posted: Sat Dec 19, 2009 7:32 pm
by tokumaru
I used to be into QB before moving on to the NES, but I never had any interest in RPG's (and I still don't). I was much more interested in the platformers (like I am now). I had several QB projects myself, but never finished anything.
Posted: Sat Dec 19, 2009 9:02 pm
by essial
Ah good ole QBASIC in dos

I actually finished several games in QBasic. The first 3 were Apple][ Sierra "on-line" style adventure games (static graphics with text adventure style interaction), before finally writing a single-screen based side-scrolling platformer that required a serial port joystick to play. Ah how I miss my 4th-5th grade years

Posted: Sat Dec 19, 2009 9:32 pm
by Memblers
QBASIC was my first programming experience. A friend and I made "Virtual Reality Gym Class", maybe 14 years ago. It was a text game that game you options of basically raising hell in the class in various ways (with random chances of getting caught). It had some PC speaker sound, and the last thing I added to it was some color ANSI graphics. Though not long after that, I lost the sources with that computer. I remember 95% of the program was PRINT, INPUT, and GOTO. heh.
Posted: Sat Dec 19, 2009 9:41 pm
by essial
The FIRST on those adventure games I wrote included several screens that had water (4 to be exact). I was NOT aware of the fill command, just the line ones. Yes, that's right, I drew the water line by friggen line. It was a truly facepalm worthy moment when I discovered the fill command while working on my second adventure.
Posted: Sun Dec 20, 2009 7:47 am
by tepples
essial wrote:The FIRST on those adventure games I wrote included several screens that had water (4 to be exact). I was NOT aware of the fill command, just the line ones. Yes, that's right, I drew the water line by friggen line.
And guess how the filled-polygon command in a bunch of graphics libraries generates images:
line by friggen line. The "fill" command is a flood fill, what paint programs call bucket, and it's not really designed for games with heavy overlapping.
Posted: Mon Dec 21, 2009 4:50 am
by miau
I started with C, but had no success in understanding anything until I switched to QBASIC. Fun to see so much of us nesdevrs were into it at some point.
I don't remember many QBASIC RPGs, but there was a really fun one I can't remember the name of. Maybe you guys can help me?
It took place on just one relatively small map with several locations you had to visit, I think (e.g. a castle in the top right corner of the map(?)). There were lots of random enemy encounters.
The hero had an obnoxious girlfriend that would make appearances throughout the entire game. Oh, and probably the biggest clue: the hero's name was ROM.
Posted: Mon Dec 21, 2009 4:58 am
by dXtr
Memblers wrote:QBASIC was my first programming experience.
same here :)
used to do all sorts of stuff in it.. it was also through QB I was introduced to ASM too.. inline assembly stuff to get acceptable draw speed. Don't remember to much about it just that it was a pain to do iirc.
Posted: Wed Dec 23, 2009 4:55 pm
by whicker
oh cool, I used to love QBasic.
First found it on the Windows 95 extras CD in the dos "other" folder, if my fading memory serves me.
I even got to the point where I started doing wireframe 3D, and page-flipping. I was so enthralled by Star Fox, MechWarrior 2, etc. Naturally, things carried over to school... when somebody waked by, they thought some of the stuff I did was a neat "screen saver".
I eventually could do filled polygons too, had to generate a left "start" and right "end" list with a bresenham line algorithm, kind of like you guys are talking about here.
Unfortunately I never figured out how to clip to the forward frustrum, so I just didn't draw it if that happened... I was again so envious of starfox how when passing between ground obstacles they wouldn't disappear once you flew slightly past them.
I was so excited when I finally found from this wonderful command to wait for vsync:
wait &h3da, 8
But if it was too quick, then you'd have to have a wait &h3da, 8, 8 to wait until it wasn't vsync.
Anyways, if somebody has a site, one of my friends could probably put up his school-themed RPG there too.
(I'm kind of envious of you people starting out with something sensible, my first experience was actually TI-BASIC on a TI-99, and no, that's not a calculator

) It probably ran like 20 statements each second.
Posted: Wed Dec 23, 2009 5:04 pm
by Banshaku
I started first with very rudimentary basic on the C64 then later started to do a few things here and there with Quick basic. Since I didn't do anything "interesting" on the C64, we could say that the first one I did stuff is really qbasic actually.
Posted: Wed Dec 23, 2009 5:13 pm
by Celius
I worked a little with QBASIC. I really liked it, actually. Thinking about it brings me back to like, 3 years ago, hahaha. I was messing around with it, and I actually made a 3D wireframe model generator with it using the Line function in screen 13 I think. It was horribly inefficient, as I would clear the screen, and redraw everything without doing the whole screen paging thing. Yeah, I know that's pretty bad. But it actually ran rather smoothly considering that's what was going on. It was cool, too. You could define your own models in a text file by specifying coordinates of each point of the lines that made it up, and then you could open up the model in the viewer. Then you could rotate it all around, move it in all directions. I made it originally to do some "special effects" in my cartoons. I would make screen shots of the wireframe models, moving them around appropriately so that I could display the shots in sequence to have an animation. I would then take these screen shots, and open them in MS Paint so I could trace over them to make them look more realistic. And actually, since I couldn't get the screen print function to work with QBASIC, I had a camera taking pictures of my monitor! I actually made something out of it, but now I know there are -MUCH- easier solutions.
Unfortunately, I never made a game or anything like that. I don't know if I am even experienced enough to do that yet! I am pretty experienced when working with low-level languages, but the high level languages for some reason are harder for me. I'm sure if I looked into the syntax of some standard functions, it wouldn't be so hard.
Posted: Wed Dec 23, 2009 6:39 pm
by tepples
whicker wrote:I was so excited when I finally found from this wonderful command to wait for vsync:
wait &h3da, 8
But if it was too quick, then you'd have to have a wait &h3da, 8, 8 to wait until it wasn't vsync.
Bingo. Now you understand part of why Nesticle confused so many people: both emulator authors and early homebrew developers assumed the NES worked like the MS-DOS environment they were used to.
Posted: Wed Dec 23, 2009 8:56 pm
by whicker
I guess in their defense it was like "hey, look at all the time I have to write to video memory that the game isn't using!"
Well, hard-coded delay loops (FOR I=1 to 10000, NEXT I) never really worked anyway because there was such a disparity between computers. I might have been using a 486SX-33 one day, and then be using a Pentium 166 the next.