[SEAV Softwares Logo]




Home Page
Program Nook
Instructional
Open Forum
Portfolio
Visitor's Area
Connections
About the Site
What's Irritating about Newbies
By SEAV

I find it frustrating to see a lot of new programmers wanting to make games—especially RPGs. They see the great works of great programmers out there and decide to make one themselves. Eventually, you'll find them on discussion boards asking questions like: "How do you do pixel-by-pixel scrolling? Please send me some commented code" and "How do you make sprites move on their own?" Even worse are those that say, "Hey, I'm making the best game ever and I'm gonna need programmers, artists, etc. You will be credited."
What's my point? My point is that many new programmers tend to want to make a great game already. They try to make one with little experience on programming and they end up asking for help. If they had started from the bottom up, learning the language as they go, they wouldn't be asking for help—they'll know just how to do the things they want to achieve.
To program great software such as kick-ass games, you have to have experience. You have to be able to think logically, to create algorithms right in your head, and to think up of many different ways to implement your ideas in code. You also have to learn how to use BASIC constructs and elements like arrays, flow-controls and decision making processes, which you can master by looking up the QBASIC help system.
Before I had an Internet connection, there's no way I could have gotten expert advice on programming. I actually learned by my own. The only programming reference I grew up with is the very old BASIC Language Reference and the QBASIC Help system. I learned by programming lots of small programs. If you could take a look at the QB directory on my computer, you'd come across an assortment of programs in various stages of finish that do diverse jobs. I love creating small programs. I also have a bunch of games, mostly unfinished, but all playable.
I have a neighbor who saw the things I programmed (this was before my Internet era). He then decided to make a simple RPG (QBASIC being an easy language and all). He had very little experience and he kept asking me how to do simplistic things. Things like how to move a character using the keyboard, and how to prevent the character from moving towards obstructions. He had very vague ideas of variables and he couldn't see the logic of character positioning. I think I made his game engine for him.
If you are a beginning programmer and you decide to make awesome games, think twice before doing so. You might end up begging for help and you could eventually become frustrated and decide to quit. That's a real shame. The beauty of programming is being able to make programs mostly on your own. If you let others do the work for you, you won't have that feel of accomplishment that many of us have savored.
As a test, try solving the simple programming exercises below. You only need to use basic programming elements (including string manipulation). You won't need arrays and other more complicated material. The first exercise is for the beginner and the second exercise is for the more adept newbie. If you, on your own, are able to make programs that do what the exercises say, then you have the potential to do major programs—like games!


Exercise 1: An input routine

Make a program that accepts input from the user, similar to BASIC's INPUT routine. This time, you manually make the input routine yourself. The program has to be able to accept input from the keyboard and it must be contained in the string variable Inputted$. When the user presses Enter, the inputting must end with the input in Inputted$. When the user presses Backspace, the last character in Inputted$ will be deleted except when there are no more characters left. When the user presses Esc, the inputting must end and whatever that was entered will be discarded and Inputted$ will contain the Escape character. All other printable characters will be added to Inputted$. Also, the input must be echoed to the screen. (At the same location, mind you). Characters deleted must also be erased from the screen.

Notes: You will use the CHR$ function or ASC function for determining the character entered and you may use either the INPUT$ or the INKEY function for the character input. Also, try not to use GOTOs but instead use DO...LOOPs.

ASCII character 8: Backspace character
ASCII character 27: Escape character
ASCII character 13: Return character
ASCII character 32 and above: Printable characters

Exercise 2: Text encryption

Make a program that inputs text from the user (use ordinary INPUT). Change the input so that the text is encrypted. Every letter will be substituted with the letter succeeding it in the alphabet and every digit is replaced with the digit higher than it. Z is replaced by A, and 9 is replaced by 0. All other characters will stay the same. Lettercase must be preserved. As an added challenge, you cannot use any IF...THENs, you have to use SELECT CASE with only three branches. The encrypted text will be displayed afterwards.

Examples:
AaBbCcXxYyZz  BbCcDdYyZzAa
9:01 pm  0:12 qn
SEAV Softwares  TFBW Tpguxbsft
September 25, 1998  Tfqufncfs 36, 2009

Clue: You may have to use the MOD operand and the statement form of MID$ to solve this exercise. You also have to consult the ASCII functions. The program can be written in less than 15 lines of code.



Home Page | Program Nook | Instructional | Open Forum
Portfolio | Visitor's Area | Connections | About the Site

Copyright © 1997-2000, SEAV Softwares. All rights reserved.
Webmaster: Eugene Villar (SEAV); e-mail: evillar@iname.com