Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / Road to PlayBasicFX

Author
Message
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 27th Nov 2009 14:43




Casual Creations - 2009 PlayBASIC Game Programming Competition

Reminder: Only 3 Days Left To Register !

http://www.CasualCreationsCompetition.UnderwareDesign.com/



Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 28th Nov 2009 21:44 Edited at: 28th Nov 2009 21:45
Kyruss II - Ported To PlayBASIC

Some of the real DB oldbies, might recall that I had an interest in building programming games for while called Kyruss and of course Kyruss II.

The original was to be a virus wars game based on an assembly dialect, and the latter was to be an AI challenge based on BASIC dialect. Run into a few show stoppers, and that was end of that project.

Anyway, today i've finally got around to porting the old DC classic code (from May 2002) to PB today.

Learn More...

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 30th Nov 2009 19:13




Casual Creations - 2009 PlayBASIC Game Programming Competition

Contestant Registration Closing Today

http://www.CasualCreationsCompetition.UnderwareDesign.com/



Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 1st Dec 2009 21:04
PlayBASIC V1.64 K BETA #20 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)

With this beta we're finally about to bring some support for optional parameters in internally bound functions and commands. Not every command or function has optional support, in fact at the moment only a hand full do (List in history). Most of which relate to switch styled parameters. A flag to return something on/off in the command.

What optional parameter supports does, is it lets the programmer use the commands 'default' parameters for a particular operation. So each command/function that supports optional, gives the optional parameters a default value. You can't change these, they're built in. These defaults will hopefully be the most commonly used settings though. So they're a sort cut.

Now those with very long memories, will remember some of the initial PB design discussions. Where we asked various communities about how the PlayBASIC commands names/ basic features should be set out. Surprisingly, optional parameters wasn't something that was seen as a bonus. I think the reason for is, was that it can actually make code more cryptic. As functions seems to pull their operational state from thin air. For example, if a user sees a function being used with 3 parameters say, then elsewhere they see it with 4, or 5 even. This will no doubt case one of those WTF moments, and hence is one the initial reasons why it was demoted to the PB V2.00 design document..


Read More about the new features in the beta at the links bellow.

FUnction Index & Function Exist

Optional Parameters In Commands

Optional Parameters In Functions



Download


Get PlayBasic V1.64k Beta #20 (requires log in)




WIP Thread

Follow the WIP beta gallery thread in the show case

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 3rd Dec 2009 21:32 Edited at: 3rd Dec 2009 21:36
PlayBASIC V1.64k Beta 21 - Optional Parameter For User Defined Functions

I doubt this comes as any great surprise, as it's a bit of no brainer that I'd be adding optional parameter support to User Defined Functions (& Psubs) next. Adding this one requires a little more tinkering than the internal stuff. Mainly because the pre-parser has to decipher the input parameters (and what they mean), beyond that, it's just matter tweaking up the user function matching to generate the optional parameters in the function call.

So far the first stage (the parsing) is basically working, ie











PlayBASIC V1.64k Beta 21 - Optional Parameter For User Defined Functions (Continued)

Well, we can just about tick another feature off the to do list. The current version has optional integer parameter support up and running for user defined functions. Currently the parser only supports the explicit syntax in the function header, rather than the 'As Datatype" method. Bit it's at least working..

To declare a parameter as being optional, this parameter uses the equals sign to declare this parameters default value(or string) in the function header.

ie.


In the example, this user defined function is basically the equivalent of the INC operation. If the user calls this function and omits the second param, then PB uses the functions default value for this parameter (which is 1). So calling it with only one parameter, will add one to the input variable. but if you use two params, then it's use what value you passed in for IncreaseAmount


Limitations,

* optional parameters can only be simple types. (Integers, floats and strings)
* optional parameters must be the last parameters. So you can't currently mix optional parameters in between fixed parameters. So this Function Dostuff(A , B=10 , C) is not supported.


Sample,




Outputs,

Quote: "
350
310
230
60

