Author Topic: Cannonball (Outrun engine)  (Read 5427 times)

gameblabla (OP)

  • **
  • Posts: 801
Cannonball (Outrun engine)
« on: July 08, 2015, 08:34:12 pm »
I have ported Cannonball, a game engine to play Sega's Outrun game !

To play it, extract the outrun roms here (it needs to be extracted, not a zip!) :
/media/home/.cannonball/roms
Then install the opk like any gcw0 games.
(Put the opk in /media/data/apps/)

Controls
A - Accelerate
B - Break
Y - Put coins in
L shoulder - Gear change
R shoulder - Change viewpoint
Start buttion - Start the game
Select button - Menu

Download link
« Last Edit: May 25, 2018, 01:00:10 pm by gameblabla »

opt2not

  • *
  • Posts: 201
Re: [WIP] Cannonball (Outrun engine)
« Reply #1 on: July 08, 2015, 09:04:27 pm »
Thanks for this, I'll check it out when I get home today and report back how it runs on my unit.

i would like to point out though, running Outrun at 60fps was one of the main reasons to go with the Cannonball engine.  Any chance you can add that option back in?


gameblabla (OP)

  • **
  • Posts: 801
Re: [WIP] Cannonball (Outrun engine)
« Reply #2 on: July 08, 2015, 09:23:54 pm »
Thanks opt2not, can't wait to see how well it runs on the real device !

Quote
i would like to point out though, running Outrun at 60fps was one of the main reasons to go with the Cannonball engine.  Any chance you can add that option back in?
Yes, i will bring back but only if Cannonball is running smoothly on the GCW0.

qbertaddict

  • * Former Staff
  • The Doctor
  • Posts: 1184
    • about.me
Re: [WIP] Cannonball (Outrun engine)
« Reply #3 on: July 09, 2015, 04:53:52 am »
Thanks opt2not, can't wait to see how well it runs on the real device !

Quote
i would like to point out though, running Outrun at 60fps was one of the main reasons to go with the Cannonball engine.  Any chance you can add that option back in?
Yes, i will bring back but only if Cannonball is running smoothly on the GCW0.

I will test it out tomorrow. Would love to see outrun at 60fps.

EDIT: I tested it out. It runs slow but im sure it can be optimized. Right now the sound lags and the controls are sluggish. Its not running at 30fps yet. I'm sure you will figure it out
« Last Edit: July 09, 2015, 05:05:16 am by qbertaddict »

opt2not

  • *
  • Posts: 201
Re: [WIP] Cannonball (Outrun engine)
« Reply #4 on: July 09, 2015, 07:54:45 am »
Got to try it out tonight, and got it working no problem.
Yeah, its running slow for me too.  I think I got a couple frames back from turning the objects to `Original` in the Game Engine->settings, but it still was sub-30 fps for sure.
Music was choppy in both during the game, and in the music test in the Settings Menu.

But hey, not bad for compiling blind. :)

Can I make a request? Could the rom folder be changed to be in /media/home/.cannonball/roms, instead of stranded outside? Keeps that folder more tidy and everything together.  ;)

gameblabla (OP)

  • **
  • Posts: 801
Re: [WIP] Cannonball (Outrun engine)
« Reply #5 on: July 09, 2015, 09:14:49 pm »
Guys, i have finally found the reason why it was so slow.
I had no idea why it was so slow, even a Raspberry pi can run it at 30 FPS with no issues what so ever....
It turns out, 32 bpp on the GCW Zero is slow.

When i turned the depth to 16, it was much, much faster. It ran at like, 60 FPS.
However, the output was incorrect so the game was unplayable.
Cannonball was designed to work only in 32 bpp so i'll have to modify
the source code in order to have the correct output.

I have no idea how to do that so i'll just ask the author to help me.
Hopefully he's still around... If not, i might ask ptitseb instead.

Can I make a request? Could the rom folder be changed to be in /media/home/.cannonball/roms, instead of stranded outside? Keeps that folder more tidy and everything together.  ;)
I already did that, it will be in my next release.

