QB Express

Issue #20  ~  May 15, 2006

"A magazine by the QB community, for the QB community!"

In This Issue



From The Editor's Desk

Written by Pete

Ladies and gentlemen, boys and girls! Step right up! I've got something for you that's absolutely, proof-positive guaranteed to tickle your imagination, to provide you hours of worry-free enjoyment, and to make your household the envy of your block (gotta beat the Johnsons, right?). In fact, what I've got for you is so fantastic that it comes with my very own Pete Berg Seal of Approval -- and folks, if you know me, you know that I don't give that out easily. No, it's not a bearded woman...it's a new issue of QB Express!

Now let me apologize for this issue once again coming out behind schedule. I realize that for that last two months, QB Express has slipped from a monthly to a bi-monthly magazine. That's my fault. My life is quite busy at the moment, and QB Express has fallen by the wayside. Right now I'm writing this on a public computer in the middle of the night, because I'm 3000 miles away from my own computer and don't have time to work on anything QB Express-related during the day. I just finished my semester working in sunny Los Angeles, California, and I'm back in upstate New York for a few days, before I take off to go to Addis Ababa, Ethiopia in less than 48 hours. After I get back at the beginning of June, I'll be moving back out to Los Angeles to work for the summer. I've got a busy, computer-less month in store, coming up after several extremely busy months. But enough about me. QB Express is the focus here!

This issue, as always, is super-sized with more QB/FB news, articles and tutorials than you can shake a stick at. But rather than telling you all about them, I say just go take a look for yourself! You will not be disappointed.


A SPECIAL NOTE ON THE QLYMPICS 2006:

You'll notice that there's nothing about the Qlympics in this issue. That's because the Qlympics has been DELAYED for the month.

I have not had a chance to work on anything for the Qlympics since the last issue -- life has just been too hectic. But I assure you, things will get back on track for Issue #21. Once I am settled again, have some free time, and have my own computer to work with, I'll put together the best Qmunity awards ceremony you've ever seen!


Submit To QB Express

You all know the drill. This magazine can't exist without people SUBMITTING articles, editorials, tutorials, reviews, news and feedback. This is not just a solo effort by me... it's a group effort by people throughout the QB community. If you have anything to submit, or have time to write something, DO IT!

If you want to write about something, but can't think of a topic, or need inspiration, check out the "Official QB Express Article Requests" thread! There have been quite a few articles requested -- and even if none of them strikes your fancy, we can help you come up with something that you would like to write about. If you're interested in getting your own monthly column or just want to write an article or two, by all means, do it! Anything that is submitted will be included!

I also want feedback and letters to the editor regarding this magazine. I want suggestions and critiques. What do you like? What don't you like? What could be done better? Let me know!

All submissions and feedback can be sent to pberg1@gmail.com. You can also PM me on the Pete's QB Site or QBasic News message forums. If QB Express is going to continue to be so good, YOU need to contribute!

-Pete



Letters

Letter From Paul Martos

Just read your QB Express #19 and I'm impressed with the amount of work that went into it and the passion of the QB community. I'm new to the community, though not to Basic. I started programming as a hobby in the 1970s but switched to DOS in the 90s and dabbled in HTML later. I like Basic but don't spend all that much time with it these days, using it mainly to solve science problems that interest me; games, I buy. So, I don't claim any expertise in programming.

I found the article of FreeBasic by MysikShadows especially interesting because it echoes my feelings almost perfectly. I was looking for a more modern and powerful version of the language and discovered FB. As much as I admire the language I can see that it is being tugged in the direction of complexity. Adding C-like functions is nice, but then if people want the power of C why not just learn that language? I agree 100% that any implementation of other languages in Basic should look and behave like Basic, otherwise it's just no longer Basic.

I also found interesting several references throughout the issue to factions and conflicts within the community. I joined the FB forums to try to learn more about the language, asked my 1st question in a Beginner's forum --- and was immediately flamed. Why? Because I was deemed too lazy and too stupid to look up the answer to my question. Actually I had tried and grown tired of it. Maybe it's something I "should have" known but in all honesty I'd never come across the term "IDE" other than as a hard drive standard, and the definition does NOT appear in any documentation I saw. I understand it now, but at the time I didn't, and thought it simpler to just ask. I was also called a liar for "claiming" that I had experience in programming Basic.

This is extremely disturbing. I post regularly in the Astronomy.com forums and there no one is criticized for asking "stupid" questions. I was both insulted and amazed by the hostility in the FB forum. Why does this exist? Whatever the reason, it can only do harm and reduce the number of would-be users. I will probably never post --- or even visit --- that forum again. It comes across as an exclusive boy's club rather than a serious gathering of enthusiasts.

I may be flamed for this post, too. I hope not.

-Paul Martos

You've made many excellent points in this letter! I agree with you and MystikShadows to an extent about FreeBasic -- I think that the format of the actual code should be kept as close as possible to BASIC, but the functionality should be extended as far as possible. Also, the C-like functions or headers should not be required to run simpler programs that don't require this code. Backwards compatibility with QB (and perhaps other forms of BASIC) should be of utmost importance, and adding additional functions should be a secondary priority. However, adding functionality should still be a priority. The more that FreeBasic can do, the better. It would just be nice if the code format adheres to BASIC syntax rather than C.

As for the conflicts in the QB/FB community, I agree that it's usually lame and can turn away new members. Then again, it also makes this community interesting. I like the diversity of opinion you'll find here, and the extreme personalities -- and that is what causes the squabbling and flame wars. Although this community is small, it is rife with politics and people trying to one-up each other. It's childish, sure, but it does give the Qmunity a unique flavor. It may turn some people off, but I wouldn't have it any other way.

-Pete


Letter From MystikShadows

Hi Pete,

Two months already since my last letter to the editor, wow, time flies. Now I know I'm not the first to say this, I've already read some of them on more than one forum, but I definitaly agree with those that said that QB Expresss #19 was more than worth the wait. What a line up, what great reading contents, what great letter from DrV and your reply to it ;-). Yay, I've got fans :-). The major reason why I created the MIDI series is because I've done the searches already on MIDI and I just didn't like to have to go to 4 or 5 different websites to endup with enough information about MIDI files to do something constructive with it. So I said to myself "it sure would be nice to have it all in one place and explained once and for all.". I agreed with myself (which can be a good or bad sign lol) so much that I sat down and started the series. I guess up to a certain point, this is how I pick what I want to write about if I can't find it easily and quickly, there's room for improvement so If I'm knowledgeable in the subject, I'll write about it, in my usual ways, and hope it does just that, bring the right information to those that wish to know about the topic I choose.

I reread my own article on FreeBASIC too and decided it might have been possible my message didn't go through as straightforwardly as I wanted it to (probably because of the size of the article ;-)). So I thought I'd take the chance to bring it right down to the bare facts and give a foundation to that article. As some people know, John G. Kemeny and Thomas Kurtz created BASIC back in 1964 at Dartmouth College. When they did, the 8 principles of a BASIC Language were also created. Those are:

  1. Be easy for beginners to use.
  2. Be a general-purpose programming language.
  3. Allow advanced features to be added for experts (while keeping the language simple for beginners).
  4. Be interactive.
  5. Provide clear and friendly error messages.
  6. Respond fast for small programs.
  7. Not require an understanding of computer hardware.
  8. Shield the user from the operating system.

These are the 8 principles I built my evaluation on and well the direction that FreeBASIC seem to be heading is either ignoring or just not having time to consider point 1, 3 and to some extent, point 4. One might say that since FreeBASIC is a compiler, not an interpreter, Point 4 can be neglected atleast to some extend. Great, I do agree with that because it is a compiler (maybe something can be done at the IDE level at that point then :-). But point 1 and 3, in my opinion, should be emphasized a little more than it is right now. And I do understand that point 8 is very difficult to achieve in a cross platform compiler so I appreciate that the FB Team managed to bring point 8 to the level it is at today. Great work on that side.

And how for the rest of the letter :-). For one thing, that competition (and polls) you're having right now, great idea, with all that coding that's been done in QB and FB over the years, there's definitally plenty enough material to do this kind of undertaking, I can't wait to see how everything ends and I, right now, wish every participants (who I'm sure are all more than deserving) the best of luck as we all see this event progress towards it's ultimate results. This will be one for the books for sure.

Now how about that newsbrief section huh? Plenty happening as we can all see. it's great to see all this activity going on right before our very eyes. Like you said, it's really about time that a site like FreeBasic.info exists that's definately a big plus for us. Lachie's projects are moving forward quite well I can't wait to get a look at them all when they are completed, especialy his QBasic Games Directory website. And what's to say about the Qlympics 2006 man, this outta be another great event to follow up on. Awesome idea.

In the gallery, the game "Mystic World" (something about the name that just grows on me ;-) hehe. I don't know why, but these classic zelda like games, when well thought of and created, I just find fun to play and watch. I really like where Stormy seems to be taking that game and when possible, I just might be the first to complete it if not for any other reason, for old times sake. But aside this project, wow, there's alot of creativitiy going on too with all those other projects I've seen in this issue. Amazing to say to the least.

The first article I want to talk about has to be Imortis Inglorian's "Can't We All Just Get Along?" article. even in my rather short history of 2 and some years, i've seen plenty of failed attempts at team developement efforts. In most cases, those that form teams do so to help make a project reach it's realization sooner than doing it alone. So the reason to form a team are definitaly valid. I think imortis brings some very interesting points in his article on the subject. Not everyone comprehends why 2, 3 4 or 5 people that all want to make the same project happen, sometimes give up. Not always about lack of motivation. Sometimes you gotta take the time to pick your team members not just based on who they are, but on what they know too. A little pre-selective phase can really make a difference as to wether a team reaches their goals or not. Great work there Imortis a very interesting read. Also, since this paragraph is about Imortis, I'll mention here that I really enjoyed his 2nd part to his text parser series. He's right, there are alot of text parsing tutorials out there, the main reason is they are so darn popular still today. The other reason is that I for one love to see the individuality in everyone's text parsing systems. It eems that each of them, when you look at the code, you see a different application or a different kind of game it would be good for just because it's coded in their different way of thinking. :-).

I want to make a quick note about Lachie Dazarian's game reviews (not just the one in QB Express #19 but most of the ones he did. Some people are gifted tutorial writers (Na_th_an IF series, relsoft's 3D series, and others which really have the knack to give it to the readers straight and clear about what they are covering). Other people, are gifted in reviewing games and probably other types of projects if they gave it a shot. Lachie is definitaly one of those people. Just take a look at how he took a tetris game review and turned it into something worth reading from start to end. I tip my hat to those greate reviewers. He's a natural and it's clear why he would take on such a project as his QBasic Game Directory. Awesome work. He's not the only one, but others I haven't seen that many reviews from so I don't have enough info from them :-). Lachie seems to be a multidisciplinary writer to say the least. He's great at reviews, but if you've read his tutorial on "How To Program A Game In FreeBASIC - Lesson #1" you'll see that he's pretty good at teaching too. he can really break the learning material down into easy to digest steps. I enjoy reading his articles and reviews each and every time.

