Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - Vectrex32

#76
I think this could be arranged.

- Bob
#77
Code Swap / Re: AYC Music player
November 13, 2019, 08:17:42 AM
Thank you for posting this!

Looks like you're giving me a homework assignment. :-) A function to get the file length should be easy enough. But I'll have to think about how to do byte arrays.

- Bob
#78
Let me see if I understand your code.

mySprite is an array where each element has a MoveTo or DrawTo, the (x, y, z) coords of the point we're moving/drawing to, and the (x, y, z) vector of the line's normal. You rotate the line and the normal, and cull the lines whose normals have z < 0. Is that right?

The tricky part is that you've hard coded the normal. That's a big burden on the programmer (assuming he doesn't have a program that's converting OBJs, like you do). On the plus side, if you hard code the normal, it doesn't matter anymore which direction your line is going; you can draw your lines in the order that will make it look best on the screen, rather than in the direction that the code would require for calculating normals.

I'm still confused about the wheel surfaces disappearing. What I'm seeing is that as the cycle rotates, an edge of the wheel appears and disappears. Is that what you're referring to? You say they were semi-transparent so you "culled them on vectrex". You mean you removed them from the mySprite array? Then why do they ever appear?

- Bob
#79
I'm implementing an ON ERROR CALL .... mechanism for this.

- Bob
#80
Do the test on the V32. My concern is that the Vectrex's analog hardware is not precise enough to move to the starting point of a previously drawn line.

- Bob
#81
I'm a little concerned about the direction of the lines being so important. If you're drawing a triangle, but all the lines need to go left to right, then you can't do three DrawTos; you need to do a DrawTo, MoveTo, DrawTo, MoveTo, DrawTo. It won't end up looking good.

I think I'd need to add polygon-based sprites.

- Bob
#82
This will be fixed in the next release (version 1.21).

- Bob
#83
So if I understand correctly, you want to be able to survive a DPRAM overflow so that you can rearrange things in the next frame to fix it.

OK. I'll give that some thought.

- Bob
#84
Another post that I didn't see until today. :-( Sorry.

Regarding option 1 (not drawing the overflowed items): this is basically ignoring an error. My philosophy is that errors should blow up your program so that you notice them at development time. And even after your code ships, errors should "blow up" the program (assuming no lives are at stake) so that they are noticed. It's better than having erroneous output that the user assumes is correct. I think there's a reasonable argument for leaving ASSERT statements in your release code!

If your game doesn't fit into DPRAM, the best thing is to notice it and fix it before release. The second best thing is to hear about it after release from a player who knows what he saw and knows it was a bug.

Part 2 suggests that you would dynamically change the effective render rate. That's another thing that I'm uncomfortable about. It's better to understand the maximum load your program can produce, and have deterministic ways of handling it.

Your idea about paging the display list is very intriguing. I like it a lot. It would be a challenge to implement, so my question is, is it really necessary? If the DPRAM is full, isn't the Vectrex already drawing more than it can do in 1/30th second?

- Bob
#85
I took a course in 3D graphics back in college, but that was 36 years ago, so be patient with me.

How can you take the normal of a line? The normal would be perpendicular, right? But in 3D space, there would be an infinite number of lines perpendicular to your vector.

You could find a normal of two joined vectors, but programmers would have to be really careful of which direction their vectors are going to make sure the normal is pointing the right way and indicating whether this is a back face or a front face.

Or am I missing something?

- Bob
#86
I'm terribly sorry that I didn't respond to this earlier. Apparently, my notification mechanism is not working.

Is this problem still happening? The only thing I can think of is that when you paste, it sends characters to the V32 faster than the V32 can handle. But when I try it using Tera Term on my PC, it works OK.

- Bob
#87
I'm not sure how I'd pull this off. 3D sprites aren't defined as polygons, they're just defined as lines.

I guess I'd have to introduce a new type of sprite that uses polygons.

- Bob
#88
It's not the error message that's missing a line number, it's the line of code itself.

Can you post an example that reproduces this?

- Bob
#89
Hmm... I never got e-mail notifications of those posts. I don't understand why.

- Bob
#90
I'm working on a fix for the crashes: the final MoveTo in a sprite will be discarded if the next sprite is a ReturnToOrigin. Would you be willing to beta test it?

Since this means coming out with a new version, are there any other features (or bug fixes) you'd like to see?

- Bob