--------------------------------------------- Object-Oriented RPGs By Nathan Kessler - Nathan1993, September 2004 --------------------------------------------- As you're read this, you are probably saying, "What the heck is this dude saying, and why am I reading this???" I'll tell you why: this tutorial will make QB programming much easier. And, I have not really gone into the topic too much, but meh, who cares. This tutorial is aimed for advanced programmers. If you can make a pixel*pixel scrolling engine, can spell (unlike me), then you can probably do this. But, I would recommend Vic's (yes, you all know him, from back when you were still learning, Vic) sprite tutor. It helps. Down to business. When you want to make this, it's easier than you think. This is how you would want to do this. First, set up some variables. This is simple; you know how to do this!!! But, this is what you would need to do, kind of as a "header." TYPE ObjectType X AS INTEGER Y AS INTEGER UpdateTimer AS INTEGER Sprite AS STRING * 8 … … END TYPE TotalDragons = 3 DIM Dragons(TotalDragons) AS ObjectType FOR I = 1 to TotalDragons READ Dragon(I).X, Dragon(I).Y… NEXT Now, I am not going to teach you step by step how to do this, but you will get through. Anyway, now, you get how to set up your timer. And, by the way, you should also know how to animate tiles in a tile engine. Ok, so lets look at the psuedo code. Replace all the TotalDragons with the NPC, wall, or whatever with the total amounts of those things you will have on the screen at one time. Now, you're probably thinking, OK, but how will this help me? Ever used GameMaker? That's where I'm getting these ideas. It works! So, we have all that. Now what? Well, now we will set up our little event trigger. This is easy. Lets say, when you change the variable Collision, you want to go to the Collision label. This is very easy. We would do it like this ON Collision GOTO CollisionLabelHere: Easy, eh? So, lets continue. Ok, that works, but how would I do any more? That's easy to. We would just keep setting these up. And this routine is very easy to use when drawing the screen too. DO... Put all of your normal stuff here, I guess the DO should be a FOR, lol Now, do it like this: FOR I = 1 to TotalDragons PUT (Dragons(I).X, Dragons(I).Y), Dragons(I).Sprite NEXT Add a few other routines, and your done. But, I would like to point out, that this works real well with the player. To it like this. ON LeftMove GOTO leftMoveCode LeftMoveCode: … … … While using this, you can easily implement more things, new things, and not to mention a mafia of players! Muhahahaha! Also, it will make your game more likely to be downloaded by other QB programmers. Mainly because they can use you easy to use code to make a mod, which will make them able to make a mafia, and win the game in 2 minutes, lol! Try making a non-scrolling, shooter with this. Also, try making more variables like direction, speed, and etcetera. Its real simple. Hope I helped!!!