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

gameblabla (OP)

  • **
  • Posts: 849
Re: [WIP] Cannonball (Outrun engine)
« Reply #20 on: May 30, 2018, 03:10:35 pm »
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.
Yeah lol but that's not even the worst part believe it or not.
The way it's rendered, it was doing it pixel-per-pixel. (i kid you not)
Thankfully the new OpenGLES renderer does improve this but it is still very inefficient.
Cannonball is basically using an emulator for rendering graphics.


gameblabla (OP)

  • **
  • Posts: 849
Re: Cannonball (Outrun engine)
« Reply #22 on: May 31, 2018, 12:19:53 pm »
Is there any source code for this so it can be ported to the rs97?
I heard about the RS-97 but don't know much about it... does it also have a Vivante MIPS processor ?
I think it was clocked at 600Mhz.

If you're looking for the source code, it's here :
https://github.com/gameblabla/Cannonballs

Makefile for GCW0 :
https://github.com/gameblabla/Cannonballs/blob/master/src/Makefile.gcw0

This requires SDL2, Boost libraries and OpenGLESv2 acceleration.
It's possible to use the software renderer instead but don't bother with it, it's ultra slow.
And it being 600Mhz, you can only expect the 30 FPS with GLES to work properly. (don't even think about 60 FPS)
« Last Edit: May 31, 2018, 12:22:46 pm by gameblabla »

Jutleys

  • ***
  • Posts: 1707
    • Retrogamers97-90
Re: Cannonball (Outrun engine)
« Reply #23 on: May 31, 2018, 12:22:49 pm »
Thank you.

It has a CPU: JZ4760 mips
cpu speed can be pushed to 642mhz no problems.
Screen: 3 inches 320x480

CPU: JZ4760 mips

CPU: JZ4760B mips

528mhz-600mhz

RAM: 128M DDR2

Internal memory: 4GB

Battery: Replaceable BL-5B 890 mAh
We can really do with some devs porting stuff.
By the way thanks for the gcw port i just tried it and it runs great :).

gameblabla (OP)

  • **
  • Posts: 849
Re: Cannonball (Outrun engine)
« Reply #24 on: June 02, 2018, 03:11:10 pm »
It has a CPU: JZ4760 mips
cpu speed can be pushed to 642mhz no problems.
..
Thanks for the info btw. I looked a bit closer at the RS97's specs and...
it has a Vivante GC200 at its "GPU"...; Well not really a GPU because it has no 3D acceleration whatsoever !
As Pcercui already said here, the software renderer in Cannonball is abyssal.
It's only after they worked on the GLES renderer that the game would run almost 60 FPS with the Vivante core, one of the few games to do so on the GCW.  (I pulled many of my hairs due to the many bugs and slowness in the etnaviv's version shipped in the GCW0's firmware)

It would require many changes. One of my project i was planning to was to remove all of the boost code and make it slimmer.
Unfortunately, i gave up on that at some point because it was mostly pointless in the case of the GCW0.
It would also require me to make the software work in RGB565 and try to improve its speed somehow. (One of my ideas was to use graphics instead of the rom files and emulating the graphical engine...)
 
So yeah, it's not for everyone.

opt2not

  • *
  • Posts: 201
Re: Cannonball (Outrun engine)
« Reply #25 on: June 02, 2018, 07:17:30 pm »
Personally I?m happy with the 30fps. I?m just a stickler for controls, but have adapted to the sensitivity so far. I?m still looking forward to that dead zone setting whenever you get a chance to look at that.

gameblabla (OP)

  • **
  • Posts: 849
Re: Cannonball (Outrun engine)
« Reply #26 on: June 10, 2018, 02:30:30 pm »
I admit i did not add deadzone setting yet because i was busy trying to convert everything from 32-bits color depth to 16-bits.
Needless to say, it wasn't exactly straightforward.
@pcercuei If you wanna help fix the damn shadows (shadows under the trees are green rather than gray), that would be nice :P
https://github.com/gameblabla/Cannonballs/commit/357c4cdf62015bb24871bdedb1c759dc94e77466




Why even go through that trouble ? I actually worked on this so it can eventually be ported to the RS-97 with the software renderer.
According to pcerceui himself, this should greatly improve graphical performance. (especially since the bottleneck is drawing here)

However, because the damn shadows don't look properly, i'm flagging this as a beta, first post is still the previous version using 32-bits mode.
Beta OPK version

EDIT: Shadows are now fixed, download the latest version from first post.

I can't test it myself anymore so it's possible that it is not able to init the display. Let me know if this new version works.
« Last Edit: June 12, 2018, 03:06:51 am by gameblabla »

opt2not

  • *
  • Posts: 201
Re: Cannonball (Outrun engine)
« Reply #27 on: June 11, 2018, 07:21:48 pm »
Thanks @gameblabla , I was able to test this beta out last night and it works on my GCW.  I even set it to 60 fps, and for the most part its running a lot faster than the 32-bit colour version. There are some slow-downs here and there, depending on what's being displayed, and the music sounds choppy at the beginning of the race, probably because it's one of those areas with a lot of sprites on-screen.

The shadows are indeed the wrong colour, but it's not just on the trees. Even the shadow under your car is a different colour -- on my screen it looks more Cyan than Green:


I noticed that the car's cyan shadow colour is like this for most of the "zones", but there are some areas of the game the shadow changes back to grey. I didn't get to pinpoint when this happens, but there were 1 or 2 zones that it would change.

But other than these minor colour differences, the conversion to 16-bits is definitely running better, especially when you enable 60fps.

* one more thing I noticed is if you set the game to 30fps, it does not render. The screen just goes black. You have to set it to the game's "Original Settings", rather than the 30fps when you don't want to run it at 60fps.  The hard 30fps setting seems to be broken atm.

Thanks a lot for you hard work on this. It's almost there!

gameblabla (OP)

  • **
  • Posts: 849
Re: Cannonball (Outrun engine)
« Reply #28 on: June 12, 2018, 03:05:46 am »
Thanks for testing btw !
I found a way for correct colors on shadows, it should look properly now.
I don't know why it's crashing when setting things to 30 FPS... perhaps it's a GCC bug ? I hit some issues with that game if optimizations were too aggressive...

In any case, i now consider it to be stable. I'll add the deadzone setting later, hopefully the improved speed also improves the responsiveness.
Download link in the first post

opt2not

  • *
  • Posts: 201
Re: Cannonball (Outrun engine)
« Reply #29 on: June 12, 2018, 10:01:36 pm »
I can confirm the shadows are now fixed in this version. Still running good at 60fps!

It still feels the same in regards to the analog responsiveness, but with the smoother framerate its slightly better.

Thanks again for another update!

 

Post a new topic
Post a new topic