EDIT:
I have updated Cannonball.
This release should be a little faster : I used some optimisations from ptitseb, and i turned triple buffering on.
This is still not my final release, next release should run smoothly enough.
As requested by opt2not, you should now put your roms in /media/home/.cannonball/roms.
I have reintroduced the ability to change the framerate: fastest is 30 FPS and the slowest is 60 FPS.
« Last Edit: July 09, 2015, 11:56:27 pm by gameblabla »

Xaijiqq

  • *
  • Posts: 410
Re: [WIP] Cannonball (Outrun engine)
« Reply #6 on: July 10, 2015, 06:07:31 am »
i didn't try the previous release but this latest one suffers from severe screen flicker

gameblabla (OP)

  • **
  • Posts: 801
Re: [WIP] Cannonball (Outrun engine)
« Reply #7 on: July 10, 2015, 06:29:22 pm »
i didn't try the previous release but this latest one suffers from severe screen flicker
Yeah, that's probably due to the triple buffering.
Anyways, i updated it again and turned it off.

gameblabla (OP)

  • **
  • Posts: 801
Re: Cannonball (Outrun engine)
« Reply #8 on: October 10, 2016, 12:00:22 am »
Hello guys !
The Cannonball team has made some improvements since then and they made an OpenGLES accelerated version that could be used on the GCW0.
So i have decided to make my port from scratch and base it on the latest git version.
As a result, the game now runs smoothly at 30 FPS !

It's still isn't smooth enough at 60 FPS, especially when you start a race, but at least you can enjoy the game.
I dare to say it should run smoothly on Cannonball than on XMAME now.

Do go check it out if you're a fan of Outrun !
« Last Edit: October 10, 2016, 03:45:46 am by gameblabla »

Mar8

  • *
  • Posts: 103
Re: Cannonball (Outrun engine)
« Reply #9 on: October 10, 2016, 04:03:21 am »
  You're the man! @gameblabla

howie_k

  • *
  • Posts: 154
Re: Cannonball (Outrun engine)
« Reply #10 on: October 10, 2016, 07:24:16 am »
Wow! My fave arcade racer - I have Cannonball on my PC and am stoked you have made it available on GCW Zero - thank you! :)

opt2not

  • *
  • Posts: 201
Re: Cannonball (Outrun engine)
« Reply #11 on: May 24, 2018, 08:00:54 pm »
I've been playing this a bunch lately, I really love it.

Is there anyway of configuring the sensitivity of the Analog nub when you enable Analog Steering?

gameblabla (OP)

  • **
  • Posts: 801
Re: Cannonball (Outrun engine)
« Reply #12 on: May 25, 2018, 01:01:34 pm »
I've been playing this a bunch lately, I really love it.

Is there anyway of configuring the sensitivity of the Analog nub when you enable Analog Steering?
Do you mean the Centre axis or the deadzone ?
Or maybe you mean it steers too fast from right/left ?

Pushed an update that merged changes from upstream and added the possibility to set the centre axis.

opt2not

  • *
  • Posts: 201
Re: Cannonball (Outrun engine)
« Reply #13 on: May 25, 2018, 08:15:51 pm »
I've been playing this a bunch lately, I really love it.

Is there anyway of configuring the sensitivity of the Analog nub when you enable Analog Steering?
Do you mean the Centre axis or the deadzone ?
Or maybe you mean it steers too fast from right/left ?

Pushed an update that merged changes from upstream and added the possibility to set the centre axis.
Yeah I think it steers too fast.  It's like it goes to 100% from center to left or right, even when you're only pushing about a quarter of the way to it's restriction point.  I believe the deadzone is fine, it engages when you slightly push on the analog nub, but it ramps up really quickly with just a tiny amount of additional pressure.

I will give this version a try and see if there is any difference in feel.  Thanks for the update!

opt2not

  • *
  • Posts: 201
Re: Cannonball (Outrun engine)
« Reply #14 on: May 27, 2018, 06:27:10 am »
Played a bunch of this, and it feels a bit better.  I set the sensitivity setting to 0, but I'm still not able to use a wider analog range before it kicks into full left or right steering.

gameblabla (OP)

  • **
  • Posts: 801
