Omnimaga

Calculator Community => Other Calc-Related Projects and Ideas => TI Z80 => Topic started by: tloz128 on September 21, 2010, 06:53:36 pm

Title: Project Idea- Outrun Z80
Post by: tloz128 on September 21, 2010, 06:53:36 pm
So, I've been playing a ton of Outrun lately. For those of you who have never heard of Outrun, here is a video of it
. Basically, it is one of the best- if not the best- arcade racing games in existence, and I would like to port it over to 15 mhz calcs (I don't know how well I could do with 6 mhz). At the bottom of the post is a picture of Lotus Turbo Challenge for the ti-83+. It looks alright, but there are some things about it that I would want different in the game. For starters, I think that I would want to have a much larger car sprite that changes depending on which way you are steering. Along with that, I would like to implement hills and grayscale, four-level being ideal. Also, I would not like a stationary camera, but one that moves along with the car. Before I even get started, I would like to know would this be possible in Axe? I should probably also mention that it would not use anything like a Mode-7 type of engine.

I do not think that I would be able to make such a game by myself, however. I do not know how to go about creating a racing game of this kind (by that I mean storing the tracks in memory and drawing them onto the screen). If this game is indeed possible, would anyone be willing to help?

(Lotus Turbo Challenge)
(http://www.ticalc.org/images/news/1999-09-13-lotus.gif)
Title: Re: Project Idea- Outrun Z80
Post by: fb39ca4 on September 21, 2010, 06:59:02 pm
So what is the screenshot, then?
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on September 21, 2010, 07:02:42 pm
Lotus Turbo Challenge. I was just using it for comparison. (No, I did not make it  :P.)
Title: Re: Project Idea- Outrun Z80
Post by: fb39ca4 on September 21, 2010, 07:13:14 pm
Oh. For some reason, I thought it was a pc game, and the screenie was a mockup.
Title: Re: Project Idea- Outrun Z80
Post by: Deep Toaster on September 21, 2010, 07:16:39 pm
Lol, I thought you were trying to make something that would be faster (i.e., "outrun") a Z80 processor. Not too hard ;)
Title: Re: Project Idea- Outrun Z80
Post by: Builderboy on September 21, 2010, 07:18:57 pm
I know DJ worked on a racing game like what you want to do, maybe he can give some pointers or elaborate on the concept behind his engine?

http://www.ticalc.org/archives/files/fileinfo/428/42883.html
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on September 21, 2010, 08:12:35 pm
I actually saw that a couple of days ago, and it helped me get the idea for this game (along with Lotus Turbo Challenge, of course). I figured that if DJ could get that in Xlib, I would at least be able to get a reasonably good racing game done in axe.
Title: Re: Project Idea- Outrun Z80
Post by: meishe91 on September 21, 2010, 10:13:57 pm
Good luck with this :) It sounds cool. Calc84maniac might be able to help a little to since he has F-Zero, it's a 3D game but some things should still apply.
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on September 21, 2010, 10:38:02 pm
thanks! although I don't think it's going to use very much 3d math, but will most likely just imitate 3d.
Title: Re: Project Idea- Outrun Z80
Post by: DJ Omnimaga on September 21, 2010, 10:41:03 pm
Such game would be awesome. I made an engine in xLIB but it was a bit slow. In Axe it would be epically fast I believe. Things I would like improved from Lotus:

-Background image scrolling when turning left/right
-Car always staying in the middle, with camera moving with it, like my racing engine and the original Outrun.

Title: Re: Project Idea- Outrun Z80
Post by: meishe91 on September 21, 2010, 10:57:59 pm
thanks! although I don't think it's going to use very much 3d math, but will most likely just imitate 3d.

Ya, I know. I was just saying that his was Mode 7 3D (I believe?) but that some of the concepts of it still being a racing game would still apply.
Title: Re: Project Idea- Outrun Z80
Post by: DJ Omnimaga on September 21, 2010, 11:50:15 pm
I'm not too sure if it's even mode 7. I think it's just pseudo-3D. Still, PO:RN in Axe would be awesome.
Title: Re: Project Idea- Outrun Z80
Post by: Madskillz on September 22, 2010, 01:24:50 am
Look up I believe TI:GT or TIGT on ticalc. It would be another source of inspiration. It had some good improvements over Lotus, like background moving and other stuff I believe. I might have played on unreleased version of it though so I can't be positive. The had talked with the guy who made it a long time ago, maybe about joining RS when we were first getting started. He lost interest in calcs though I think.