In two articles, Nick Verlinden managed to impress me quite alot with this "Multi Processing Core for QB" two part series thus far and I want to know how far he'll take this Multi Processing thing in QB. I'm more than looking forward to seeing what is gonna immerge out of this. For too long I've seen many people say "no point in trying to do this in QB, no reason to, not worth it, can't do it and the likes" whenever multiprocessing and QB were mentionned in a complete sentence. I'm glad to see someone take on this challenge the way nick does and i'm even more curious to see what will arise from it. Nick, you've got someone wanting you to push it as far as you can take it. :-). Keep up the great work.

When mennonite said that 'apostrophe was an "add on" so to speak to QB Express, I didn't get a clear picture of that until I read the first issue of it. I really like what he does with 'apostrophe, the contents he puts in there are great, pertinent and well fun to read. So I welcome 'apostrophe and I hope we'll get to read more releases of this. I know I want to. Great work there mennonite and everyone involved in the contents of 'apostrophe. Keep on keepin on. :-).

The comics were pretty good. The horse is now friends with a penguin. Hmmm do I detect a linux influence in Rattrapmax6? hehe. I liked the debut of tunginobi's cartoons. These comics just bring a breath of "different" air to the magazine and I'm glad they are there. Hope to see plenty more of them.

I remember last month I read syn9's series on Tree creation and said to myself 2 things. 1. That tree looks bare without any leafs. 2. it would be fun if the next part of the series, if it comes out, put some darn leaves on that tree. Well, I guess this issue's Tree tutorial answered those questions. And it ended up being a pretty good tree too the leaves really made a difference and well, I'm genuinely impressed with how that series managed to pull it off. syn9 is, without a doubt, a great 3D designer. Maybe in part 12 adn 13, he can take on the Amazon jungle? ;-) hehe. I want more from syn9. I'm a fan now. :-).

And now, what's to say about "A FreeBasic Memory Leak Detector" by DrV himself. I don't know how many times I've been to the freebasic.net forum (and other forums) to read "______________ caused a memory leak!" Alot of times to say the least. And here comes DrV with what seems to be an awesome solution to this frequent problem. What better way to control memory leaks than if you can detect them? This is not only a very interesting read, but a very sought after one as well. Great work on that DrV. And I also want to say, right here, how much I appreciate all the hardwork DrV and the rest of the FB-DOS port team are putting into that version of FreeBASIC. I don't know how many others but me are happy that there's a DOS version of FreeBASIC, but I do know for sure that I'm not the only one that uses it anymore. So now you got more reason to keep up the AWESOME work. :-)

And now for the "disfunctional" part of the magazine ;-). I hereby named rdc's (really disfunctional coder) "A Closer Look At Managing Complexity" article. I don't know how many times I've been in that exact Data Complexity situation myself in my career. And like he mentionned, if the data structures and variable scopes aren't managed well, a rather simple program can turn into a nightmare pretty fast. There's a certain ease and temptation at just using global variables. You know you'll need them all over the place, you're tempted to just create them globally and think "there, this way, I'll have access to it". Well it doesn't take too many of those global variables and structures to begin to see how bad things can turn. Because in many cases, data related problems won't generate runtime errors per se so you have to take each of them, trace them throughout the code to make sure that they always have the right value assigned before they are used in some calculation process or whatever. Those are, by far, the longest types of bug to debug just because of the added process of following their values throughout a sub or function and even worse when their are used all over the place in your code. Alot of people should read rdc's article right now and really pay attention to it, there's a gold mine of information and problem solving techniques in there that anyone can definitaly benefit from, not just in applications, this definitaly applies to games too. Awesome and precious work in this one. Not bad for a disfunctional coder ;-). Hehe.

I would like to bring a correction to my 2nd part of the MIDI series here. The function GetVariableLength() doesn't have the right parameter names in itss contents. It should read as follows:

' =========================================
'  This function calculates the length of
'  a variable length MIDI message.
' =========================================
FUNCTION GetVariableLength( MidiHandle AS INTEGER, _
                            Position   AS INTEGER) AS INTEGER

    DIM Value     AS INTEGER
    DIM Character AS BYTE

    Get #MidiHandle, Position, Character: Pos = Pos + 1
    Value = Character
    If (Value And &H80) <> 0 Then
       Value = Value And &H7F
       Do
         Value = Value * 128
         Get #MidiHandle, Position, Character
         Position = Position + 1
         Character = Character And &H7F
         Value = Value + C
       Loop While (Character And &H80) <> 0
       End If
    GetVariableLength = Value

End Function

And this is it for this letter to the editor. I can't wait to see what QB Express #20 will have in store for us. And, i'm sure that like ALL the previous issues, it will definitaly be worth the read. Great work, as always to everyone involved. Wow, there's alot up ahead on the QB/FB scene, I can't wait to see it all :-).

MystikShadows
Stephane Richard

Once again, amazing feedback -- for EVERYONE who contributed last issue. You deserve a pat on the back for not only being this mag's best critic, but also our biggest cheerleader (or, if you prefer a manlier title, motivator). :-)

You make really great points about how FB is going a bit astray in its development. Thanks for sharing the Kemeny / Kurtz list of BASIC's 8 principles. Very interesting stuff. While I think V1ctor is doing a phenomenal job of living up to them, there's always room for improvement (which you also pointed out).

Thanks for the letter...I look forward to next month's letter! :-)

-Pete


Letter From Lachie Dazdarian

NOTE: I originally received this email before Issue #19 came out, but forgetful old me forgot to publish it last month. Whoops! So here it is, as well as a brief follow-up that Lachie sent me after I broke the news to him that I didn't include the letter.

Me again. It's been a while since as usual I had problems getting to college and therefore online.

This time I'm sending you another tutorial from my "How To Program A Game With FreeBASIC" series. This one is really big. I dare to call it monumental. I think I did a fine job there and included all the things I believe this kind of series should provide. I doubt another lesson will ever be written as I explained it in the very tutorial. As I see this will arrive for issue #19 so I urge you to keep it for issue #20 since my two huge articles I originally submitted for issue #19 are more than enough.

I had plans to write another article entitled "The Griffon Legend is crap?"(intriguing title, eh?) inspired by a conversation I had in the #badlogic channel(the unofficial community chat room). You can guess that my answer on the question is negative but the article didn't deal directly with The Griffon Legend. I only planned to point it out as my motivation to do the article. The very article supposed to be a general statement on how I feel computer games should be played and evaluated, especially if you are a game designer.

Unfortunately the article included too many philosophical traps(uh-oh) and on the top of that I had huge problems constructing more than one sentence. And I hate that. One part of the article supposed to deal with the game reviews in our community which really comes down to reviews in QB Express. What I wanted to point out (again) is that the community would really benefit from a proper FreeBASIC games site that would feature its own objective scoring system and of course archive our production. For example, VPlanet was/is for me a great source for the best QBasic games. Yes, VPlanet doesn't include all of them but most are there. Anyway, now in QB Express with several reviewers being active, each with his or her own taste and requirements, can result is some 2-3 hours effort being scored with the same score as some much more ambitious project because those two games were reviewed by two different persons. I don't know. I just feel some reviewers should think twice when giving a final score to some really small game. I could include reviews of Poxie into this topic too(hello Adigun!) so don't think I'm being subjective here. Still, I think there is a whole other group of FreeBASIC games that use CIRCLE and PRINT statements and where the designers don't put that minimum effort to implement sound effects(FMOD. Rings a bell?) but still get more positive critics than they really deserve. And now I'm touching the line which originally stopped me to complete the article.

Anyway, I'm probably giving this issue(if it's an issue at all) too much attention.

I also gave up on doing an article about the best QBasic game developers though I would really like to write something on that topic. A sort of hommage to the QBasic game design scene. But I simply I don't have the time to gather all the data I need from the net. I have all the games I want to mention but that's not enough. If I had an Internet connection at home I might be able to do it. Then again it IS a lot of research. When I'm writing an article I like to do it properly.

Another thing I want to talk about. Err, my activity in the community will have to decline which means no more articles and reviews from me in the next 7 months. I have to finish my study and after it...who knows? I have this army service(6 months) and job finding(oh, the joy!). The fact I DESPISE my profession(mechanical engineering) and also SUCK at it(probably a result of me despising it :P) doesn't help. What's even more worst is that there is a lot of job vacancies for my profession in Croatia which doesn't give me an excuse for not taking a shoot in it. Hmm, I think it will be more than 7 months. :P

Still, this is a good thing in one aspect. More and more FreeBASIC projects crawl on my PC like a slug(1-2 FPS). I was kinda in belief my sturdy "new" used PC will run FreeBASIC projects without sweating. I have a Pentium III, 866 Mhz with 192 MB of RAM and ATI 3D Rage Pro AGP video card. DirectX 9.0 installed. So the fact Tubez(a 2D game) crawls with less than 1 FPS on it as well as Asteroids 3D(even in the menu; a YAGL game) puzzles me. I was suggested that I should install a new video driver which I tried with Catalyst and failed. It says I don't have the proper hardware or software to install it. Bwhat? Also, in all this messing I was forced to reinstall my Windows XP(don't ask). Luckily I had all my work files on another partition and the installation files of the programs I'm using on CDs. Still, in this process I lost my sound card drivers. Crap! I hope I will find them on the net. Currently it's like I don't have a sound card at all. Stupid Windows!

Maybe I shouldn't get mad on the developers of FreeBASIC projects and people who SCREAM that YAGL is uber fast. I should probably get mad on Bill Gates. I think this is some kind of cosmic punishment because I defended Windows XP in another letter. :P Oh, well.