Re: Cannonball (Outrun engine)
« Reply #15 on: May 27, 2018, 10:25:24 am »
Played a bunch of this, and it feels a bit better.  I set the sensitivity setting to 0, but I'm still not able to use a wider analog range before it kicks into full left or right steering.
Sensitivity to 0 was the default before. If you felt any changes, it's probably because the game now runs at a higher framerate.
Sadly, Outrun is a digital game and it does not properly support analog controls.
It sounds like i may have to change the deadzone to something higher instead.

opt2not

  • *
  • Posts: 201
Re: Cannonball (Outrun engine)
« Reply #16 on: May 27, 2018, 07:58:03 pm »
Totally worth a try. This port is so great, and it runs really well on the GCW. I?m surprised this port is digital only, since the original arcade game had analog steering. I?m wondering if this was ported from something like the Sega Saturn version (which also supported running at 60fps).

edit: Actually, I think this is still analog supported, because I can get the small amount of right and left steering if I apply a small amount of pressure to the analog nub. It's just that it goes to 100% very sharply in the analog range.  I mean, don't get me wrong, the game is still very playable and you can adapt to it...it's just having the analog range in line with the physical nub would make the experience a lot better.

reading the wiki, there is this little note about analog steering:
Quote
Analog Controls
Cannonball can also work with analog controllers including racing wheels and pedals.

You can enable analog controls in the Settings -> Controls menu. You should also redefine the gamepad buttons accordingly for start/coin in etc.

There are a few advanced options you might need to edit in the config.xml file. These include which axis the steering and pedals are mapped to. You should be able to check this using the driver software provided with your wheel. It is recommended that each control is mapped to a separate axis in your driver software. However, there is limited split axis support. To enable this, simply configure both the brake and accelerator to be on the same axis.

There is a further zone setting to denote how much of the turning circle of your wheel should be used. Increasing this value from 0 means less of the turning circle of your wheel will be used. This results in tighter steering.


Here's a few pics of my latest runs, based on the last update you uploaded:






« Last Edit: May 27, 2018, 09:18:14 pm by opt2not »

gameblabla (OP)

  • **
  • Posts: 801
Re: Cannonball (Outrun engine)
« Reply #17 on: May 29, 2018, 12:28:08 am »
Quote
Analog Controls
Cannonball can also work with analog controllers including racing wheels and pedals.
...
There is a further zone setting to denote how much of the turning circle of your wheel should be used. Increasing this value from 0 means less of the turning circle of your wheel will be used. This results in tighter steering.
I'm very surprised to hear this, i haven't seen any settings like this in the code or ingame.
And as for the axis bit, it has nothing to do with sensibility unfortunately...

I mean, yeah it supports analog controllers but not properly as it should.
I admit i never played cannonball with the analog stick because the stick sucked lel
I'll add settings for the deadzone shortly.

Quote
I?m wondering if this was ported from something like the Sega Saturn version (which also supported running at 60fps).
Nope, it was done from scratch. (and very inefficiently i must add !)
But yeah, the author most probably got the 60FPS patch idea from Saturn version. (which i think also supported a CD soundtrack ?)
« Last Edit: May 29, 2018, 12:29:49 am by gameblabla »

opt2not

  • *
  • Posts: 201
Re: Cannonball (Outrun engine)
« Reply #18 on: May 29, 2018, 02:27:49 am »
Yeah the Saturn version has a pretty good arrange soundtrack.
As for the gcw nub, I ended up applying some silicone grease to loosen it up. It?s a lot better when the ?travel? is a lot smoother and lighter.

Thanks again for another update, I?ll be sure to test it out when it?s ready and let you know my findings. I?m so glad you?re still supporting the GCW!

pcercuei

  • ***
  • Posts: 1428
    • My devblog
Re: [WIP] Cannonball (Outrun engine)
« Reply #19 on: May 30, 2018, 12:57:19 am »
Guys, i have finally found the reason why it was so slow.
I had no idea why it was so slow, even a Raspberry pi can run it at 30 FPS with no issues what so ever....
It turns out, 32 bpp on the GCW Zero is slow.
You're rendering in software, so using 32 bpp means using a framebuffer that's twice as big and you spend twice as much time in the rendering phase.

 

Post a new topic