# Any Luck with 3D Graphics on the gameshell?

**URL:** <https://forum.clockworkpi.com/t/any-luck-with-3d-graphics-on-the-gameshell/9872>\
**Category:** GameShell\
**Created:** [April 10, 2023, 9:50pm UTC](https://forum.clockworkpi.com/t/any-luck-with-3d-graphics-on-the-gameshell/9872 "2023-04-10T21:50:15Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![PaerGaben](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/paergaben/32/6897_2.png) [@PaerGaben](https://forum.clockworkpi.com/u/PaerGaben)\
**Post date:** [April 10, 2023, 9:50pm UTC](https://forum.clockworkpi.com/t/any-luck-with-3d-graphics-on-the-gameshell/9872/1 "2023-04-10T21:50:15Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![PaerGaben](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/paergaben/32/6897_2.png) [@PaerGaben](https://forum.clockworkpi.com/u/PaerGaben)\
**Post date:** [April 14, 2023, 8:20pm UTC](https://forum.clockworkpi.com/t/any-luck-with-3d-graphics-on-the-gameshell/9872/2 "2023-04-14T20:20:37Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Godzil](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/godzil/32/60_2.png) [@Godzil](https://forum.clockworkpi.com/u/Godzil)\
**Post date:** [May 8, 2023, 10:33am UTC](https://forum.clockworkpi.com/t/any-luck-with-3d-graphics-on-the-gameshell/9872/3 "2023-05-08T10:33:24Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![michaeltintiuc](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/michaeltintiuc/32/1380_2.png) [@michaeltintiuc](https://forum.clockworkpi.com/u/michaeltintiuc)\
**Post date:** [January 19, 2024, 5:57pm UTC](https://forum.clockworkpi.com/t/any-luck-with-3d-graphics-on-the-gameshell/9872/4 "2024-01-19T17:57:20Z")

</div>

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

> **[VEED - GameShell running a 3D Godot project](https://www.veed.io/view/7f11d461-a686-4b92-9655-0c8dd0d8f686)**
>
> Make stunning videos with a single click. Cut, trim, crop, add subtitles and more. Online, no account needed. Try it now, free. VEED

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

> [@Godot 3 (any Godot developers here?)](https://forum.clockworkpi.com/t/godot-3-any-godot-developers-here/2017/48):
>
> So as for my tests, I come bearing great news. I was able to successfully run a 3d demo project at acceptable FPS rates. In summary I’d say that you could easily make a PS1 style game for GameShell, you’d just have to be really careful with your resources, you can see from the video that you can even get some basic physics working fine, but it drops the FPS significantly meaning that the bottleneck is the CPU, as for the GPU I was pleasantly surprised, the video below uses unoptimized textures (…

---

<div class="post-metadata">

**Author:** ![PaerGaben](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/paergaben/32/6897_2.png) [@PaerGaben](https://forum.clockworkpi.com/u/PaerGaben)\
**Post date:** [January 22, 2024, 8:12am UTC](https://forum.clockworkpi.com/t/any-luck-with-3d-graphics-on-the-gameshell/9872/5 "2024-01-22T08:12:39Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![michaeltintiuc](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/michaeltintiuc/32/1380_2.png) [@michaeltintiuc](https://forum.clockworkpi.com/u/michaeltintiuc)\
**Post date:** [January 22, 2024, 1:39pm UTC](https://forum.clockworkpi.com/t/any-luck-with-3d-graphics-on-the-gameshell/9872/6 "2024-01-22T13:39:17Z")

</div>

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.

[![](https://img.youtube.com/vi/-TPFxMEdluI/maxresdefault.jpg "GameShell running Godot 3D project") ](https://www.youtube.com/watch?v=-TPFxMEdluI)

---

<div class="post-metadata">

**Author:** ![michaeltintiuc](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/michaeltintiuc/32/1380_2.png) [@michaeltintiuc](https://forum.clockworkpi.com/u/michaeltintiuc)\
**Post date:** [January 22, 2024, 5:10pm UTC](https://forum.clockworkpi.com/t/any-luck-with-3d-graphics-on-the-gameshell/9872/7 "2024-01-22T17:10:12Z")

</div>

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

> **[GameShell 3D Godot demo by Michael Tintiuc](https://michaeltintiuc.itch.io/gameshell-3d-godot-demo)**
>
> A 3d demo running on GameShell using Godot 3.5.3

---

<div class="post-metadata">

**Author:** ![PaerGaben](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/paergaben/32/6897_2.png) [@PaerGaben](https://forum.clockworkpi.com/u/PaerGaben)\
**Post date:** [November 28, 2024, 2:42pm UTC](https://forum.clockworkpi.com/t/any-luck-with-3d-graphics-on-the-gameshell/9872/8 "2024-11-28T14:42:18Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![michaeltintiuc](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/michaeltintiuc/32/1380_2.png) [@michaeltintiuc](https://forum.clockworkpi.com/u/michaeltintiuc)\
**Post date:** [November 29, 2024, 12:16pm UTC](https://forum.clockworkpi.com/t/any-luck-with-3d-graphics-on-the-gameshell/9872/9 "2024-11-29T12:16:41Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![PaerGaben](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/paergaben/32/6897_2.png) [@PaerGaben](https://forum.clockworkpi.com/u/PaerGaben)\
**Post date:** [December 2, 2024, 8:00pm UTC](https://forum.clockworkpi.com/t/any-luck-with-3d-graphics-on-the-gameshell/9872/10 "2024-12-02T20:00:31Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Sh1rk](https://avatars.discourse-cdn.com/v4/letter/s/94ad74/32.png) [@Sh1rk](https://forum.clockworkpi.com/u/Sh1rk)\
**Post date:** [March 18, 2025, 10:33am UTC](https://forum.clockworkpi.com/t/any-luck-with-3d-graphics-on-the-gameshell/9872/11 "2025-03-18T10:33:35Z")

</div>

Some games might have trouble with performance depending on shaders and OpenGL support on the device. I’ve noticed that tweaking driver settings sometimes helps, but it’s hit or miss. If you’re dealing with models or assets, using something like [3ds file explorer](https://www.blueberry-ai.com/blog/3ds-max-thumbnail-preview-not-visible-in-windows-explorer-fs5lp) can help organize and inspect files before testing them in an environment that struggles with rendering. Reducing complexity in assets can sometimes improve frame rates significantly.