It's been too many issues from my last letter so I can't comment the articles individually. Anyway, I emailed some of the authors with compliments. It's comforting to know that QB Express is good as always featuring a stable number of submissions. I would even say that tutorials submitted for issues #17 and #18 were more than encouraging for the future. Great work! Nice to see Rattrapmax6 continuing on his series. MystikShadows suggested I should apologize to Rattrapmax6 after seeing this but I don't agree. I didn't call him a wanker(god forbid) or something like that. I just said I would like to see people sticking to their series. Nothing insulting in that. Anyway, I'm now falling into this category of "series breakers" too. Which really isn't my choice. I would so like to write another 3-4 editions of "Searching For The Unknown" column.

I'm adding this paragraph after writing the first part of the letter a week ago. I still can't get online. I wonder how old this letter will be once it reaches Pete. And this is more frustrating than you may think. I'm missing some vital scripts for an upcoming exam and the deadline is closing. I'm wasting time at home like a zombie. Anyway, the reason I added this new paragraph is my work on QBasic Games Directory I did during last few evenings(it was around the 9th of this month). Well ladies and gentleman, I created a fully functional QBasic Games Directory website! It was the last work I really wanted to do for the community before I leave to my college exile(which is never to start - in my head :P).

I had this great collection of HTML/PHP/MySQL tutorials downloaded from http://www.tizag.com/ (wonderful site) that was sitting on my hard disk so I thought why not check it out. One thing lead to another and I soon discovered you can become intermediate in HTML, PHP and MySQL in two evenings using these tutorials. These tutorials allowed me to create the site I originally imagined. The official PHP help file was also helpful. The site allows game filtering by categories and it also features a search by query page. Games are dumped in a nice looking tables. For a long time I though that implementing a search feature would be a huge problem until I discovered the wonders of MySQL's 'LIKE' statement. The site also features game dumping by letter and genre, all the sections from the preview site(running QBasic games, about the database, etc.) corrected and updated, nice downloads section with useful utilities(VDMSound, CPU Grabber, QBasic, MS-DOS boot disk, etc.) and most of the features that a site of this sort should have. The look of the site is not what I really want since I forgot to download few CSS tutorials and had to mock something up. It's not great but still better than the preview page. I sent you Pete the screenshot of the website so you can make THIS word a link to it. Or THIS word! Just don't make me look silly. :P The site will probably be hosted by Mark Wilhelm at his www.qbasic.com domain(I hope) since he showed interest for the project. For the starts the site will not feature download links but only screenshot links(around 420 screenshots). The games in the database(442 of them) are around 210 MB large total and since I'm having problems using FTP at my college connection sending this to Mark will be a problem. I only urge you to be patient about this. Anyway, even without the download links this site will be a nice source of information about the QBasic game design scene. I asked Mark to inform the community once he sets up the site. It will take some fiddling since we are talking about import a MySQL script, uploading around 10 MB of data and setting up some other things.

Once more Pete, thank you for all your hard work. Even if QB Express would stop being released today it would be remembered as something really special. Something hardly repeatable. I hope you are doing fine in California. It's great to know that moving across the country and looking for an internship is something you find relaxing. I really admire such proactive and resourceful persons like you. Which means I have to work on myself A WHOLE LOT.

Best Wishes All, Lachie Dazdarian(still chucking forward)

P.S.

Sorry if the letter was hard to read. I'm really having problems being coherent lately. Maybe I'm getting old. :P


And the follow-up...

I'm not happy about this but put the letter in issue #20. What else?

As for Qlympics I'm really disappointed with the lack of interest in it. I mean, I posted in Qlympics threads in QBasicNews and your forum and no replies for almost a week! Bah!

As for nominees I have one more for QBasic section. Cyber Chick BETA. I completely forgot about it since it was released in a really awkward moment for me. Then I still didn't have a proper PC(with a hard disk). Then again, nobody jumped on my neck for forgetting it. Or doing anything else. Bah, again!

Cyber Chick download is here.

Also, some might want to nominate SonicX(last build is number 10, right?). I'm aware of it but I just think that demo is too messy and too bitchy to run. I don't know. It really didn't impressed me.

I skimmed through issue #19 and I didn't notice news about Visna's End, a rather nice(not impressive but still) space shooter. (Link.)

MystikShadows is not doing his job!

Also, things about QBasic Games Directory has changed as you read IN MY LETTER. (Link.)

So the news about it in QB Express #19 are outdated. Partly my fault. Just be SURE to look around for latest news on QBasic Games Directory in issue #20.

Oh yes, another nominee. Can I nominate my Another World Memory FreeBASIC for Best FB Port of a Past QB Game?

Ok, that would be it. I think. I'm not sure if you took my suggestions about Qlympics into consideration(about including year 2003 into awards and selected jury thing) or you had set them from before. What ever it is I'm glad most of my suggestion appear in the Qlympics 2006 rules. I just hope that this top 3 out of 5 voting won't be retard. Leaving TerraScape without an award would be a shame. Me thinks. Uh, maybe I'm giving too much attention to this game. It's not like I made it. Still, I hate seeing a great product overlook. TerraScape beats everything 3D done in QBasic to a pulp(I hope I got that right)! :P

Cheers!

Lachie D.

Whew! That's a lot of reading. First of all, sorry about forgetting to include your letter in #19. It's tough keeping all of this QB Express stuff straight, especially with all the other things I've got going on at the moment.

First off, great work on your FreeBasic Game Programming guide. It's definitely one of the most complete and helpful tutorials we've ever had. I really would like to see what you wrote for your "The Griffon Legend is crap?" article. I'm sure it would be very interesting, and I always enjoy your theories on game design.

Your thoughts on changes to our game review format are good ones. I've been thinking about creating an "official" review format, but the reason why I've been hesitant is because I think the best reviews are ones written in long, paragraph form. I don't like it when people use these formats that split up the review by categories (graphics, sound, gameplay, etc.) -- because they are not accurate. They certainly don't reflect the overall satisfaction a gamer will get out of a game. A lot of games with good graphics and sound might suck to play, and a lot of ASCII games may be amazingly fun. But if you use a format like V Planet's, or the one I used to use on Pete's QB Site, fun games will often artificially low or artificially high scores based on these stupid categories that shouldn't even apply to some games. (Like Puzzle games getting docked points because they don't have a "Plot / Story"...who cares? Puzzle games don't need a story! That's not the point. Including a story is usually pointless to begin with.)

Here's my ideal review format: something written out in paragraph form, that addresses all aspects of the game, without having to split it up into sections that break the "flow". The game should get one score at the end of the review, out of ten, based on the overall quality of the product. None of this "adding up the scores for different categories" stuff. Games are about having fun and being entertained, and in the end, that's what they should be rated on.

Other stuff: (1) Can't wait for the QB Games Directory! (2) Check this month's gallery...Cyber Chick is getting finished, in FB! (3) Thanks so much for your help with the Qlympics. You've been the most helpful and constructive contributor by far. I'd respond to every aspect of your letter, but I'm on a deadline, so let's just call it even and say that I can't wait for your next letter to the editor!

-Pete


Letter From James Pruitt

Would it be possible for you to release two versions of the newsletter: one with all the content on one page and another seperated into links and the first page an index? For those of us with dialup, wanting to get to a specific article as soon as we start reading can be a near impossibilty some days.

-Jimmy

Yes, it's definitely possible to release another version, but I don't know if I have time to do it. I'm barely able to get the normal version out each month, let alone a dial-up friendly version.

However, if someone else wants to volunteer to put another version of the mag together, I'd be happy to host it on my site.

So, all you READERS out there...any takers? Email me, and we can talk.

Pete

-Pete


Letter From David P.

Computer Language Shootout

Hello,

I am a reader of your magazine and I think that your magazine is good.

Perhaps the magazine can help. I know that FreeBASIC is mentioned on the following website.

This is an interesting website.

http://shootout.alioth.debian.org/gp4/index.php

Implementations of different programming languages are compared. ( speed )

For example, FreeBASIC, Free Pascal, PHP, gcc, etc.

http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=fbasic&lang2=fpascal

However, FreeBASIC still needs five programs. ( I mean source codes. )

http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=fbasic&lang2=fbasic

Can you mention this website in the next issue of the magazine? Hey! I hope that you will encourage readers to submit source codes to this website in the next issue. Thank you very much.

Thanks again.

David P.

Great website! It's a lot of fun comparing FB to other languages to see how it stacks up. And based on what I saw, FreeBasic stands up amazingly well. Check it out!

-Pete


Letter From Seb McClouth (QBinux Update)

Letter:

Hi Pete

First and all, I like to state that I had a wonderful holiday in Spain... When will you have time for a holiday?

It’s has been a little down time for Qbinux, but as far as I can see it seems to be a hot topic on your forum since the Qbinux –topic in QB News and Announcements has been viewed almost 5000 times (okay only sumfin more then 4700 but you get the point).

It the month or so before the holiday I created a new site and a new forum. Which can be found at http://www.freewebs.com/mcclouth. The old one is removes so that one can’t be accessed anymore.

I’d like to say that the QB-Express is the best mag I’ve ever seen (and not just because I’m posting in it). As I always say, keep it up, the good work.

Till next time.

Seb


Sub-mission:

Hi all,

As some of you might have read on the forum Qbinux was going through some changes. Some rough changes may I say.

At first I only had a working hardware-detection-system.

Then I was going to implant Novix.

Now I have starting back from square one (not now but a little while back). I’ve decided to use Novix more for reference and try to make sumfin more like Linux. For that reason I’ve been translating some of the C to Basic code, as you might have read on the forum. It all seemed to work the way it should. I do use a bit of Novix, else I would not be able to have the nvxfs, the NoViX-FileSystem. That part isn’t yet working completely working like it should, but I’m working on it.

The latest release you might have seen has a working boot-sequence, which is only the hardware detecting (which is still under development, due to some delays), and a proper login-system (not that the novix-version isn’t good), based upon Linux.

On my develop-system I currently I have slimmed Qbash version along with it. Due to the Novix-implentation problems I won’t release it yet.

I’m trying to keep the developing up to date on my website. If you would pass by check it, and don’t forget to sign my guestbook!

Well I’m going back to the drawing table and develop some more.

Until further notice,

Grtz

Seb