"


Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 5th Dec 2009 13:54 Edited at: 5th Dec 2009 13:54
PlayBASIC V1.64K BETA #21 is now available from our forums.

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 7th Dec 2009 05:52 Edited at: 7th Dec 2009 05:53
PlayBASIC V1.64k Beta 22 - Optional Parameters In User Defined Functions/Command Calls

This address an omission in the previous beta, where functions that didn't return a result couldn't use optional parameters, which has since been addressed. The only thing missing now (off the top of my head) is Psub support for optional parameters.







Psub Support







PlayBASIC V1.64k Beta 22 - SortArray (string)

Dropped this old chestnut back in. While it works, it's not particularly quick.




Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 8th Dec 2009 07:01
PlayBASIC V1.64K BETA #23 is now available from our forums.

This will beta is likely to the become the next upgrade. So test your code today..

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 15th Dec 2009 04:24
Doc's

Today I'm going to call this brush up of the V1.64k documentation complete. That's not to say that it's perfect, it isn't. However, knowing that we'll need to refresh the doc's in a couple of months time, for the 1.64 learning edition release. Then we'd better have a another complete refresh of the doc's going on prior to that. Otherwise, if i have to do it all, this will blow out and take another 6 months. Making PBFX another 6 months later...

Anyway, so what we need the community to help. You can do so by going over the V1.64K documentation (when it's released) and adding your feedback to these threads.

Categorize The Help

Documentation Proof Readers Required



Example Packs

We're also in need of updating the example pack that will come with V1.64 learning edition. Many of the examples we're written 'years' ago. Some of them date back to PB V1.00 - While some of these are still relevant, they could do with a good spit and polish. Plus there's bound to be some more recent examples that should be in the example pack, but aren't currently.. The only limit is 'size'..

Given that i'll be working on PB1.64L mainly, then this is going to be mostly driven by the community..

Example Pack Updates / Extras


Note: all the links require a log in.

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 15th Dec 2009 15:37 Edited at: 20th Dec 2009 14:50



PlayBASIC V1.64k _Retail Upgrade_ is Now Available (15th, Dec, 2009)


This release updates the PlayBasic V1.63w2 to PB V1.64i retail upgrades to the current retail release version of PlayBasic V1.64k. If your version is older than PB1.63W, then you'll need to install patch PB1.63w2 prior to this one ! (if you haven't already)


The PB1.64k package includes updates of PB Compiler, Release / Debug Runtimes, SLIBS, DOCS & IDE V1.17.

This upgrade focuses upon adding a number of new flexibilities to the core language, ranging from expansions to User Defined Types, Seven new Math operators, Optional Parameters Support in not only built in functions but users defined functions, Dynamic Function Calling (Call a function by name at runtime), Limited Array operators, Dynamic Array Creation (return arrays from functions) as well as Passing/Returning Individual Types from Functions/Psubs. All in All, there's a lot of new toys for you play with !


To learn more about the nitty gritty of these changes check out the V1.64 WIP thread, which includes some examples and some theory stuff about this upgrade.


For more information about PlayBasic, please visit www.PlayBasic.com, download the free learning edition and dive in.


More

Download Upgrade from Release Announcement

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 20th Dec 2009 15:01
Threading Techs

With the completion of the PB1.64k upgrade, i've been working on the some threading strategies. With some reasonable results, even on single core machines. While this is reassuring, it's nothing to get too excited about at this stage though. I'm Hopeful that we should be able to make PB take advantage of threading virtually transparently to the end user..

The demos are posted on the UnderwareDesign.com forums.

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 27th Dec 2009 05:35
PlayBASIC V1.64k Revision #2 Beta #2 - Clean Up

This beta attempts to address some issues found in the PB1.64K release.

Users are STRONGLY urged to test all of your code with this beta, prior to the coming V1.64K Revision #2 release. Issues not discovered during beta testing will not be addressed until the next major update!


Download

See Announcement For Downloads




WIP Thread

Follow the WIP beta gallery thread in the show case

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 30th Dec 2009 15:55
PlayBASIC V1.64k Revision #2 Beta #3 - Clean Up Continued

Final beta of the V1.64k..


