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.

Geek Culture / How did you cope?

Author
Message
Illusion Games
20
Years of Service
User Offline
Joined: 16th Feb 2004
Location:
Posted: 18th Jun 2004 04:40
I recently ran into my first showstopping bug in DBPro (Types in functions and if statements) and the result was that it stopped my development cold in its tracks.

I was happy to read that TGC is going to start producing updates and all so someday, I am sure the issue will be taken care of.

However, I have not opened my IDE to continue working with DBPro and am finding it difficult to do so. I did go out and purchased a new IDE and a new BASIC compiler (I won't say which one as I don't want this to get locked), so I am still developing.

What did you guys do when you ran into showstopping bugs? Did you just shelve your plans for your projects? Did you do anything different? BTW - I know there are "workarounds" for most of these bugs so it is not really a huge deal, I just got really bummed when I hit one and I wondered how you guys handled it.

Mikel Johnson
Illusion Games Studio
Newbie Brogo
21
Years of Service
User Offline
Joined: 10th Jul 2003
Location: In a Pool of Cats
Posted: 18th Jun 2004 05:13
Well, I haven't run into a single bug in my whole experience.
I use DarkBasic Classic

HZence
21
Years of Service
User Offline
Joined: 9th Mar 2003
Location:
Posted: 18th Jun 2004 05:38
I get annoying little IDE bugs, eg I'll be typing inside a function and my text won't appear.


Team EOD :: Programmer/Storyboard Assistant
zenassem
21
Years of Service
User Offline
Joined: 10th Mar 2003
Location: Long Island, NY
Posted: 18th Jun 2004 05:42
I needed to loosen up a bit on my coding style. DB, and more specifically basic, is not object oriented and therefor things aren't going to be as organized or as encapsulated as I am used to.

I usually start off every project in a neat and well planned matter. Unfortunately, most of my code turns into "frankenstein" projects, when things don't seem to work right. (not just my own logical errors) but commands that are picky, slight nuances and usage, or known bugs and workarounds that I may not be familiar with.

It's hard to constantly stop my progress, butcher my code to get something to work, and find the resolve to go back and clean it up. I try not to get too up-tight, and realize that in any language experience is essential to quality code.

I would also say that I've stopped certain projects, because after running into some of these walls, that my code would need a complete over-haul. I try not to let that discourage me, and chalk it up to experience.

I think that it's fair to say we've all been there!!!

~zen


Manticore Night
20
Years of Service
User Offline
Joined: 23rd Oct 2003
Location: Ouinnipeg
Posted: 18th Jun 2004 07:55
Quote: "Well, I haven't run into a single bug in my whole experience.
I use DarkBasic Classic "
FREAK!!!

It's amazing how much TV has raised us. (Bart Simpson)
HZence
21
Years of Service
User Offline
Joined: 9th Mar 2003
Location:
Posted: 18th Jun 2004 08:05
Yet another random and pointless post by Manticore.

Then again, so is this one


Team EOD :: Programmer/Storyboard Assistant
Dave J
Retired Moderator
21
Years of Service
User Offline
Joined: 11th Feb 2003
Location: Secret Military Pub, Down Under
Posted: 18th Jun 2004 10:01
Quote: "I did go out and purchased a new IDE and a new BASIC compiler (I won't say which one as I don't want this to get locked)"


Hmm... what could it be?


"Computers are useless they can only give you answers."
Dazzag
22
Years of Service
User Offline
Joined: 26th Aug 2002
Location: Cyprus
Posted: 18th Jun 2004 10:15
Is doubley worse if you have another game idea in the back of your mind at the same time, and tripley so if you are at the stage of your current game where most of it's been done, just doing annoying little boring things (which add up to quite a lot of work). If so then it's mothball time for me normally. Only think it will be for a month or two at the time, then half a decade later you wonder which hard drive it's on. Sigh...

Cheers

