forums

TNT Basic Forums > TNT Basic - The Open Source Edition
No Demand?
< Last Thread     Next Thread >
Author
Thread        Post A Reply

03-07-2007 18:58

Posted by:
Tim

Location:
New Zealand

Find more posts by Tim

TNT basic has been a pleasant discovery for me, an has re-ignited my creativity and using my Mac for something productive rather than Games, Emails and Web.

I surprised Marks baby is not in active development, I would pay good money for an updated universal version.

Checking MACUPDATE I discovered that there have been 2100 downloads of version 1.31 alone, that's not what I would consider a small amount, with all these new Intel Macs starting to double Apples marketshare there will be more demand for excellent tools like TNT Basic.

I tried other basics, METAL has been discontinued, Chipmunk lacks too many tools TNT has and REALBASIC just dosn't make any sense to me, its not a really a BASIC interpreter in the true sense of the word. TNT may be old school, but to me its the only way I can express my self creatively on my Mac.

I really would like to see TNT move forward. Mark please don't let it slip. Don't force me to look at REALBASIC again, whaaaa!

03-07-2007 19:24

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

Well John has said he would do something, but not i have no idea if he even started or how it's going.

Personnaly, i would be willing to make something similar for free, but it would not be basic though.

It's true it's a shame this project is dying like this.

03-07-2007 21:08

Posted by:
swagIT

Location:
Great Wet North (Vancouver)

Find more posts by swagIT

I have to admit that right now I would be more than willing to pay to keep TNT alive. I have found this to be an excellent fit for me.
I would like to continue developing in it.

I own RealBASIC, and Blitzmax - I prefer TNT, period.

03-08-2007 05:04

Posted by:
Tim

Location:
New Zealand

Find more posts by Tim

LOL I tried BlitzMax and all I got from their very first example was this...


Building untitled1
Compiling:untitled1.bmx
sh: line 1: as: command not found
Build Error: Failed to assemble /Applications/BlitzMaxDemo/tmp/.bmx/untitled1.bmx.gui.debug.macos.s
Process complete


Keep TNT alive!!

03-08-2007 19:44

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

> sh: line 1: as: command not found

Seems like you just needed to install developer tools ;)

03-09-2007 01:45

Posted by:
Tim

Location:
New Zealand

Find more posts by Tim

Im pretty sure it is installed, but ill double check, its pretty dumb of it not to check...

03-10-2007 05:25

Posted by:
DanLurie

Location:
Earth>USA>New Jersey>Clifton>My Chair

Click Here to Email DanLurie   Find more posts by DanLurie

The only thing I think TNT has over Blitz is an integrated resource manager(graphics,sounds,maps,etc.) As a language, its pretty limited though.

03-10-2007 10:07

Posted by:
allnodcoms

Location:
hertfordshire (England)

Click Here to Email allnodcoms   Find more posts by allnodcoms

This is all a bit negative...

TNT is still very much in development, I mean I should know, I'm the 'Lonely Larry' who's doing it!

The previous thread gives my project goals, and as for a progress report, I've got data structures for the runner engine, some rudimentary code to handle them and half a trees worth of scribbled notes on everything from 'on the fly' syntax checking to proprietary sprite formats. I've downloaded more reference material than I know what to do with, and am probably working on far too many things at once.

"Hi Dan" by the way, long time no see! You may remember a while back we got talking about RB in another thread, and I said I had done some work on a Hieroglyph replacement, well I've resurrected that as well, and I'm playing with it when the main engine starts to fry my already lightly barbecued head.

So all in all. while I'm not going to break any records for speedy development I'm not likely to get arrested for loitering either. It is a 'work in progress'. I may not have much of a life but it does require my attention every now and again...

'Till next time.

Danny (nods)

03-10-2007 14:16

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

Hi Danny, i had no idea you had started at all ;)

03-12-2007 00:28

Posted by:
Tim

Location:
New Zealand

Find more posts by Tim

Hi Danny, I wasn't being negative, I was pleading for it to continue. Not sure how that was interpreted as negative. Glad to hear its still active.

Tim

03-12-2007 15:41

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

Hey Daanny, is there any way i could help? Would implemetning the TNTBasic API as a serie of C functions be of any use?

03-13-2007 00:11

Posted by:
Jacob

Location:
San Francisco, CA

