Any Luck with 3D Graphics on the gameshell?

I’m trying to port games like Neverball on the gameshell just to truly understand it’s 3d capabilities anyone got 3D graphics to work?

1 Like

Well I got a basic C++ 3d viewer on the GameShell. So far I got a pyramid shown on screen. I’m learning OpenGL from scratch. if you guys got anything better I’ll be delighted to know.

Update: I got Neverball running on it. however it’s VERY GLITCHY. I dunno if it’s a driver Issue or what but I’m looking into way to fix the rendering. Menu Items keeps flickering all of the time

I never really looked at the GS 3D accelerator, but I doubt the Mail 400 do support OpenGL. GLES, yes probably, plain GL, I don’t think so.

You may run it without knowing through software emulation of OpenGL which may explain some of the quirks.

1 Like

I was quite happy with the results I got, here’s a quick preview:

Here’s a few more details and a thread that might be helpful:

1 Like

Hell yea now that’s what I’m talking about. 100 fps on average is great. Congrats!
Now I got questions. What driver ? What image are you running? What version of Godot? and which export template did you use?

Thanks, I’m running stock 0.5 and compiled Godot 3.5.3 on the device then used the resulting binary as a custom export template. But you don’t even need that, you can export just the .pck file and name it the same as your binary, for example game.bin and game.pck. I’ll share this via itch shortly so that it’s easier to test it on your own device.

Here’s another demo I’ve been working on this weekend, features used here:

  • Baked lightmaps (direct + several colored omnilights)
  • 2 Dynamic omnilights with flicker effect driven by AnimationPlayer
  • Grid map for floor
  • Ambient music
  • Footsteps sound loop
  • Gun sway and turn (2-3 lerps running in physics_process)
  • Gun recoil driven by AnimationPlayer and dynamic omnilight for flash

You can see that its performance isn’t nearly as good as from my previous video, but the idea was to see what’s possible with Godot on this device. I’ve grabbed a bunch of retro style assets on itch and to my surprise none of them are really “retro” the poly count is too much in most cases and the textures are huge - 512x512px for a 320x240px screen is a bit much, right? So given that, I believe performance can be improved drastically by either creating your own assets or modifying the existing ones. Besides that using mipmaps might improve performance too, but this depends on your camera’s far distance setting, in my case I used fog and set camera’s far to 25. These might not even allow for mipmaps to kick in, needs testing.

I’ve also found it surprising that lowering the screen size to 160x120 didn’t really improve performance, nor reducing the texture size from 512 to 64 which I believe is a sign that memory isn’t much of an issue, at least at this point. Poly count makes all the difference and the number of textures is a close 2nd. Also GDScript seems to be running OK so far, I haven’t noticed much of a difference by removing the gun sway code, you could improve performance by using C# if that becomes a problem.

In summary, this device is sort of a retro gamedev simulator, it sits somewhere in between 5th (ps1, saturn, n64) and 6th (ps2, dreamcast, gamecube, xbox) console generations.

1 Like

@PaerGaben here’s a link to itch where you can test it for yourself:

1 Like

So i know It has been a while but this demo is freaking awesome. I’m currently using your binary to export some of my tests scenes and it works like a charm i guess i was inexperienced with that Godot export template logic and I’m glad you helped out with the binary. from my understanding as long as the Godot version is the same we can reuse that binary and export as many pck projects as desired.

That’s right, as long as the engine versions match you don’t have to compile it yourself. And it’s usable on any other projects

1 Like

I’m having issues with transparency what is your texture compression setting in fact now that i think about it you fences seem fully transparent. PBR is clearly out of the equation for now as any attempt resulted in Artefacts.