All Programming Discussion
Graphics, Audio, Engine Design, etc.

cooljerk - you're right but most of the stuff will have to be rewritten anyways.

E.g., no need for vsync timing to do palette effects to allow for more colors
Computers are powerful these days

I'd also go with using vectors/splines for collision data instead of using pixel maps
So this would require a rewrite as well

But another solution might be to just provide a flat-3D model of a map for use with the collision
And then a tilemap for the drawing

Mm, I agree with you, but that begs the question - is the aim of this project to be as accurate as possible? What amount of creative control will we exert in changing how the game works? Like, as you said, will we change the collision method, or leave it be?

cooljerk - you're right but most of the stuff will have to be rewritten anyways.

E.g., no need for vsync timing to do palette effects to allow for more colors
Computers are powerful these days

I'd also go with using vectors/splines for collision data instead of using pixel maps
So this would require a rewrite as well

But another solution might be to just provide a flat-3D model of a map for use with the collision
And then a tilemap for the drawing

Mm, I agree with you, but that begs the question - is the aim of this project to be as accurate as possible? What amount of creative control will we exert in changing how the game works? Like, as you said, will we change the collision method, or leave it be?

If everyone is smart, we'll aim for perfect accuracy going strictly for improved graphics/music. Anything extra is just wasteful.

I don't know offhand how many different palettes we'd need under your scheme, but the current thinking (as I recall) is 256 possible colors per 8x8 tile or 16x16 mapping. This would include at least one purely transparent color and would also imply a separate palette for each different tile I think. There must be a more efficient way to do it than that though. The other thing is that each color needs to be selectable from 255 R, G, B, and A values.

As for screen resolution, currently we're looking at 1280x960 or 1280x896 I think, four times what the Genesis uses.

I don't know offhand how many different palettes we'd need under your scheme, but the current thinking (as I recall) is 256 possible colors per 8x8 tile or 16x16 mapping. This would include at least one purely transparent color and would also imply a separate palette for each different tile I think. There must be a more efficient way to do it than that though. The other thing is that each color needs to be selectable from 255 R, G, B, and A values.

As for screen resolution, currently we're looking at 1280x960 or 1280x896 I think, four times what the Genesis uses.

255 colors per tile map is doable, but it'll require some change.

The way I normally have it set up is one palette per layer, but like I said, it's flexible.

Also, each color under my graphics engine is already selectable from 255 R, G, and B values, with an additional 255 step being thrown in for alpha per layer. Additionally, when you draw a tile to a layer, you can choose to apply an alpha blend without blending the layer, but it's much slower.

Wow CJ, it looks like you've put some real effort into your graphics engine. Thanks for giving everyone the details of it, exciting stuff From the sounds of things it could serve the project very well indeed.

looking it up real quick, it seems there are ways to play video using SDL, but they're all kinda wonky. Like, I can create an SDL_Layer as a YUV Overlay and then play video in the background using ffmpeg, but that's kinda run about. I guess I could let opengl handle video, but I'm not sure how openGL handles video.

I could contribute to the project, but my time is quite limited right now to say the least.. I was actually planning about going open source with what I have, but well, I'd need quite some time to document it entirely to be honest.

I'm gonna suggest to let this project start open source from the very beginning - that way everyone will be able to add their part and eventually it might even get finished and everything.

I'm gonna suggest to let this project start open source from the very beginning - that way everyone will be able to add their part and eventually it might even get finished and everything.

I'm quite happy to change the project plan to that, although before a final decision is made I wish first to see more advice or feedback on this issue from other programmers (Cooljerk and Jman in particular)