A proposal for The Ultimate, Open Source, Library

Discuss whatever you want here--both QB and non-QB related. Anything from the DEF INT command to the meaning of life!

Moderators: Pete, Mods

Post Reply

would you like to see an Ulitmate library formed

yes! Fantastic Idea!
yes, but it would never work...
No! I don't want anybody using my ideas
No votes
why? you have all the funtionality you need right now!
Total votes: 7

Posts: 21
Joined: Tue Feb 28, 2006 10:03 pm

A proposal for The Ultimate, Open Source, Library

Post by zanzibar » Sat Mar 04, 2006 2:58 pm

all right!

As you know, I've had libaries on the brain for a week now, asking a bunch of idiot questions, but as I examine them all, if realized something...

after looking over the manuals of rellib, directQB, ds3qgpp, futurelib, neolib, ugl, cosmoxX, and many others, I realize most of them do much of the same thing but also, EACH ONE HAS THEIR ONE SPECIAL STRENGTHS!!! but it's impossible to choose which has the best and not easy to use multiple libs.

So, I'd like to propose something.

Pete'sQbasic.com should host the first open source library devlopment project to gather the best routines from each of the many libraries (game or otherwise) and pool them into one single universal library! Get the creators of the original libraries to all contribute their concepts, then choose the best, and implement it in one library...

for example,
from UGL, take the 3d routines, timers, polygons, bezier curves, and font routines
from relLib - sprite, collisions, and palletes
from cosm0X - miscellaneous routines, cuase it's huge!
from dsQ++ - those great sound routines!

it would have to be open to anybody but there must be a governing body to decide the best techniques. (probably the creators of the founding libraries). This would just be those in charge of officially adding routines and reviewing submitted routines / ideas.

it's should always remain in development, so it can grow forever!

also, allow allow people to make suggestions. like text wrapping. WHY DON"T ANY OF THE LIBRARIES SUPPORT PRINTING WITH TEXT WRAPPING!!!

There are so many great ideas out there but because each one's in a different library, they cause problems. If the enitre qb community comes together, we could create the ultimate library, a library not just for games but for all types of programs.

anyways, I've been blathering own for 10 minutes. That idea came to me last night in a dream, or as I call it, a "premonition." I hope somebody likes it and I'd be real dissapointed if the libs creators turned it down. but petesqbasic.com is the only place it would work. this is the only site devoted to qb to actually finish this project.

thanks for listening to my crackpot ideas!

ps: if you like this idea, let your voice be heard.

Posts: 128
Joined: Sun Aug 14, 2005 8:33 pm
Location: Forest Lake, MN

Post by Guest » Sat Mar 04, 2006 5:04 pm

Well, the FB library Yagl probably does all those things faster than any QB library.

User avatar
Posts: 826
Joined: Sun Jul 25, 2004 4:24 am
Location: Quebradillas, PR

Post by Nodtveidt » Sat Mar 04, 2006 6:50 pm

My own PTCxl library supports text wrapping but only with its own fixed-width font methods. Then again, it's for FB, not QB, so...oh well. :D

Posts: 21
Joined: Tue Feb 28, 2006 10:03 pm

Post by zanzibar » Sat Mar 04, 2006 7:05 pm

A Proposal for
An Open-Source, Multi-Purpose QBasic Library
Saturday, March 4, 2006
Ver 1.0

A continual community effort to develop an ultimate library of gathered routines from past libraries and new ideas.

There are many QBasic libraries in use today. Most libraries share similar routines, though few are exactly the same. Even with the use of library managers (PAK, etc) it is difficult to work with multiple libraries. By developing a single uniform library, the fastest, most flexible and powerful concepts can be reduced to one single library to be used for many different types of programs.
For example, most libraries contain sprite routines. However, different libraries use different concepts with varying degrees of success. The new library will establish a standard and attempt to decide the best techniques of all submitted ideas.

Key concepts:
1) PetesQBasic.com will be the official home this library, but no one individual can claim right s to it. The source will be freely distributed and credit will be given on the basis of individual contributions.
2) Ideas will generally come from existing libraries, at least in the early versions. Since all libraries are free and come with included source, they can be evaluated and added, as long as credit is given to the original author.
3) There will be a group of defined individuals to choose and implement routines. They must test many similar routines and decide which uses the is the best concepts. This will be based in speed, flexibility, and feasibility. The leaders will probably be the founding creators of the original libraries.
4) Updates will be distributed in periods. Each version will contain new methods. This is a process of constant review. New ideas will be examined and judged. If judged as better than existing methods, those methods can be re-written in the new style or simply added as an alternative routine.
5) Members of the community will give input, describing bugs and ideas, a well as submitting concepts.
6) Of course, all changes will be well documented, with credit given appropriately.

Starting routine concepts:
1) Sprites
2) Pages / layers
3) Drawing primitives
4) XMS / EMS memory
5) Audio
6) File / Directory management
7) Importing / exporting formatted pictures
8) Palettes
9) Blender Maps
10) Memory management
11) 2d transformations
12) 3d transformations
13) Special effects
14) Timers
15) Hardware input
16) Hardware output
17) Polygons
18) Textures
19) Multiple resolutions / screen modes
20) Matrices
21) Mathematical shapes (Bezier curves)
22) GUI basics
23) DOS
24) File management
25) Precision math
26) Optimization
27) Reading system info
28) Printing text

NOTE: These are only the early areas of interest. Later versions can and should include other types of routines as well.

About me:
My name is Adam Wong. I am 18 and a freshman computer science student at the University of South Carolina. I conceptualized this project in a dream one night while I was beginning to learn about libraries. I realize I am a beginner but I?m learning. I try to be an active community member and learn new skills.

Final Word
I am proposing this because after attempting to choose a library for my projects, I realized many shared similar characteristics and that if the QBasic community works together; a far more effective solution can be created. I see PetesQbasic.com as the only place where a project of this magnitude can survive. I hope this ideas will be given consideration. I understand this is no small matter but, in the spirit of QBasic, it will be an ongoing effort and in a state of constant improvement.

User avatar
Posts: 826
Joined: Sun Jul 25, 2004 4:24 am
Location: Quebradillas, PR

Post by Nodtveidt » Sun Mar 05, 2006 8:10 am

You'd better have some kind of library builder for it, or the library alone is gonna consume just about all conventional memory, if not more, leaving no room for an actual program. :) Also, when you post something in list format like you did, make sure you disable Smilies for that post, or else you get the sunglasses whenever you do an 8. :) It's a good idea, but two things stand out in my mind:

1. You're about five years too late for something like this...
2. I hope you have adequate experience to put this together...this will be a real nightmare of a project!

User avatar
Patz QuickBASIC Creations
Posts: 399
Joined: Wed Mar 02, 2005 9:01 pm
Location: Nashville, Tennessee

Post by Patz QuickBASIC Creations » Mon Mar 06, 2006 6:38 pm

Well, 'The longest journey begins with a single step.'.
I say, Do it! Who cares if FB is better? QB is classic. It's just like throwing away perfectly good Final Fantasy games just because they're outdated. QB and FF are classic. Don't take them away! (getting off subject.)

Anyway, I would just like to see if this would be available for PDS. Many libraries I have seen for QB are only available for 4.5...

Post Reply