Download from underwaredesign.com

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 2nd Jan 2010 07:15 Edited at: 2nd Jan 2010 07:19



PlayBASIC V1.64k Revision #2 _Retail Upgrade_ is Now Available (2nd, Jan, 2010)


This release updates the PlayBasic V1.63w2 to PB V1.64k retail upgrades to the current retail release version of PlayBasic V1.64k. If your version is older than PB1.63W, then you'll need to install patch PB1.63w2 prior to this one ! (if you haven't already)


The PB1.64k2 package includes updates of PB Compiler, Release / Debug Runtimes, SLIBS, DOCS & IDE V1.17.

This upgrade is mainly to correct some issues detected in previous release of V1.64k after release. These issues mostly concern internal and user defined function parameters. Correcting issues with optional parameters and with long hand declarations.

The only new functionality (that comes to mind) would be VSYNC support in windowed modes. It's important to understand that you can't control the ends users displays refresh rate. So therefore you shouldn't assume that everybody playing your game has their windows desktop refresh set to the same as yours. So if your system has a refresh rate of 60 say, and your friends system has a refresh of 75. Then your game will run faster on your friends system than yours. Mind you, the same applies in full screen exclusives modes also ! So Vsync should be used to smooth out display refresh, not as a speed limiter!

To learn more about new compiler features added in PlayBasic V1.64K, check out the V1.64 WIP thread, which includes some examples and some theory stuff about the new features found in this upgrade.

For more information about PlayBasic, please visit www.PlayBasic.com, download the free learning edition and dive in.


More

Download Upgrade from Release Announcement

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 7th Jan 2010 16:31




Casual Creations - 2009/2010 PlayBASIC Game Programming Competition

Submission Extension, New submission date is 11th,Jan,2010

http://www.CasualCreationsCompetition.UnderwareDesign.com/



Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 11th Jan 2010 14:37 Edited at: 27th Jul 2011 09:35




Casual Creations - 2009/2010 PlayBASIC Game Programming Competition

The Casual Creations Submission Period is Now Closed !

http://www.CasualCreationsCompetition.UnderwareDesign.com/



Attachments

Login to view attachments
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 21st Jan 2010 04:57 Edited at: 27th Jul 2011 09:37
Walking on Sprite Collision Map

This example uses a set of sprites for as a collision map. The player (or character) runs pixel level collisions against this sprite set in order to determine what it's standing upon. The collision map in the example is made up of basic primitives (triangles and boxes)..



Code Example



Walking on Sprites

This example sets up a simple sprite scene than uses the RayHitSprite function to position a 'character' on top them.




Code Example

Attachments

Login to view attachments
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 23rd Jan 2010 20:31 Edited at: 27th Jul 2011 09:38
Writing AVI's In PlayBasic

After tinkering with various video capturing packages and not really loving the results, I ended up deciding to just write some wrapper functions for saving an AVI streams (video only) from within a PB program. While this won't suit everything, it's turning out to be relatively painless to implement into an existing project.

To use the AVI wrapper, require a few steps, due to needing to move the image data from PB into a window bitmap, so the AVI writer it happy. So we're drawing our FX screen as normal (it won't work on Video images!), then copying this to a Windows Bitmap so we can dump it to the Avi stream. Actually, what I find works best, is first copying the FX screen to another 1/2 sized screen, then copying to it the windows bitmap and dumping that to the avi stream. Which kills two birds with one stone, 1) it lowers the bandwidth and 2) it allows for the screen image to be post filtered...

Anyway, the main reason for wanting to do this is just to make a manually creating videos for YouTube of PB games/app's a little easier and without the need for buying 3rd party app's..


Video=PlayBasic Write AVI Test (Sparkles)




Demo Src

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 27th Jan 2010 05:40 Edited at: 27th Jul 2011 09:32

Attachments

Login to view attachments
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 28th Jan 2010 03:54 Edited at: 27th Jul 2011 09:10

Attachments

