Iodiplin
Knave
USA
67 Posts |
Posted - Oct 29 2004 : 10:21:58 PM
|
Basically, what you need is an extensive log file. My engine writes an HTML log file from which you could practically re-write the entire engine. It gives function timings, memory leak checks, performance reports, everything which took me more than 3 seconds to type is logged. All functions are indented appropriately within other subs, etc. All errors are counted and listed at the end of the file.
This is EXTREMELY useful because if something goes wrong, not only do I know the error #, etc. but the EXACT location of the error within the subroutine usually within 3 lines of accuracy (but the log entry shows almost the line code itself, so I don't have trouble finding it.) Of course, this is going overboard (i'm a perfectionist when it comes to programming, and probably a completionist as well), but it is very useful. I could tell you without the slightest bit of pain in reaserching the number of errors that occurred during the opperation of the game (their error numbers, parent functions, and exact locations), the number of milliseoconds that EACH initialization/termination subroutine took to run and all combined, etc. I can't help but be a bit proud of my log files, they can easily become 20+ KB. I've used the log file countless times because it provided more information than breaking during run-time could give me.
An easy method of doing this is writing a simple AppendLog sub that accepts an error number and a note. If there's an error, it simply pops a notice in and gives the description. Simple stuff. However, it might be beneficial if you actually add this feature to your engine itself to allow users to send you the log file if something isn't working.
|
Environment Makes All the Difference. |
|
|
Crysstaafur
Squire
USA
37 Posts |
Posted - Nov 01 2004 : 12:55:14 AM
|
Just wanted to with everyone a safe and fun samhain/halloween! :) |
|
|
Crysstaafur
Squire
USA
37 Posts |
Posted - Nov 01 2004 : 04:52:11 AM
|
MasterDabooda and I were talking on the phone yesterday and we have uncovered something that is not in the 1.4 help file. In order for .rendernewstyle to function correctly, the associated texture must be a power of 2 both vertically and horizontally (32x32) (64x64) (128x128) etc.. If you are using textures that aren't, then either nothing or .renderoldstyle should be considered if you are going nuts trying to debug something like a scaling/rotation problem with a sprite.
Another useful tip:if you are going to use an animated sprite (for hero, badguys,etc) instead of alternating visiblity between 2 or more sprites for 1 animated sprite, just use the base number of sprites to render your sprite (i.e. an 80x40 pixel long ship could be 2 40x40 sprites), then animate it by simply using .DBsprite.settexturereference to generate the additional frames. As a side effect you will not need extra code to turn off stuff either as it happens the moment a texture is switched in this way.
Q.E.D. :)
Does anyone know of an alternative way to get a sprites Y position (in screen coordinates) other than .dbsprite.getdrawnY ??
Crysstaafur Intangible, Quantumly Entangled, and in both places at once.. ;)
|
|
|
Scorpion_Blood
Warrior
Portugal
118 Posts |
Posted - Nov 02 2004 : 10:47:39 AM
|
what u mean by this? (i.e. an 80x40 pixel long ship could be 2 40x40 sprites)??
u mean cuting the sprite in half? |
|
|
Crysstaafur
Squire
USA
37 Posts |
Posted - Nov 03 2004 : 4:48:03 PM
|
Ok, say your 80x40 ship has four frames of animation. You could make 4 _odd frames, which makes collisiondetection a tricky affair or You could make 8 sprites total. 2 40x40 for each frame. Too many sprites imho. *or* You could make 2 sprites total. 2 40x40, then load 8 textures instead and use texturereference to switch between the two sprites, instead of managing visiblity between 4 to 8 sprites..
Additionally, you could also make your 40x40 sprites resized to 64x64 and use newstyle ;) (if you need it smaller, like the former 40x40 size, then you could just .scale it down a bit.)
nevermind the .getdrawnY question.. I found an alternate. it was shamefully simple. Just use an incremental counter that computes the Yposition and make sure the value is preserved until the frame loop is complete, so you could use it to both plot your sprite
and track it. :)
|
Edited by - Crysstaafur on Nov 03 2004 4:53:04 PM |
|
|
Crysstaafur
Squire
USA
37 Posts |
Posted - Nov 03 2004 : 4:50:32 PM
|
opps...
|
Edited by - Crysstaafur on Nov 03 2004 4:51:41 PM |
|
|
Scorpion_Blood
Warrior
Portugal
118 Posts |
Posted - Nov 03 2004 : 6:15:45 PM
|
do u think mine bomberman sprites dont work? u can see them here http://web1.t43.greatnet.de/viewtopic.php?t=6758 well they are 26x41 but i can change them do 32x40 and probably that is what i got in mind t do... but then u came to give us a suggestion and that confused me lol |
|
|
Crysstaafur
Squire
USA
37 Posts |
Posted - Nov 04 2004 : 11:56:03 PM
|
If it works, then don't fix it, man. I use _odd for some of my maps since they are to be scrolled horizontally. The main thing I wanted to highlight was the *Texturereference* usage for animation. the .rendernewstyle command however, is a different thing though.. that will need sprites to have a height and width that are both a power of 2. I got my first enemy AI done. It just simply moves with the map and scrolls vertically to chase/lock on the player. Question:Should the first demo/alpha include the boss fight no matter how buggy, or just a clean fight from one side of the stage to the other.. comments are encouraged and welcome :) (Demo Should be ready in 8 weeks, but I don't want to jinx myself yet. lol)
|
|
|
Crysstaafur
Squire
USA
37 Posts |
Posted - Nov 05 2004 : 12:30:35 AM
|
Scorpion, an afterthought... you might be able to resize them to 64x64 (since one dimension is higher then 32), try to center the sprite and simply extend the canvas itself, then paint the canvas whatever transparency color you've decided on. Trans-Color is an individual thing that works with your coding style. They look really good though! Man, I could only wish I could draw like that! :) Any idea when a demo might be available? Although I haven't played bomberman, I have played an old clone of it, known as robowarrior for the NES. Cheesy by today's standards, but was a blast back in the day, and those few freaks like myself, who still run a grey box of some kind. Crysstaafur Intangible and Quantumly Entangled dumb/absent minded question:How do you assign a particular icon file for a vb made exe? |
|
|
maxhamner
Squire
USA
26 Posts |
Posted - Nov 05 2004 : 03:32:56 AM
|
Getting off topic here, Crysstaafur, but the best way to set an icon for a vb exe is to add the icon to the resource file for the project with a name like AICON or AAAICON. You can also set the icon by adding an icon to a form in the project (properties of the form), then in the project properties select that form as the source for the program icon. The resource method is better - you get full support for the multi bit depth icons and automatic display of best quality at given resolution and bit depth in any windows setup. |
-- max There are 10 kinds of people in the world, those that understand binary and those that don't. |
|
|
Scorpion_Blood
Warrior
Portugal
118 Posts |
Posted - Nov 05 2004 : 03:40:37 AM
|
thanks :D now i know what do do :D anyway to ur question: theres a property in the form that is called ICON, there u can choose the icon u want... dont forget is that it need to be an .ico image and it dont work if the icon have alphachannels... dont ask me why, u just know that i tested an icon with alpha channel and one w/o!
--------------edit---------------
great max :D u solved mine problem about the icon alphachannel :D thanks
about a demo, dont know yet... im getting really slow on the bman project :\ dont have time, im first doing the images (tiles map are near finished) then i start in the code, and well i already started at code but not much :\
and im still making the dabooda site and that is mine first priority |
Edited by - Scorpion_Blood on Nov 05 2004 04:33:37 AM |
|
|
Crysstaafur
Squire
USA
37 Posts |
Posted - Nov 18 2004 : 09:15:24 AM
|
Out of fleeting curiousity, what does everyone think about having a shared 'Made in Dabooda Turbo' screen/logo for anything made with it? |
|
|
Scorpion_Blood
Warrior
Portugal
118 Posts |
Posted - Nov 18 2004 : 11:30:10 AM
|
the logo that booda showed in v14. the one with wavy T, that is what im using :) |
|
|
masterbooda
Swordmaster
277 Posts |
Posted - Nov 22 2004 : 3:17:03 PM
|
You can use anything you want... to be honest you don't even have to mention the engine... and if you want to maybe put it in the lower left corner in a font with the size of 2.... lol
For lolo, I have a splash at the begining, that says DaBooda 8bit, for the fact that it is a 8bit remake... then I have a screen that goes blah...blah... then at the end, says powered by DaBooda Turbo 1.4...
Maybe a shared MAde with splash would be cool, but only for those that wan't to use it... I like the wavy T, thanks to Scorpion for that one, for it is his retro T with an added ripple...I like that one, and will most likely use it in originals I plan to make..
DaBooda out... |
DaBooda Team is back: http://dabooda.789mb.com/ |
|
|
masterbooda
Swordmaster
277 Posts |
Posted - Nov 22 2004 : 10:04:37 PM
|
Just wanted anyone interested to know, that Lolo is now 99% complete, just finishing up the help file and waiting on my brother Crysstaafur to finish testing it...I should have it out hopefully by thanksgiving... hopefully...time permitting, to bad the world doesn't stop long enough to finish a game project...lol
DaBooda out...
P.s. Not looking forward to the legality argument even though what I did was 100% Legal, there will still be comments...sigh...if people would just play instead of argue...lol |
DaBooda Team is back: http://dabooda.789mb.com/ |
|
|