Release OpenRA


ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,306
Age
51
Location
France, near Lyon
Here is OpenRA, the open source re-implementation of Red Alert and CnC games
preview1.png

This PND use the MonoRT pnd, so be sure to have it installed (i.e. simply copied) on your Pandora.
The games is an OpenGL 2.0 game and use the new experiemental GLES2 backend of gl4es.
Also, beeing C#, the game can be a bit sluggish at first, when the JIT trigger. It should be smoother after the initial hickup.

/!\ You'll need a swapfile for this game, for any Pandora model /!\
/!\ While it seems playable on Gigahertz model, it may be too slow to be playable on other models /!\


You can use CD data or let the launcher download datas.

History log
=========

Build 05
-----------

  • Fixed a crash in optimized rendering
  • More hacking to shaders to avoid "discard"
Build 04
-----------

  • Switched to "bleed" branch
  • Implemented crude zenity based MOD selector (as modchooser is not supported in bleed)
  • Optimized a bit rendering engine
  • Removed perf log stuff
  • Try to optimize mono parameters
Build 03
-----------

  • Changed startup parameter, should be less memory hungry now
Build 02
-----------

  • Added Tiberian Sun WIP Module
Build 01
-----------

  • Initial build

The diff from the github for the pandora version is attached here.
 

Attachments

  • openra_pandora.tar.gz
    3.7 KB · Views: 519
Last edited:
@ptitSeb did you compile this with all mods supported? I read that the engine already support tiberian sun and ra2, but you have to compile it with some extra flag set.

thanks a lot anyway! this is pretty awesome.
 
@ptitSeb did you compile this with all mods supported? I read that the engine already support tiberian sun and ra2, but you have to compile it with some extra flag set.

thanks a lot anyway! this is pretty awesome.
No, I haven't added the WIP Mods. But I can have a look at them if it can be usefull?
 
that would be great. I'd love to try how far ra2 is already developed. judging from what I have seen, the skirmish mode is pretty much done and I've been dreaming of a portable ra2 for a long while :D
 
Hi all :)

@ptitSeb : thanks for your efforts on this one, it's really appreciated, as always !

Unfortunately, this game doesn't run very well on my Rebirth @ 825 MHz (latest SZ, SGX driver 4.10) :(

- It looks like swap is mandatory on this model too. OpenRA uses almost all the available RAM + ~half the 512 MB swap file. Without swap file it just crashes / segfaults while loading...

- The game runs at ~2 FPS, way too slow to be playable...

Sorry for the bad news :(

Cheers, Magic Sam
 
Ah, not good news indeed.

I have a large swapfile most of the time on my Gigahertz, so I don't always known if a swapfile is mandatory or not. It's not that slow on my model, but I guess the GLES2 part is slowing things down on model other then the Gigahertz. Did you try to play a little, so the JIT doesn't compile stuff and just executed JIT'ed blocks?

Anyway, thanks for the info, I'll update 1st post and repo with that (swapfile and slow).
 
@ptitSeb : yes, I tried to play a little but to no avail (even with OC @ 1GHz). The game actually uses much more memory than previously thought: ~512MB RAM + ~512MB swap.

It looks like Mono also supports Ahead-of-time (AOT) and Full Static Compiation:

https://en.wikipedia.org/wiki/Mono_(software)#Code_Execution_Engine

Could these modes be used instead of JIT on the Pandora ?

Cheers, Magic Sam
[doublepost=1505662414,1505661973][/doublepost]According to the wiki, OpenRA shouldn't be using that much RAM:

https://github.com/OpenRA/OpenRA/wiki/Requirements

Cheers, Magic Sam
 
@ptitSeb : yes, I tried to play a little but to no avail (even with OC @ 1GHz). The game actually uses much more memory than previously thought: ~512MB RAM + ~512MB swap.

It looks like Mono also supports Ahead-of-time (AOT) and Full Static Compiation:

https://en.wikipedia.org/wiki/Mono_(software)#Code_Execution_Engine

Could these modes be used instead of JIT on the Pandora ?

Cheers, Magic Sam
[doublepost=1505662414,1505661973][/doublepost]According to the wiki, OpenRA shouldn't be using that much RAM:

https://github.com/OpenRA/OpenRA/wiki/Requirements

Cheers, Magic Sam
It's already active, but maybe that's a bad idea. I'll clean the PND and try a new one without AOT.
[doublepost=1505666042][/doublepost]@Magic Sam , or anyone that want to try: here is version cleaned of the AOT, in case it make memory consuption worse: openra (edit, link removed, it's on the repo now as build 03)

Please report if it's better or the same (or worse). If it's better, I'll upload it to the repo.
 
Last edited:
@ptitSeb : I'd say your newer version uses less memory. At least I didn't run out of swap this time :p And it might be a little faster too (~3FPS @ 825MHz).

I see you already tried some mono options, like -O=simd. Was it supposed to trigger NEON instructions on the Pandora ?

Cheers, Magic Sam
 
Yeah, -O=simd is supposed to use NEON, but I'm not sure it's actually supported by mono.
[doublepost=1505669845,1505669400][/doublepost]Ok, that build 03 is on the repo now.

Build 03
-----------

  • Changed startup parameter, should be less memory hungry now
 
@ptitSeb : "mono --optimize=simd --gc=sgen OpenRA.Game.exe" looks promising on my end (lower memory usage, higher FPS), needs more testing though.

Cheers, Magic Sam
 
@ptitSeb : "mono --optimize=simd --gc=sgen OpenRA.Game.exe" looks promising on my end (lower memory usage, higher FPS), needs more testing though.

Cheers, Magic Sam
Ok, I'll let you test, and I'll try some stuff also on my side, then I'll update the pnd accordingly.
Just for info, you are using latest Mono RunTime pnd I assume?
 
@ptitSeb : yes, I'm using the latest Mono Runtime PND (5.2.0 from July). Turns out only the menu is faster with --optimize=simd (10+ FPS), in-game it is still too slow...

I'll play with gl4es settings ASAP (tomorrow evening if time permits).

Cheers, Magic Sam
 
Hi all :)

@ptitSeb : I just tried many LIBGL options, none of them had any positive effects on the framerate.

Were you more lucky on your end ?

Cheers, Magic Sam
 
I"m not surprised (plus the GLES2 backend is experimental so some options will just not work as expected).
I haven't worked on OpenRA directly lately. I want to analyse the API Trace of OpenRa (btw, it's in the traces folder on gl4es, if you want to analyse it with apitrace on a Linux PC), but I guess calls are not batched enough?
 
Back
Top