Click Here to Email Jacob   Find more posts by Jacob

Hi Danny,

Do you have any idea when you'll be done?
In less than a year, or more...

03-13-2007 09:42

Posted by:
allnodcoms

Location:
hertfordshire (England)

Click Here to Email allnodcoms   Find more posts by allnodcoms

Hi all... Wow, so many Dannys!

Tim, it wasn't your comment that was negative, there was mention of TNT dying again, and people started talking about it in the past tense... again. It's still going, have no fear.

Jacob, no idea. This is a biggy, we're talking a complete re-write from the ground up. If speed were an issue I'd try a quick fix and get the existing source working in XCode, but I think the way we are going is better in the long run, assuming that Apple don't up and move the goal posts again, I'm actually thinking of starting a progress BLOG on my website. I'll keep you posted.

Someone (Danny?), thanks for the offer and I'll take you up on that. But first I need to produce a VM reference. Parameters are passed to the functions on an internal stack and return in pseudo registers and the SR / CCR (to simplify the housekeeping). All functions are self contained, type 'void' and self cleaning (use 'myArg=popStack(sizeof(myArg));'), the references are held in an array in the form (*ptrToFunc)(void) and the byte code refers to that function by its index in the table. This approach removes mountains of 'switch' statements from the main loop and speeds things along a bit. To extend the language at any point it is only necessary to know how the functions receive their arguments, how to return values and how to tidy up...

Well that's how it works this week...

See you all soon.

Danny (nods)

03-13-2007 14:10

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

> assuming that Apple don't up and move the goal posts again

Well that's another good reason for using cross-platform libs. Apple cannot make them move! OpenGL will be around for a long time - and by making something modular we can always easily switch libs without causing problems (i have done that often in my program)

As for the lib vs VM, okay i understand. But perhaps could i start writing the base code and then adapt the arguments as the VM is ready? that would only require a few extra lines. well tell me what you think you're the leader anyway ;) Just know that i have a lot of time to spend, and i'm pretty sure i could get the entire lib in a working state in a few weeks only.

BTW - i was just wondering about something. Sprites use IDs and are reffered to by their IDs. How is that coded? The only thing that comes to my mind is resizable associative arrays (hash tables) isn't that too slow to be repeatedly called? r perhaps since TNT is interpreted it doesn't make much difference anyway

03-13-2007 14:12

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

Oh BTW...

> Someone (Danny?)

I'm not Danny ;) My nickname used to be 'Mathew', but that was not my name, just a nickname that's not used anymore, so i changed my nick, and ran out of nickname ideas ;)

03-13-2007 14:23

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

