I am planning to make games for raspberry pi but I don’t have one to test, waiting for my pi now. I made a small performance test: a 3D-game where you can just run (buttons W and S) and rotate your camera (buttons E and Q), nothing else at all. It’s for Windows 10 ARM64/Windows IoT 64bit. You can find it here: Game test for Windows on ARM processor
If you check it out and it runs on RasPi, please provide feedback, I need it for further games.
Update: see this answer why I will not continue my tests.
Update 2: there is a very Unity-like game engine Urho3D that supports making game for 32/64 bit ARM Linux, including Raspbian OS. As Raspbian is the only optimized for the Pis, it seems that this is the best solution of making 3D games
Can you possibly add a framerate counter or something? I tried it first on my Envy X2 but i cannot tell the framerate really.
In general i expect it to be quite slow on the PI as there is no GPU/D3D acceleration.
I didn’t actually add any features/menu/game objects because I hardly believe my character would RUN without freezing on RasPi, I haven’t tested it yet cuz I am waiting for my RasPi shipping. If it works I would think of adding game objects/lowering or increasing graphics…
I googled that Envy x2 is an ARMv8 platform with 8 gigs ram so I can make even heavier game tests for it because it will run my test easily.
But raspberry pi is an:
- ARMv6 with 512 MB ram if model 1 or Zero/Zero W
- ARMv7 with 1 gig of ram if model 2 and 3
So this test is for slow platforms only.
I made a version for you, it has the same controls and character (W forward, QE rotate camera), but it has two test locations, starting one is medium graphics, second one (follow the road) is better graphics.
You can download it [removed link]. Compiled for ARM 32bit platform.
I didn’t have time to make a fps counter tho but at least you can say if you can play it or it’s freezing at some point. And yeah mind that it’s just a performance test.
P.S.: Removed a not working app.
Installation failed due to missing VClibs.140.00.Debug.package. In general i suggest you do a 64bit release build and not a 32bit debug build for performance testing.
For 32 bit applications each library call has go through the WoW (Windows on Windows) layer, which might slow things down a bit.
I thought 32bit versions can run faster tho but ok I got you. I can compile 64 bit version of test with 2 locations and simple water after work or when I have some more time and send it here for testing.
And still I can’t wait for my RasPi to test it. I think if something works on RasPi Zero (ARM1176 1GHz, 512MB RAM), it can run on any ARM device.
Oh crap, I think I smell disappointment.
Windows 10 can only run on 64 bit ARM processors, it seems.
I’ve prepared a tiny Windows 10 arm64 distributive of 1.6 gigabytes for my raspberry (removed cortana, search, built-in apps, except windows store and some useful) and WoA deployer, but…
I’ve ordered RasPi Zero. It comes with 32 bit ARM1176 processor. So this idea is a failure.
My windows build will run only on RasPi 3 (64bit proc) with Windows 10 and perhaps on RasPi 2 with Windows IoT (32), but I am not sure about Unity engine and IoT, I don’t like IoT because of absence of Desktop that we are used to.
So, to have Unity engine games on RasPi I need model 3 and above.
As for other ARM devices, you can compile games based on Unity engine for UWP arm32 and arm64, and it will work, but you will need to experiment with lowering graphics, LOD of your ingame objects and drawing distance.
Here, take this ARM64 package: link.
There are no menus or fps-meters, but some objects. At starting zone there are simple houses and trees with simple textures (JPG textures), and if you go by the road until the sign “test zone bla bla”, there will be 3D surface textures, with masks and normal maps and animated trees with 3D textures.
Controls are the same as above.
Please tell the behaviour of your ARMv8 chip in both zones, is it at least playable or freezing.
P.S.: There is a camera problem, when you go to a hill it can start rotating, this is not the platform bug, this is my script bug, I know it and I work on it, don’t worry about it.
I have it running on the tablet. Looks like its running very playable, i assume around 20 fps maybe in full resolution (1920x1280 something). I renders quite high quality judging by texture resolution, shadow quality (soft shadows), antialiasing, drawing distance - which can all be tweaked for lower performing devices.
I made a screenshot, such that you can get an idea
So, is there any sence in increasing graphics and adding some fog, post-processing engine for glow or something?
By the way, I found a game engine Urho3D, it has every feature that Unity has but it’s completely free and cross-platform, it can run on any device. Unity has restricts about that. Will check it out soon.
I will leave this topic for someone who manages to install Win10/IoT on a Pi, honestly I recommend debloating Windows before you install it on a Pi, like:
- Getting appropriate version of Windows on ARM
- Debloating it with NLite, dism etc, getting rid of Cortana, Defender and built-in apps
- Using WOA.Deployer to deploy windows to a Pi
After that you can download the game from the title post and provide the feedback how it runs on a Pi, so I can think of lowering/increasing graphics.
For those who want to make games for Raspbian OS or for Pi Zero/1/2, please check this link to find information about building games for Raspbian on ARM.