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.

DarkBASIC Professional Discussion / My main gripes with DBPro {RANT ALERT}

Author
Message
Marabas
13
Years of Service
User Offline
Joined: 12th Dec 2010
Location:
Posted: 7th Oct 2012 21:24
Just to give you a little perspective where I am coming from, I am the original author of the Kryptonite encryption program on the Amiga, which featured on Amiga magazines at the time. I wrote and published a number of programs and utlities for the Amiga and then later for the PC, none of them in Dark Basic, I should add.

I bought the original DB classic shortly after it appeared and upgraded to DBPro at the first chance. I must say it has been, on the whole, a dissapointing experience. My main gripe with DB and DBPro has been this business of the program crashing when it lost focus. From the very start it has been impossible to get publishers to take anything seriously if it was written in DBPro. Why was this feature not addressed over the last 7 years or so?

Add to that the fact that to give the program useful features like AI or physics, etc. we have to buy add-ons to the program. Could some of these have not been included in updates to the program? Myself, I have bought over 50 TGC and third party products and add-ons amounting to a serious investment in TGC and to date, everything I have written and released has been done in Delphi and C++.

TGC's focus now has shifted to AppGameKit and the mobile market, we even have AppGameKit threads in DBPro discussion, but hang on, can't TGC fix the things they have produced first before trying to entice us to move to a different program and development platform? From what I am reading on Facebook people are suffering the same frustrations with AppGameKit that we did with DBPro (which STILL doesn't work).

Now, to add insult to injury TGC are talking about DBPro Elite for another $99 or maybe more for the product that we originally signed up for in DBPro. Surely the loss of focus bug and faster frame rates should have been addressed in the original program instead of asking us to pay even more money for a product that does everything that DBPro should have done years ago.

It seems to me that TGC flits from one thing to the next before a product is solid. First DB and DBPro but before they were fixed it was FPSC with it's serious frame rate restrictions, then FPSC 10 which was never a serious product and was ultimately sidelined. Next they released DGK for serious programmers but this has similar flaws to DBPro, and now AGK. Can they just complete a program and get it stable. Doesn't matter what it is, just give us the opportunity to write something which can be released to the public.

On the past history of TGC I refuse to buy into AppGameKit because I know we will be left frustrated and they will move on to the next shiny thing and leave us with half a product. I'm sure the term "not of merchantable quality" applies to DBPro and it's associated add-ons here is the blurb from TGC...

"DarkBASIC Professional is the most advanced games development package built on the BASIC language currently available. No other package out there makes it as easy to incorporate all of the special features and effects you see in todays games and no other package natively offers the benefits of Microsofts DirectX 9 technology."

...but as I have pointed out it is impossible to create a finished game because it is so flawed.

Signature removed by moderator. Please do not give out the meaning of life in an open forum.
Green Gandalf
VIP Member
19
Years of Service
User Offline
Joined: 3rd Jan 2005
Playing: Malevolence:Sword of Ahkranox, Skyrim, Civ6.
Posted: 7th Oct 2012 21:39
On the other hand various Indie developers have produced commercial games using DB/DBPro. You could just follow their example rather than rant.

I believe the following use DBPro or DB:

http://www.spacecombat.org/

http://www.starwraith.com/

http://www.lasthalfofdarkness.com/
Mr Bigglesworth
16
Years of Service
User Offline
Joined: 4th Mar 2008
Location:
Posted: 7th Oct 2012 22:15
I agree, I am also very disapointed with the way DarkGDK turned out. I love GDK because I can use the DB engine in C++, but the latest updates broke more features than they fixed. Besides somehow having worse performance than basic, the 3D animation commands are broken and dynamic cube maps and shader commands don't work.
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 8th Oct 2012 04:18 Edited at: 8th Oct 2012 06:00
There are only a few things I have issues with in DBP... namely the slight issue of object loss on screen lock... or whatever it is...

And the rest have been mentioned in the your top bugs thing thread...

I believe they will iron them out once the buzz from IDF 2012 dries out... and AppGameKit gets a firm 108 release... and that might be in the new year I reckon... for the time being I shall continue to persue my games and apps ventures with DBPro until I am capable to just imto C++/C# etc [not for GDK though, I doubt it will be my target toolset... however DBPro will always be my prototyping kit!]

tiresius
21
Years of Service
User Offline
Joined: 13th Nov 2002
Location: MA USA
Posted: 8th Oct 2012 04:25
It is tempting to stand on the soap box along with you but I'm afraid we both can't fit. As you see, I'm quite a big boy. Of course there are some annoyances with TGC/DBPro, such as being teased with the "top 3 bugs" post and "release 7.7 limbo-land".

I used to get major nerd-rage over TGC jumping to anything that didn't directly affect me. Imagine the nerve of them spending time on FPSC, even with the promise it would directly improve Darkbasic Professional via bug fixes/features they needed for FPSC itself. Then I realized that they are a company that needs to make money on a regular basis.

Darkbasic Professional is a usable language to make games, if something in the language is making you get stuck on completing your masterpiece, post about it and lots of people here will help you. From your post it sounded like you never made the effort to get something out of the gate, due to some of the shortcomings.

There is no perfect programming language or platform and as a software developer you have to work with what you get and overcome the obstacles, or move onto something (still not perfect) that is but a better fit. Sounds like you are waiting for perfection, and I'm pretty sure you will never get it with whatever you use.

MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 8th Oct 2012 04:59
tiresius - Who?

Mage
17
Years of Service
User Offline
Joined: 3rd Feb 2007
Location: Canada
Posted: 8th Oct 2012 05:33 Edited at: 8th Oct 2012 05:34
The screen lost focus crash bug is a huge shortcoming. I can't see anyone bringing a serious professional game to the software market with it.

I agree TGC is a company, and DBPro is great. But If I wanted to take the jump from hobby to product, this is a show-stopper limitation.

You just can't release a game that will so easily and so certainly crash like that. This really leads into the whole issue of lack of error trapping in general. Some people have mentioned STYX, but the language in general is designed without error trapping in mind making it overall extremely unreliable. Any error at all brings the whole thing down completely. So the solution has been to "prevent" errors from being "thrown" and hope/pray nothing abnormal manages to slip by.

Everyone has made some excellent points, including the Original Poster.


Quote: "There are only a few things I have issues with in DBP... namely the slight issue of object loss on screen lock... or whatevr it is..."


What are we writing secret codes with random bolded characters now?

MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 8th Oct 2012 06:08
Quote: "What are we writing secret codes with random bolded characters now?"


?

Marabas
13
Years of Service
User Offline
Joined: 12th Dec 2010
Location:
Posted: 8th Oct 2012 06:18
I appreciate your comments all. I agree that the loss of focus always has been a "show stopper". Don't get me wrong though, my post was made out of love for the product. It has always had a tremendous amount of potential and coupled with the extremely talented people on this board it could have created some real masterpieces.

Yes, there have been some great games created with it as someone pointed out but they will always be marginalised in favour of more modern and stable releases.

Look at games like worms and super meat boy, do you think we couldn't make games that easily equal those? Of course we could and probably have but they will never be taken seriously as the program stands, which is a crying shame.

Come on TGC we are not asking for much. Work with us to "finish" DBPro and allow some games to hit the market place.

Signature removed by moderator. Please do not give out the meaning of life in an open forum.
Mage
17
Years of Service
User Offline
Joined: 3rd Feb 2007
Location: Canada
Posted: 8th Oct 2012 06:19
Off Topic Sorry:
Quote: "?"

I have noticed you posting messages to threads on this forum, with randomly bolded single characters in the body of the messages. I believe these characters are forming a secret code.

Mage
17
Years of Service
User Offline
Joined: 3rd Feb 2007
Location: Canada
Posted: 8th Oct 2012 06:25
It should be mentioned that this bug was listed as #6 on the "Top 3 Bugs" sticky thread.
http://forum.thegamecreators.com/?m=forum_view&b=1&t=193289&p=0

Although I have noticed an increase lately in the chorus of complaints that these "approved" problems have not yet been resolved 8 months later and counting.

As far as I'm aware there is still no eta.

MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 8th Oct 2012 06:46
off:topic:



Have a good read

tiresius
21
Years of Service
User Offline
Joined: 13th Nov 2002
Location: MA USA
Posted: 8th Oct 2012 07:12
I thought there was a workaround with a Matrix1Util function or some such looping trick before sync, but perhaps it isn't perfect 100% of the time? (It has been a while since I looked into it.) Why is Full Screen Exclusive mandatory? Having your game run in Windowed Desktop doesn't sound like a huge show stopper to me.

MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 8th Oct 2012 07:17
Try locking your computer [WINDOWS KEY] + [L] while your application is running and log back in... [if no password just click your picture or press enter]

Mage
17
Years of Service
User Offline
Joined: 3rd Feb 2007
Location: Canada
Posted: 8th Oct 2012 07:23
Quote: "Having your game run in Windowed Desktop doesn't sound like a huge show stopper to me."


If you press CRT + Alt + Del in Vista/Win7/Win8, or if you lock the workstation (Winkey + L), or if you go into sleep mode, or if you switch users, the program will crash.

This happens when sync is called or while it is processing and these events occur. So simply checking if the screen is available (not even currently possible) ahead of time isn't even reliable.

Green Gandalf
VIP Member
19
Years of Service
User Offline
Joined: 3rd Jan 2005
Playing: Malevolence:Sword of Ahkranox, Skyrim, Civ6.
Posted: 8th Oct 2012 18:16
I usually save and close everything down in that situation so it's hardly a show stopper for me either. If I'm playing a game I tend not to get distracted by other things and if something important enough crops up I'll save and exit. Is that so hard?
Mage
17
Years of Service
User Offline
Joined: 3rd Feb 2007
Location: Canada
Posted: 8th Oct 2012 20:15
Quote: "I usually save and close everything down in that situation so it's hardly a show stopper for me either. If I'm playing a game I tend not to get distracted by other things and if something important enough crops up I'll save and exit. Is that so hard? "


Oh I agree, knowing about the problem I can quite easily avoid it. But if the program crashes every time a laptop screen closes...

You'll get thousands and thousands of complaints if you are releasing a commercial product. You can make safety code for most things. This is the one soft spot you can't cover in any shape or form currently.

With thousands or even millions or people using your program you need to be at least a little cynical. They are going to hammer your code from every direction. Every unlikely exploit and fault. In that sort of reality something so easy and reliably bad as this will become very common.

That's why it's something that makes it hard for me to take anything I make from hobby to product.

Green Gandalf
VIP Member
19
Years of Service
User Offline
Joined: 3rd Jan 2005
Playing: Malevolence:Sword of Ahkranox, Skyrim, Civ6.
Posted: 8th Oct 2012 20:40
Quote: "With thousands or even millions or people using your program"


I could live with that problem.
Mage
17
Years of Service
User Offline
Joined: 3rd Feb 2007
Location: Canada
Posted: 8th Oct 2012 23:06
Quote: "I could live with that problem. "



MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 9th Oct 2012 04:33
Quote: "I could live with that problem. "



tiresius
21
Years of Service
User Offline
Joined: 13th Nov 2002
Location: MA USA
Posted: 9th Oct 2012 04:38
Do people lock their computers when running high-powered 3D games (the kind that DBPro can make) a lot of the time? I'd be afraid my CPU would melt.

MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 9th Oct 2012 04:57
Quote: "Do people lock their computers when running high-powered 3D games (the kind that DBPro can make) a lot of the time?"


DBP is not just used to develop games...

Some of us use it to create apps that need to be running on workstations / office computers all day long... and often the user will lock the screen for privacy reasons or security...

Quote: "I'd be afraid my CPU would melt."


Perhaps build a more stable system?



Stab in the Dark software
Valued Member
21
Years of Service
User Offline
Joined: 12th Dec 2002
Playing: Badges, I don't need no stinkin badges
Posted: 9th Oct 2012 17:29
The problem of a "Direct3d lost device" is not a bug or flaw in DBpro.
Dbpro is a programming language. It is not a complete game engine that handles all of
the resource management for your application. You the programmer must write the code
to handle this. If you write an application in any other language that uses DirectX (e.g. C++/C#)
you still have to write the resource management code to handle the lost device.
This example was posted in the code snippets recently and works perfectly.
Everyone here who posted problems with the lost device, please look at this example.

http://forum.thegamecreators.com/?m=forum_view&t=199654&b=6&p=0

The DBpro forums have always been a great resource to learn from.
Also the Intel app store does not require your application to survive a lost device to be accepted
although all professional applications should.

[img][/img]


WindowsXP SP3,Vista,Windows 7 SP1, DBpro v7.7RC7
Stab In The Dark Editor
The coffee is lovely dark and deep,and I have code to write before I sleep.
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 9th Oct 2012 17:34
Stab in the Dark software - If you can get that code to work... and share the project file... I would be very thankful...

I have Matrix1Utils installed and also A2D... still not working I get an error around line 245 in this code...



I have the images from the thread in the same folder...

Stab in the Dark software
Valued Member
21
Years of Service
User Offline
Joined: 12th Dec 2002
Playing: Badges, I don't need no stinkin badges
Posted: 9th Oct 2012 18:20
Could you clarify what the error message is that you are having?
What version of DBpro are you using?
What version of Matrix1's utilities are you using?
I have attached the exe to test.

[img][/img]


WindowsXP SP3,Vista,Windows 7 SP1, DBpro v7.7RC7
Stab In The Dark Editor
The coffee is lovely dark and deep,and I have code to write before I sleep.

Attachments

Login to view attachments
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 9th Oct 2012 18:28 Edited at: 9th Oct 2012 18:29
DBP = 1.077 Default IDE
Matrix1Utils = matrix1util 20120527
A2D = from the first post on the forum page

Quote: "Could not determine parameter type of 'find char(pbComm$, crlf$())' at line 245."


Line 245 =



Your exe works... I must add that I have STYX installed I do not know the contents of M1Utils 16.dll or whether this line above relates to A2D or M1utils [EDIT = Oh A2D apparrently...]

Thanks for looking into this... I did a screen lock... it works... just need to see where my install is going wrong and then I can study the code...

29 games
18
Years of Service
User Offline
Joined: 23rd Nov 2005
Location: not entirely sure
Posted: 9th Oct 2012 23:06 Edited at: 9th Oct 2012 23:06
Quote: "Add to that the fact that to give the program useful features like AI or physics, etc. we have to buy add-ons to the program."


Isn't the whole point of DBPro that you can do these things for yourself, with DBPro? Isn't that part of the fun of making a game? Also, if these were added in as part of the core DBPro command set from the beginning wouldn't it have just made DBPro more expensive? I can't imagine we would have got them for free.

Quote: "I have bought over 50 TGC and third party products and add-ons amounting to a serious investment in TGC and to date, everything I have written and released has been done in Delphi and C++."


Why did you buy so many TGC products? Surely if you couldn't make anything decent using just DBPro what made you think that spending more money on the same family of products was going to make a difference? Is this really just a case of buyer's remorse?

Quote: "Surely the loss of focus bug and faster frame rates should have been addressed in the original program instead of asking us to pay even more money for a product that does everything that DBPro should have done years ago.
"


Is the loss of focus bug an actual bug or just something TGC didn't think was important and is the frame rate issue just the way DBPro is? If you want to have faster running software or software that can handle bigger, more complicated things (whether it be programming software, CAD software or spreadsheets), this is normally done buy releasing newer versions of the software that people have to pay for.

If I come across as a bit harsh, I appologise, but I find these kind of posts a depressing. I know DBPro is not perfect and that TGC is not perfect, and I appreciate there is a certain amount of frustration, but this is what you get when you buy cheap software. And it seems to me that for every person that has a rant about how bad DBPro / TGC are there is someone else just getting on with it and making decent games.
Green Gandalf
VIP Member
19
Years of Service
User Offline
Joined: 3rd Jan 2005
Playing: Malevolence:Sword of Ahkranox, Skyrim, Civ6.
Posted: 10th Oct 2012 00:53
Quote: "If I come across as a bit harsh, I appologise, but I find these kind of posts a depressing. I know DBPro is not perfect and that TGC is not perfect, and I appreciate there is a certain amount of frustration, but this is what you get when you buy cheap software. And it seems to me that for every person that has a rant about how bad DBPro / TGC are there is someone else just getting on with it and making decent games. "


Well said - and I find those posts annoying too.

I think all the grumblers earlier in this thread should study Stab in the Dark software's posts very carefully. I agree with everything he said.
Mage
17
Years of Service
User Offline
Joined: 3rd Feb 2007
Location: Canada
Posted: 10th Oct 2012 01:24 Edited at: 10th Oct 2012 01:44
Quote: "The problem of a "Direct3d lost device" is not a bug or flaw in DBpro.
Dbpro is a programming language. It is not a complete game engine that handles all of
the resource management for your application. You the programmer must write the code
to handle this. If you write an application in any other language that uses DirectX (e.g. C++/C#)
you still have to write the resource management code to handle the lost device.
This example was posted in the code snippets recently and works perfectly.
Everyone here who posted problems with the lost device, please look at this example.

http://forum.thegamecreators.com/?m=forum_view&t=199654&b=6&p=0"

With respect, I disagree and here is why:

1. Is the "Lost Device" error/crash a bug?
Yes. It's a bug because I cannot control or avoid it, and it causes the entire program to crash.

2. Does the solution you gave solve the problem?
No. Because windows can and does "Lose The Device" after you check to see if its valid and before sync processes. Even if the commands are one after another, the kernel can time slice between them and suddenly make the screen invalid, defeating the safety code. Just put a Sleep 20000 in front of your sync and start locking and unlocking your computer. It will remove the illusion of reliability.

3. The solution you gave is a workaround.
Using Sprite Exist(x) to detect loss of device is not the intended use of the command. That's not to say it isn't down right genius, or incredible helpful. It is. Because the entire program crashes and you can't reliably protect against it's a bug. Your solution still crashes, it's not even that hard to crash.

4. Nobody is saying TGC has to fix the game content reloading.
It's a separate issue. The program crashes, device lost, and despite our convoluted attempts, it can't be avoided.

5. If the program crashes, then there was a bug somewhere.
Maybe it's my fault, maybe its Microsoft, maybe it's TGC.

Calling it a bug doesn't mean TGC made a mistake. It's perfectly reasonable to consider this a limitation of the software.

Quote: "Quote: "If I come across as a bit harsh, I appologise, but I find these kind of posts a depressing. I know DBPro is not perfect and that TGC is not perfect, and I appreciate there is a certain amount of frustration, but this is what you get when you buy cheap software. And it seems to me that for every person that has a rant about how bad DBPro / TGC are there is someone else just getting on with it and making decent games. "

Well said - and I find those posts annoying too. "

Separate Issue: Being a Complainer:
I will come out and say it, I am the king of complaints. I apologize for my hubris, but nobody has complained more, or more loudly than me about Dark Basic Pro. Sure I could be wrong, but I am the author of such threads as "DarkBasic Pro Sucks on Vista" and "Vista to XP Downgrade Performance Results". That's not to mention a litany of ignorant whining over the years. Here's the thing... I like Dark Basic Pro. I like TGC. I think they did a great job with DBP, and the rest of their products. When I complain about something I don't think of it as my trying to be a jerk. My perspective is that I am giving TGC feedback about problems I'm having and trying to illicit support from the community to solve the issue in other ways. Sometimes I fail at it, but I'm trying to be constructive. If you are silent, then nobody knows you are having problems.

Dar13
15
Years of Service
User Offline
Joined: 12th May 2008
Location: Microsoft VisualStudio 2010 Professional
Posted: 10th Oct 2012 01:45
Quote: "I will come out and say it, I am the king of complaints. I apologize for my hubris, but nobody has complained more, or more loudly than me about Dark Basic Pro. Sure I could be wrong, but I am the author of such threads as "DarkBasic Pro Sucks on Vista" and "Vista to XP Downgrade Performance Results". That's not to mention a litany of ignorant whining over the years. Here's the thing... I like Dark Basic Pro. I like TGC. I think they did a great job with DBP, and the rest of their products. When I complain about something I don't think of it as my trying to be a jerk. My perspective is that I am giving TGC feedback about problems I'm having and trying to illicit support from the community to solve the issue in other ways. Sometimes I fail at it, but I'm trying to be constructive."

I've always found that you have at least tried to remedy your issues before coming on here and complaining. That significantly diminishes the annoying factor of your posts IMO.

Yes, the loss of device is a bug. If DBP implemented an error code system rather than hard-crashing after the smallest of errors, then this could handled as easily as something like this:


Perhaps something to look into for DBE.

Stab in the Dark software
Valued Member
21
Years of Service
User Offline
Joined: 12th Dec 2002
Playing: Badges, I don't need no stinkin badges
Posted: 10th Oct 2012 04:21
Marabas,

Quote: "everything I have written and released has been done in Delphi and C++."


Could we see the applications that you have released using C++ and Delphi?
Were these applications graphical? Were they 2D or 3d?

Mage,

Quote: " 1. Is the "Lost Device" error/crash a bug?
Yes. It's a bug because I cannot control or avoid it, and it causes the entire program to crash.
"


You can control it and avoid it and it does not cause the entire program to crash.I believe the example proves it.

Quote: "Using Sprite Exist(x) to detect loss of device is not the intended use of the command."


Please explain what is the intended use of the command?

Quote: "Just put a Sleep 20000 in front of your sync and start locking and unlocking your computer. It will remove the illusion of reliability."


Ok I tried that still can't get it to crash. Post your exe so we can test it.

As a longtime member of these forums(note join date) my intention here is to help others as I was helped in the past.
Sometimes a good heated discussion is the best way to look at a problem from a new angle and learn something new.
Can anybody provide an example of a 3d programming language, which automatically handles a lost device.
If so maybe I can learn something new.

Green Gandalf,
Thank you for your support. From a valued member that means a lot.
Even if your join date is after mine.

[img][/img]


WindowsXP SP3,Vista,Windows 7 SP1, DBpro v7.7RC7
Stab In The Dark Editor
The coffee is lovely dark and deep,and I have code to write before I sleep.
Mage
17
Years of Service
User Offline
Joined: 3rd Feb 2007
Location: Canada
Posted: 10th Oct 2012 06:25 Edited at: 10th Oct 2012 06:45
Quote: "
You can control it and avoid it and it does not cause the entire program to crash.I believe the example proves it. "
Quote: "If you write an application in any other language that uses DirectX (e.g. C++/C#)
you still have to write the resource management code to handle the lost device.
This example was posted in the code snippets recently and works perfectly.
Everyone here who posted problems with the lost device, please look at this example.

http://forum.thegamecreators.com/?m=forum_view&t=199654&b=6&p=0"

Thanks for your help.

Your demo did not have a lot of depth in the use of resources that rely on each other. This made it difficult to see this approach as resolving a lot of more complicated issues. Not to mention it uses plugins I don't have.

I have rebuilt the example into a simpler, more to the point version:


I have played with this adding delays and a variety of bad things trying to get it to crash. It doesn't crash. I previously above commented having used a similar version of this code that operated in the way I originally explained. It crashed about half the time I locked the screen. This new version I posted has resolved the issue.

A few very key things need to be known about the issue:

Assets are only deleted when Sync/FastSync is called. So your game is chugging along you lose the screen availability, you get one free sync. Then your assets are deleted.

I had thought, you could be in the middle of processing AI and everything's gone... nope.

Right after Sync, with the images/objects/sprites deleted... reload everything. You can test if stuff got deleted by having a sprite that is loaded at all times, and testing if it still exists. If it doesn't, then reload everything. Do it first thing after Sync.

You should wait for the screen to come back before reloading everything since it will make sure you don't continuously reload everything in a loop when the laptop is closed or computer is locked.

I've looked into this issue before, but it seems that the behavior of this problem is different then I have been lead to believe. I even today tested this and confirmed this previous notion. I have tested this a second time and worked out the specific behavior of the problem. Since the problem is not as bad as previously thought, and since the deletion of game assets only occurs at sync, this workaround can effectively predict and manage the problem.

Despite considering myself misguided:

I have not tested this workaround on a large scale project, so things like enhanced animation, sparky's collision, image kit, etc. might not like this and I might end up being disappointed. Sometimes plugins and commands are picky how things are deleted and in what order. I am worried that making a memblock from image might crash. I am also worried about use of multiple cameras, particularly where sync or fastsync is used several times at once, such as an HDR shader effect.

Overall it is a workaround. This means really any update could realistically change or completely negate this functionality.

I still consider this is a bug. There is a seemingly effective workaround. If my fears about plugins crashing are wrong, then it should be fairly trivial for TGC to implement this functionality as a new command.

Complaining solved something...

Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 10th Oct 2012 10:14
For every 'gripe' thread complaining that you can't make a game with DBPro, there are 1,000 games made with DBPro.

I guess I can't be as objective with this, given that I've made about a dozen games in DBPro, none of which needed a plugin, 2 of which are commercial games. There is always the option to program AI, collision, physics yourself, or use one of the several free plugins.

Health, Ammo, and bacon and eggs!
david w
18
Years of Service
User Offline
Joined: 18th Dec 2005
Location: U.S.A. Michigan
Posted: 10th Oct 2012 12:35
I'm a satisfied customer!
Mage
17
Years of Service
User Offline
Joined: 3rd Feb 2007
Location: Canada
Posted: 10th Oct 2012 14:30 Edited at: 10th Oct 2012 16:37
Definitely satisfied. I should point out that I don't share the original posters fustration with TGC or their products.

Phaelax
DBPro Master
21
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 10th Oct 2012 19:40
Highly dissatisfied! I hate DB products! I wish.... who cares if I've been using it daily for almost 14 years, I....... well yes but...... fine you win. I like DB!

"You're not going crazy. You're going sane in a crazy world!" ~Tick
Latch
17
Years of Service
User Offline
Joined: 23rd Jul 2006
Location:
Posted: 11th Oct 2012 00:10
I still haven't squeezed all of the juice out of DarkBASIC Classic yet! I know a lot of people think that's nuts, but messing around with it has taught me just how much it's up to me to make things work the way I want.

DBPro is open source, right? So in theory, one could correct any of the bugs they run across. OK, that actually isn't fair to the consumer to be put in the position of fixing the product they paid for, but the opportunity goes far beyond fixing something. You get to see how the program is put together. And if you have the tools, the time, and the ambition, you could make DBPro jump through your own hoops.

The DarkBASIC products really make it easy to program a game. And doesn't using the ALWAYS ACTIVE ON command prevent it from crashing even when losing focus?

Enjoy your day.
Mage
17
Years of Service
User Offline
Joined: 3rd Feb 2007
Location: Canada
Posted: 11th Oct 2012 01:06 Edited at: 11th Oct 2012 01:09
DBC was great. I look back though and see so many now obvious things that I was doing wrong with it. Optimizations and such. I remember it as being very slow, but i know a lot of it was slow hardware and non-existant game-code optimization.

Open Source? That's awesome. Gives me a few ideas.

mistsnake
13
Years of Service
User Offline
Joined: 24th Apr 2010
Location: Inside the matrix
Posted: 11th Oct 2012 02:04
the fact that 'device lost' is't handled automatically is rather the design flaw of directx itself, but its not a bug in either db or dx cause that's how it was designed
bug = unintentional 'feature'

but that aside it should be fairly simple to fix within db source to handle such situations if its written like i think
MrValentine
AGK Backer
13
Years of Service
User Offline
Joined: 5th Dec 2010
Playing: FFVII
Posted: 11th Oct 2012 02:45
Quote: " And doesn't using the ALWAYS ACTIVE ON command prevent it from crashing even when losing focus?"


I refrain from such slang but you leave me no choice...

Quote: "
GIMME DA CODEZ!
"


Kezzla
15
Years of Service
User Offline
Joined: 21st Aug 2008
Location: Where beer does flow and men chunder
Posted: 11th Oct 2012 04:32
I generally try to tone down my praise because I start sounding like a sales rep. I have had nothing but positive experience with DBPro and will continue to use it for as long as it will run on my machine.

GIDustin
15
Years of Service
User Offline
Joined: 30th May 2008
Location:
Posted: 11th Oct 2012 18:58 Edited at: 11th Oct 2012 19:02
@Mage,

I tried your code, and I couldn't crash it either. This problem has plagued me forever, but it looked like you had finally figured out the correct order of commands to prevent a crash! But then I went and implemented it in my game and it still crashes almost every time.

Try this code. All I did was add a bitmap, and paste the sprite during the main loop. In my games, I paste all my 2d stuff to bitmap 1, and then copy bitmap 1 to 0 before I sync. This eliminates the problem where a user will drag the window around the screen and only half of your scene is drawn when they do that.



If you can fix that, then I think we have it!

Edit: Changed nice wait to wait for those who do not have Matrix1.
Mage
17
Years of Service
User Offline
Joined: 3rd Feb 2007
Location: Canada
Posted: 15th Oct 2012 01:48
Quote: "I tried your code, and I couldn't crash it either. This problem has plagued me forever, but it looked like you had finally figured out the correct order of commands to prevent a crash! But then I went and implemented it in my game and it still crashes almost every time."


That code you posted, doesn't crash. You need to find a png file "1.png" to use with it. But it doesn't seem to crash either.

GIDustin
15
Years of Service
User Offline
Joined: 30th May 2008
Location:
Posted: 15th Oct 2012 02:19 Edited at: 15th Oct 2012 02:20
@Mage,

What OS are you using? On my Windows 7 machine, I could not get it to crash after 2 minutes of trying. On my Windows XP machine, it crashed the first time I CTRL+ALT+DEL

Attachments

Login to view attachments
TheComet
16
Years of Service
User Offline
Joined: 18th Oct 2007
Location: I`m under ur bridge eating ur goatz.
Posted: 15th Oct 2012 19:54
Quote: "What are we writing secret codes with random bolded characters now?"


He likes to edit his post and correct his typos - which he marks in bold - so everyone understands that he had a typo there before the edit.

@ All

I think the D3D device loss isn't the biggest issue here. I can't get any decent amount of objects on screen without getting slowdowns! I know it's an RTS game, but seriously, I can't even hit the 100 units mark without being under 15 fps. I have to use work-arounds and other weird things to solve it.

Or the way you can't have arrays in UDTs sucks. More work-arounds!

DBP is great for beginners, but it has its shortcomings with more complex products, and I'm learning it the hard way.

TheComet

"Why geeks like computers: unzip, strip, touch, finger, grep, mount, fsck, more, yes, fsck, fsck, fsck, umount, sleep." - Unknown
DarkDISCUSSION
12
Years of Service
User Offline
Joined: 6th Jul 2011
Location: Ft Madison, IA
Posted: 15th Oct 2012 22:45
I too have been disappointed with the slow speeds of DBP/GDK until I found NuclearBasic.

Mage
17
Years of Service
User Offline
Joined: 3rd Feb 2007
Location: Canada
Posted: 16th Oct 2012 00:23
Quote: " @Mage,

What OS are you using? On my Windows 7 machine, I could not get it to crash after 2 minutes of trying. On my Windows XP machine, it crashed the first time I CTRL+ALT+DEL"


Well like I was saying before... It's a workaround so it's not going to be all that reliable. The whole trick is supported on Sprite Exist() equaling zero (because it gets deleted) when the "Screen Device is lost".

So I think you are boned.

Login to post a reply

Server time is: 2024-04-20 00:43:51
Your offset time is: 2024-04-20 00:43:51