| |
Simple Debugers Display.(declined), should be good for something..
Draco Icebane |
|
Standard Member
![Sprite Comp Winner Badge (1) [*]](https://archive.mfgg.net/html/badges/scg1.gif) ![Sprite Comp Top 5 Badge (4) [*]](https://archive.mfgg.net/html/badges/sct4.gif) ![Drawing Comp Top 5 Badge (1) [*]](https://archive.mfgg.net/html/badges/dct1.gif) ![Music Comp Winner Badge (1) [*]](https://archive.mfgg.net/html/badges/ucg1.gif) ![MFGG Awards 2004 Winner [*]](https://archive.mfgg.net/html/badges/award04.gif)

Group: Banned
Posts: 52997
Member No.: 10
Joined: 13-October 03
Status: (71582612m)
![[XX]](style_images/mfgg2_skin/warn_suspend.gif)

|
| QUOTE (Banana Head @ Mar 24 2004, 12:48 PM) | Draco...shut up... Counters are more useful in more complex engine, because you can have unlimited number of them, this only happens if you don't organize it well |
Alterable values are the way to go. You can stick what they all do in a TXT or HTM file and use the Search command to figure it out instead of moving your mouse over your table of Counters trying to remember the grouping system you used because you haven't worked on your engine for months.
| QUOTE | | Counters are more useful in more complex engines, because you can have an unlimited number of them... |
You get three Alterable Values for every type of Active Object. Not sure about your method, but I always have more than enough Alterable Values to make my engine because I use the values of the collision detectors and scrolling object and whatnot. More complex engines are usually done in MMF, which gives roughly 26 values per object, meaning if you run out you can try making an Active Object that you store out of the way (with what it does in the afore mentioned TXT or HTM file) and get 26 more counters, whose ranges you don't have to set. And the SoL command can set the Alterable Values before any other events check to see what they are. MMF also allows you to specify what the beginning value of an Alterable Value is, just like a Counter except it doesn't take up an object slot.
Counters are there solely for display purposes. Invisible counters are completely useless, you can use those if you want, but that's pointless, Alterable Values are cleaner and take up a third as many object slots.
And if you NEED an infinite number of counters/values/strings/whatnots for your engine, you should stop and think exactly how well it'll run on computers that aren't new-straight-from-the-1337-factory
|
|
|
Retriever II |
|

Catalyst
![Host Badge [H]](https://archive.mfgg.net/html/badges/host.gif) ![Big Help Badge [*]](https://archive.mfgg.net/html/badges/bighelp.gif) ![Ultra Happy Heart Badge [*]](https://archive.mfgg.net/html/badges/uhappyheart.gif) ![Super Submitter Badge [*]](https://archive.mfgg.net/html/badges/submissions.gif) ![Sprite Comp Winner Badge (2) [*]](https://archive.mfgg.net/html/badges/scg2.gif)
![Sprite Comp Top 5 Badge (2) [*]](https://archive.mfgg.net/html/badges/sct2.gif) ![MFGG Awards 2004 Winner [*]](https://archive.mfgg.net/html/badges/award04.gif) ![MFGG Awards 2005 Winner [*]](https://archive.mfgg.net/html/badges/award05.gif) ![MFGG Awards 2006 Winner [*]](https://archive.mfgg.net/html/badges/award06.gif) ![MFGG Awards 2007 Winner [*]](https://archive.mfgg.net/html/badges/award07.gif)

Group: Members
Posts: 18290
Member No.: 52
Joined: 13-October 03
Status: (0d)
![[--]](style_images/mfgg2_skin/warn_nosuspend.gif)

|
On the subject of the debugger. It's a start, but most of the values are really useless. For a static engine, the real useful values are the X and Y movement biases (or Z, Pocket Mario use dthe Z axis in the overworld).
While we're on the subject of debuggers, something that's very useful that I employed in Pocket Mario but havn't seen anywhere else is a realtime collision status block. There's a group of colored blocks up in the corner representing the different-colored detectors, and the status changes depending on what's being overlapped. I had a different state for overlapping 'nothing', 'backdrop', 'active object', and 'backdrop and active object'. Probably one of the most useful debugging features for figuring out why the player object gets stuck or behaves oddly on various platforms. It's also useful to be able to toggle the visibility of individual detectors just to see what they're digging into.
2 other bits I found to be pretty important was the 'Crash Data' and the 'magic key'. Crash is probably a bad word for it, but upon pressing a key the game freezes and a textbox listing various alterable values, counters, or toggle states can be invaluable for figuring out stubborn problems. Why did Mario freeze after the ground pound? Conflicting flags in my case, I would have had a hard time figuring it out without seeing all the states. And the Magic Key is something I stuck in to reset all the player and global flags to the off possition, which 95% of the time fixes (and more importantly confirms) a flag-related problem in the engine.
Granted, those debugging sollutions are somewhat dependant on your engine design, what works well for me might not work at all in another engine (lik the magic key). But whatever, maybe you'll get some ideas from it.
--------------------
 
|
|
|
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
Track this topic
Receive email notification when a reply has been made to this topic and you are not active on the board.
Subscribe to this forum
Receive email notification when a new topic is posted in this forum and you are not active on the board.
Download / Print this Topic
Download this topic in different formats or view a printer friendly version.
[ Script Execution time: 0.1154 ] [ 14 queries used ] [ GZIP Enabled ] [ Server Load: 1.90 ]
| |