EDIT:
Actually it was called Ti-Rally GT here's the link:
http://www.ticalc.org/archives/files/fileinfo/326/32627.html
Title: Re: Project Idea- Outrun Z80
Post by: DJ Omnimaga on September 22, 2010, 01:31:51 am
I think I saw that before, but I'm not sure anymore. It was a Youtube video. Was it the racing game that flickered a lot?
Title: Re: Project Idea- Outrun Z80
Post by: Madskillz on September 22, 2010, 01:35:44 am
Maybe in his earlier versions, but that one I linked to was pretty decent.
Title: Re: Project Idea- Outrun Z80
Post by: DJ Omnimaga on September 22, 2010, 01:54:57 am
Oh wow that looks even better than the one on Youtube. It was totally something else. I notice in the screenie the sky flickers a lot, though.
Title: Re: Project Idea- Outrun Z80
Post by: fb39ca4 on September 22, 2010, 01:27:46 pm
Still, PO:RN in Axe would be awesome.
Whoa, whoa, whoa ...
Title: Re: Project Idea- Outrun Z80
Post by: DJ Omnimaga on September 22, 2010, 01:32:14 pm
Project Omega: Race Ngine ;)
Title: Re: Project Idea- Outrun Z80
Post by: fb39ca4 on September 22, 2010, 01:40:55 pm
Ah, I see. Maybe change the acronym a little.
Title: Re: Project Idea- Outrun Z80
Post by: DJ Omnimaga on September 22, 2010, 01:41:45 pm
Nah, back in 2007 when I worked on that project I used that acronym on purpose :P

Same thing for the #omnimaga IRC channel slogan. Sometimes we can have fun, no?
Title: Re: Project Idea- Outrun Z80
Post by: ztrumpet on September 22, 2010, 04:55:13 pm
This sounds like a neat idea, but I'm not sure how feasible it is. =/
Title: Re: Project Idea- Outrun Z80
Post by: Builderboy on September 22, 2010, 05:25:29 pm
Well if it was doable in xLib with reasonable speed i think it would be totaly possible with even greater speed and detail in Axe
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on September 22, 2010, 06:03:21 pm
So, right now the engine is in the planning stages. Looking at Project Omega, I could see that the road was made of many different sprites, which did look very nice. Now, this is fine for xLib (actually it's probably the only way to do this in xLib), but I think that if a racing game were to be made in Axe it would not be the best method to use sprites for this (scenery is a totally different situation, though). Instead, I am considering drawing the road with lines, going down the screen row by row. Does anybody have any suggestions on other methods I could use?
Title: Re: Project Idea- Outrun Z80
Post by: Builderboy on September 22, 2010, 06:10:06 pm
Id recommend horizontal rectangles, as they are faster than lines and can fill more area.
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on September 22, 2010, 06:13:46 pm
Id recommend horizontal rectangles, as they are faster than lines and can fill more area.
that could work :D
Title: Re: Project Idea- Outrun Z80
Post by: Madskillz on September 22, 2010, 07:55:27 pm
I think that sounds like a very smart idea.
Title: Re: Project Idea- Outrun Z80
Post by: DJ Omnimaga on September 22, 2010, 11:15:15 pm
If you want to save on speed you could draw 2 pixel high horizontal squares every 2 pixel too, but then it wouldn't look as good. One concern I have with rectangles, though: wouldn't it be hard to draw the lines on the road afterward?
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on September 22, 2010, 11:37:00 pm
That's the one thing that's getting to me... I'm not sure how I'd pull that off.
Also DJ, how did you pull off hills? Because it seems like it will be pretty hard to accomplish.
Title: Re: Project Idea- Outrun Z80
Post by: DJ Omnimaga on September 23, 2010, 12:00:05 am
I don't remember unfortunately. I wrote that xlIB program 3 years ago. It was one hard thing to do the hills x.x
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on September 23, 2010, 05:53:23 pm
Here's a program to test the method of drawing that I want to implement. It does start to get glitchy when the road is shifted too far over, but I don't think the car will be going that far off the track ;).
Title: Re: Project Idea- Outrun Z80
Post by: DJ Omnimaga on September 23, 2010, 05:56:21 pm
That looks kinda nice. In my game, the entire road shift with no perspective, so it doesn't look as realistic. I remember I tried adding more 3D-ish effect, but to no avail.