Thanks for the updates on Qbinux! Oh, and we're all glad ...and jealous... that you had a great holiday in Spain!

-Pete


Have a letter for the editor? Send all your rants, raves, ideas, comments and questions to pberg1@gmail.com.


Express Poll

Every issue, QB Express holds a poll to see what QBers are thinking. The poll is located on the front page of Pete's QBasic Site, so that's where you go to vote. Make sure your voice is heard!

What is the best QBasic game developer of all time?

With the help of Lachie Dazdarian, I've decided to run a tournament to find out who the community thinks is the greatest QB game programmer / programming group of all time.

The two of us have nominated the 50 top QB game developers, who we feel deserve special recognition for their contributions to the QB gaming scene. From these 50 choices, YOU are going to vote to select the greatest QB game programmer. The winner will receive a special award at the Qlympics 2006, which will take place in QB Express over the next few months.

I've randomly split up the nominees into five divisions. You will get to vote for the top developer in each division, and then we will have a final vote between the five finalists.

So, without further ado, here are the nominees. (Category winners are in bold.):

DIVISION 1
Aleksander Trojanowski (ATTE series)
Bulma Produktions (Suds Skins 1 & 2, Johnny Abbot's Sex Adventures 1&2)
CMC (DarkPhear)
Hamster Republic (Wandering Hamster, SpitWar, RPG, Cowbobs)
Hyper Anime (BAkuen SakuRu, Kunio Kun)
Pieslice Productions(MUX, TerraScape)
RelSoft & Adigun A. Polack (Frantic Journey)
Shattered Realm Productions (TWIGZ Engine, The Great Escape)
TopGun Software (Space Commando 1&2)
Typosoft(Ped xing's Quest, Sumo, SuperSumo 1&2)


DIVISION 2
Darkness Ethereal (Mattress Warrior, Secret Of Cooey series, In The Nocturne, Mysterious Song, Lianne in the Dark Crown, Legend of Lith II)
Eric Carr (SpinBall)
focus ZERO (Monkey Blast!)
J.B. (Sonic Xtreme)
Master Creating (Shadow Of Power, Diamond Fighter IV)
M \ K Productions (Pieces 1&2, Bob Saget Killer 2000, Fury)
Na_th_an (Jill The Goddess, Lala Prologue, Oytkator's Plans)
Pantera55 (Elysian Fields)
Pasco (Groov Buggies, France '98 World Cup Soccer)
Sasha Vukelich (Dynamic - The Colonization of Jupiter)


DIVISION 3
Piptol (Ghini Run, Squealer TNT, Kingdoms)
Future Software (BomberZone, Zelda Clone, Cobra, Space Invaders)
Jocke The Beast (Dark Woods 1&2, Mirkwood)
Lachie Dazdarian (Detective Academy, Ball Blazing Fantasy, Rocket Fuel Mayhem, Dark Quest, Another World Memory, Run 'Em Over, Pong Worz)
Mark Hall (ARC Legacy)
Oren Bartal (Super Stack, Ultimate Super Stack)
syn9 (ZeroG)
Stefan Hendriks (Arrakis)
Terry Cavanagh (The Hunt, Black Hole)
WisdomDude (Hack-Man 2&3, Cyber Chick)


DIVISION 4
BINARYmagic (Alien Terror, Anaconda)
BjM Software (DreamScape)
Danny Gump (Mystical Journey, Super Mario World Clone)
Jason Gould / The_Brain (Puz, Peanut Patrol 2)
JAWS V Soft (Mini RPG series)
Mike Snyder (Lunatix, Lexter 1&2)
Nekrophidius (Wrath Of Sona, Two Lords)
PHAT Kids(Kids of Karendow Chapter 1, PHAT Professional Burglar)
SV Reanimator (PromZone, Cyclone)
TMB (Percussor, Around The World, The Little Pixie 2, The Adventures)


DIVISION 5
Angelo Mottola (WetSpot 1&2)
Delta Code(Larry The Dinosaur 1&2, Unofficial Tournament)
Jace Masula (CODELINK, StarQuest)
Kevin Reems (Stick Fighters Brawl 1&2)
Michael Hoopman (Dark Ages)
Milo Sedlacek (MonoSpace)
Nick London / NutzBoy (Peanut Patrol)
SonicBlue Productions (SB's Bricks)
StarsDev (The Terror)
Tsugumo (Untitled, TheGame)

In order to vote, visit the front page of Pete's QB Site. (The poll can be found in the left column.)

Good luck to all the nominees -- and may the best developer win!

Results of Division 2

The top two developers move on to the final round of the competition!

DeveloperVotesPercentGraph
Darkness Ethereal3036%
Eric Carr34%
focus ZERO22%
J.B.1620%
Master Creating45%
M \ K Productions00%
Na_th_an1417%
Pantera5534%
Pasco34%
Sasha Vukelich79%
84 Total Votes

It's no surprise that QB RPG master DarkDread's group Darkness Ethereal came in with a healthy first place in this poll, but some of the other results were less than expected. The runner-up was J.B., creator of the SonicX Sonic The Hedgehog port, which, while good, is certainly not any match for some of the other games on the list (in my opinion, Master Creating's Shadow of Power, Na_th_an's Jill The Goddess, Sasha Vukelich's Dynamic, and Pasco's Groov Buggies are all much superior games, and especially because they are original, deserve more praise.)

Na_th_an came in a close third, but in the end, he was 2 votes short -- so Darkness Ethereal and J.B. move on to the next round.

Make sure you vote in round 3 of this poll, now available on the front page of Pete's QB Site.



News Briefs

News from all around the QB community, about the latest games, site updates, program releases and more!

QB Site News

QuickBasic & FreeBasic Frappr Maps!

For several months, there has been a Frappr map that shows where in the world members of the FreeBasic community live, and just a few weeks ago, Optimus decided to create one for the QuickBasic scene. Frappr maps are really simple; you enter your name and the location where you live, and you are shown on a map in relation to where the rest of the people registered on the map live. It's pretty cool to see which areas are most populated by QB/FB-sceners, and I encourage you to add yourself to both maps:


  • QuickBasic Scene
    Currently with 27 Male members worldwide, and.... 0 female members. Surprise, surprise.

  • FreeBasic Scene Map
    Currently 87 people registered worldwide, both genders. :-)

News Brief by Pete


New QB site: Quickbasic.info

Matthewr2_1, a coder who frequents the QBasic.com forums, recently launched a QB site at http://quickbasic.info/. It's very small at the moment, and is lacking in the content area (pretty much only some links, news posts and an empty forum)... but it's only been around since the end of March, so that's to be expected.


Anyway, the more new QB sites the better, as far as I'm concerned! Check out Quickbasic.info (and make a post in the Shoutbox on the side of the page!)

News Brief by Pete


AAP's FreeBASIC GFX Demo Central Reaches 120 FB Demos

Like always, Adigun A. Polack has been keeping his website, the AAP Official Projects Squad up to date, and a few weeks ago (4/27), he passed a new milestone:

In this newest update of the official projects site of Adigun Azikiwe Polack, three (3) new FB graphics demos have just now been added to the FreeBASIC GFX Demo Central, plus a vital update to Lachie’s Custom Font Printing Routines in FB appears there, too!!

With all of that, the FreeBASIC GFX Demo Central now hits a staggering total of at least 120 demos that have been produced using FB!!! So phenomenally good, huh?

See you there beginning at http://dhost.hopto.org/aapproj/ for all the goods!!!

Adigun deserves a big hand for his hard work keeping his site up to date. It is still the biggest FB programs collection on the Internet, and at this rate, it won't be losing that title anytime soon!

News Brief by Pete


A New, More Open QB Forum? / Seph Goes Bonkers

Recently, Seph was banned from the QBasic News forums for making some "unsavory" posts. This "censorship" and singling-out really struck a nerve with him, and he vowed to form a new, more open QB forum. Seph went all over the Qmunity and posted the following message, to try to stir people into action:

This is my original post on QBN. It has since been deleted and I have been banned. There was also a topic started by cha0s in the Debate section called "Stop the Fascism" which might also have been deleted. Please notify all members on QBN about this thread. The admins and mods of QBN are ruining our good fun and making it impossible to enjoy staying at QBN! Please read:

This thread is intended to be a discussion about creating a new forum *similar* to this, yet without the tyrrany.

This thread *should* be protected from locking or deletion because it brakes no rules. It is not spam, but instead a valid discussion that many might take part in.

Sumojo's post here is an example of his corruption. Finally when people started to post agreeing with me (one so far only), Sumojo posts a contradictory post saying the thread is not locked, however anyone who posts in it will be banned for two weeks.

Nek has already attempted to start a QB forum similar to this, yet it has remained largely unvisited. I think this could be for two reasons:

1) The rules are much more open than this forum and people aren't used to such a drastic change all at once

2) People don't like to change forums because it's a habit to go to the same place

3) People believe their friends will not all transfer over so they don't want to limit who they are talking to.

These can all be solved with a few easy solutions:

1) Change the rules over time by voting on each change. This will create a slow and easy transition to a more liberal forum.

2) Just change the bookmark link's address to the new forum. Not hard!

3) You don't need to make sure that all your friends go, because as long as you make certain that you (the reader of this) change over to the new forum, then everyone who reads this should in theory move to the new forum.

The only problem is that you may need to tell people who do not read this thread about the new forum.

Another MAJOUR concern.