Oh just another thing - could it be a good idea to keep a version of the lib with standard C functions, no VM stuff? that way it would be easier to compile the code to native! ( yes i could probably code it :P i'm not asking so much )

03-13-2007 14:25

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

i mean compile a TNT Basic project to native

03-13-2007 16:48

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

sorry, me again ^^

sometime ago you had proposed the used of plib - http://plib.sourceforge.net/

what are the advantages of using this lib raher than OpenGL + GLUT/GLFW/etc. + some sound lib ?

03-13-2007 19:07

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

i've downlaoded pblib to see by myself. so far i must admit i doubt it is well supported - doesn't even build with GCC 4. i had to do several changes to get it to build

03-13-2007 22:45

Posted by:
allnodcoms

Location:
hertfordshire (England)

Click Here to Email allnodcoms   Find more posts by allnodcoms

Wo... loads of replies needed.

OK mate (safe option):

1: I don't see that a cross platform API (most of which are built around standardised libs anyway) would make the project more future proof...

2: Writing the API in C without VM reference or library to link to could be interesting. Most of the low level stuff would be possible so if you want to start on this then by all means go for it. My mail address is listed if you want to PM.
I think 'a few weeks' is possibly a bit keen, for example try writing a C function to handle an assignment operator.

3: Sprite IDs. Sprite data will be read form a new file format (I've mentioned this before). The header block will be loaded into one continuous data area, will be of standard size (power of 2) and be accessed via id. When bit shifted this id will be the offset into the data, and the result will include a pointer to the bitmap. Hope that's clear, it's more of a custom array of structures containing pointers to pixel data. Hash is more XML, this is quicker.

4: Keeping a C function for each TNT Basic call has merit for the low level stuff, but that would just be plain C anyway. The more complex stuff, sprites for example, would need to know what libraries to call to draw them, where to find them (VM specific stuff), where to get the coordinates and other data from (VM), what format they were in etc. etc... Remember that the VM handles the resources.
I see where you are going with this, writing code in TNT then bumping the resultant 'output' into GCC or something is a way to speed things along, but that's where we're going anyway. I want a compiler.

5: Plib... I quote from my above post

quote:
Well that's how it works this week...

This week it's not Plib... Probably... Sort of... ish... Maybe next week.

I'm still very much getting my head round this, there's loads of shit to consider that I'm not even thinking about yet

03-13-2007 23:01

Posted by:
allnodcoms

Location:
hertfordshire (England)

Click Here to Email allnodcoms   Find more posts by allnodcoms

Damn, hit the submit button!

There is a lot of ground work to be done on this and it's very early stages. I don't actually know myself how it all fits together yet. This thing has to take BASIC source, compile to byte code and run that code as quickly as is damn possible. I need syntactic and semantic parsers, an interpreter, file structures for resources and internal data, a complete machine architecture to handle program flow and finally, the actual functionality to run the thing.

Anyway, it's late and I must away. Hope this answers the questions.

Danny (nods)

03-13-2007 23:03

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

> I think 'a few weeks' is possibly a bit keen

I said 'a few weeks till i get something in a usable state' ;) never said 'complete' :P

>
3: Sprite IDs. Sprite data will be read form a new file format (I've mentioned this before). The header block will be loaded into one continuous data area, will be of standard size (power of 2) and be accessed via id. When bit shifted this id will be the offset into the data, and the result will include a pointer to the bitmap. Hope that's clear, it's more of a custom array of structures containing pointers to pixel data. Hash is more XML, this is quicker.
>

Not sure we're talking about the same thing here. (Maybe that's just because i have little understanding of the VM)

What i mean is:

when the user calls:

sprite 2,x,y,5
sprite 3,x,y,5

a sprite must be created with index 2. Then another one is created with index 3. Then if user calls this:

while true
sprite 3,x,y,5
wend

the VM/lib/whatever must find the data of Sprite 3. Since all sprite IDs that are ints are acceptable, how are these sprites stored and read? The only thing i can think of is some kind of vector or hash map. Is that right or is there something my inexperience isn't aware of? ;)

>
4: Keeping a C function for each TNT Basic call has merit for the low level stuff, but that would just be plain C anyway. The more complex stuff, sprites for example, would need to know what libraries to call to draw them, where to find them (VM specific stuff), where to get the coordinates and other data from (VM), what format they were in etc. etc...
>

Okay... maybe i don't understand how your VM is designed. My current knowledge is based on general-purpose VMs i have used (though i have never designed one) but perhaps yours is different so if i'm wrong please correct me

My idea is that if user calls 'graphics mode 640,480' in their code, the VM could simply call C function graphicsMode(640,480) (or whatever arguments your VM would need) and let the TNT C lib do the rest of the job.

* "sprites for example, would need to know what libraries to call to draw them"
Sorry, i just don't understand your sentence. If some lib is needed to draw sprites, then we just link it in. I don't see why we would poll the VM for dependencies??

* "where to find them (VM specific stuff)"
So in your implementation the VM would store the sprites? Since all sprites are created, used and deleted with functions, i had assumed they could as well be stored in the TNT C lib. When sprite is called first, a new sprite is created and stored, etc. Perhaps can you explain how your implementation would work and what are the advanatages?

03-13-2007 23:06

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

hmm i reread myself and i had definitely said 'the entire lib i na few weeks' well hmm that's not what i meant :O

03-14-2007 22:42

Posted by:
allnodcoms

Location:
hertfordshire (England)

Click Here to Email allnodcoms   Find more posts by allnodcoms

To clarify...

3. With sprite IDs we were talking different things, I was talking storage and you were referring to run time access. This will probably be done with a linked list of structs representing the sprite's ID, coordinates, bitmap and so on... Seems the easiest way, it's an object without the baggage...

4. Yes, you're about right, API calls would map pretty much 1:1 with C functions. The confusion seems to be with data storage (where the sprites are held) and display calls (what actually draws them). The VM is, by definition a Virtual Machine which runs Byte Code programs. Memory is not part of a program, that program requests storage space from the underlying system, in most cases the OS, but in our case the VM. That's where the data is held, not by the program and not by a C library (this is not actually possible if you think about it). As for drawing, in the sprite example what would you actually call to draw the sprite? You would either make a wrapper call (part of the VM accessed via a trap) or directly call a library function, but which library? You see my point?

I definitely think I should write a BLOG, and probably some form of mission statement / reference document. This would probably help me as well, so I'll get on it and keep you all posted, but if you would like me to clarify anything then you know where to find me.

Danny (nods)

03-14-2007 23:04

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

quote:

The VM is, by definition a Virtual Machine which runs Byte Code programs. Memory is not part of a program, that program requests storage space from the underlying system, in most cases the OS, but in our case the VM. That's where the data is held, not by the program and not by a C library (this is not actually possible if you think about it). As for drawing, in the sprite example what would you actually call to draw the sprite? You would either make a wrapper call (part of the VM accessed via a trap) or directly call a library function, but which library?



Alright i understand your desing! Good.

However the other way around is possible, i've already worked this way with various VMs (that were more scripting languages, true) If you write C funcs that are called by the VM, these functions can create data and store it in OS memory as well. Then the VM can call these functions to modify data. But it boils down to either 'A holds data and B calls A when it need it' or 'B holds data and A calls B when it needs it', so i'll you continue with your desing ;)