I am 99% probably lying in bed right now... so don't blame me for crappy typing
David T
Retired Moderator
22
Years of Service
User Offline
Joined: 27th Aug 2002
Location: England
Posted: 18th Jun 2004 12:01
There are very few really bad bugs that stop development (ie. ghosted matrices not showing without setting priority to one. It's a feature apparently)

There are also those annoying but workroundable bugs. For example not being able to inc an array item, but it's easy to get round them.

Two strings walk into a bar. I'll have a pint says the first$%ASLDJ09920D"$"$D. Excuse my friend says the second, he isn't null terminated.
Phaelax
DBPro Master
21
Years of Service
User Offline
Joined: 16th Apr 2003
Location: Metropia
Posted: 18th Jun 2004 12:03
Though you can't pass udt's in functions, that shouldn't stop you. There are ways around this.

"eureka" - Archimedes
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 18th Jun 2004 12:14
There's no such thing as a showstopping bug, you just gotta adapt your style to whatever platform your on. Like I know about the types in functions bug, yet I use functions a lot - soooooo....

Insert dramatic music...

I use a freakin array.


You can't just throw in the towel because you can't use types - don't be so damn lazy and get re-coding.


Van-B


The nature of Monkey was irrepressible!.
Illusion Games
20
Years of Service
User Offline
Joined: 16th Feb 2004
Location:
Posted: 18th Jun 2004 17:25
Thanks Van. I did not throw in the towel. I really want to wait until those updates get here so I can continue to develop my projects using DBPro.

So, in the meantime, I am expanding the tools that I have at my disposal so I don't get lazy and I can keep coding. (I sure wish Rob Hutchinson would produce a version of Protean that would work with DBPro!)

Mikel Johnson
Illusion Games Studio
Pincho Paxton
21
Years of Service
User Offline
Joined: 8th Dec 2002
Location:
Posted: 18th Jun 2004 17:39
I don't use a program that has those sort of bugs. If a program doesn't work it should be my fault. I could waste days looking for a problem that is a bug. This Type thing is an example. I probably would not have crossed it's path, but it's stopped me from getting Pro for the umpteenth time. I'm not getting it till it works.

Manticore Night
20
Years of Service
User Offline
Joined: 23rd Oct 2003
Location: Ouinnipeg
Posted: 18th Jun 2004 17:59
Quote: "Yet another random and pointless post by Manticore."
Oh ya! Third one today!

It's amazing how much TV has raised us. (Bart Simpson)
Fallout
22
Years of Service
User Offline
Joined: 1st Sep 2002
Location: Basingstoke, England
Posted: 18th Jun 2004 18:29
There are a few show-seriously-damaging bugs.

I was making a LoD terrain system, so I could see an entire map made of (potentially) millions of polygons. It used multi-layers and darkghosting so I could have multi-texturing and really detailed varying landscapes. It's all fine, except the LoD system needs some cunning trickery to get it to work.

My first method was, make meshes of different detail on the fly. This was halted by the show-seriously-damaging problem (not bug) of the process of editing a memblock, then making it into a mesh taking about a second. My code made no dent on it, but a few key commands made it unacceptable for real time. There are no work arounds for that, so technique halted.

The next technique was to make every mesh I'd need in advance, and then show and hide objects on the fly. This slashed the size of my world to about 1/100th of the original idea, but I still had the equivilent of a 600x600 multi-textured matrix. The problem I now faces was, because the meshes weren't being generated on the fly, they were in blocky stages. Solution was to alpha blend them in as they got closer. This works, except you can't alpha blend a darkghosted object, obviously. You can't even fade it into invisibility with the fade command. So, solution unworkable.

To cut a long story short, I tried another few methods, and all of them wouldn't work because of the limitation of db technology, but this wasn't due to bugs. I know, in C++ for example, it would be possible, but because DBPro makes things so much easier, it does dramatically decrease the available power.

I'm not complaining, cos I can't be arsed to learn C++ and DirectX, but I would say 30% of my projects are halted by something complex I can't be bothered to work out, 30% are halted cos they get boring, but about 40% are halted by some DBPro speed/technology/command limitation.

Illusion Games
20
Years of Service
User Offline
Joined: 16th Feb 2004
Location:
Posted: 18th Jun 2004 19:01
I appreciate the feedback! It is disheartening to work on an idea and find out that in the end that the tool limitations force you to either start over to implement a workaround or to shelve a project until an update comes out.

That all being said, DBPro is an incredible program and you can do some really incredible things with it. I will continue to use it but only for certain projects.

Fallout - it would be interesting to hear from someone in the know that could describe the proper way you have to code a LoD Terrain system using DBPro. I am sure it can probably be done and it would be interesting to know how to make it work.

Mikel Johnson
Illusion Games Studio
Van B
Moderator
21
Years of Service
User Offline
Joined: 8th Oct 2002
Location: Sunnyvale
Posted: 18th Jun 2004 19:09
But...

We're constantly on TGC's back to give us these features, and I think we will get them - things like direct vertice control will open up a whole world of opertunity, like adjusting a memblock mesh and creating an object from it but in super-smooth realtime. That's what I'm hungry for, and I'll admit that I'm working on the projects that aren't waiting on vert commands (vanmesh will progress regardless, not slumping at all on that). I don't think these problems could be considered bugs though, more lacking features that a lot of use oldbies really need (and have for the most part been very patient for).

Really though, if DBPro hurries up with direct vert access and multitexturing - you'll be jammin (so will I) - and really we're not asking for the world here.

The one bug I'd happilly shoot is that alpha transparency thing, it really detrements what we can do with environment foliage - I hope that gets fixed in the next patch.


Van-B


The nature of Monkey was irrepressible!.
Fallout
22
Years of Service
User Offline
Joined: 1st Sep 2002
Location: Basingstoke, England
Posted: 18th Jun 2004 19:18 Edited at: 18th Jun 2004 19:22
I honestly don't think it can (Edit: In response to the LoD comment, until direct vertex control is available). Not on a huge level anyway, or at least not until some commands are improved.

It will work for objects that you simply swap with better quality ones as they get closer, but for something complex like a land terrain, you have problems of everything having to be connected seemlessly. To do that, you have to build the land meshes on the fly. To do that, the commands have to be quick enough. As it stands at the moment, editting a memblock, then converting it to a mesh, then converting it to an object, is just too slow.

My landscape actually ran at around 160FPS on my fx5600, seeing as far as the eye could see. I mean, literally, miles, which would've been millions of polygons had LoD not been used. But when the mesh update call was issued, it took 1 whole second to do, which just obviously isn't suitable for real time. I can actually show you the code that took 1 second to complete, here ...

This function is called 18 times on an update. As you can see, everything is precalculated. All its doing is pulling info out of an array and writing it to a memblock position.


... and this is called afterwards to make the parts of the map from the mesh made above ...



As you can see, calling those functions 18 times is not much. The code is quite big, but not big enough to make a huge impact. I can only assume there is a huge back log in either the memblock commands, Make mesh from memblock, or make object.

I still think with some tweaking and more thought it might be possible though, but it'll require some clever code that executes the most CPU intensive parts on different program loops, so its a gradual update.

Tough though. Some of dbs commands dont make it easy.

Shadow Robert
21
Years of Service
User Offline
Joined: 22nd Sep 2002
Location: Hertfordshire, England
Posted: 18th Jun 2004 20:24
I agree with Pincho... the base Language SHOULD work without having to make workarounds.

Buggy functions are forgiveable; Buggy Core Language is not!

Illusion Games
20
Years of Service
User Offline
Joined: 16th Feb 2004
Location:
Posted: 18th Jun 2004 21:16
I guess I am a dreamer. I want to believe that the language can do anything that I can dream up. The reality is that I get two piles. Pile A are the things I can do. Pile B are the things I cannot do.

The problem for me is (being a newbie to DBPro) at the beginning, I am not sure what is in each pile. So I start on a project before I know what pile it belongs in. I hate that!

That is where experience with the language comes in though. I agree about the language being solid first though. (and I have run into the alpha transparency issue too Van!)

Fallout - I don't think the issue is with your code. Its not knowing (cycle wise) what is going on behind the scenes. You would have to know a tad bit more before you could even begin to think about tweaking or changing things to make your system work. The possibility is that you will never be able to make it work without having that information.

Mikel Johnson
Illusion Games Studio
OSX Using Happy Dude
21
Years of Service
User Offline
Joined: 21st Aug 2003
Location: At home
Posted: 18th Jun 2004 22:58
I do all mine in VC, using IanM's interface...


The place for great plug-ins and things.
There's the right way, the wrong way and the TCA way...

Login to post a reply

Server time is: 2024-09-22 02:55:03
Your offset time is: 2024-09-22 02:55:03