News:

PlayBASIC2DLL V0.99 Revision I Commercial Edition released! - Convert PlayBASIC programs to super fast Machine Code. 

Main Menu

PlayBASIC developer checks out App Game Kit Studio demo

Started by kevin, July 31, 2023, 07:17:28 AM

Previous topic - Next topic

kevin

PlayBASIC developer checks out App Game Kit Studio demo





hi welcome coders today I'm looking at a product called
app game kit Studio this is the trial version and it seems to be version
2019.08.05 so it's a it's a wee bit behind today it's uh May 2022 at the moment
um all right so I've heard a bunch about this product uh before I go into this
I'm not doing a review I'm actually doing a bit of Recon about
um basics in general I'm I myself wrote a
language called play basic and we're in the process of building the next version of that
and given that this is a more modern take of the editing environment I thought I'd take a look at it
I haven't actually seen a decade Studio before I've seen ajk one this is uh
going back a number of years now I think possibly Age 2 as well I as far
as I understand it the difference between Agate two and three is that
so I'm sorry I just got a studio which is what I probably should have called it
um they've got this new idea graphical idea looks like it's I'm gooey
I would say a little standard style I have played with styling a little bit beforehand
um before the the coloring was quite quite difficult to read it was a light gray to instead
of the blue highlight colors which I prefer like maybe you don't
um so Studio has a different IDE and I think it has Vulcan support and I think
it's that's the the main differences between
studio and educate 2 but don't quite me on that go and search their website if
you want to find that out so what I've loaded up here is actually
a this is a standard bit of test code I've been using this in my own product play basic for a long time and the
reason I do this is someone can get a consistent idea of how
the products performing over time uh we spent a lot a lot of time optimizing the runtime which is the
so we have obviously we've got a compiler in our space this compiles down to a
byte code it's a custom format that we of our own and we have a runtime that
executes the buy code to act out your program as it's being executed now we
have secondary tools as well to convert by code to machine code but the basic tool doesn't have that
built-in maybe in the future of it but right now it doesn't
agk actually works the same way takes the source code compiles it down to a by code form and then runs it on its
runtime I just hit F5 here to run this one
and get a sense of the performance of the tool
now I've run this test before and I was struck by
a few odd things I I was I'm not quite sure why it's performing so poorly
um
right so given how long it's taken you know 30
seconds and there's a the rest of this here is just kind of useless really
now I'm shocked a little bit because we're doing a hundred thousand tests in other words each test here is being
executed on a thousand times so this first test is just doing an addition in a for Loop so we're just
timing the for Loop time and the addition
just out of curiosity if we uh we unrolled that a little bit
you know just to see how things go
we have four next uh unrolled Edition
when you get a sense of whether that our
let's do it uh five times so we'll do Max test divide by five
so those first two values what we should be looking at well there you go
so for next Edition 100 000 Loops plus one addition is 12
milliseconds but if I unroll the loop I've doubled the performance so the
in this case the four next over here is quite considerable isn't it it's a lot a lot larger than what I
thought it would be the test will take longer because we've added a secondary part to it but
hmm now just for completeness we'll compare this to
a modern rendition to play basic
now if I set this to just do a hundred thousand tests and this is the same loop
it's the same code doing this this basic stuff in here it's nothing
I like to test this stuff because underneath all the graphical elements your program is doing all the visual
stuff the meat and potatoes if you prime is just rule processing several comparisons
uh basic and arithmetic between things string operations that kind of stuff
calling functions all those things cost a certain amount of performance so let's run PBA
we're running 165. I've got a pause in here to
okay so our addition test is running we're doing a hundred thousand loops and
additions inside one millisecond the whole thing takes 7.2 milliseconds sorry 7.2 seconds to
run they're just out of curiosity We'll add
that same unrolled thing up here
so I call this was it unrolled
unroll there we had five of those one two three four
five dial it by five sorry I've got someone to
six there hmm hit compile
just see how how unrolling impacts in pivot
yeah but the same discrepancy there because the loop overhand the processor for Loop is actually more
difficult than what people might be expecting because basically twice as fast to unroll that simple Loop
something to think about if you're working in biosec the reason why I spend a lot of time optimizing the basic run
times to make sure your program can do the things it needs to to keep everything up up to speed
otherwise so you'd have to keep throwing more and more processing power at your application
let's go back to age you go all right so
we're doing 100 000 tests here and I've I've tested this before so if we go up to
we make this five times the number of iterations pretty much it takes roughly the same
time so you could argue that the PV run time is uh it won't be one-to-one
it won't be a direct ratio of five times quicker but
because certain operations will be for quicker than others and certain operations will be slower but there's
all averages out to be roughly you know four to five times quicker on the same system
so it'll take about 30 seconds ago or 26 seconds actually so we're actually
well inside and we have a secondary test that's going on here so
we'll try six times so if we're pushing our luck there I think we're going to be
pushing our luck there I'd say I doubt this will be inside the same
time so we're looking for for our execution time of about 30 seconds
don't mind me just having a bit of a drink
it's interesting there that our trig functions are running I think slower than what they are what they were in
AGCO but our unrolled our general Edition stuff and Loops
divides they all seem to be quicker
right so we're still somewhere between probably you know five
let's try that 5.5 second times here just for completeness
all right I just want to get an idea of uh a comparison in terms of raw time so
this is taking the same amount of seconds as the other one yeah roughly
you know
so in the test here we we Time Each test and we we were just average its time
over 200 frames there we go it's 29. so we you could say that with the
runtime in PB and compiler are basically somewhere around five five to five point
five times quicker now of course it's dependent upon the
types of operation we're timing as you saw before go to agk I think
we're seeing a bit of a skewing there you go so basic trig functions are running at 30 milliseconds but our array
speeds are different so I've got a very different breakdown of
of uh our timing all right makes you throw sit through it
all out again now really what I wanted to look at is actually the IDE you know
um I think the Centex highlight of view looks quite good it's the standard sort of darker colors with
light lighter text rather than rather than the light mode stuff we have
uh the editing stuff we generally have a bunch of awareness I noticed a bunch of
differences we'll call them I was surprised by I was I I thought we had support for
those kind of shortcuts what's the that's it don't seem to have
um I expected Plus so what can we do this
no it doesn't work which is kind of a difference I was I
wasn't expecting uh help files let's have a look at the
highest command reference here's a guide
right so I'm going to use a guide that's a PDF
that's nice for formatting reasons
I don't know what I'm not looking out there I've seen manager stuff
and he's a guy ogl has been improved faster all right so what have we got
we've got app game game kids gdf H is both Ivan gel and Vulcan okay
there's new in this version parking engine is currently in beta fair
enough right
um it was the where the view where we got
hard line numbers no windows
hide message window should I help window okay
hmm uh the default coloring here was almost impossible for me to read I couldn't
read the the light gray on the the background so this these I changed the
style up here somewhere where was that view oh change color
scheme yeah default Style yeah
um it's okay but I think the font was smaller when I was looking at it initially
change font yes sorry
I've got two font selections are they IDE font size okay
well that's good though because it you do need to have that be modifiable am I
moving that or not
I don't know let's go here
maybe you can't update that while you're in it not sure
that's okay it's cool so help wise we've got a standard
um it's not a HTML view I don't think I think it's just a custom render so probably
the pages are like a a markup language
oh let's upset it
instruction time principles
you know standard scroll wheel stuff that's comfortable and it's better when you can see the larger font otherwise
before it was really yeah it's very taxing to try and read
that's up to array
I think I'm gonna have gonna have a custom view you want to have like a like a navigation tree
I get what you get you've got the top all right so if I'm down here and I
click here I go back to principles
it doesn't remember where the scroll wheel was but it's a small annoyance but if you have long pages
maybe the help files in here don't have long pages but I said I'm down the bottom here
somewhere click some image some link somewhere
go back I'm at the top ones on hmm
all right so if I go well that's good
spark Collision
hit enter
surprise so it's giving me every combination oh
we're doing it a search of the commands we're not doing a search of the documents
so if you want to search for a phrase how would you do that
um it's sounds like a reasonable thing to me
spot Collision delete search
hmm okay
right so if I want to find Sprite Collision I don't know what this thing is how do I find it
well you wouldn't know what any of those things were there so you probably might go to commands I guess
you might have heard what a Sprite is at some point there's a Sprites down there
animation physics uh but underneath it it actually is this
box today so pretty much it's just wrap as a box to do functionality
Collision so we're not setting anything about collisions because we're all just we're
using physics apparently trust right get Sprite active
hit Sprite and screen image ID
clone Sprite dummy yeah it's all pretty sort of straightforward got loads right there so
I'm assuming it's like a Sprite sheet thing or something
uh I mean the layouts the same really you've got images
where are we image image there copy image in fact a lot of the commands
are exactly the same as playmassing delete all images the Australian PV
I think PB is 20 years old this is not
resize set image mask yeah well they've actually done something
they've used the get set we don't really have commands that you set I think it's
very rare that we do it's only to avoid collisions with a function name
right that's all right what about all right so if we go to uh get image
width we don't have any
if I go back what I'm trying to get to is is it is
there an example I can just click on and load and show me something
in The Help files load image let's do that one integer live image
okay
now I just want to kind of kind of paste that right there okay so I can
I can use that as a a quick template to grab both things across
um I'm not sure why I would want to do that
but you know fair enough parameters
I write images Alpha channel so all right guys you can do
people like to Alpha I don't know I have no idea what that's meant to be for uh I'm really just interested in the
editing environment so if we go to I had a problem with this the other day so I'll try it again
um we'll go new project Kev learns agk
s now I I found out you have to create a file button you've got to navigate to
where it is so I think here it probably should just give you
a default folder for your projects and you can just set that so you can create products in the same same location all
the time and then just skip this all the time
make new folder I'm not sure if I need to make a new
folder and give that a no um kev's agk
test
I would have thought that it would name that my project name you know all right let's not dwell on that
so I've created it that's good if you don't give it an appropriate place to to write the follow it just doesn't do
anything so it's got some boil applied here from
Deval project it's not doesn't look as nice as customizable since for us that's that's
good which is just a replacement as a code
gets imported but fair enough hmm
all right let's play Let's play with this index highlighting this has some support for that I think
if I go print all right there you go there's like type
hmm so that's weird that wasn't it see it's
if that's actually a keyword then shouldn't it give us ideas about what we can print
you know so hold your standard hello world thing
what I mean is oh I need these in brackets apparently feet run
I certainly do they know they've been brackets oh how rude
yeah fair enough fantastic
all right so if we have times if I go you know type
my Vector isn't me
once we keeps indenting I'm going to do that end type
I just go x y z let's see if we can use normal well
contemporary basic syntax no worries good
a type let's go um points
now I know this uses square brackets for arrays so that's one cell difference
they'll have like a thousand of them or something as my vector there's no auto complete
there and now we have oh there you go
if you don't have the same case no you have to give it
well there you go you've got to give it three characters before it will do anything
um yeah I guess that's that's not too bad
yeah so I just hit enter thanks
hmm fully Vehicles not do a thousand things
points Loop thing dot X random whatever
well try Rand yeah
okay that's one thing I would I with my my
replacement IDE product a while ago one of the things that I thought that's
imperative for new people uh learning to code was that if you were hovering over something
the cursor is here if I place the cursor in the in the middle there
it should give us something contextual about where we are so in in the PB idea well in my version of
it anyway it um it displays the parameter prototypes so
if we were here with since we're on the load Image Screen over here
if we went load image uh what's the Prototype
got image file my cool you know some
some bitmap Diet whatever B and J and we've got what
a flag have no idea what the flag is all about but there you go
okay now as I scroll across it should give us where we are within there it's
sort of doing that sort of isn't it
I would prefer that as you step across here it was showing you highlighted
what you're doing where you are within the expression my reasoning for that would be so you
know exactly what type of parameter and what's the the Prototype that the
function had so even if you don't have the help files you don't have to go off to the help
files and uh and have a look at them
I might go back with those things nope sorry
Windows there we go should I help yeah good
pricing just do the hover on something hit F1 yeah which is you know it's perfectly fine
but to me you really have to get live feedback
about stuff so if I if I right click this I'm getting some contextual information
about the cursor find references find reference install
profiles add watch delete Watch indent block out Dead Block
help bookmark toggle read early mode don't that's for but
hmm or we normally have toggle all those view default Style
Okay so we've got a preference for the syntax highlighting
I mean to be honest that's not really something I'm going to be swapping like once I'm set up with my
default style surely I'm not going to be doing that all the time so it doesn't need to be a right click
option my point being is you want to have these right click options here as lean
as possible and if if they relate to what you're doing on screen so if I clicked on type for example or I will be
able to load bitmap there it is there what I was thinking about before is that if you click on the right click menu
here and this is a here here we actually have a file that's
that could be detected within our asset pack
so we could actually do a preview of what that file is or at least give us some information about the file or
something that already has or take us to that picture directly to look at it you know
um which is one of those little little irritants that you get into with with
priming in general we have the same problems we have you know our Ides are very old you know it was good for the
time but but today we need to do more things and that's why I was interested to see this I was thinking of this this
was doing more than what seems to be um
so was this where type Fields were they actually coming up
okay so if I go get off there
I hit right be it said
I think it's too short we need I mean longer Fields um
this is cool
do we have integer to support that syntax just out of curiosity
uh I'm getting an error back there
I wasn't expecting that why are we getting air errors there thanks
our X is not a valid feel of type my vector
um oh once the once it's hash
Rand is not a recognized functional command Oh I thought it was
it just r d no
is that right oh it's random okay
we're still not happy with that does not accept the parameters integer
wow okay
hmm that's why we have automatic top casting
stop this kind of fastidious garbage
does not accept sorry what
is random things
oh
so we have to have a range is that what we're saying there or not 200 from here
let's try that out there you go so hmm
what I was not expecting that so you've got like a random range
what about the default one what from the lowest version a loss value to return
oh I feel like to pretend no sorry it wasn't that at all one other
thing I did notice too it was if you go print it will make up a variable you know called dude
um if I don't want brackets around that for starters let's do that nice thing
do is use about being defined hmm
so I wait have you ever liable okay local dude
yeah that's fine I won't be able to find the picture because we're just loading some garbage we don't
need to load something that can't possibly exist that's fine um
so that's weird we're talking basic here we're not
talking and once you're too initialize your variable up front so
which I found was so if I went if I went dude equals 45
that's perfectly fine that'll compile and run
see how smart it is not very
the reason why I say that is is really what should be happening here is the top down pass should catch this
because at this point in the code it's not defined it's defined after this location
now I realized that in basic we tend to have this look ahead principles um
you know the classic thing about where's our we'll try with our all right can we do
this for example and this will tell us when this is detected during compile time
I write index out of bounds there you go
so we know that this is declaration here has been picked up
during a pre-pass and then this has been built after that and the
reason why I know that is because if whatever is traversing through the
code from top to bottom and we discover points if at this point here there's no
Declaration of points so it would have no reference to no way of knowing what points actually is
so it makes sense to run through and do a pre-pass and pick up these declarations up ahead of time
but because we haven't executed the code at runtime because this is not physically in front of this other loop
that's why we get the runtime error that's why it can pass
I'm not saying it's good bad or indifferent um well now with some of the fries are challenges we'll be back into PB that
kind of chicken and egg situation will will be possible but um
it can be confusing for new people like if you had this hidden away
for example if this was down the bottom of the card was off the screen for some reason I
don't know maybe you're cutting and pasting the stuff together and uh
if I saw that I'd be like what where is this to go ahead
you know if I went to if I find her oh there is good definition excellent
thank goodness you can do that what am I going to the field no it doesn't even tell me
what that is but see if I'm hovering over in a rhino
or a function name for that matter if I like a function you know um
wishing that's my test function hmm videos
closing bracket maybe do I need end function or is it two words
one word fine with me so if I'm up here and I go
my test function yeah
that's that's good but at least if you if you write this large function libraries you can pick up pick up these
parts as you're riding them I like that
uh hopefully you can just pick that and go to definition excellent I assume so because I'm pretty sure if
it's the idea is this has a level of type awareness then that's what you would you would get
what are those things at the top here Okay so we have a bunch of functions we can get
a drop down list of them variables points
all right types yeah okay
I'm assuming well I don't know um
I wonder if that's Source level or product level
how do I do that onion source cool
yeah do that for me um this is my
other source code
create new products as well alrighty so
if our theory always testing the theory out here so this
this is cool okay so so it had it will find them
across different this is my other
call function
head function thanks so it shouldn't matter where we are we
should we just I'll go to Okay so we've got functions
it's a bit of a surprise
hmm that's okay I was just kind of anticipating that
that would would take you to um
yeah a global function function view across the project
I guess it doesn't really matter much I mean if you're working with the same part here and this is uh aware so if I
go this yep
I expect an end of lawn okay oh we need to have brackets to make it
heavy do it again dude
all right next out of bounds yeah let's go
hmm okay shouldn't see if our product has two Source codes
with it and we can see this the source code clearly from you see the main from here
why are you why are we so I just went blah blah blah blah
shouldn't that give us a syntax error
what do I have to include that in the other product
don't know let's find out include new
um my other sorry this is my other
this is my um oh
so we inside a string is trying to assist us with that whichever you
wouldn't want I wouldn't have thought other source code I think that's cool this one's code Dot
I don't know IG KS or something
it'll tell us it'll tell us oh I just can't see of course not
as you can see HK code I guess it's stencil this is cool it's not recognized
functional command right
why is it giving me prompts of this is cool so if I go back to here
uh sorry it won't be because why is it giving that
see before we're doing this this is cool but that's actually a type field
it's not it's not a variable array or function so why is it giving us that option at all
I don't know if the okay why is it saying that
six things huh
all right advice would read the help for the uh
the structure of these products language commands examples
language included so it's the first one there to simplify my program by writing
subparames the reasonable independent functions all right
be aware the include source code is appended to the end of the program so if you include any code that isn't part of
the funk it will run on the main Pro oh wow
yeah that's um that's because this was originally it was a
when they first produced IDK um
they took dark basic classic why the dark magic the old command said
attached the opengl command set and to the old compiler and runtime they
added types to it uh in dark basic include had a bit of a
weird Behavior whereas it would it would have pained your include file at the end of the document and it wouldn't even let
you access things like arrays you had to cut and paste the array stuff out of the function out of the car and put it
somewhere else very comes cumsome
so I suspect that's why it packs like that so that that insert must be
the alternative you can use insert yeah click so if I have inserted my main
function up here we'll put that bit of code right there
insert isn't that nice not that it matters for us because we
our example already says how can I say what it's built
hmm you know what I mean how can I see what that's actually
does I don't know
got a document no I can't open that document should I just feel like go straight to
an insert nope
hmm
it's like current project open Explorer and you had file the project expand
collapse I don't know I was expecting if I added a source file to the
to our project and they would all be appended to each other and built so if I could
I would just have a bunch of commonly used functions that by dragging between between products like most babe you're
doing most basics and you effectively create your own little apis
and your code calls you against your API generally rather than the internal command set which means a lot of your
central logic can be independent of the language is written in
that's kind of a weird Behavior I don't know sure it's an help file there's someone
somewhere I don't know I don't know look from the brief usage I've had on this tool I find
appearance wise you can see what they're going for right I think the edit
box is perfectly fine you've got most of the basic functionality that you need in these
kind of things oh there's no there's not a collapse
I was assuming they would be actually you know which is like a common request
when people uh collapsible functions we 've got we've got type awareness we've got got to autocomplete and stuff in
there I've got highlighting generally yeah I can think of some of the things that
we that I would personally want to have in a in a product aimed at beginners
or Independence in general but um that's neither here nor there
um
I'm not sold on the help files
you know we have HTML help files if we go back to here for example
open this up it's a very primitive looking dialogue fair enough
and the reason we have HTML is you can append
you know end examples things two things
so you have you know code examples here
grab the example there if you want it um
go to Sprites for example
there's a heap of stuff in Surprise and this is one situation where it's it's detrimental this should be a tab
section all of its own to be honest by now
so I'm not sure
that they're having a brief description of a command is probably enough for for new
people in fact I know for I know for a fact it's not most people
would say a short description and be wondering what the outlet does
um got graphics for example I don't know dot it's got a DOT
so simple examples attached to there fast.4 there we go so this example sorry
this page has an example attached so you can just load that into the pivot hit run
and it's filling the screen with with dots individually different modes of dots dot fills or 70
frames per second 60. I.E
yeah at 100 frames or 90 frames per second
um and that's the only approved Force fill so we're just doing a four next Loop and
just doing dark flights but getting back to agk
um I could I could see what what they're targeting it has a real sort of Visual
Studio esque kind of feel about it and there's a because visual Studios
it's pretty much the de facto for a lot of people and particularly in education a lot of
people are introduced to coding through Visual Studio now which is really kind of crazy to be honest
my objection to that is that these tools often become overly
uh they're just visually complex to look at I've got a lot of things happening on
the dialogues here wait the first impression of it was was quite nice but as a user as I mess
around with it even though I haven't done anything with it as you can see I've done nothing with it
um I wouldn't want those things there like health files okay like it's nice I
can dock those offers that's fine I could probably get rid of the bottom Windows here and make some make some
adjustments and that's all good and I like the coloring actually I like the actual dark the dark theme that's good
I don't know if I need the project manager to always be there
you know you probably couldn't get this down to basically a window where you've got very
simple controls on the side um and really as long as you're
contextual help is good once you've got dialogues that show what's going on
we can probably hide away some complexity for new people so they're not they're
not terrified by what they say you know people that have no idea what a variable is they don't know what types are they
have no concept and you know you'll soon learn them
but for for day one looking at something I mean it's pretty overwhelming
or it could be overwhelming anyway that's my objective with with my future
plans uh I want to have a tool that's that's slim lined and designed to be
simple for people to pick up and do something graphical with and have fun with you know write big applications if
they want to and so it has enough depth enough support there for those people who want to write big applications but
if you just want to learn Kodi and get stuck into it and then enjoy the the Wonders that that
programming gives you as kids did back in the 80s on in the and the lesser extent the 90s as well
because back in those days you've got your computer switched on and it booted into basic straight away
this is what you saw you saw a screen you know with uh a welcome message you know
welcome to welcome to um you know some computer
and with a flashing cursor and that's you're pretty much Off to the Races
now the reason why I say that is big because kids back in those days with
languages that only had a handful of commands sat down deciphered how to use it for
the manual because the manuals are quite good but today's standards are actually quite good
um they had descriptions of what things did had Hardware descriptions of stuff for
people who wanted to go further than than that
but they were simple enough that they weren't terrified to people you know
that's why I want to make sure I try and avoid I want to make sure that the tool is simple
customizable and has all of as many of the mod cons as possible in it
yeah so it doesn't feel like an old tool feels like a contemporary tool but has support for a wide cross-section of
computers because most modern languages like IDK here because I walk into new device so
if you don't have Vulcan support you can't run any application written it if
I'm not even sure how you even enable that actually let's go to the help files
I should have read that should I yes I should have read that you know I didn't read it
where's it going Windows there is sorry show help
falcon opengl right
how do I turn how do I know if it's Falcon language
uprights examples commands
I don't know hmm no idea actually not a clue
it might not be in the the demo I mean who knows core Maybe
displaying a lot of display stuff his top left margin
have some ideas about improving those but um
hex device 64. enable clear color hmm I don't know
clear screen of the current
if you're not clear contains the screen buffer find okay
please screen but there's no color so I don't
have a choice of color and our index problem is still there as
well that's fair enough anyway so I want to wrap this up um this is just my
impression I'm not doing a review um I think generally we are heading in
different directions I I don't think many people get this but I really don't
this is not what I want to do in fact it's quite a wiser why from what
I want to do the principle having multiplied for me I've we've done this already we've
already had we had a prototype of exporting to HTML
about whatever a decade ago no one cared
to see how things went we do want to have have an ability to export from not just
windows but onto other platforms yes we do we're doing all half that but I want to make sure this thing's as simple as
possible if that means leaning down the command sets and changing some of the way
command sets are you know
I can't I can't go into that here can I uh changing some of the styling of how how you write code to make it less
intensive to write things having more assistance from the IDE having more assistance from the
debugging side of this thing and having command sets being interchangeable then that would be my
perfect perfect world if you're going to do this and have HTML
export export you've got to have decent support for HTML which means
you can't export your run time you've got you've got to actually generate code natively in JavaScript or typescript
or possibly something else but um yeah oh it's a very different
conversation I generally don't believe that we're we're even talking about the same kind of product space
let's go back to sorry home file references that I think
let's go examples surprise
Okay so we've got tutorials built in there but we have got a code view there
paste okay
why look my first impression of that would
be I would expect that code pile is highlighted the same as
the dialogue is
see people can differentiate straight away oh that's that's a chunk of code you know
no I know I'll get that in two seconds but still if you
had other features in the help files there too you make it you make that sort of help experience even simpler on
Google and this is where I that's really where I want to be with
other things I want you you've got to make them so simple you know
there's a point where you can have too much information like I'm surprised if I just go tutorial sure I can find
tutorial call commands and structure okay
so I'm guessing the documents are pre-processed into some sort of you know square bracket format and a little
database to find things up here and that's that's cool
I'm sort of fascinated by doing the thing doing the code View and help as
part of the graphical application because that's what I was actually thinking about doing for myself in PBA
the new Ida now I see it I'm like I don't I don't
like it that much that's a shame
yeah it's simple enough to do it's got a couple of font directives and
a line option there and a paragraph concept and these these headlines here could just be
whatever you wanted to be really a code view again
hmm yeah yeah
oh sorry I didn't mean to talk this long um well I look I think I think overall if
you're looking for a product that you want to make applications in a basically like
language and it seems to have all the elements there for basic those cross platform today has Vulcan
support in particular it's reasonably fast uh we can't really compare we can't
only compare the rendering stuff because you've got
a contemporary solution with a retro
direct draw solution and software rendering from 20 years ago
so the two things don't really have anything the same space
but comparing to two different things I mean applications will work on computers across the whole Spectrum the last 20
years uh these these white these will run on systems are probably the you know in the
last probably five years uh probably let's say 10 years
hmm anyway I type in jail it's my impressions of it hopefully it wasn't
having scared people off um it looks nice I like the sorry this this
is agk Studio that looks nice
not that Keen on the performance of it to be honest I don't like
how cluttered we are at the top here
I think the icons here we can definitely have more colorful more interesting icons there
um
okay cancel thanks cancel
it's not a local network um
once FPS run broadcast workout whatever workout function
hmm just sign
yeah I mean think of it like this what does that do for a a person who's loaned a code
they've got an extra tool there that does nothing I don't know what that is
install files
all right okay so you can comes with a set of products they have
libraries a lot of thought there's a location
um yeah look all in all uh
it's definitely a a big step up from dark basic uh it's a side step away from dark basic
uh classic and dial plastic Pro that's for sure
I can see why a lot of people who who were fans of dark basic professional would
find this kind of awkward a different naming convention straight
through different sort of brackets being enforced everywhere so you would need to
have a tool that encourage people to to move between dark basic classic and this
I I would have thought that would be a no-brainer to be honest something I just ran through and and did
you know basic syntactical changes would be beneficial because people could move
their code across and get most of the the annoying changes made for them
unless this can import code I don't know if it can
I can't say anything where it says that it can anyway maybe it does I don't know
um look I know it's kind of being a pain pain in the backside about that but
one massive reason why people like move between languages is it's a nightmare to
do and even though Basics are the similarity between them is generally you
know relatively high in that core command set once you get outside of that
they are it's a free-for-all you know I haven't seen one basically to use
random here normally it's r d or Rand or that kind
of thing so that's what I'm saying just something that went through and did a really simple
not a replacement but like a translation of my the thing I wrote recently to do
translate Blitz syntax into to play basic syntax
you know you've probably spent a few afternoons and get something that could do basic Syntax for you
because my one does a bunch of translations and stuff and you wouldn't need most of those things you just do a
basic translation of bracket stuff and put you know brackets around functions
if you needed to or common ones like print statements for example and then beyond that the person could
come through and fix them up themselves because the goal would not wouldn't be to to make it a translate and compile
perfectly which would just be to hey we'll clean out the code a bit for you so you can get going with your project
quicker hmm anyway that's enough for me
uh thanks for watching and I'll see you next time





stevmjon

a new IDE editor with a dark theme will be great for playbasic.
i agree with a simple IDE for beginners.
i also prefer the playbasic help files too.

did you record this a year ago, or is this computer not hooked up to the internet (clock out of date).
It's easy to start a program, but harder to finish it...

I think that means i am getting old and get side tracked too easy.

kevin


Quotedid you record this a year ago, or is this computer not hooked up to the internet (clock out of date).

     Yeah this was indeed recorded over a year ago but only edited down a few days ago.  Didn't really cut much, maybe 5 minutes, which isn't much from an hour long video. 

     Recorded some code review videos a few months back of some games i wrote for the Apple 2 back in 1984.   They were in a box of papers I found during my moves last year.  They're pretty long videos and thus take a while to edit down.  Actually thought about using OCR to convert the pictures back to text and then try and get them to run on an emulator.  but couldn't be bothered..  :)