Login to view attachments
tiresius
21
Years of Service
User Offline
Joined: 13th Nov 2002
Location: MA USA
Posted: 28th Jan 2010 04:32
Your videos are really nice but they run too fast and blocked by giant text over a good portion of the videos. Perhaps make them slower/longer and less time with giant text ? If speed is to show how fast the engine is that is fine, but I think it makes it hard to appreciate what is going on there. Too busy.


A 3D marble platformer using Newton physics.
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 28th Jan 2010 13:13 Edited at: 27th Jul 2011 09:13

Attachments

Login to view attachments
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 1st Feb 2010 16:42 Edited at: 27th Jul 2011 09:26
Added new video Lesson for PlayBASIC beginners See News

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 4th Feb 2010 14:51 Edited at: 27th Jul 2011 09:24
PBFX V1.76 Beta #9 - Exporting Individual UDT's into functions

Working on the exporting structures from functions. The first is returning UDT buffers, so you can passing the buffer in/out. Not to be confusing with Array passing !




Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 5th Feb 2010 06:57
PBFX V1.76 Beta #9b - Return Arrays From Functions


Just got this working in PBFX, it allow you create an array into a Function, then return this.

Some examples

Integer Arrays





Float Arrays




String Arrays




Typed Arrays






Typed Variable

Typed variables are basically typed arrays with 1 element. So you can mix and match assignments, don't confuse this with passing a UDT element..





This version returns a Typed Variable, back into a Type Array. Here we can see that it is in fact a 1d array with 1 element..



Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 6th Feb 2010 07:37
PlayBasicFX V1.76 BETA #10 (Avail for Registered Users ONLY)

PBFX V1.76 editions are a continuation of the migration away from the Vm1 environment to a pure VM2 environment.

This beta is playing catch up with recent additions made to the PlayBasic V1.64K. Such changes included passing & return individual types, returning arrays, byte/word fields in types , math operator short cuts and support for post fix symbols on user defined functions to name a few.


Download

UnderwareDesign.com Maintenence Forums

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 11th Feb 2010 11:51
PlayBasicFX V1.76 BETA #12 (Avail for Registered Users ONLY)


PBFX V1.76 editions are a continuation of the migration away from the Vm1 environment to a pure VM2 environment.

This beta continues playing catch up with PlayBasic V1.64K. It's almost at the same level, the latest addition has been the CallFunction, FunctionExist & FunctionIndex commands. While CallFunction is in and working, it currently only supports calling user defined functions, so Psubs and Bound functions are out for the time being.


Example: Dynamically Creating Objects From Data Statements



Download

UnderwareDesign.com Maintenence Forums

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 12th Feb 2010 10:11 Edited at: 27th Jul 2011 17:34
Community Project: Learning Edition Example Pack Update

Yes, it's been almost 2 years since the LE edition was updated, it needs to be updated so it's inline in with the retail edition. But for that to happen, the example pack(s) need to reflect the PlayBasic V1.64K edition of the package. So we need examples explicitly written for it.. That's where you all come in

What we need from PB users is to write example using PB1.64k explicitly for the example packs/documentation etc....

The example can be big or small, they can demo anything really. Although it'd be good to get some new demo games for the package.

Post your examples in the source code board, then make a post in this thread to refer to your 'snippets'. This is so it's easier for to collate them in the future.

(old link removed)

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 14th Feb 2010 13:48
PlayBasicFX V1.76 BETA #13

PBFX V1.76 editions are a continuation of the migration away from the Vm1 environment to a pure VM2 environment.

This version rounds off this beta series, and pretty bring PBFX to pretty much inline with PlayBasic V1.64K. That's not to say they're identical, they're not, nor are they meant to be. But they're close enough that a good proportion of code can be moved between them.


UnderwareDesign.com Maintenence Forums

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 17th Feb 2010 17:23 Edited at: 27th Jul 2011 08:55
PlayBasicFX V1.76 _Retail Upgrade_ is Now Available

This release upgrades (transforms) the existing PB1.63m to PB1.64c retail releases or the PBFX1.7x releases (as well as ones above) into the current WIP version of PlayBasicFX V1.76 Therefore prior to installing this, you'll need at some version of PB previously installed ! (if you haven't already upgraded previously)


