Omnimaga
Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: Matrefeytontias on December 29, 2013, 05:49:58 pm
-
Hey guys,
So, basically, what the title + subtitle says. I just thought it was cool to have a game with a fully-rendered 3D tunnel in it. I have the tunnel, now if you have ideas of a game to put it in, please let me know. ;D
(http://img.ourl.ca/firstTry.gif)
It's pure Axe (excepting some Asm(CB3D) to fasten /2), exactly 2000 bytes, the way it's coded allows for custom deformation of the tunnel (for now, each segment has X = cos(timer), Y = sin(timer)), it's endless, it runs at 9 FPS at 6 MHz and it doesn't use GLib.
Any idea to share ?
EDIT : Frostion suggested http://armorgames.com/play/10289/vector-rush .
-
My suggestion is a Starfox64-like.
-
In a tunnel ? And enemies would slow down the game too much I think.
-
Hmm... I guess that wasn't well thought through.
I don't know, then.
-
Hidden surface removal should be pretty easy to implement.
-
Actually no, because of the way I defines faces. To be precise, only 10 vertices are displayed at a time, and 0 faces. I have a vertex at the center of each vertical segment, and each segment has a width (on the X axis) and height (on the Y axis), this way I do minimum calculations.
-
I was thinking that after you draw the nearest rectangle, that is the clipping rectangle for the next one, and you keep on shrinking it.
-
But I can't do that since I don't draw rectangles at all ... I only connect the vertices of two segments and the vertices of a single segments with a clipped line.
-
But you know the position of the four vertices that make a segment?
These are the edges of your clipping rectangle.
-
That looks so cool *.* did you use #ExprOn? That could speed it up. I always forget to use that in my games...
-
This looks a lot like what ben_g did here (http://ourl.ca/20032/371822). Was it made on purpose to compare your performances with GLib again ?
-
look great :D . The only thing who surprise me is that you have only 10 vertices displayed, and that it doesn't run so fast ... :P :troll:
An other thing : can't you check the sign of thing like X2-X1 to see if face need to be remove or not ?
-
But you know the position of the four vertices that make a segment?
These are the edges of your clipping rectangle.
More on that below.
That looks so cool *.* did you use #ExprOn? That could speed it up. I always forget to use that in my games...
Yeah actually I forgot to add that :P but it would have been over 2000 bytes then.
This looks a lot like what ben_g did here (http://ourl.ca/20032/371822). Was it made on purpose to compare your performances with GLib again ?
It was made on-purpose, but not to compare perfomances. I just loved the game ben_g showed, and wanted to make one similar but more advanced :)
look great :D . The only thing who surprise me is that you have only 10 vertices displayed, and that it doesn't run so fast ... :P :troll:
An other thing : can't you check the sign of thing like X2-X1 to see if face need to be remove or not ?
I draw 116 lines. That's why it's not so fast.
Mh yeah actually I could discard a segment if its leftmost X is smaller than the leftmost X of any nearer segment, and same for other vertices. Since my vertices are already ordered from nearest to furthest, that'll be simple. The only downside is that since the culling does not depend on the camera, you must stay inside the tunnel to see things correctly. In the final game, you won't be supposed to go outside of it anyway :P
-
That looks so cool *.* did you use #ExprOn? That could speed it up. I always forget to use that in my games...
Yeah actually I forgot to add that :P but it would have been over 2000 bytes then.
Do it 8) I got tons of room on my calc.
-
Looks quite nice and smooth. I think just a tunnel clone would be fine, but maybe with some power ups that you must take or avoid that can speed you up or slow you down. One main challenge of a 3D Tunnel is that you have to avoid walls on 4 sides rather than just 2, so you have to be more careful.
-
You cold make the tunnel get smaller as you go along too.
-
I think a 3D tunnel is not overkill enough though :P
-
Looks like you have a lot of horizontal and vertical lines. If you aren't already, I would suggest drawing them with HLine() and VLine() instead of the standard Line() for what I imagine would be a noticeable speed boost.
/me jots down to make this special-casing automatic in a future version of Axe.
-
It's exactly what I did in this update :P I also optimized clipping a lot. Result is more than 400 bytes added (program is now 2419 bytes large), but speed doubled at now 18 FPS (using #ExprOn) ! :D
(http://img.ourl.ca/secondTry.gif)
There are still some clipping bugs when you're outside the tunnel, but you're not supposed to be there anyway.
Next step : attempt solid rendering. I think I see a method that wouldn't be too CPU-intensive.
-
Very great! :D
-
I have solid rendering awesomeness working ! :D clipping windows are so much fun.
Actually, it only works when segments are not connected. So I planned to release two games : an actual 3D clone of the Tunnel game and another one more interesting :P
I'll post screenshots of both when I'll have collisions done for the former, and clipped connections for the latter. :)
-
Wait, did you manage to achieve solid rendering without much speed loss? O.O
-
It's actually faster than when wireframe :P
-
Okay, so I'm done with the tunnel game, it's ready to release :D
The tunnel starts large and slow and become faster and smaller as you progress !
Try to beat 1578, my highscore :P (I'm sure it's not that hard).
-
The solid tunnel looks really cool, but when you get over 1000, it looks like the segments of the tunnel aren't all at the same distance from eachother. Is this intentional, a bug, or just an optical illusion?
-
You're right, looks like it's a bug. I know how to correct it though.
-
Would it be possible to add the diagonal lines back in? I think it looks better that way.
-
True this, I liked the game better with them. I think they were removed because they are slower than horizontal and vertical lines only. But in this case, something should be done about the score because TI's routines are slower than my first ASM program.
-
I'll include segment connections in the other game. I wanted this one to be fast-coded, kinda as a proof of concept, and segment connections are not clipped yet. But that'll definitely be done in a more complete game.
-
That game is awesome :thumbsup: will you be making a menu?
-
What would be in it ? Start / quit ? :P no use for a menu.
-
Well, "menu" is a big word since indeed, there would not be a lot of choices. But something that displays the current highscore (that you'd have to save then :P) and waits for a key to be pressed before starting would be a nice addition :)
-
something that displays the current highscore
That's what I meant.
(http://img.ourl.ca//tunnel.gif)
(when I crash it shows a little box that waits for a key like Hayleia said)
-
I can add that yeah. Not that popup thing which is a bit overkill IMO, but I'll add highscore + pseudo-menu.
-
This is pretty sweet Matref! :D
-
Awesome work! I'm still trying to get over the fact that you made it run that fast in Axe :o Is it 6 MHZ ?
-
Thanks ^^
Also, small update + actual release :) I corrected the bug ben_g mentionned, added the crappiest menu ever seen in the world and highscore with SMC, and I used Keoni29's font to display the score, which made me gain 1 FPS - from 27 to 28 ;D
(http://www.ticalc.org/archives/files/ss/850/85073.gif)
Download the actually up-to-date version on ticalc : http://www.ticalc.org/archives/files/fileinfo/457/45784.html
EDIT : sorry parserp I didn't see your post ^^' I refer you to my sig :P
-
I finally had clipped segment connections working ! And it's not even slow ! :D
That means, I now have an actual solid 3D tunnel, this time including the "diagonal lines" you guys were asking for :P
I'll post a screenshot in a few :)
-
Bump, sorry for triple-post :/ but
Screenshot ! :D It's 15 FPS at 6 MHz btw :)
(http://img.ourl.ca/first.gif)
-
O.O Holystuff, that's pretty epic Matref ! Great job ! :thumbsup:
-
Very nice! :D WIll you keep a 15 MHz version, though, for those who want smoother gameplay?
-
I don't have a 15 MHz version .-. And having one would make the game so fast it's unplayable :P
So, now the plan is :
- Let Tunnel 3D alone. It's a separate game than this one, and it's fully completed and available on ticalc.
- This more beautiful tunnel will be another, more interesting game, but I don't know exactly what it'll be. So just post ideas if you have some !
-
I don't have a 15 MHz version .-. And having one would make the game so fast it's unplayable :P
Can't you just reduce the distance moved each frame?
-
I don't have a 15 MHz version .-. And having one would make the game so fast it's unplayable :P
So, now the plan is :
- Let Tunnel 3D alone. It's a separate game than this one, and it's fully completed and available on ticalc.
- This more beautiful tunnel will be another, more interesting game, but I don't know exactly what it'll be. So just post ideas if you have some !
Oh ok I thought the previous versions were 15 O.O
EDIT: Nvm, I realize that I confused this thread with the other ._.
-
I don't have a 15 MHz version .-. And having one would make the game so fast it's unplayable :P
Can't you just reduce the distance moved each frame?
It's already pretty low, and either case I hate using Full.
DJ nothing in this thread nor any thread of my making is 15 MHz :P (excepting the plasma one).
-
matref, you sure are awesome at 3D-stuff ;)
-
Aw thanks ;D
I need ideas for this game, so propose if you have some :) I thought of a kind of obstacle dodge or something ...
-
power ups of some kind?
-
More like an actual concept :P I don't even know what game it's going to be.
-
maybe with, depending on how far you get, you get 'money' and have a store where you can buy stuff (planned that on one of my games :P)
-
/me is thinking of weapon upgrades
-
or extra lives? :P
-
Yeah, that's a classic :P I was more trying to think about an actual gameplay.
-
Yeah, that's a classic :P I was more trying to think about an actual gameplay.
oh :P
/me is thinking of weapon upgrades
So a combo of a tunnel game and a shoot-em-up? O.O
-
That was the idea, I'll try things in this direction ;)
-
Ok, now this sounds far more awesome than before, good luck with it! :D
-
It would awesome if you could make the tunnel change shape or spin (no idea how to do that though).
-
I know how to spin it, but it would require a complete rewrite and would be much slower, plus invalidating the algorithm used for solid rendering.
EDIT : palindrome posts number + palindrome respect ! 8D
-
EDIT : palindrome posts number + palindrome respect ! 8D
Lol, I had that too yesterday :P
That was the idea, I'll try things in this direction ;)
Wow, this is going to be epic O.O
-
Another idea I had: Super Sonic Ball 3D? :P (Although I was thinking about using that title for a future HP Prime game)
-
Hum nope :P I don't see myself programming it.
-
Bump,
Ever dreamed to drive a ship in 3D first-person view in a 3D tunnel, while firing bullets that collides on walls of the previously-mentioned tunnel ? WHAT DO YOU MEAN NO - I mean now you can :D
(http://img.ourl.ca/firing.gif)
Imma add enemies to that.
-
wow, just wow o.o
-
Something like this? You obviously could not have as complex tunnels, but the enemies could work the same way.
-
I was thinking on enemies that are more dynamic, and why not obstacles yeah. The tunnel will be bigger anyway.
-
that looks simply amazing :D
it reminds me of this:
and yes, i'm a big sonic fan :P
-
Okay so I've been having some fun with the source... :P
(http://img.ourl.ca/tun3d_normal.gif) (normal)
(http://img.ourl.ca/tun3d_on_steroids_gone_crazy.gif) (steroids)
This is an awesome program Matrefeytontias! :thumbsup:
-
O.O O.O O.O
haha looking good ;D(http://www.omnimaga.org/Themes/default/images/gpbp_arrow_up.gif)
have you already got an idea for a name?
-
ClrDraw haha not bad :P I guess you just changed °TSpeed and HitRange, right ?
TheCoder1998 nope, no name yet. I'm focusing on Worms atm ;D
-
lol, steroids :P
But that is insane fast ^.^
-
ClrDraw haha not bad I guess you just changed °TSpeed and HitRange, right ?
Lol, yup. I had to slow down wabbitemu to 25% so I didn't crash right away XD
TheCoder1998 nope, no name yet. I'm focusing on Worms atm
YES, my friend and I have been waiting for that project.
-
ClrDraw's version should be called Vortex.
-
It's nothing more than my version with modified constants :| why Vortex ?
-
Lol I think both should be released :P (either as one or both, they look both fun). Maybe speed setting?
-
Yeah, maybe you should just have them not be constant and make a menu to set their values ;)
Not so hard to change using TokenIDE, you just replace all your °MyVar with MyVar then add a declaration and a setting.
-
I'll probably add that if I have some minutes to lose, although that probably won't be the case before the end of the week due to TI-Concours :P
-
Crap, my attempt to distract you from the contest has failed :P
Jk, I understand ;)
Good luck by the way :)
-
I would say that ClrDraw's program incorporates a mode of game-play that is more ideal, with what seems to be a goal of avoiding the tunnel's edges in sharp turns.
-
If you're talking about the super-fast/steroids version, then Matrefeytontias should still get the credit. All I did was change a few variables in his source :)
-
I still think the normal mode should still be available though, lol, because in your version it seems incredibly hard, so maybe some people will not like. ON the other hand, both looks cool :P
-
Make speed a variable and slowly increase it over time? That's a pretty standard arcade game mechanic that seems like it would work pretty well with this kind of game.
-
That could actually work too, as long as the speed increase is reasonable (eg it doesn't take 10 minutes before finally seeing a noticeable increase in speed)
-
Make speed a variable and slowly increase it over time? That's a pretty standard arcade game mechanic that seems like it would work pretty well with this kind of game.
That would be a great idea. You could also shrink the size of the tunnel.
-
For some reason, I could not see the plot of the game in the slower version, namely because it was so slow. XD
-
I think shrinking the size of the tunnel might be hard in 3D, since it would be hard to even notice. Just avoiding walls will be hard enough lol (since there's no ship shadow)
-
Make speed a variable and slowly increase it over time? That's a pretty standard arcade game mechanic that seems like it would work pretty well with this kind of game.
That would be a great idea. You could also shrink the size of the tunnel.
That's how you see nobody tried the game before talking. <_< I already implemented all of that, but it's not really noticeable before 1000.
-
I played it on the emulator and my calculator, I just suck at it and die before 1000 XD
-
Make speed a variable and slowly increase it over time? That's a pretty standard arcade game mechanic that seems like it would work pretty well with this kind of game.
That would be a great idea. You could also shrink the size of the tunnel.
That's how you see nobody tried the game before talking. <_< I already implemented all of that, but it's not really noticeable before 1000.
Sorry! I was a bit late to this topic, so I just presumed other people's posts about their experiences with the game were accurate... But if nobody noticed its existence, perhaps it would be worth considering exaggerating it somewhat? Or perhaps you could add a speedometer?
I'm pretty sure I tried a game vaguely like this a long time ago... I failed. :P So good on you for reading my mind from the past and succeeding.