Myslím, že všechny příspěvky o OpenGL v této diskusi jsou malinko mimo. Hra jako taková využívá "sprite" k vykreslování - stačí se podívat do jejích datových adresářů. OpenGL má (viz seriál na ROOTu) spoustu příjemných vlastností i pro práci s 2D grafikou a těch se v Chromiu využívá (alpha blending apod.) a právě proto vypadá tak pěkně a kdyby téhož mělo být dosaženo jen klasickou cestou, roysah datových souborů s předgenerovanými obrázky by byl od dost větší.
Ano ano, je to tak.
Navic je tu jeste jeden problem. Narazil jsem na nej, kdyz jsem pracoval na jednom svem projektu (hra pod SDL). Ac 2D, potreboval jsem velmi svizne hybat celou obrazovkou. Lec bylo to neustale zoufale pomale. Nakonec jsem v dokumentaci vycetl, ze 2D akcelerace prakticky neexistuje a tudiz nezbyva, nez to prepsat pod OpenGL. Jestli tohle neni taky duvod, proc vsechny linuxove hry vyzaduji 3D akceleraci... :-(
Taky s vámi musím jen souhlasit.
Dělával jsem různé 2D grafické efekty (zejména blending, který je v této hře pravděpodobně použit) a sice se to dá napsat velmi efektivně v kódu například pomocí MMX instrukcí, ale potom jsem zjistil, že stejně nejvíc času zabere blitování výsledného obrázku na obrazovku a případné barevné konverze. Myslím si, že dnes tudy cesta nevede (tj. pro každý grafický režim udělat vlastní blitovací funkce, sprity apod.).
Mnohem jednodušší a téměř vždy rychlejší je použít otexturované plošky (tady pravděpodobně čtverce), kde lze využít rotace, blendingu a dalších efektů s případným využitím akcelerace.
Když není akcelerace dostupná, stále je většinou rychlejší kód napsaný např. v SW OpenGL než Váš (resp. můj, nechci nikoho podceňovat) kód pro blitování a sprity.