About PlayBASIC


      PlayBASIC is a programming language focusing on 2D game creation. It's designed so programmers (new or old) can get some hands on game programming experience, without the learning curve of lower level languages.

      To make programming easier, PlayBASIC provides the user with a feature rich environment, with many normally complex programming operations built right into the language. Saving you time and effort! It's these additions that give PlayBASIC it's pick up and play nature.

      Now you know why it's called PlayBASIC !



I N D E X







What type of language is PlayBASIC based upon ?


      PlayBASIC is based upon one of the oldest programming languages B.A.S.I.C, which is an acronym from Beginner's All-purpose Symbolic Instruction Code. While the core commands found in PlayBASIC are much the same as you'd find in virtually any dialect of BASIC. Every effort has (and is) being made to ensure that PlayBASIC is as up-to-date as possible.


Top






How Do I Start Learning PlayBASIC Programming ?


      It's difficult (if not impossible) to answer this in a few paragraphs as everybody has different prior experience. Some readers will have previous programming experience, but many won't. We'll assume you're brand new to BASIC programming. So if that's you, there's various introductory tutorials located in the about section of the help that you'll need to get your head around.

      I should point out, that you don't have to master everything up front in order to write programs, but the more you familiarize yourself with the various aspects of PlayBASIC, the easier game programming will become.

      To get started, you'll need a basic understanding of the following,


Variables & Literals
(The most fundamental aspects of programming)

Comparisons & Operators

Loops

Arraybasics

Beyond that, you should look into

User Defined Functions
(Make your own commands!)

User Defined Types
(More complex data structures)


Linked Lists


This will pretty much give you an overview of programming. To really learn more, we highly recommending signing up and participating in the PlayBASIC forums located at.

http://www.underwaredesign.com/forums



Top







Is PlayBASIC Procedural or Object Orientated ? ]


      PlayBASIC was designed as structured procedural basic language. However, some small aspects of PB have taken influence from OO. Such as passable data types, dynamic arrays and things like inheritance support in types.

      We have been looking to include basic OO support into PlayBASIC V1.xx, but it's now being held over for PlayBASICFX (which is what we call PlayBASIC V2.00)

Top






Is PlayBASIC ANSI basic compatible ?


      No. Nor will it be.





How was PlayBASIC Made ?


      PlayBASIC is the sum of many parts. The package consists of an IDE and compiler / runtime combination. The IDE was developed in Delphi and the compiler / runtimes are currently hybrid of a Blitz+ (www.blitzbasic.com), Delphi (www.borland.com), C and Assembly.

      You may be thinking is that PB is just a script based interpreter (deciphering the source code at run time), it's not ! While the compiler doesn't produce native x86 machine code (at this time), instead it generates a virtual cpu styled byte code. Much the same as Java / Visual Basic for example. For those ex-assembly programmers, the instructions is loosely based upon a 3 register (680x0 / PPC style) operation design. Ie. Add Result,Value1,Value2

      The compiler side of the package can be broken down into two distinct halves, the Compile process and the Runtime process. The compiler (as you would imagine) translates the input source code into our custom byte code (as mentioned above), then the run time Virtual Machine acts out this code. While surprisingly very little is wrapped this does effectively mean that the PB prototype inherits some abilities directly from the parent language(s).

      Just to make things perfectly clear, this prototype is a stepping stone release, our intent now is to produce stand alone binaries.


Tools Used
MSVisual C 6
Blitz+
Delphi
& PlayBASIC


Top






How did the idea for PlayBASIC come about ?


      PlayBASIC (the core language idea) begun it's life as a scripting language, written in Dark Basic. The language was being developed for a possible programming game of all reasons. The idea was to pit AI programmers against each other in the form of a robot battle. This was the logical extension from a previous concept i'd been working upon named 'Kyruss'. While sadly the game didn't eventuate, that's where a lot of the conceptual work had taken place. (Note: The Kyruss projects we're ported to PlayBasic, you can find them on our forums)

      Even though we didn't have a use for the language, the potential for Play Basics Virtual Machine (the run time interpreter) was obvious. So if the virtual machine could be made transportable, that would allow other programmers to plug PlayBASIC into their own games as an embedded scripting engine. So the idea of turning PB into a scripting package for DB/BB/DBpro was born. This was in the days before DBpro really existed though. So the concept didn't really take off. Pity.

      But rather than abandon the project, we fleshed out a few viable concepts for it. The most notable of which where, were building a beginners 2D Basic or building a RAD styled 3D game designer, where PB was to be the built in scripting engine. While we working towards the latter initially, in the end, the idea just became impractical for a small team.

      To give you an insight into the amount work that's been required to make this, We started this project around March 2003, And there's still a long way to go !

Top







What is the future of the PlayBASIC ?


      Since 2007/2008 PlayBASIC has been undergoing some substantial changes internally. These changes come in the form of linguistic (syntax updates), conceptual changes, through to the languages very implementation. The results will make future versions (PlayBasicFX V1.77 and above) vastly superior to these older prototypes.

      To achieve this means changing the how PlayBASIC is constructed. This new approach sees a brand new Virtual Machine (Runtime) developed in C & Assembly. The performance boost over pre PB V1.63/V1.64 releases is simply staggering ! During this rebuilding phase we are taking every opportunity to flesh out the core languages structure also. To give the PB users the most power, with the least effort possible !

      We've been debating for some time over whether to skip Runtime approach and move directly to producing native x86 machine code. While that is very tempting, there are some equally interesting fringe benefits of staying with the Runtime model. Most notable, is that it allows for easy cross platform support (by re-compiling compatible Runtimes) and leaves the door wide open for incorporating JIT and or native binary code production also.

      My ultimate goal is that the PlayBASIC compiler can be built in PlayBASIC it'self !


Top





 
Related Info: ArrayBasics | Credits | HelpFiles | Loops | Operators | ProgramLayout | Types | Variables :
 


(c) Copyright 2002 - 2024 - Kevin Picone - PlayBASIC.com