quote:

This will probably be done with a linked list of structs



Are you sure it's a good idea when compared to hash maps? Linked lists have a very slow random access compared to hash maps, using linked lists would slow down execution.

Now... more random brainstorming ;)
Furthermore - i was thinking about this... using IDs for sprites is confusing and error-prone. 1, 45, 869 and 589 mean nothing to me, 'spaceship', 'guy', 'gun' and 'tree' do. Also, if you want to do, e.g.: enemies on a map and particles. You have to choose a base ID and add to it, like 200+n, in the enemie's for loop. Then, for particles, you choose 300+n. Then what happens if you put more than 100 enemies on the map? They overlap particles and you get a big mess. The only other choice is to use very big numbers, like 200+n and 10000+n. But then it's messy.

Why not introduce a new mechanism? (maybe at some point later if not now). I would perhaps see 'sprite' as a new type, like int perhaps. This way you have 'robot', 'ship[n]', etc. Cleaner - and also random access is faster.
Or maybe just handles a la OpenGL: int spaceship = new sprite

What do you think?

03-14-2007 23:11

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

Oh yeah also

i started testing some for a test TNT lib. So far i have windows, full-screen, music and sound partially working.

This test uses GLFW, and so far i only have good words for it. It's very light and clean.

For audio i've been using OpenAL - however i get less good impressions from it. Playing is very good and powerful, but the version Apple distributes is outdated, and their newer code doesn't even build.

For music i've been using Mikmod to play module music files. I also know how to implement Midi playback in QuicktimeKit (would require ObjC++ code, but in XCode and even from the command-line it's no problem) For other formats like Aiff/Wav/Mp3 i'd need to see how to do streaming in Quicktime.

Anyway these are just tests

03-15-2007 21:01

Posted by:
appleide

Click Here to Email appleide   Find more posts by appleide

someone: Why not add OOP to TNTb while we're at it? XDD. (just kidding).

Hmm, allnodscoms: what does the Hierogryph you are making look like? I might be able to write one in Java. (and make it go cross-platform if desired.)

03-15-2007 22:34

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

quote:

someone: Why not add OOP to TNTb while we're at it? XDD. (just kidding).



Ask Danny, he's the one who makes this part :P

appleide : if ever you make some app in Java, please please please use SWT, Swing is ugly and slow and unresponsive on mac! :P

03-19-2007 13:20

Posted by:
appleide

Click Here to Email appleide   Find more posts by appleide

I've started a tabbed word processor in Cocoa. when I am finished, it maybe possible to convert it to some sort of IDE. :)

On second thoughts... a struct type called "sprite", would be easier to implement than actualy objects. But IMO we should implement structures.

03-20-2007 00:46

Posted by:
Tim

Location:
New Zealand

Find more posts by Tim

TNT vs BLITZMAX

I got some code running in Blitz, but its just like RealBasic, real powerful, but its not a BASIC. Its a fully constructed, object orientated language. Requires hours of work to get things running that TNT does in seconds. That's not the definition of BASIC. Its not for me.

