Release Spellrazor


ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,306
Age
51
Location
France, near Lyon
Here is Spellrazor, an Arcade game made in löve.
preview4.png

Thanks to @kuru, I had access to the source code of Spellrazor. The game as many shaders, and is quite graphicaly intensive. Also, initial sources were for 1280x720 window. I have resize all this to 800x480 (this also gain speed), redone a font to be smaller, and remove one of the Shader. I also to to change a bit the frameskiping, as it was not really effective before.

The game is playable on Gigahertz model, but I only tested with latest SGX driver. It does work on CC model (prefer 3.x SGX driver instead of default for better stability)..

History log
=========

Build 08
-------------

  • Repackaged to fix the hang when moving the mouse
Build 07
-------------

  • Another fix for the game hang at start of level
Build 06
-------------

  • Optimised shaders
  • Try to fix a case were game hang at start of level
  • Made text in the Console fit the width of the screen
Build 05
-------------

  • Optimized Fullscreen shader (by splitting it)
Build 04
-------------

  • Re-enabled fullscreen shader effect
Build 03
-------------

  • Minor adjustments to GUI
  • Some Shaders optimizations
Build 02
-------------

  • Adjusted Spell display to fit the screen
  • Optimized Bloomwithscanline shader
  • Fixed autoframeskip
  • Default to non-scaline Bloom (switch with '=')
Build 01
-------------

  • Initial build
  • Reduce resolution to 800x480
  • Improved performances a bit
 
Last edited:
Once again, thanks for making this happen Seb!
Also thanks to Dene Carter for sharing the sources with us!

This game is quite unique - I hope you guys enjoy.
 
Hi all :)

Thanks @ptitSeb , @kuru and Dene Carter for this one !

That's a pretty weird game, no wonder Duncan M. Bower went insane...

