OK, version Alpha 0.4 is out. Quite a few changes, with a quick summary
BMJ, I'll think about the mouse control. I'm not sure how it would work out, so I'll play with it. For now, OWNED is going to stay.
* Limited turning
* Warp tiles
* Change in level system so it works as intended
* The background now displays (thanks Bubba, z-buffer indeed!)
* The window title bar now says "UberTube" instead of SDL_App
*Slow down the opening screen by alot, it makes me dissy in the time it takes to hit spacebar
*Add options for gravity, rate of speed increase, rate of block density decrease
*Those rotating things are cool, but they seem to happen at fixed intervals. It'd be cool if that was random
*Other ideas for events:
-Block color changes
-Counterclockwise rotating segments
-Changes in tunnel diameter
-Block location shifts
This is the bug referenced by the red warning at the top of the first post. I made a quick fix, compiled, and didn't have a computer with 3d acceleration on to test before I uploaded, and blamed it on the integrated. I'm working on fixing it now.
Also, it seems I can nolonger edit the first post of this thread. Any ideas?
Latest version, fixed
OK, I've got that bug killed. If you download from the above you'll have the latest version.
I sent a PM to Sean to have the top post edited soon.
Anyway, enjoy the new version. Lots of improvements, and now without the nastyness.
Warp tiles make it alot easier. My first score got up to 475000 with them.
Anyway, I have another game version you can add to this. Have a looping tube that deletes squares as you hit them. As you play there are less and less squares to land on.
Anyway, really good job with this. It's a fun game.
Why is the background included twice? It should probably be a PNG anyways, which are easy to load using SDL image
Hey, glad to know you guys like it. Some upcoming definites before I release an official 1.0 or whatever you want to call it:
Regarding MadCow and SlyMaelstrom's ideas:
* Skill/probability adjustments
* High Score board
Anyways, I'm going to play with all of your ideas and see what I like. There are so many of them, and I want to keep it simple and not have multiple modes. I'll see which of your ideas fit best into the game. Thanks for the C&C
Regarding the BMP:
Its included twice, along with lots of other junk that isn't needed in that archive, such as the source code, VIM temp files, compiled .o files, a bkp and data folder. I'm going to clean this all up before the first 1.0 release, and have seperate source/exe/windows/linux packages. Originally I went with a BMP so that I wouldn't need to include SDL_image. Of course, that was pointless, because SDL_image is smaller than the BMP - the PNG, (or even a JPG would work), so I will switch it to SDL_image soon enough.
On a final note, does anyone have any good recommendations for a program which allows me to make a single exe which extracts itself into a temp folder and runs itself? (You have no idea how many of my friends cannot comprehend the "SDL.dll missing" error they get when trying to run without extracting)
What's the deal with OpenGL and tubes? This is the second
OpenGL game I've seen that involves falling down a tube.
I like it, though.
Thanks, that seems to be just what I was looking for.
Also, ethic, what is the other game? I wouldn't mind taking a look.
Tube games just generally look cool and aren't extremely challenging to create graphically, or atleast that is my explanation as to why there are a few.
Glad the Zbuffer suggestion worked. Not sure why NVidia has theirs ON by default and ATI has theirs off. Encountered this bug myself and it 'bugged' the hell out of me till I figured it out.
Might I suggest perhaps texturing the tube geometry a bit? This would definitely separate the individual tile pieces much better. It is hard to differentiate between certain tiles. A common texture could be used for 'edges' of tiles/cubes. Since you are not drawing the back faces you really only need to texture 2 surfaces - the top surface or inside of the tube and the front edge of the cubes, but only when they are visible and not hidden.
Since you are dynamically creating cubes you could at run-time determine which cubes/tiles need edge textures by determining whether or not it had a tile in front of it. If not, you texture the edge, if so - don't texture the edge. Occlusional testing would be far too expensive on every cube. You would have to do a camera to cube surface ray intersection test. The simpler algo should work just fine.
And I must say throwing you off the map for hitting one wrong tile is a bit harsh. Perhaps a gameplay change is needed here that would hurt the player, but not throw them out of the tube.
Perhaps bouncing them backwards would work. As they go backwards decrement the score instead of increment, but don't cause them to lose a life. Moving backwards would have to use a buffer that stored the most recent 50 segments or so - but this number would be relative to the highest amount of backwards 'push' a pink tile could give you. You could not just randomly create pieces because the attentive gamer would realize that the tube portion they just passed through, is not the same when they get pushed backwards. I don't know how you are creating the sections but I assume you are starting at the top and using values to represent each cube. One entire ring of the tube could be represented in a 9 or 10 element array depending on how resolute the tube curvature is. Since all cubes are the same geometry but in different orientations, I would assume you could easily do a number to cube translation very fast. I have not looked at your source as of yet. IMO it is yours and I have no business in doing so. Thank you for providing the source, but in no certain terms do you have to. You worked hard on this and it is evident and therefore you deserve to control the source code.
Also it needs some fast-paced music or music that is paced to the speed of the tube and also some sound effects.
If you need sound support I'll be glad to help.
Thank you for all the input and ideas Bubba. I will definitely implement your idea for the "ownage" tile. I thought of a relatively simple way to update it with probably five minutes worth of code changes. Basically, I can just have it render everything a certain number of segments ahead, and adjust Z proportinetly for collision detection. The way I designed the tube allows for this easily.
Maybe, to seperate the tiles, I'll just shrink them all a little bit, so that they are seperate, and then I'll add textures to improve looks depending on how things go.
As far as sound goes, I've got permission to use some trance/techno from an author, which should work pretty well. My friend is going to record some sound effects (he is incredible). If I'm having difficulty getting SDL_mixer to work, I'll let you know. Thanks for all the contributions.
Also, you can look at the source for now. Eventually, I'll probably go GPL with it, although that is yet to be determined.
I just noticed that on version alpha 0.4 I can't get over level 3 :O
Bug wise, or skill wise? I find it somewhat easier