Bring on TNT 2.0 Universal !!

03-21-2007 20:29

Posted by:
Jacob

Location:
San Francisco, CA

Click Here to Email Jacob   Find more posts by Jacob

Are you going to start a blog as a fourm thread, or on a different website?

03-23-2007 08:26

Posted by:
allnodcoms

Location:
hertfordshire (England)

Click Here to Email allnodcoms   Find more posts by allnodcoms

The BLOG...

I'll put a BLOG on my site, it's easier to maintain (I can edit posts!) and it wont clutter up the forums here. I've got loads of work on at the moment so I've not even started on a BLOG, but watch this space...

Danny

03-25-2007 05:33

Posted by:
DanLurie

Location:
Earth>USA>New Jersey>Clifton>My Chair

Click Here to Email DanLurie   Find more posts by DanLurie

[quote=Tim]TNT vs BLITZMAX

I got some code running in Blitz, but its just like RealBasic, real powerful, but its not a BASIC. Its a fully constructed, object orientated language. Requires hours of work to get things running that TNT does in seconds. That's not the definition of BASIC. Its not for me.

Bring on TNT 2.0 Universal !!




Don't get me wrong. I'd love to see a TNT 2.0...but Blitz is here now and works and with a little elbow grease does full blown 3d, too.

And has real functions as opposed to TNT's wacko procedures.

Different strokes for different folks I guess.

03-25-2007 23:47

Posted by:
Tim

Location:
New Zealand

Find more posts by Tim

That's true, but its not BASIC. That was my point. TNT would require tapping OSX core services and could easily match BLITZ in on screen glitter, but would leave it behind in user friendliness.

What put me off buying BLITZ was there is no manual, none, not even online.The online "Help" is useless, explains nothing. No command lists, nothing, which annoyed me the most, you're pushed out into the wild and forced to search for third-party manuals. Discovering one of these was the only reason I got anything to run in it in the first place. It assumes you are already familiar with past BLITZ products and makes no allowances for a noob like me. Unless I've missed something very obvious, like, the manual. Its a shame as I liked the look of it, until I tried looking for a command list. I emailed BLTIZ, they replied back agreeing with me. Which was bizarre.

Tim

03-26-2007 00:05

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

Really? There's a big 'manual' bottom on the top of blitzbasic.com

03-26-2007 00:06

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

Have not checked it - though documentation is a must to any programming language/lib so if it really doesn,t offer any that's really weird...

03-26-2007 01:29

Posted by:
Tim

Location:
New Zealand

Find more posts by Tim

Blitz, where is thou manual?

Here's the rub, its http://www.blitzmax.com/, Blitz Basic was never available for OSX , only the successor BlitzMax, and you cant download Blitz Basic's manual, its HTML only. Assuming its the same commands, but it cant be as Max is all new. Not convenient at all.

03-26-2007 01:50

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

ok sorry mixed up both products.

Then that's totally ridiculous - a lib without documentation!

At least they didn't answer you RTFM, like it once happened to me when i asked help to the developers of a project that had... no manual.

03-26-2007 15:30

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

Just an idea...

i think it might be a good idea to post something on the main page of tntbasic.com, to explain what is going on, so that people don't think it is dead and don't have to search deep in the forums

03-26-2007 17:41

Posted by:
swagIT

Location:
Great Wet North (Vancouver)

Find more posts by swagIT

That is an excellent idea!

03-26-2007 21:14

Posted by:
Tim

Location:
New Zealand

Find more posts by Tim

Yeah I second that, a change log on the progress of the XCODE version would be cool. Could we have it for our xmas pressie? xmas 2007 that is ;)

03-27-2007 17:37

Posted by:
Fischgurkensenf

Location:
Bern, Switzerland

Click Here to Email Fischgurkensenf   Find more posts by Fischgurkensenf

"What put me off buying BLITZ was there is no manual, none, not even online.The online "Help" is useless, explains nothing. No command lists, nothing, which annoyed me the most, you're pushed out into the wild and forced to search for third-party manuals. Discovering one of these was the only reason I got anything to run in it in the first place. It assumes you are already familiar with past BLITZ products and makes no allowances for a noob like me. Unless I've missed something very obvious, like, the manual. Its a shame as I liked the look of it, until I tried looking for a command list. I emailed BLTIZ, they replied back agreeing with me. Which was bizarre."