btw is your screenshot running in 6 MHz mode? It seems pretty fast
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on September 23, 2010, 06:03:09 pm
Thanks :). And yes, it's running in 6 MHz. It's fast though because I had to make it move many pixels at a time to get the perspective right. For example, it is moving only one pixel at a time at the horizon, while it is moving 6 or so at the closest point towards you. I could make it move slower, but the edges of the road would look more jagged, and if I made the edges less jagged it would move too fast. I tried to compromise in terms of speed and appearance.
Title: Re: Project Idea- Outrun Z80
Post by: DJ Omnimaga on September 23, 2010, 06:14:08 pm
Yeah true. It's better that it won't get too fast either, else it's unplayable. Lotus was kinda fast personally. At high contrast you barely saw the lines and when curves arrived you did not see them coming x.x
Title: Re: Project Idea- Outrun Z80
Post by: Builderboy on September 23, 2010, 06:55:00 pm
Looking great :D I see what you mean about the distortion, but it isnt that bad ^^ I cant wait to see how you add turns :)
Title: Re: Project Idea- Outrun Z80
Post by: meishe91 on September 23, 2010, 07:38:13 pm
That looks really cool! I don't think the distortion will be that big of a deal :)
Title: Re: Project Idea- Outrun Z80
Post by: shmibs on September 23, 2010, 08:42:55 pm
looks pretty nice =D
the shifting should keep the near end of the screen fixed in place and curve out to either side instead of shifting linearly, though.
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on September 23, 2010, 09:58:03 pm
I'm a bit unsure of what you mean...
this is just a changing camera angle, not curves in the road.
Title: Re: Project Idea- Outrun Z80
Post by: DJ Omnimaga on September 23, 2010, 10:36:29 pm
Oh I think he meant the farthest point in the road should always remain in the middle of the screen no matter your position, except in curves of course.
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on September 23, 2010, 10:45:43 pm
Oh, well I actually did try that, but it did not look very good. The rest of the road appeared separated from that one point on the horizon, if you get what I'm saying.
Title: Re: Project Idea- Outrun Z80
Post by: ztrumpet on September 25, 2010, 09:50:17 am
Nice job!  It looks great. :)
Title: Re: Project Idea- Outrun Z80
Post by: DJ Omnimaga on September 25, 2010, 02:24:02 pm
Oh, well I actually did try that, but it did not look very good. The rest of the road appeared separated from that one point on the horizon, if you get what I'm saying.
Ah ok, sorry to hear x.x

I wonder if it would be possible when the road get far on one side to use different road sides for it? Example, a road segment that looks like /   | instead of /   \, or would it be too hard to achieve?
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on September 25, 2010, 02:40:14 pm
It would probably be possible but have some speed issues.
On another note, is there a good way to convert 3 level grayscale sprites to hex code (I decided that four-level would be too slow)? I tried Runner112's (which was really nice :D), but writing out the hex code got a bit tedious.
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on September 28, 2010, 06:22:27 pm
update:
I've got some form of hills working, which in the demo are being altered in height by the Alpha and 2nd keys. I've also as of now put in a gray background, which I will eventually change into clouds or something like that. There are a bit of speed issues so it's in 15mhz right now. Also, I put pixels along the side of the road because... well because they looked cool.
Title: Re: Project Idea- Outrun Z80
Post by: Raylin on September 28, 2010, 06:55:53 pm
SOMEONE GET A MIDI OF MAGICAL SOUND SHOWER NOW.
Title: Re: Project Idea- Outrun Z80
Post by: Deep Toaster on September 28, 2010, 08:09:08 pm
Looks nice so far. The sky seems to cut things off right now, though...
Title: Re: Project Idea- Outrun Z80
Post by: Builderboy on September 28, 2010, 08:11:00 pm
Its looking great :D Is this the final hill version or is it going to be changed in the future?
Title: Re: Project Idea- Outrun Z80
Post by: ztrumpet on September 28, 2010, 08:13:07 pm
That looks great!  Keep up the great work. ;D
Title: Re: Project Idea- Outrun Z80
Post by: shmibs on September 28, 2010, 09:55:18 pm
the dithering along the roadsides helps immensely
i like!
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on September 28, 2010, 10:39:30 pm
Thanks for the feedback everybody! I will now be attempting to put curves in the road. Also, do you think that I should put forks in the road that determine your path?

EDIT: oh, sorry I forgot to answer your question Builderboy. Yes, I think it probably will be how hills will look in the final version, unless I am able to figure out something that looks better.
Title: Re: Project Idea- Outrun Z80
Post by: DJ Omnimaga on September 28, 2010, 11:53:02 pm
This looks really nice. I like how you put pixels on road sides, because when moving close to the road border, it doesn't look as weird as without them.

I think you should put a black horizontal line in the horizon and maybe have the horizon be able to go higher.
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on October 11, 2010, 03:37:54 pm
Alright, an update.
It looks like it will not be fast enough for grayscale, and I don't want it in monochrome, so I'm putting this on hold, and most likely will not be finishing it (unless I find some way to resolve speed issues).
Title: Re: Project Idea- Outrun Z80
Post by: DJ Omnimaga on October 11, 2010, 05:12:51 pm
I'M sorry to hear :S

COuld you maybe post the source so people can help on making it faster?
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on October 11, 2010, 06:05:25 pm
To be honest, I haven't updated much at all since the last demo, at least to the actual game. I have instead been doing little tests to see how fast the engine would be with a certain amount of sprites (like drawing four 8 x 8 black sprites for each car,  and 8 or so for scenery, for example).
Title: Re: Project Idea- Outrun Z80
Post by: ASHBAD_ALVIN on October 11, 2010, 06:09:16 pm
wow, that looks pretty sweet :)
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on October 11, 2010, 06:10:44 pm
thanks
Title: Re: Project Idea- Outrun Z80
Post by: ASHBAD_ALVIN on October 11, 2010, 06:45:46 pm
Are you also going to be jumping over rocks and stuff in it?
Title: Re: Project Idea- Outrun Z80
Post by: tloz128 on October 11, 2010, 07:34:53 pm
Probably not. There isn't that in the original Outrun, so I don't think that it would be necessary here.