View Full Version : Laying low, areas of interest
Hi Guys, I will be on the site to read and respond to posts as usual, but you will have to excuse me from any new coding for a bit. As some of you know, I just bought powerBasic for windows and there is a lot to go through to really learn it, so I will be focused on all of that for a few weeks. I want to learn powerBasic so I can contribute at a more useful level to thinBasic and the great team here.
On another note, my main area of interest is writing games. I also am interested in database programming, always have and probably always will, and of course programming for the web now. I tinkered quite a bit with php and some javascript as well as html. But these days, I think and dream about games and tools for making games, so I would say this is my number 1 priority. Right now my main interest is 3d games, but 2D is lots of fun, but there is so much to learn in 3d that I want to feel totally comfortable in it and then I can do 2d and 3d when and where it is needed.
I thought it would be neat to hear other users primary areas of interests in programming in the meantime. So write what you are interested in, it will be fun to read everyone's areas of focus.
ErosOlmi
14-07-2007, 06:59
Hi Ken,
I'm really happy about that. I've created a dedicated Power Basic sub forum under "Other programming languages": http://community.thinbasic.com/index.php?board=107.0
Feel free to ask anything about Power Basic programming. As far as I know, the following is the list of thinBasic users using Power Basic: Roberto, Petr, Mike, me.
Ciao
Eros
Michael Hartlef
14-07-2007, 08:29
Hi Kent,
good luck with your new toy.
I used PowerBasic just for TBDI. My main languages are DELPHI and IBASIC PRO, judging by the biggest projects I created. These days the most used BASIC dialect by me is thinBasic.
Anyway, I have all kind of interest. In the past the biggest stuff where support tools and libs for game programming. I try to shift my focus away from coding and into creating art but somehow I allways come back to smashing the alphabet into a context.
I want to learn powerBasic so I can contribute at a more useful level to thinBasic and the great team here.
Why don't you want to use EBasic or C++ or Delphi? The SDK are there too?
@Mike, I don't think I will be writing a thinBasic module of any kind. But maybe routines that I would like to see in thinBasic or perhaps some tools. And I figure if I write it in powerBasic, it will be easier to submit and Eros, Petr, Roberto or you and then you guys can easily modify and bring it into thinBasic in the proper module that routine should belong in if accepted.
I personally like short easy to type commands, but in the modern era, the longer more explicit names are popular. So when I start making commands long it never comes out right. All the times I have used tbgl, I still can't remember one command without looking it up in help. I always miss a word or switch them around :)
About c++, Delphi and ebasic, c++ is everything you said it was, but in watching that you tube link that I think Matthew had up about game programming, you saw it over and over again, c++ is a must. I know enough about it if I ever need I can use it, but if I can I will try to avoid it and find something better. Delphi as you know I really like. I will use that probably more than c++, well not probably, I will. Although there are things in powerBasic and Delphi that seems so similar to me, they are very different and have different objectives and I think the powerBasic way is of course a lot more similar to thinBasic. So I decided to jump on the bandwagon with you guys.
I also got powerBasic in the hopes that it will be the tool that gets me closer to the hardware, the winapi and possibly assembly again. I have a feeling with portable devices really coming into their own. I would say half of my high tech friends I know already have smartphone/PDA setups, the palm treo, motorola Q and I saw that HTC is coming out with some neat computers this year, and OQO has a nice computer, when I say computer, I mean UMPC. Anyways I can't imagine the powerBasic guys not seeing this trend and not writing something that can program these devices, but I could be way off, could be just hopeful thinking.
But I think I could get into using assembly in powerBasic a lot easier than I can in other languages, at least for me. And I think it will be an awesome way to learn the winAPI better. All of these have got to pay off I would think in the end.
@Eros Thanks for the area on the forums for asking about PowerBasic. I will only post when I know I tried searching for the answer to the best I could and still was lost :) Thanks for the offer of help!
I try to shift my focus away from coding and into creating art but somehow I allways come back to smashing the alphabet into a context.
That's a good line Mike. I know what you mean. You are good at both, so might as well go back and forth between the two as you do!
Michael Hartlef
14-07-2007, 09:47
The problem I see is that in the powerbasic community, there is not much interest in developing games. But it seems that your biggest interest right now is developing for these mobile devices. Did you every look into http://www.mobilebasic.com ? Maybe that has what you need.
Anyway, I can imagine why all these indie language developers don't go the mobile way.
1. The main language for these devices is JAVA. Or the MS toolsets.
2. The clients of these indie languages are mostly game developers wanna bees
and they want a super dooper language that supports all the current AAA features
that they will never ever use. And these people are MS users.
3. There is simply no market to justify the huge efforts to port a language to a
whole new CPU architecture. Never mind the time it would take.
4. Most of these developers are at their limit of creativity. Besides the creators of
DarkBasicPro... they are comming up with new stuff here and there.
When you port a language, the most easiest part is the compiler/parser. Of course you have to deal with a different assembly set but the basics of ASM are all the same.
What really takes time and that is a huge one where the language creators spend allready years on it... you have to write the libs totally new as everything is different. For an example, you just can't port a GUI lib from one OS to the other. It's no working. So basically you start from the beginning. And after spending allready years on it before, who wants this?
And then the developer ask himself for what? For the 2-3 digit figure of sales of his toolset? No. Only people who do it for fun and the honor do this. Never wonder why there is allmost nothing new comming from these indie languages these days?
IonicWind is commercial. TheGameCreators is commercial. BlitzBasic is and so the creator of PureBasic does this. MS is supporting their OS's and only that. Borland tried a LINUX version before and it was no commercial success. PowerBasic is stalled in development, I think nothing much is happening here. And the list goes on.
What I am surprised about is that none of these languages come up with a real 64bit version. To me that is the next thing to support. And most of them besides TheGameCreators and BlitzBasic don't do much game related. THERE is where the money is. There are enough kids out there to buy this stuff. But only if they see the tools progressing. No matter if they need it. It's like with mobile phones these days. These kids have a new mobile here every 2-3 months. HELLO...! The old one worked fine but they need the newest features and have to brag about it.
Imho IBP was the best indie language I used. It was easy to use, you could add commands yourself, simply great. But regarding game coding, it was weak. If it got a real strong game development toolset, then the customers would have came. But no interest of its developers in the long run. Only the quick buck, and there is no such thing. You have to support your stuff in the long run.
Michael
Thanks Mike a great post with lots of insight and stuff I didn't know.
I think we are lucky to have thinBasic and the constant support and updates. It is already capable of doing fun games and will only get better.
So far I haven't seen speed being a problem for the types of games I want to do. And I hopefully some of the speed intensive things I have in mind I can do in powerBasic and bring to thinBasic as commands. But too early, still got lots to learn.
Have you been on Jose Roca's site for PowerBASIC? I think you will find it very nice and it will get you excited about your investment in PowerBASIC. He has a nice opengl section and Charles Pegge wrote some incredible demos. I will be studying those posts for some time and hopefully be able to bring tools for us to use based on their nice work.
Michael Hartlef
14-07-2007, 20:51
That is one power of thinBasic, you can create a module easily and so get around speed problems.
Just a quick note regarding IBPro, EBasic and PowerBasic. They can use the Blitz3D SDK now. This basically opens up almost all of Blitz3D 2D and 3D graphics capabilities to the users of those languages. It can also be used with Delphi, C, C++ and basically with any language capable of accessing a DLL. I've already created some tools for a japanese train simulator and it was a really easy job.
Which leads me to the ubiquitous question directed to Eros. Is it possible for thinBasic to use functions from DLL i.e. to use something like B3D SDK? I have the SDK so I will try it with tB eventually but it would be nice to know if it is possible to use external DLL or not.
Barney
Michael Hartlef
14-08-2007, 16:25
Eros is on vacation so I try to help. Yes you can perfectly use a DLL command. I'm at work but when I find time tonight, I will look it up again.
I think the syntax is :
DECLARE CDECL FUNCTION Readkey LIB "msvcrt.dll" ALIAS "getchar" ():longint
Look inside the Samples folder. I think in the new ToolBar sample, Eros uses API calls.
Petr Schreiber
14-08-2007, 16:48
Hi,
if we are speaking of thinBASIC DECLAREs, have a look in "Inc" folder and "DECLARE" in help.
Mikes syntax is close, but I think you don't need to declare CDECL and so on, so just this for example:
DECLARE FUNCTION glGetString LIB "opengl32.dll" ALIAS "glGetString" (BYVAL nname AS LONG) AS DWORD
Bye,
Petr
José Roca
14-08-2007, 16:51
The syntax is identical to the one used by PowerBASIC. CDECL will be used if the DLL uses this calling convention, but not if it uses STDCALL.
I've already created the necessary includes for PowerBasic and I am using B3D SDK with PB successfully. I expected TB would use the same syntax as PB but just wanted to make sure if Eros opened that path to the TB users. B3D SDK requires CDECL format, otherwise it's a standard Win32 DLL.
Thanks for the answers guys.
Barney
Michael Hartlef
14-08-2007, 18:22
Thanks guys for correcting me. :)
ErosOlmi
18-08-2007, 18:34
Hi all, thanks a lot for helping replying here!
Barney, yes, thinBasic can use functions and subs from any DLL as far as they are STDCALL declared. CDECL is also managed by the interpreter but so far just for compatibility with PowerBasic syntax and not effectively inside thinBasic Core. If you have already created a PowerBasic include file, expect it to work also in thinBasic. Important: thinBasic does not handle MACRO commands so if you have created some PB macros you need to replace them with functions or subs.
As Petr mentioned, you can have some more help looking inside \thinBasic\Inc\ directory where you will find some examples of declare statement. In any case, if you encounter any problem let me know and I will try to correct asap.
Ciao
Eros