I'll definitely try the nebula shader for the parallax background, I liked that effect a lot!
Regarding detecting mobile, you could try:
IS_MOBILE = love.system.getOS() == "Linux"
and (require("ffi").arch == "arm" or require("ffi").arch == "arm64")
`jit.arch` (or `ffi.arch`) returns the architecture: https://luajit.org/ext_jit.html#jit_arch
You can assume Linux on ARM likely indicates a mobile platform, and also check for OpenGL ES to be safer:
local gl_vendor, gl_version = love.graphics.getRendererInfo()
if gl_version then
is_es = string.find(gl_version:lower(), "es", 1, true) ~= nil
end
IS_MOBILE = love.system.getOS() == "Linux" and (require("ffi").arch == "arm" or require("ffi").arch == "arm64")
and is_es
Have a nice one!