The BlitzMax programming enviroment has a "help" tab in the main window that can't be closed, giving you all information you need (a command overview, too!). Also, there are lots of examples in the BlitzMax folder, and even more exist online, so it shouldn't be a big problem to get started with BMax. ;)
I've used both languages and am still using BMax. BMax is faster and more powerful while TNT gives easier resource management for beginners.

03-27-2007 17:40

Posted by:
Fischgurkensenf

Location:
Bern, Switzerland

Click Here to Email Fischgurkensenf   Find more posts by Fischgurkensenf

Cross-platform compatibility is a big plus for BlitzMax, too.

03-27-2007 22:12

Posted by:
Tim

Location:
New Zealand

Find more posts by Tim

Some those "examples" you refer to don't run, have errors. Also looking at the examples doesn't help as one will be completely different in construction to the other, so there's no basis for a noob to start with. Help has no Command Reference that I can see. Please correct me if I'm wrong! The Help in my opinion could take a lesson from TNTs excellent help, as I explained, this online help has been of no use to me, try this for me, ignore you're an experienced programmer, try to follow the Help in developing your first game with a moving sprite, and you'll see what I mean, it's a dead end. Even searching "sprite" reveals nothing. Useless.

I also think its rude having the IDE as a separate cost, especially as its been marketed as a "BASIC". Which I still argue BlITZ is not. I have never disputed it has several nice, redeeming features, but nothing TNT 2 Universal wont solve.

I suppose it really comes down to TNT development, the last update we saw was 13 months ago, if we don't see progress on it , what choice do I have? My argument becomes mute, I'll force myself to switch, and will just have to take the bitter pill that I have to work a lot harder to get simple things to run in BLITZ. I've just learnt TNT so swapping now is a big decision.

03-28-2007 08:33

Posted by:
appleide

Click Here to Email appleide   Find more posts by appleide

Tim, as you learn more about programming, it will take less time to learn new programming languages; They are basically more of the same. Just the way you spell API commands like "print" will be different, for example C,"printf", Objective-C "NSLog" and Java "print". Of course, some languages will be lower level and it will seem hard to do things with them. When that happens, you just go out there and get a "lib", an extension to the programming language. In these "libs" are "functions" (read: procedures), which allows you to do stuff real easy.

For a really experienced programmer, I'd think it'd take him only several hours to know how TNTbasic works and program in it. Not that he'd want to!

Cheers,
Eric

03-28-2007 18:32

Posted by:
Tim

Location:
New Zealand

Find more posts by Tim

I think my point has been missed. I don't want to learn another language, I'm a hobbiest, amateur at best. I like TNT. But as I said before, I may not have a choice, I'm due to move to an Intel Mac (waiting for a quad core 24" iMac), and TNT can not move with me at this point.

03-28-2007 18:57

Posted by:
Fischgurkensenf

Location:
Bern, Switzerland

Click Here to Email Fischgurkensenf   Find more posts by Fischgurkensenf

"Some those "examples" you refer to don't run, have errors."
-Agreed, there are more online, though. And you'll get help for any problem in the forums.
"Also looking at the examples doesn't help as one will be completely different in construction to the other, so there's no basis for a noob to start with."
-How do you think that "basis" should look, if it doesn't consist of small, (more or less) documented examples? The only thing that might look different at first is the whole OOP stuff.
"Help has no Command Reference that I can see. Please correct me if I'm wrong! The Help in my opinion could take a lesson from TNTs excellent help, as I explained, this online help has been of no use to me, try this for me, ignore you're an experienced programmer, try to follow the Help in developing your first game with a moving sprite, and you'll see what I mean, it's a dead end. Even searching "sprite" reveals nothing. Useless."
-Here's a screenshot of the command overview (on the right, it's at Help->Modules->Index:
http://img258.imageshack.us/img258/5850/bild1bp6.png
-Coding a little app with a moving sprite is as simple as:
Graphics 640,480
player_sprite=LoadImage ("player.png")
x=320
y=240
While Not KeyDown(key_escape)
If KeyDown(key_left) Then x:-1
If KeyDown(key_right) Then x:+1
If KeyDown(key_up) Then y:-1
If KeyDown(key_down) Then y:+1
DrawImage player_sprite,x,y
Flip
Cls
Wend