This is this next step in the long migration of a PB project into the PBFX world. Ironically, while PBFX is the successor of PB, it's slowly got behind in terms of various compiler features added to V1.64 editions of PB. So this edition implements all of those features such as, optional parameters, passing UDT types in/outs of functions/spub, returning arrays from functions, loads of new math short operators such as (++, --, +=, -=, *=,/=, &=,~=, |=) , dynamic function calling (CallFunction) and various others tidbits..


Have fun !


For more information about PlayBasic, please visit the Play Basic home page and download the free learning version and dive in.

Url: www.PlayBasic.com



Download

Download Upgrades from UnderwareDesign.com


Gallery



Attachments

Login to view attachments
tiresius
21
Years of Service
User Offline
Joined: 13th Nov 2002
Location: MA USA
Posted: 18th Feb 2010 06:02
When do you estimate you will drop the VM1 version and have everything in the VM2 ?


A 3D marble platformer using Newton physics.
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 21st Feb 2010 22:30
I don't really understand the question, as FX isn't merely PB in a new box, But I suspect you mean when will PBFX be final.

My objective is to have some edition of the PBFX package available later this year. As for what edition, well that depends upon how things go this year.

tiresius
21
Years of Service
User Offline
Joined: 13th Nov 2002
Location: MA USA
Posted: 23rd Feb 2010 07:30
Sorry I meant will PBFX replace PB so you only have to update/maintain one version of the language? Or will you always keep PB around for older systems?


A 3D marble platformer using Newton physics.
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 23rd Feb 2010 19:14
The 'work plan' is all set out in my blog..

PB will persist for a long as it's required. Eventually PBFX will replace it.

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 1st Mar 2010 13:47 Edited at: 1st Mar 2010 13:50
PlayBASIC V1.64 L BETA #3 (Retail Compiler Only Beta) - (Avail for Registered Users ONLY)


PlayBASIC V1.64 L #3 is the latest beta of PBV1.64k retail update. This corrects a few minor issues found in the 1.63K revision #2, post release.

Note: This Beta includes compiler/parser fixes, the runtimes are pretty much the same. So building exe's from this version against the V1.64k runtimes should probably work in the vast majority of the cases (if not all).


Download

Download Upgrade from Maintenance Board

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 1st Mar 2010 18:01 Edited at: 27th Jul 2011 09:23
PlayBasicFX V1.77 BETA #1 (Avail for Registered Users ONLY)

PBFX V1.77 editions are a continuation of the migration away from the Vm1 environment to a pure VM2 environment.

This beta addresses a couple of parser issues with type pointer assignments that appeared in V1.76. Since this just corrects compilers issues, you should be able to use this beta with the PBFX 1.76 runtimes, for the time being.


Download Upgrade from Maintenance Board

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 6th Mar 2010 02:29 Edited at: 27th Jul 2011 08:57
PlayBasic World (Video)