EDIT: @ptitSeb : this game works well (it's a little slow but playable) on my Rebirth with SGX driver 4.10. I noticed some text strings are off screen in the console. Is there anything you could do about it ?

EDIT 2: @ptitSeb : touching the left nub while in-game makes Spellrazor crash.

Cheers, Magic Sam
 
Last edited:
Looking at screenshot from Window version, I suddenly realized that the Spell count (in the bottom of the game screen), was not good. So adjusted that (and it was a tricky, because it didn't find the width of the screen). Then I played a bit with the bloom shaders that are used as a post process. I optimised the scanline version, to avoid a "if" in the shader, and defaulted to non-scanline version anyway (that I boosted a bit, it wasn't bloom enough to my taste). You can switch scanline / non-scanline with '=' (but it's not a persistant setting, sorry).
Also, I realized some of the logic test was not "autoframeskip" aware, so I fixed that. The game now is much more playable.
Also, I tested it on a CC model... and it works :D

Build 02
-------------

  • Adjusted Spell display to fit the screen
  • Optimized Bloomwithscanline shader
  • Fixed autoframeskip
  • Default to non-scaline Bloom (switch with '=')
 
I love the story behind the game. Very well done hoax/storytelling. The game is amazing! Thanks a bunch for porting and bringing this game to us you two!
 
Another quick updates (the last one now).
I noticed some small last issue in the GUI (the white cross indicating closest thing offscreen, or the score multiplier), so I adjusted that.
Also, I tried to optimized some shader (removing "if" and putting ternary operator instead).
Game seems more smooth on my Gigahertz model (on the CC, I need to switch to 3.x SGX driver to get it run in a stable way).

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

  • Minor adjustments to GUI
  • Some Shaders optimizations
 
Last edited:
@Magic Sam sorry to burst your bubble. The whole character is fictional. Apparently there used to be rumours in the 80s about a fabled game called polybius. The game supposedly had weird effects on players, was super addicting and the cabs were maintained by men in black doing strange experiments... that's what Dene Carter based the story on.
 
hoax ? You mean Duncan M. Bower never existed (I'm the most naive person, ever) ?

*Rubs hands*

I love it when a plan comes together.


Edit: Dene asks
Woo! Well done to all concerned! The only question I have is: Do the new shaders work with the 'X-Ray' spell and the 'get hit' chromatic aberration effect?

Edit:
I just got around to testing on CC unit, indeed X-Ray spell crashes the game.
 
Last edited:
Hey guys. Just wanted to say 'hi' and thanks for porting/playing Spellrazor.
Thanks for letting Spellrazor free. It's a very nice game, with good graphics and interesting gameplay.


Edit:
I just got around to testing on CC unit, indeed X-Ray spell crashes the game.
Did you try with oldest SGX drivers? (3.something) or the default ones? I have found default to be a bit unstable.
[doublepost=1493625763,1493624183][/doublepost]
Edit: Dene asks
Woo! Well done to all concerned! The only question I have is: Do the new shaders work with the 'X-Ray' spell and the 'get hit' chromatic aberration effect?

Well, no, for now, those effect are disabled. I'll try to reanble this shader and see if it doesn't slow things down too much.
 
Did you try with oldest SGX drivers? (3.something) or the default ones? I have found default to be a bit unstable.
I guess I'm on default, never fiddled with that. Will try once I can. Been reading about shaders for hours now, fascinating stuff - too bad our SGX is weaksauce.
 
New build on the repo. I re-enabled the fullscreen shader effect, so "getting hit" or XRay now do have an effect. It doesn't seems to slow down things too much, so it's good.
Still well playable on Gigahertz, and still OK on CC.

Note that it seems to left the SGX driver in a somewhat unstable state, so I recommend rebooting after playing...

Build 04
-------------

  • Re-enabled fullscreen shader effect
 
Hi all :)

@ptitSeb : is there room for optimization in this fullscreen shader effect ?

Re-enabling it slowed down your last version quite a lot IMHO (Rebirth w/ SGX driver 4.10).

Overclocking to 825 MHz is of no use, as this game seems to be GPU bound.

Cheers, Magic Sam
[doublepost=1493633633,1493632856][/doublepost] @ptitSeb : here is the output of "sudo perf top" while playing the second tutorial level:
22.37% libluajit-5.1.so.2 [.] 0x8d40
11.60% perf-3889.map [.] 0x400085b8
6.93% [kernel] [k] omap3_enter_idle
6.52% libGLESv2.so.1.10.2359475 [.] 0x23d10
3.54% perf [.] 0x2ea98
3.44% libasound.so.2.0.0 [.] snd_pcm_lfloat_convert_floa
1.97% [kernel] [k] tick_nohz_restart_sched_tic
1.75% liblove.so.0 [.] love::graphics:: opengl::Fon
1.68% [kernel] [k] __schedule
1.31% libc-2.9.so [.] memcpy

Is perf-3889.map related to the perf tool ?

Cheers, Magic Sam
 
Hi all :)

@ptitSeb : is there room for optimization in this fullscreen shader effect ?

Re-enabling it slowed down your last version quite a lot IMHO (Rebirth w/ SGX driver 4.10).

Overclocking to 825 MHz is of no use, as this game seems to be GPU bound.

Cheers, Magic Sam
[doublepost=1493633633,1493632856][/doublepost]Here is the output of "sudo perf top" while playing the second tutorial level:


Is perf-3889.map related to the perf tool ?

Cheers, Magic Sam
Not really. But I can proabbly try to add a hotkey to enable / disable the effect.

Also, that perf top gives you: the lua-jit and it's jit code (the perf-3889.map) and omap3_enter_idle, as it's GPU bounded as you guessed.
 
Sooooo... one thing that could be done is to separate out X-ray, Chromatic Aberration and Normal render modes into 3 different shaders? That would massively decrease the per-pixel computation at the expense of having another modal state in the game.

Bottom line: I think we can sort this out.
 
Sooooo... one thing that could be done is to separate out X-ray, Chromatic Aberration and Normal render modes into 3 different shaders? That would massively decrease the per-pixel computation at the expense of having another modal state in the game.

Bottom line: I think we can sort this out.
I have just done that (before seeing your message) :D I've been a step further and kept the "full" shader for the "zoom" effect (as I'm not sure if zoom+chromatic or zoom+XRay can be done), and then separate Chromatic / XRay / Nothing (just some Bright) Shader, without zoom.

And yeah, it seems to do the trick. I'm uploading the new PND to repo soon.
 
I have just done that (before seeing your message) :D I've been a step further and kept the "full" shader for the "zoom" effect, and then separate Chromatic / XRay / Nothing (just some Bright) Shader.

And yeah, it seems to do the trick. I'm uploading the new PND to repo soon.

Holy crap you're good. :confused:

[Edit for helpfulness] Chromatic Aberration (get hit), XRay and Zoom (level transition) can safely be treated as mutually exclusive, and none of these states persist between level changes. X-Ray should persist through a get hit (obviously) but purely for cosmetic reasons (you can still see enemies through walls - it just won't look as fancy).
 
Last edited:
Back
Top