03-28-2007 19:54

Posted by:
someone

Location:
Quebec ( Canada )

Click Here to Email someone   Find more posts by someone

Haha i agree it doesn't look so awful - only thing is, it's not free not open source, so i'd rather support TNT ;)

03-28-2007 22:51

Posted by:
Tim

Location:
New Zealand

Find more posts by Tim

Your assumption that I have not got anything running is incorrect, I have already got a animated sprite running around weeks ago.

That Index you would have to admit it's nicely hidden. Should be under "Language" Also your screen shot shows me its possible to expand that right side draw. They haven't followed OSX normal behaviour there :) I don't like the lack of a search feature. Its a worry I didn't receive this advise from the BLITZ team when I queried them.

Thanks, that has made my mind up. Until TNT comes up to speed, Blitz it is.

03-29-2007 02:16

Posted by:
Jacob

Location:
San Francisco, CA

Click Here to Email Jacob   Find more posts by Jacob

As far as I can see, BlitzMax can't run without external files.

03-29-2007 12:11

Posted by:
Fischgurkensenf

Location:
Bern, Switzerland

Click Here to Email Fischgurkensenf   Find more posts by Fischgurkensenf

Yes it can; you can embed any files into your program using the "incbin" command. You can then load these files like normal files.
Copied from the BMax help:
Incbin "stars.png"
Local stars=LoadImage( "incbin::stars.png" )

03-29-2007 12:18

Posted by:
Fischgurkensenf

Location:
Bern, Switzerland

Click Here to Email Fischgurkensenf   Find more posts by Fischgurkensenf

"That Index you would have to admit it's nicely hidden. Should be under "Language" Also your screen shot shows me its possible to expand that right side draw. They haven't followed OSX normal behaviour there :) I don't like the lack of a search feature."

I agree. The Index is well hidden. The IDE has some minor problems like a troublesome copy function - I have to right click and choose "copy", ctrl-c doesn't work.

03-30-2007 16:03

Posted by:
appleide

Click Here to Email appleide   Find more posts by appleide

Okay, before everyone go rushing off to BlitzMax. I have to recommend this: Processing.

It has allowed me, in less than 6 hours to make this game ai game: Download Aics . [Kinda like RoboCode except I use spaceships instead of robots, and I invented my own simple script language for you to create an AI with. (All within 6 hours!!)] (Almost Complete with my own window/button gui thing, just some bugs to iron out.. I.E I can make pseudo windows and real buttons at will)

Sure its syntax does not look like BASIC, but all you have to do is replace all the end ifs and wends with "}" and all the ifs with "if{" and then you will be set. See? you type less and you get more. Processing rules!

And you can use any Java libraries you want. But that is probably for non-beginners. (so, room to expand, unlike TNT's limited API set.)

03-30-2007 17:22

Posted by:
Jacob

Location:
San Francisco, CA

Click Here to Email Jacob   Find more posts by Jacob

Please don't discourage Danny

It doesn't work on 10.2 (only the old alpha versions do), the example didn't work, and java is slow.
Plus TNT Basic doesn't use out of line images anywhere either on the website or in the editor! :)
(although, what's that mid-point thing mean't to be in the directory?)

By the way, I like using braces more that words.

Yours,
Jacob

03-11-2010 18:42

Posted by:
iDevGames

Find more posts by iDevGames

I'm very happy to see that there is still development of TNT Basic going on. I hate to see good tools die, especially if they are great jump off points for new game developers.

Anything iDevGames can do to help you?

Carlos Camacho
Editor-in-Chief
iDevGames
http://www.idevgames.com

03-12-2010 18:51

Posted by:
swagIT

Location:
Great Wet North (Vancouver)

Find more posts by swagIT

Hey Carlos - I think TNT2 is somewhat 'stalled' - unless Danny can clone himself to find the time to develop it further. It's a lot for one lone soldier to attempt! Right now TNT doesn't run too well in any OS version newer than Tiger..... QT problems with sound, etc.....

REALLY too bad - this is a great quick intro into development....

barry

All times are GMT        Post A Reply

Forum Jump:
< Last Thread     Next Thread >

< Contact Us - TNT Basic >

Powered by: vBulletin Lite Version 1.0.1 Lite
Copyright © Jelsoft Enterprises Limited 2000.