This is a small movie sample from a screen shot video clip i've been working on in PlayBASIC. The program runs though a collection of PlayBASIC screen shots and displays them. There's a sound track and a few overlay effects (yep, it's all cut and pasted together). The biggest challenge with the screen shots is turning out to be, Trimming the set down to something that'll only run a few minutes. The demo's a bit of a one trick poney, so don't want to go on for too long.

The shots will (ideally) span PlayBASIC's entire life V1.00 through to V1.64l , so you'll see some classic games / demos (that you've probably never seen before) right through to some more up to date stuff. This is fairly big project, and I actually start on this a few weeks back. I could rush through and get version up and on you tube ASAP, but I'm really not in that much of a hurry. As, just like most demo's It'll take a few revisions before i'm happy enough to release a final.





Download From Thread

Attachments

Login to view attachments
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 7th Mar 2010 22:55 Edited at: 27th Jul 2011 09:01
PS3D - Simple 3D For PlayBasic V1.64

Those reading the PlayBASIC development blogs (on UnderwareDEsign.com/forums), would recall the mention of the wanting to combine the various software 3d rendering stuff into a bit of 3D library for PlayBASIC. The library should allow the user to create 3D scenes quickly and easily However, given this is software rendering (affine / with no perspective correction & z buffering), the purpose is not create 3d games with, more to augment your existing 2D applications with some 3D effects.

Bellow is picture that you're probably already familiar with (the terrain demo from example pack), expect this version is tweaked up to use PlayBasic V1.64's filtering to smooth out the terrain. Plus I've added an "object" rendering part to the library. Which currently only supports CUBES, but it's relatively easy to create your own geometry. Ideally, it'd be nice to be able to load some MD2 model in and display them. Got all the code just laying around, just a matter of wedging it all together.

Watch On PlayBasic Software 3D V001 You Tube






Work In Progress Thread

Attachments

Login to view attachments
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 9th Mar 2010 06:29 Edited at: 27th Jul 2011 09:04
PS3D V0.02

Put a couple more hours into the library today, added support for loading the MD2 models. While it can load the meshes, the texture has to be user supplied. Anyway, the library gives the user basic functionality over a simple 3D scene.

Performance wise it's not too bad, considering everything in the shots bellow is filtered and there's no mesh level rejection in them. So basically every polygon in the scene is being processed each frame, which is really not ideal. Adding some early rejection methods will really negate the impact of the meshes that are outside of the current view. I could take this into the lib or tack it into the engine, it's prolly best done in the engine.



Attachments

Login to view attachments
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 10th Mar 2010 23:47 Edited at: 10th Mar 2010 23:49
PlayBASIC V1.64L Beta 6 - Re-factoring the GFX engine ='s Crawling Towards Threading

Those reading my private blog (if you're not then you should be! - You'll learn a lot more about PB than anywhere else !) would be aware that I've stated my desire to implement threading (MultiCore) support to this revision of PlayBASIC, among other things.

Threading support, in a nut shell will allow your PlayBASIC programs to take advantage of the Multi-Core systems. The goal is to provide completely scalable support, so the more CPU cores the host machine has, the more render horse power available to your program. While this is not currently available in PB obviously, we've already prototyped the method with some fantastic results, not only on Multi-Core systems, but it works very well single core systems also! - So even if the PB implementation only works half as well, it should have some serious bite !

All of my most recent work on the GFX engine has been splitting up the engine into clearer/better modules (since this code base is to be used in PBFX also). One of the issues with adding threading, is that engine needs to be made thread safe, to do this means change how the current surface works throughout the GFX library, so it's not quite as simple as a re-compile and hey presto. But all the pain will be worth it in the end.

MoreInfo -> See Blog -> PlayBasic And The Threaded Monster


PlayBasic V1.64L WIP Gallery

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 13th Mar 2010 07:54
PLayBASIC V1.64L Beta 7 is released and this version supports threaded (multicore) rendering

See WIP For More Info

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 18th Mar 2010 03:42
Who's Got a Multi-Core system then ?

As you can no doubt see above, we've started testing the very first editions of PlayBASIC that support Multi-Core (threaded) rendering.

We've got some early results already which look fairly positive overall, but we really need a greater cross section of test hardware.

Therefore we're looking for users that have multi core systems that would be willing to run a few tests.

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 25th Mar 2010 05:43
PlayBasic V1.64L - Canceled !

Well, unfortunately the lack community interest in the V1.64L upgrade means this upgrade has been canceled, well, postponed. Producing a new version of the Learning Edition is far more important at this time.

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 31st Mar 2010 14:15
PlayBASIC V1.64 L #9

PlayBASIC V1.64 L #9 is the latest beta of PBV1.64L retail update. Since this revision will become the Learning Edition, the focus of this beta is correcting bugs. Moreover this version doesn't include any threading support.

Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Posted: 9th Apr 2010 09:20 Edited at: 27th Jul 2011 09:07

Attachments

Login to view attachments
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia
Kevin Picone
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: Australia

Login to post a reply

Server time is: 2024-03-19 02:50:13
Your offset time is: 2024-03-19 02:50:13