My ported OutRun engine now runs at 60 FPS, as opposed to the standard 30 FPS of the original arcade machine. It's beautiful and smooth. Although you can easily switch back to 30 FPS if desired.
The game was intended to run at 60 FPS originally, but reduced to 30 FPS for performance reasons. You can tell this by studying at the game code. The vertical interrupt code, including the routine to increment the timer, is intended to be called 60 times a second. Whereas the game engine is intended to be ticked 30 times a second.
The Sega Saturn version is the only other version to support 60 FPS mode. However, I can probably increase the frame rate further still... let's see!
Aside from that, I ported the the HUD and related logic (including the 'Extend Time' code between stages). The intro sequence with the Ferrari driving in and flag waving is also complete.
I will release a new tech demo in around 6 weeks so you can give it a spin and report any bugs.
Update: Tonight I recoded the engine to run at a ridiculous 120 FPS. Then I realised my LCD monitor doesn't even support this refresh rate - doh! The code becomes a little more hacky to support such a frame-rate causing a few minor bugs to surface. For this reason, I probably won't support 120 FPS. Still - it was a fun experiment, sort of...
The game was intended to run at 60 FPS originally, but reduced to 30 FPS for performance reasons. You can tell this by studying at the game code. The vertical interrupt code, including the routine to increment the timer, is intended to be called 60 times a second. Whereas the game engine is intended to be ticked 30 times a second.
The Sega Saturn version is the only other version to support 60 FPS mode. However, I can probably increase the frame rate further still... let's see!
Aside from that, I ported the the HUD and related logic (including the 'Extend Time' code between stages). The intro sequence with the Ferrari driving in and flag waving is also complete.
I will release a new tech demo in around 6 weeks so you can give it a spin and report any bugs.
Update: Tonight I recoded the engine to run at a ridiculous 120 FPS. Then I realised my LCD monitor doesn't even support this refresh rate - doh! The code becomes a little more hacky to support such a frame-rate causing a few minor bugs to surface. For this reason, I probably won't support 120 FPS. Still - it was a fun experiment, sort of...
9 comments:
Patiently waiting for six weeks to pass...
I know it probably makes little to no different. but it'd be great if you could release a 120fps version for people with monitors that support it.
panzeroceania: The main problem is that I have no way of testing that version... and I'm not a big fan of releasing things I can't test myself.
I will be releasing the source code with initial work towards 120fps in due course, so someone else could take on that work if desired.
Being a long time Outrun fan, I'm very pleased to have discovered this project. Big thumbs up for attempting something I'd love to do, but sadly don't have the skill to. I've just spent a big chunk of my evening reading your Outrun related posts, and it's great to get a technical insight into how this game was put together back in the day, something I've often thought about. I hope you succeed in this, as I for one would love to see this ported over to mobile devices. It'd be great to get this running on my iPad one day. Enjoying a game I used to travel miles to play in my youth, whilst sitting on the train, would just be fantastic. I'm a mobile app developer, so I couldn't even start to help out on the low level stuff you're working through, but I'd happily volunteer to get involved in a mobile port when it's at a suitable point.
I'm back from holiday - hence slow reply.
I'll definitely be looking for people to help with ports. What are you proposing - Android or iOS?
We wouldn't be able to distribute on the appstore though, due to the reliance on owning the original roms.
Glad you enjoyed reading the blog - it's a rather specialised project, so good to hear others love the game as much as me!
I'm mainly an iOS developer, so iPad and iPhone would be my area of expertise. I can do Android but I know people who are probably better suited to that than I am, if I can get them onboard when the time comes. Hope you had a good holiday.... now, back to work on Outrun! ;)
maxrom - drop me a line to: http://javagear.co.uk/images/email.png
and we can discuss porting.
NECRO BUMP:
Do you think is feasible to optimize the original code to have the game running at 60fps in original hardware? Who knows? maybe as a version 3.0 or outrun enhanced :)
Thanks :)
60fps: Not on original hardware with only code optimization. You'd need a significant clock speed increase.
Post a Comment