Also, this means that some people will not move to the new forum because they do not like ME. This includes Zire and Sumojo (it's his forum) and Zap (since when did HE start hating me!?) for example. And assuming some people don't want to limit who they talk to (problem number 3) then they won't want to leave Zire and Zap etc. behind. However if they can be convinced to come to the forum without mod/admin powers (because they are corrupted) then this problem is solved.

But then the question arises, why would they want to leave power behind? Well I have another idea of how to accomplish them coming to the new forum without mod powers:

If everyone else posts at the new forum, and boycotts this forum (I mean literally 3 people posting here over three weeks, all being mods/admins), they will have nobody to moderate and will be forced to either move to the new forum or protest that forum. Of course it would be smarter to just move to the new forum without question.

This is my proposal. Even if it is deleted, I will have the original copy and email/PM/IM it to everyone here who has posted in the last two months.

-seph-

So where's this new-and-improved QB forum? Nowhere to be found. Seph was alone in his disgust with QBN; Everybody else could care less, and they treated his "treatise" like the ravings of a crazy man. I guess most people on QB/FB forums just....(gasp)... get along.

News Brief by Pete


Project News

Emporium Xenos - Whack A Mole!

The Big Bad Wolf recently released a FB Whack-A-Mole minigame:


It's a simple but fun game, features both keyboard and mouse play, and definitely worth checking out. It'll entertain you for at least a few minutes!

Download it here: http://www.sitesled.com/members/exupdate/tbbw/wam.rar

News Brief by Pete


Pritchard's Wheel Function

Here's an interesting program by Pritchard. I haven't checked it out yet....but you should!

Hey there! Pritchard here!

Recently I released a small but semi-useful Wheel Function Lib for FreeBASIC. It also includes an SNO_Print function.

(SNO_Print stands for Scientific Notation Off Print. This is useful to those who don't like the scientific notation printing FB does with very large, small, or complex numbers.)

What it does, is creates a wheel (I have a hard time explaining, but there's a screenshot), with perfectly spaced out lines, points, or images. It's really useful for that kind of small graphics effect, similar to those from the good old Sonic games ^_^;;

It comes full with Rotation, x and y positioning, size, points per wheel, space between next drawing point, and even making a wheel out of images, alpha and all ^_^;;

For those of you wanting a better image to see what it is exactly I made, here's a screenshot:


If you like the screenshot or just want the SNO_PRINT, here's a link to the original thread on the FreeBASIC forums (enjoy!):

http://www.freebasic.net/forum/viewtopic.php?t=3614

News Brief by Pete / Pritchard


Eternal Journey Demo #1

Smithcosoft Creations (SSC) has released the very first demo of his upcoming RPG, Eternal Journey. It's an extremely rough engine demo at the moment (with perhaps the loooongest credit roll of all time) -- but it looks very promising. The graphics look very nice, and the engine currently supports MP3 music, and basic scripting for in-game cinematic sequences. Take a look:


You can download the demo here: ej_demo.zip, or if you're on dial-up, you might want to spring for the No Sound version, without the 4.5MB mp3 included: ej_demo(no_sound).zip

And of course, you can check out the SmithcoSoft Creations website for the latest on Eternal Journey.

News Brief by Pete


Yagl Developer-Less...?

The speedy YAGL, or "Yet Another Game Library", which was created and developed my Marzec for the last few months, has now lost its developer. Here's a news report from Z!re:

Yagl stands without a developer, which is a very sad thing. Marzec no longer have the time, nor will, to actively develop the project. Someone needs to take over this amazing project and make it all that it could to be.

Alas, it is true. For the full story, visit the YAGL Official Site and read the latest news posts. (For the uninitiated, you can also download YAGL here.)

We at QB Express encourage anyone interested in game library design to contact Marzec for the source code, and to look into carrying the torch forward. Don't let the YAGL fire get snuffed out!

News Brief by Pete and Z!re


Too Much Cement -- The Newest Cute Short Game Project

The ninth "Cute Short Game Project" by Redcrab (last issue's programmer of the month) is here! CSGP #9, entitled "Too Much Cement," is Redcrab's biggest and most complicated game yet.


The goal of the game is to direct wet flowing cement in a hectic factory, making sure that none of it spills. Here's some more specific info on the game, from Redcrab:

Hi Pete,

May I write something more just for your exclusivity ;) , (Usable for a QB Express ?)

  • It's directly inspired from handheld game that is not really handy . Was qualified as "tabletop"
  • Color LCD style
  • It's the most complex CSGP title that I create until now: 103 different sprites. To do the comparison Sleepwalker only contains 39 sprites, HurryChef contains 31 sprites, Bouncing Stuntman only contains 5 sprites, Mushroom Raindrop 6 sprites.
  • The hero is almost free to move
  • 320x240x8 screen resolution
  • All in one source file
  • No lib dependency, No Operating System API dependency

And of course, I hope this title will be as fun as the other titles.

Regards,
Redcrab

The official CSGP website is here: http://csgp.suret.net, and you can download Too Much Cement here: TooMuchCement.zip. This is a fantastic game, and you should definitely check it out.......Now!

In other news, Redcrab has released a single program containing all of the CSGP titles in one. Get a copy at this forum post. That Redcrab sure is a busy guy!

News Brief by Pete


Jofers: "Gooey, gooey, gooey..."

At the beginning of April, Jofers posted the following at the FreeBasic.net forums, about his new GUI library. Here's the full scoop:

Okay, I posted a barebones GUI library awhile back, but because of limitations I completely canned it and started over. Well, I just hit a point where I finally surpassed the first project yesterday, so I figured I oughta post a demo:


The library's really more of an object framework than a GUI library... But it works such that I can write GTK drivers later and just compile a different set of driver modules. Plus, the modules are completely separate from the code so users can write extensions without recompiling the library. So the nice things:

  • It's a static library, no runtime DLLs.
  • Only includes what modules you use, so you can write 50k GUI apps
  • Can/will be cross platform in the future
  • Extendable
  • Simple. No jxGet_Top_Bar_Color_Around_X_Button() functions, just jxGet and jxSet


BUT, it's still a mess:

  • Event system is a federal disaster area
  • Memory leaks galore (yeah, be careful running the demo in Win98)
  • Slow development (I'm a senior engineering student, no time)


So I'm probably going to need some help, as much as I hate the thought of working with other people. First, is I'd like to redo the layouts. I was hoping to making something like "BorderLayout" in Java (the one thing they do get right), where or HTML, where someone could just plop elements in instead of having to provide coordinates (that was a major PITA making that demo). Any suggestions? (ballpark's open on this one)

So: help wanted, the more the merrier, but I really have no experience working in an online project with more than 3 people (that documentation thing was a disaster), so if anyone here has experience working in any big OSS settings, I could use some advice.

And finally, I have some questions about WinAPI in general:

  • My buttons seem sluggish, and I can't fix it. What gives?
  • Is there a way to get themed controls without making some chump use manifests. I can't use owner-drawn controls, that would make my library as bloated as wx-c.
  • Anyone know how to get TAB focusin' working?

So, there you have it. Last time I posted something like this, a bunch of people got excited and started posting technical questions about things I hadn't done yet, so lemme be clear: This is nowhere near completion, all that's in that demo is all that's implemented, and anything's open.

'Nuff said!

News Brief by Jofers / Pete


QuickRogueFB (Beta) by Rick Clark

If you haven't checked it out yet, I DEMAND that you take a look at Rick Clark's QuickRogueFB roguelike game. It's fantastic. Here's the description:

QuickRogueFB is a speed rogue-like game. There is one level, 50 monsters and a set amount of time to find the Amulet of Nikktu and escape. The game play is very streamlined so there is no inventory or stats management and a very small set of commands to make gameplay quick and easy.

Various versions of the game have been kicking around for a few months now, but the latest version truly is a must see. You can find a release here, or just download the program here: qroguefb.zip.

News Brief by Pete


Pixel Scroller by Hallifax

Hallifax recently posted a screenshot of his FB pixel scroller at Freebasic.net, and it looks pretty nice:


Since so many readers are interested in RPG programming, I figured you guys might be interested. Hey, this might end up being a full game!

News Brief by Pete


Screenshots of a game by Lithium

Lithium recently posted the following screenshots of a game he is making, which has been compared to "Bart vs. the Space Mutants" for the NES.






Lithium gave no details about the gameplay, but he did mention that he would release a demo, "as soon as [he] gets the first 5 levels done...[he's] up to 3 so far." Oh, and Lithium has never played "Bart vs. The Space Mutants", if you're wondering.

News Brief by Pete


Mandelbrot Viewer by Antoni Gual

Antoni Gual recently released a Mandelbrot Viewer program that creates some pretty spectacular graphics effects. Take a look:






The Mandelbrot Viewer is still a work-in-progress, but you get the idea. Check out the original post for full details, or just download the program now: mandel.zip. At the moment the program should compile in Win, Linux and DOS.

News Brief by Pete


Dr_D and RelSoft Dazzle with new Kart Game

Dr_Davenstein and RelSoft have been hard at work at a new (unnamed) FreeBasic 3D Kart racing game, and it's awesome. You should check it out. There is a playable engine demo available right now.






From the Readme:

Basically, this is just a demo of the engine. It doesn't keep track of any score/pole position or anything. Also, some of the models are incomplete/testing versions... You'll probably notice that some of the polygons with transparent pieces, like the guardrail, will block out certain objects behind them... this is expected behavior and will be taken care of when the time comes. ;)

They have also released a video of gameplay footage that really shows off the engine's physics capabilities.

The demo is rough, but is already leaps and bounds ahead of most QB racers that we've seen in the past. The kart models look good, the steering and physics are nice, and the racing seems pretty balanced gameplay-wise. I enjoyed my few minutes messing around with it. Unfortunately, the game runs extreeeeeeemeeeeely slooooooowly on this computer... 2 - 3 FPS and very choppy on this admittedly old computer that I'm using right now... But this is still an early demo and with optimizations, it could surely be increased substantially. I can't wait to see the next demo!

News Brief by Pete


Hello Kitty Mini-Game

Pritchard recently released a mini-game based around the popular Japanese character Hello Kitty. The reason he made it is sad but heart-warming...


Here's a Hello Kitty game I made for X_Toaster_X. She's around 20 and has cancer. I really wanted to make her a game just because she's a nice person. Tell me what you think and tell me if the exe has the kitty icon ^_^;;

Note, You need winzip or winrar to use these files:

http://fileanchor.com/22967-d - Hello Kitty.rar
http://fileanchor.com/22968-d - Hello Kitty.zip

No Sound:

http://fileanchor.com/23014-d - Hello Kitty.rar
http://fileanchor.com/23015-d - Hello Kitty.zip

Source-Code (To compile, download normal version above, then paste .bas in Hello Kitty main folder. Compile ^_^;:

http://fileanchor.com/22986-d

We all hope that X_Toaster_X gets better! (I'm sure this game will help.)

News Brief by Pete


BALLSBREAKER!

NovaProgramming released a FANTASIC mini-game a few weeks ago called BALLSBREAKER. It's a very simple concept, but it's a lot of fun and very addictive. With your mouse, you must knock a board full of stationary green balls so that they're all "rolling" -- but once they start moving, they become red and you must avoid them. Play it, and you'll understand.


You can download the game at this link: BALLSBREAKER.zip.

BALLSBREAKER proves that good gameplay trumps all else when it comes to game design. Try it out, and be sure to post your best times in the BALLSBREAKER thread at QBasic News!

News Brief by Pete


Kryton - Gravity Graphics Demo by Klyde

You've gotta check out this awesome FB graphics demo by Klyde. It's called "Kryton", and it was made in FB from Gravity.


If you're into graphics effects, this is some of the best FB eye candy I've seen all year. Get it here: Kryton.zip

News Brief by Pete


Aflib2 Released!

Adigun A. Polack's Aflib2 is here! He posted the following at QBasic News:

The wait is finally over!!! AFlib2 - Aura Flow Library 2 is here at long last after almost one (1) year in development, and it is the grand successor of both RelLib and the first AFlib for QB. This ALL-NEW game library incarnation for FreeBASIC features a ton of jaw-dropping, never-before-seen stuff including Waterfall, Scale2X/4X/8X, Screen-to-Sprite collisions, Screen-to-Screen collisions, custom graphics filtering, and a whole slew of others!!!

Grab yourself a copy today beginning at http://dhost.hopto.org/aapproj/ and your FreeBASIC game programming will NEVER be the same again!!!

Amazing work on Adigun's part, but I'm sure you figured that much out already!

News Brief by Pete


Thrawn Releases "Ploader"...A Library to Load PNG Files!

Now this is a useful release: a PNG library for FreeBasic! Thrawn posted the following on the Freebasic.net forum on May 3rd:

Well, some of you may have heard of this project already, it's a library to load png files.

The goal was to make a library that would load a PNG file written in FB, it was ment to be as easy as Bload(), thus the name Pload()

It does Alpha transparancy and everything, well...currently does not support all of the Interlaced types, but that's it....

Apparently this has been compiled and tested by v1c under v0.16, so good luck: Download Ploader Here

It is also fast, so dont worry about that. ;-)

~Thrawn~

PNG is clearly the best image format for the web these days, and it's got all the features that make it useful for game programming: low file size, high fidelity, transparency and wide compatibility. And now you can use PNGs for your FB programs, thanks to Thrawn!

News Brief by Pete


Piptol Ports Kingdoms to FreeBasic!

One of the best QB strategy games is now *THE* best FB strategy game! Here's the news, straight from Piptol himself:

Old-skool fantasy/strategy game Kingdoms has received a FreeBASIC makeover, 5 years after the original QB release.

So now it's a fully fledged Win32 game, the same game you know and love with a few new surprises! This version adds some new characters to help or hinder your Ablyssian adventures, there's minor graphical improvements, resampled music and faster battle sequences.

Come get it while it's hot at Piptol Productions!

Direct download: http://piptol.qbasicnews.com/files/kingdoms.zip

If you haven't tried Kingdoms, give it a shot -- it's simple, but also very entertaining. I'm sure you'll love it. But then again, I'm a big fan of Kingdoms...as you can probably tell.

News Brief by Pete


Competition News

Qbasic.com T-shirt Design Contest

Mark Wilhelm, webmaster of the new QBasic.com is running a t-shirt design contest. Whoever designs the best shirt will receive a free shirt with their design on it, and everyone else will be able to purchase shirts for $10. No word yet on a deadline for the compo, but several people have already made entries. For more information, check out the official contest thread. "Ladies and gentlemen, fire up your PhotoShop!"

News Brief by Pete




Gallery

Written by Pete

Every issue QB Express features a preview and exciting new screenshots from an upcoming QB game. If you would like your game featured, send in some screenshots!

Cyber Chick

Way back in 1999, when I was still working on the first iteration of Pete's QBasic Site, WisdomDude emailed me one day with a little QB engine demo he'd put together. I loaded it up to find a smoothly-animated, one-room 2D shooter/platformer engine, similar to Metroid -- but starring a pudgy woman with pink hair and a spreader gun. Back in those golden ages of QB, this was one of the most impressive demos I'd ever tried, and after chatting with WisdomDude about his plans to make a full-featured adventure game, I was waiting with bated breath. This was Cyber Chick... and it was good.

Since WisdomDude (or James Robert Osborne) didn't have a website of his own, I created a dedicated section of my site for Cyber Chick. Every few weeks, religiously, WisdomDude would release a new demo of Cyber Chick, and for months, I'd post them in the Cyber Chick section. (Go take a look, it's still there.) In its first year in development, the engine made terrific progress, and WisdomDude released a total of 36 engine demos. Cyber Chick looked like it was going to be one of the best QB games ever, and a large and growing number of fans. Unfortunately, around the time of engine demo thirty-six, I began my hiatus from the Qmunity, abandoning my site and the Cyber Chick page. WisdomDude continued working on Cyber Chick for many more months, and eventually released some Cyber Chick demos with some more significant gameplay -- but just like with me, real life got in the way and Cyber Chick fell by the wayside, half completed.

Flash forward to 2006. It's been years since I've even thought about Cyber Chick, and everyone's presumed that the game had joined the mass graveyard of perpetually unfinished QB projects. So imagine my surprise when I heard from WisdomDude that he's picked up Cyber Chick where he left it off all those years ago, and was planning to finish it in FreeBasic!

That's right, folks, SEVEN YEARS after he began work on Cyber Chick, WisdomDude has released a new demo of the game that once rocked the QB world. And it is looking better than ever!

According to WisdomDude, the engine is now complete, as well as most of the graphics. The demo also features high-quality music and sound effects. The most of the work he has left to do is create the remaining levels and worlds that you will fight through with Alexa (our heroine). No estimate yet on a release date, but I can assure you, Cyber Chick is far closer to being released than it ever has before. :-)

Download the demo: CyberChickFB.zip (17.3MB)

And without further ado, here are a series of screenshots from the most recent Cyber Chick build. Check out all of the different areas, graphical styles and gameplay varieties in this game. It looks simply incredible:





















QuickRogueFB - Game Review

A review by Kristian Virtanen (lurah)

INTRODUCTION:

Well, most of us knows who and what is rdc. From his website, you can find nice range of games, programs and even books to enjoy. "Latest" (when writing this review, he's been very productive so thats why I say "latest" lol) one from rdc's coding garage is QuickRogueFB. An ASCII (quick) rogue game.

ABOUT QuickRogueFB:

Everyone who has ever coded with QB, still codes or has even heard of it knows what is text based roguegame, so i guess that part don't need more explanations =) QuickRogueFB as in name of game sounds like a promise of fast, thrilling and intensive playing experience. "There is one level, 50 monsters and a set amount of time to find the Ammulet of Nikktu and escape." Also name of programmer put some extra expectation for it.
Very easy to learn. Basically what you need is direction buttons, "t" for teleporting, "g" for gettin potion, "z" for some monster zapping and "<" or "," to exit from level when Ammulet of Nikktu and exit point has been discovered. Sounds easy? It is. Boring? No.

As an ASCII "fanatic" i was pleased when intro of game appeared on my screen.



My first try with this game was pure suicide, in every possible way...



And now, for the review itself. Playability, overall entertainment, rogue likeness, replay value and technical feature.

PLAYABILITY: Score (4/5)

Simple to learn, quick to play and nothing special...read also as "useless". rdc has added practically all things on game that is needed. No inventory, stat menus, buying or selling. Its max. one hour gaming experiment / game so nothing much more needed. Only thing i actually missed was bow or spear so i could try to kill monsters from a distance. Zap is close to it, but its not 100% the same thing.

You can't see thru walls, doors, far beyond straight passage either, enemies behind the corner...very nice and working concept and in this case, it really works too. Small map view on the down right ofg the screen is also very clever and it also helps from time to time. Enemies are letters, floor are dots, traps are...never mind and everything is easy to figure out in seconds and remember even then when HP is 10/81 and there is those few penguins around you.

OVERALL ENTERTAINEMENT: Score (4/5)

Well, ASCII games requires, first of all, one thing from player, imagination. Without it, apparently no chance to enjoy those games. Gladly, my imagination is at least universal :D Took only seconds and i was in dungeons, hiding from monsters, sneaking behind their backs and avoiding traps. Map is big enough and different at every new time when playing. When monster sees you, it runs after you, often there is few of them but with some clever moves you can locate yourself at point where you can fight with only one at time. Even if the main goal is to find Amulet of Nikktu and exit point, each time i wanted to explore "just a bit" more caves....and bit more...and bit more...until clock sayd time is out...damn :D Potions gives or takes from you something. Quick healing, mana points and so on. They also can prevent you for using teleporting, slow you down etc. Potion at corner of room in middle of tight fight can be a saver or ultimate game over.

Oh no!!! Scotty cant beam me up and safe...

ROGUE LIKENESS: Score (2/5)

Maybe ill miss things on this that rdc havent even planned, because of the game's quick style. Fights are pretty simple ones after finding a good location, if more than one bad ass is trying to beat you. Just press the enemy's direction and that's it. Zap is nice add, but won't fill the whole hole of good ASCII rpg combat. Personally, opinion is, bow or spear is needed for long distant fight. Also "all in defence" or "all in attack" choises in combat would make fights more interesting. Although comparing what this game offers and whats its nature, roguelikeness is "OK".

REPLAY VALUE: Score (4/5)

This game is surprisingly addictive, i wanted to achieve the goal and finish it as winner. But what then? Is it all over then? Well, for me quick cave investigations were allmost more important ones than Ammulet of Nikktu. Is it because of me or this game? Can't tell, but somehow this game calls me back to it from time to time. Been playing it lots of times, and probably I'll do so in the future too. After reaching goal of game, fun part is more on studying caves instead of finding Ammulet and exit. And its fun to fight against Jocke the Troll and other monster buddies. This is a pretty quick game, is good way to forget our own "stuck" codes, dirty floors that screams vacuum-cleaning or angry girlfriend for a while. Some prople do it with solitaire, but I'll suggest you to try this too.

TECHNICAL FEATURES: Score (4/5)

Well, what to say? Game is simple and nice. Alltho no sounds or music. Most likely, rdc didn't want to add them because of the nature of the game. ASCII rpg with mp3's? No way, at least for me. But maybe possibility for listening some MID song or few sound effects might give more that "feeling". But as told, this is ASCII rpg, and a very well made one too. Graphics are good ASCII stuff. No useless tricks, known and workable chars are used and colors works fine.

THE FINAL VERDICT: 18/25 (72%)

Fact is, There is more than alot of ASCII rogue games, some if them are great, others are something totally different. rdc's QuickRogueFB is good add-on for this scene. It's simple, easy to learn, hard but not too hard and no bugs on code (at least i didn't find any). It definately earns its rightfull place on all ASCII/Textgame websites game lists, right next to adom and other known rogue games. As is now common knowledge from rdc, the source is included with the game and in the same light, it's great source to learn from, so if you're interested for creating your own roguelike game, then this game is good to have a look at.

Also, I'm not sure is this the final version of this game. (BETA) was on the topic where i downloaded the game from, so there is more than good chance that rdc still adds something new to this game. For sure, I'm gonna keep an eye on what he's doing with QuickRogueFB.

In case you wanna check rdc's QuickRogueFB, then just click here or visit rdc's website.
Game tested with XP and Ubuntu linux.

lurah
Kristian Virtanen
virtanen.kristian@ascii-world.com


Making a QB or FB Site

Written by Pritchard

Hey there! Pritchard here! As you may or may not know, I have absolutely no experience in making a QB/FB site or a forum, so bear with me here.

Making a New QB/FB Site


Plan Out Your Intended Audience

This has to be the most important part of making a new site. Whether it's a C site, an animal site, or the oh so famous around here (for whatever reason ^_~) QB/FB site!

Why is this important? Well think about this, if the official Microsoft site was full of Java Games and had Theme Music in the Background from a Java Game, who do you think would come? Java Programmers? Interested Microsoft Developers with years of experience? Nope! Teenagers! - and people wanting a few quick jokes and a place to talk l33t.

You have to, have to, have to figure out what your intended audience for the site is. Now, I'm not saying that your intended audience is just an age group, I'm saying not everyone likes the Professional Setup a site like "FB.net/forums" has who's over 25. No Avatars, Simple Color Scheme, and very serious posts expected at times. Not. For. Everyone.

A site like QBasicnews.com though - Avatars, cool black background, more forums to hang out with and discuss things other than the main language, and a smiley that's throwing up feces. . .Now that attracts the audience that's generally not coding QB/FB to put food on the table, or maybe they are. Right now though, they just want to have fun ^_^;; - Or maybe one of the largest QB forums around hahah.

There's other sites. Other Features. More things you can have that attract your audience. Think right now before we go on. . . Do you want to make a site that attracts mainly and almost always, the people who want to work in the most professional manner, or do you want a place where fun comes first? I know there's a lot of in betweeners and I can't put all programmers in just two groups, but that's something to think about.


Think of What Attracts That Audience

Now we are kicking it! Whoot! Alright, what attracts the audience you would like on your site? You decided on a "feeling" you want the site to have? Wild and Crazy!? Strict and Intelligent? Mellow, simple yet flexible? I hope you've made up your mind, because now you have to think of what attracts the audience you want.

What Makes a Site "Fun-Based":

Example: http://forum.qbasicnews.com/index.php

Anything else for "Fun-Based" sites? Yup! Lots! I just can't think of all of it right now! But you're the site designer, or interested person, not me. You have to think for yourself sometimes. Just make sure that with a "Fun" Site, the environment's free and optimistic. Personally I think later on, we need an FB-site that's Fun-Based that links to the Official Site (Just to be Polite).

Remember, Fun sites are about the information, but more about the community and the people there than the hard-work we do to keep up with the community. It's one big party!

What Makes a Site "Professional Work Based":

Example: http://www.freebasic.net/forum/index.php

We all know that there's a lot more that could go in a Professional site. It all depends on how far the project the forum/site is about is. But you have to make sure not to attract a bunch of teenagers looking for "l33t h4x1ng t0015" on your professional based site. People don't like having people like that respond to their well-written posts with detailed information on the problem they're having.


Plan Out Your Site Features and Scheme

Alright! Now you should have some idea, with a little thought, on what kind of site you want to make and what you want to put in it. Now how do you put it all together though? Simple.

Each and every place on the computer screen that people use to view your site is of great importance. You must use a complex algorithm to figure out the placing of each and every link, image. . .

Wait no!!! What the heck are you thinking!? Oh wait, I typed that...

Yes the placing of everything is important, but it's not that hard! Your site should have a basic home-page stating what the site is about with links to the forum, downloads, links to other sites, and depending on your site theme, maybe a jokes section or technical information page. Or both? XD!

The Home Page can be very serious, or maybe an update from the Webmaster to all his friends, "Yo guys what's up? Think I might add avatars today, so I'm preparing myself for a visit to the hospital. Who know what nonesense people will put for images as their avi".

See? Isn't that different from "Version .8 is out today. Basic new Features include File Paging, G-code asm support, and big-endian support. Read the changelog for full changes."?

Very different sites you can tell, just from the introduction to the site. You should build each and every page this way. Get serious when you need to for humor sites, but make sure that you're sticking with the general theme.

Contact information could be on a technical support page for a professional site, or maybe on the forum or larger on the games section for a fun site. I don't know. Webmasters tend to build their sites different ways once they get going, so prepare to fool around a little.

For Scheme Color and Layout, here's some basic coloring info:

Fun Colors - Orange, Black, Yellow, Blue, more than one color

Professional Colors - Gray, White, Something Simple - Can still be very beautiful though

Wicked Colors - Green, Purple, Red, Black

And those are just a few examples. Imaes of skulls, butterflies, or none at all - Maybe just plain backgrounds, start plotting it all around and in no-time you'll have the basic feel for your site.


Conclusion

Well I kinda dozed off near the end of writing this article, but haha...It was fun! I was able to have so much fun because I'm currently on a fun site.

Your audience should be unique. That's important. If you want to make a site just to have a forum for you and your little buddies, don't spend 5 months planning it out, and of course, have a good time with it.

If you want a big site where you have a lot of features, you want your word to be spread everywhere, take your time, and make sure your site isn't a clone of the rest out there. If it is, change it.

Hope you don't have too much trouble,

Pritchard


Download a copy of this tutorial, or visit the original thread.


Creatively Writing Game Story Lines

Written by Nathan1993

You remember reading DarkDread's series, right? The first tutorial was about a story, mostly what not to do. Here is a little piece to tell you what to do. Forget every game you have ever played. Why do Mario and Zelda survive on a simple story? In Zelda, look at all the side-plots, like saving the Gorons, Zoras, etc. You get it! Use your imagination (if you still have one) and come up with a great story. Here's how I would start:

Jyla heard a rumbling, shaking his very home, deep in the night. As he woke up, he slipped a simple tunic on and ran outside. The village of Yehan's worst nightmare has been realized. The massive snow buildup started falling from the top of Mt. Yehan, coming straight for them. Yehan's residential area was directly in the path of the snow, ready to get slammed. Soon others start coming out of their homes, realizing doom was near and embracing for the worst. They had no plan, for they were all in denial that this would ever occur.

Jyla knew he couldn't stand there, allowing his doom to arrive. Yet he knew he couldn't stop the snow. It was like an arrow: you can't stop it, and you know it's coming. So what do you do? You try dodging it. He couldn't hide anywhere, he would just get trapped in. He quickly sprinted inside, grabbed his knapsack. Knifes, rations, and a jacket was able to be located but he was too stressed in time to get anything else. He had to leave soon. Now.

No one could be taken with him, it would slow him down. Most people were just started to realize the peril they were in. Some were in denial. Others we praying to their God's, begging for forgiveness. As he started his way out of town, he noticed many fields of corn. Their city rained often, for it was in the path of rain shadows due to the mountain...

Now is the where the multi-linear part would go. You have a great story, with cause and effect, environment, multiple reactions, and a believable (or not too far-fetched) story. The played can now do many things, like stock up on food, see what others are doing, make peace with his God, or get the hell out of there! Obviously there would be more than one option for where to go. You could try to go around the mountain, go up and around the mountain, try to block it, or outrun it... a million things could happen. The limits are what you are willing to do.

Hopefully this has given you an idea of what you can do to create a story other than “The evil wizard stole the princess!Armed with only your sword and shield, you have to train until you are able to save her!” Some important points:

Thanks for reading my article on creative story lines, and I hope it gave you ideas and a new perspective on how you should go about developing game story lines. Remember, your story should take more work than your engine!


You can email Nathan1993 at nathant93@gmail.com or download a copy of this tutorial.


The Fallacy of Meaningful Codes

Written by Moneo

In the early 1960's, I was working on a programming contract for Schering Corporation to implement a Production Planning and Control System. My mentor, Tony Penta, was the project manager. In addition to programming, I was assigned the task of creating the codes for the Product Master file. I analysed all the possible classifications, and designed a code composed of fixed-length sub-sections such as: group, class, department, etc. I proudly showed the code design to Tony Penta. He took a look at it and said the following words which I never forgot: "Ed, the more meaning you put into a code, the quicker it will corrupt."

Tony went on to explain that sub-sections of codes, like the department for example, today fits fine into a one digit number, because today they only have 6 departments. But what happens to this one digit code tomorrow when they expand to 40 departments? Even converting the one character position to alphanumeric would not hold the required combinations. The structure of the code would have to be modified to add extra digits, and the result would be a corruption of the original code design which would require a costly conversion project to convert all the related files, input formats, and reports.

He explained that the safest and simplest approach to code design is completely random or consecutive numbers. How many products do you have today? let's say you have 5000. That's a 4 digit number. Then, allowing for expansion, make the code 6 digits, which will allow the company to grow to 1 million products.

It took me a while to grasp the magnitude of Tony's warning, but then I kept it fresh in my mind for the rest of my life.

The biggest argument that I ever got in support of meaningful codes is that you can look at a code and tell what the item is based on the digits of the code. This is only true if the code has not suffered any changes in format. Hey, if you want to know what exactly an item is, lookup the item's code on the Item or Product Master File. Another argument is that meaningful codes are easy to remember. The truth is that people who work with the items/products every day, can just as well recognize or memorize the codes that were assigned without meaning.

Here's a few examples...

In 1983, at a computer assembly company in Mexico, I was developing a complete manufacturing system. The industrial engineers, who were from Ericsson, had begun design of a part number, which curiously looked very similar in style to the original product code that I had designed back at Schering. It took me quite some time to convince these engineers of Tony's rule. We finally decided on a 6 digit, numeric part number with no embedded meaning.

In 1990, while at Citibank-Mexico, I was developing a Manpower Planning system, for which every job or post had to have a unique code. My boss, the IT director, already had a design in mind consisting of 10 digits, of course with all kinds of meaning in the digits. So, I let him have Tony's rule with both barrels. Amazingly, he thought about it for a few minutes, asked a few questions, understood it, and said "Do it." Since we had less than 1000 employees/jobs, we went with a 5 numeric digit job code.

A classic example of code corruption is the Mexican TaxID which is the equivalent of the USA Social Security Number. When I arrived in Mexico in 1983, the code consisted of 4 leading alpha characters plus 6 numeric digits. The 4 alpha were taken from your last name, mother's maiden name, and your first name. The 6 numeric were your date of birth as YYMMDD. When I first saw this code, I immediately remembered Tony's rule.

Well, sure as heck, in 1991 the government announced a "new" 13 character TaxID, where they had appended an additional 3 alphanumeric characters in order to solve the problem of collision in the numbers. The conversion of existing computer systems was chaotic. Some companies attempted to generate the extra 3 characters using algorithms of dubious origin. Actually, the government never published the algorithm because it really wasn't an algorithm perse. The logic was contained in one continuously changed program at the central bank. I happened to see this program, and was amazed at the amount of hard-coded exceptions that it contained especially to inhibit generating codes that contained "dirty" words.

To make matters worse, in 1999, they announced another code called "CURP: the unique code for population registration". This beauty did not substitute the TaxID, but had to be used in conjunction to the TaxID for payrolls, invoices, taxes, etc. This CURP code is 18 characters long, using the first 10 characters of the TaxID, and adds additional "meaningful" codes, such as sex, place of birth, the first consonant after the start of last, mother's maiden, and first name, one numeric digit (normally zero) to be modified for duplicate codes, and a check-digit whose algorithm is a goverment secret. If my dear friend Tony were to see this code, he would turn over in his grave.

*****


Download a copy of this tutorial: Meaningful_Codes.txt


Artificial Intelligence Technology Reviews

Written by Stéphane Richard (Mystikshadows)

INTRODUCTION:

Artificial Intelligence is still a fast growing science. Today, more and more applications of A.I. are created and there's just no telling what the future holds for it. No matter how you slice and dice it, Artificial intelligence has evolved greatly over the past 20 years or so. Today you can find highly specialized fields of A.I. that have very specific applications. This brought me to wring this article whihc aims at giving you the most widespread A.I. technologies with their descriptions along with some reference links for each of them so you can learn more about them and see where they might fit in your projects. Here is the list of technologies we will be covering in this article.

  • Knowledge Tree Architecture
  • Learning Machine Architecture
  • Process Of Elimination
  • Decision Making Engine
  • Expert Systems
  • Fuzzy Systems
  • Case Based Reasoning System
  • Support Vector Machines
  • Neural Networks
  • Bayesian Networks
  • Behavior Based Artificial Intelligence
  • Evolutionary Computation

As you'll see here, there's atleast one good purpose for each of these A.I. systems I'll describe here. These fields can be used in anything from games to real simulations to anything inbetween as well as domain specific applications. So have a read, you just might find something interesting here.

Knowledge Tree Architecture:

What It Is:

Knowledge Trees are, as the name says, more of a data structure than an actual A.I. Engine per se. However, when such a structure is devised and implemented, it makes it easy, with minimal code, to interrogate the knowledge in such a way to answer questions. The general idea behind this structure is that you go up the hierarchy to determine the knowledge element's classification and go down the hierarchy to determine a knowledge element's information contents. You can say that a knowledge tree and it's functionality is more of a search algorithm than an A.I. specific engine however if the tree is organized the right way, the responses you may get might surprise you.

One of the classic example if this type of organization is of course the Life classification tree (the Taxonomy chart) where plant, insect and animal life are grouped under their species groups in order to make the information about a specific lifeform easy to follow down the hierarchy towards the specific details of the given lifeform. With this type of structure you can easily know that a dog barks, has 4 legs, by going down the tree right down to a dog's specific information. Going up the tree will tell you such things that a dog is a canine which is a mammal, which is an animal lifeform, and so on and so forth. It's one of the oldest form of knowledge organization for the purposed of later retrieval of that information there is. It's also one of the best one when it comes to organizing a vast amount of knowledge.

Where you can learn more:

Learning Machine Architecture:

What It Is:

Another one of the classic A.I. fields. One of the first Learning Machines applications was a program that could "learn" to play chess and get better at it with every game it played by somehow saving moves and strategies that it tried that worked. Today, this field pushed itself quite forward where this knowledge can also be statistically and mathematically evaluated to determine the best possible moves based on the current position of the player's pieces and the location of the enemy pieces. Today, a real A.I. based Chess program is quite hard to beat as it can anticipate the player's actions alot more accurately.

Chess playing is not the only field where machine learning can be useful. This technique is still used in many simulation based projects to anticipate reactions to decisions/moves made by one of the elements of the equation. All in all, learning machines are problably the most widespread older A.I. engines you can find.

Where you can learn more:

Process Of Elimination:

What It Is:

This Technique is based on the classic detective Sherlock Holmes. Essentially you define a conclusion by defining all possible exceptions and alternatives and proving them wrong. Once all the of the alternatives have been proven wrong, the one and only remaining alternative therefore must absolutely be right. Of course, in such a system, the more alternatives you can prove wrong (hence enter in the system) the more valid you make the right alternative. Depending on the domain in which you elaborate the system, making sure all alternatives are present and accounted for can become tedious due to the amount of data you need to enter for the alternative.

One of the best system to use to implement this type of A.I. application is of course Prolog (also known today as Visual Prolog). Prolog is just the language to implement process of elimination systems of all types. Whether it's a very small system or a big complex one. Just keep in mind that this specific type of A.I. application can only be as accurate as the data it works with. The more complete dataset the more precise the conclusion the system will arrive at.

Where you can learn more:

Decision Making System:

What It Is:

We can define a decision making system as an application that can come to a decision, a choice between two or more alternatives (conclusions). The means by which the system can arrive at that decision is where the science lies in this type of A.I. application. The main idea behind decision making can be pushed all the way to actually making a decision. It seems however that Decision Support Systems are the most used types of decision making systems. Basically help the user arrive at his own conclusions based on what the support systems yields as results.

One of the most widespread of these tools is of course the "Monte Carlo Method". This method is often used in business when evaluating risks of failure of projects and/or investments strategies. But it doesn't stop there. Monte Carlo excels when the need to calculate results based on many variables (that are hard to calculate) are involved. For example, Integral calculations. But there are also other fields where the Monte Carlo Method can be applied. As you'll see when you take a look at the links below.

Where you can learn more:

Expert System:

What It Is:

Expert System is a class of A.I. that has been developed back in the 70s by researchers in artificial intelligence. This concept serves to simulate how an expert in a given field would act or react to a given situation that requires his expertise in the field. Contrary to popular beliefs, Expert Systems are not meant to replace the experts but rather work with the expert on a given situation. It's common practice that the expert be present to change and adapt the expert system depending on what new technologies and theories arise in his particular field of expertise.

Expert systems are used all over the place in car diagnostics, medical field, and so many other fields. Expert Systems are designed to work with a wide range of domain specific data in the field. As such, and because of the vast amount of related data needed by an Expert System, it's usability is usually restrained to a very specific area of expertise. If it wasn't, the amount of research, analysis, calculations and processing needed would become quickly overwhelming.

Where you can learn more:

Fuzzy Systems:

What It Is:

Fuzzy Systems (Fuzzy Logic itself) is a science that deals with uncertainty. It is designed to reason approximately rather than precisely. Fuzzy systems are probably the most wide spread of the A.I. systems yet it is also one of the most contraversial. For example, statisticians reject it because they claim that probability is the only sure means of defining uncertainty. Nonetheless, Fuzzy logic has it's share of userbase and so far has proven itself amongst all the uncertainty based domains.

Fuzzy logic is widely used to control household applications like a washing machine (to determine the load size and adjust the washing cycle accordingly) or even a refrigerator. The best area where fuzzy logic is used is in high-performance error correction to improve information reception over a limited-bandwidth communication link affected by data-corrupting noise. For example Two decoders may analyse the data in parallel, arriving at different results for the values intended by the sender. Each can then use as additional data the other's likelihood results, and repeats the process to improve the results until a consensus is reached as to the most likely values.

Where you can learn more:

Case Based Reasoning Systems:

What It Is:

Case Based Reasoning Systems are applications designed to solve situations and problems based on similar past problems. For example, a computer technical support that fixed a printer that won't print based on other printers that weren't printing that he fixed is using case based reasoning. There are many other fields that use case based reasoning as well. Anything that can be solved based on other solutions to the same kind of problem that worked before can be thought of as case based reasoning.

In essence, Cased Based Reasoning Systems is based on a four step analysis method. The first step is "Retrieve" which means that when a situation occurs the first thing to do is to recall any and all past experiences that was of a similar nature that pertain to the current situation. The second step is "Reuse" which means that if the past situations were solved using a given suggestion, they should be applied here first to see if they will solve the current situation as it did the past one. The third one is "Revise" which is apply the passed solution to the current situation to see if it worked or not. The last step is "Retain" which means when the solution has been applied (adjusted if needed) to the situation and it worked, save it as a new case to add to the arsenal of past experiences to work with.

Where you can learn more:

Support Vector Machines:

What It Is:

Support Vector Machines are defined as a set of related learning machine used mainly for classification and regression. A vector means that it works with a list of related elements or items that have to do with the give system to analyze. For example, sets of data that may need some form of classification before it can be processed in some way. SVMs are typically used in combination with other A.I. methods as their main purpose is to organize data (much like the knowledge Tree Architecture) but in lists of related classified items rather than a hierarchy or tree of items.

One of the fields that this method can be used for is GIS systems where perhaps longitudes and lattitudes may need to be geographically sorted out before one can apply any geographic based calculations or apply a dataset of elements over a specific geographical set of longitude and lattitudes. In that respect, there are of course many mathematical fields where such a technique can be applied for example to analyse the graph of a mathematical function or specific formula.

Where you can learn more:

Neural Networks:

What It Is:

This techniques was inspired entirely by the way neurons work in our brains. A Neural Network is nothing more than a much of neurons (nodes) interconnected to each other (exchanging information) in order to seamingly work as a group