LINUX.ORG.RU
ФорумGames

Worms Zone - Червячная зона

 , , ,


3

2

Собрал версию Worms Zone для Linux x86_64. Сорцы движка, игры и прочих модулей закрыты. В ближайшее время открывать не планирую. Принципиальным любителям открытых сорцов предлагаю воздержаться от использования этой игры.

Краткое описание

Управляя червем, поедать различные вкусняшки, разбросанные по арене. Желательно избегать столкновения с другими червями. По арене разбросаны различные поверапы, которые меняют характеристики червя - магнит, ускоритель, умножитель и т.д.

Скриншоты

Особенности

  • В игре доступны большой выбор готовых скинов.
  • Есть редактор скинов.
  • Можно настроить внешний вид мордочки.
  • Таблица лидеров за сутки и за неделю.
  • Огромная арена, увеличено количество червей на арене до 150.

В линуксовой версии нет поддержки логина в Facebook, поэтому профиль хранится локально, а скор в лидерборд не отправляется.
Если пойму, что к линуксовой версии есть интерес, то постараюсь добавить Facebook Login.

Ссылки

★★★★★

Ответ на: комментарий от Deleted

Медлительно червячки поворачивают в вебморде. Так и задумано ?

Скорость поворота зависит от «жирности» червя. Чем червь жирнее, тем медленнее он поворачивает. Но есть поверап, который значительно повышает скорость поворота. Разные поверапы разбросаны по арене.

andreyu ★★★★★ ()
Ответ на: комментарий от EXL

А что за фреймворки и какие технологии использовались для написания Web-версии игры?

Движок свой, C++. Для сборки web-версий используется чудесный проект emscripten. Но, безусловно, поддержка веба должна быть реализована в коде движка.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu
dron@gnu:~$ uname -a
Linux gnu 4.19.0-2-amd64 #1 SMP Debian 4.19.16-1 (2019-01-17) x86_64 GNU/Linux

Extended renderer info (GLX_MESA_query_renderer):
    Vendor: X.Org (0x1002)
    Device: AMD BARTS (DRM 2.50.0 / 4.19.0-2-amd64, LLVM 7.0.1) (0x6739)
    Version: 18.3.4
    Accelerated: yes
    Video memory: 2048MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 3.3
    Max compat profile version: 3.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 2047 MB, largest block: 2047 MB
    VBO free aux. memory - total: 1021 MB, largest block: 1021 MB
    Texture free memory - total: 2047 MB, largest block: 2047 MB
    Texture free aux. memory - total: 1021 MB, largest block: 1021 MB
    Renderbuffer free memory - total: 2047 MB, largest block: 2047 MB
    Renderbuffer free aux. memory - total: 1021 MB, largest block: 1021 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 2048 MB
    Total available memory: 3069 MB
    Currently available dedicated video memory: 2047 MB
OpenGL vendor string: X.Org
OpenGL renderer string: AMD BARTS (DRM 2.50.0 / 4.19.0-2-amd64, LLVM 7.0.1)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.3.4
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

dron@gnu:~/wormszone$ ./WormsZone 

---------- InitializeEngine ------------
(II) Desired size: 1024 x 576 , hardware: 1920 x 1080
ATTENTION: default value of option vblank_mode overridden by environment.
*************************************
*           age improved            *
*************************************
* compiled at Mar 21 2019, 13:23:03 *
*************************************

(II) Assets path: '/home/dron/wormszone/'
(II) Storage path: '/home/dron/.config/worms-zone/'
(II) Max available sources: 32
Could not compile shader:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES
Could not compile shader:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES
(II) package loading started 'logo.pak', remain 1
--- FocusIn
-----------------------------------
(II) Focus gain
-----------------------------------
(II) package loaded 'logo.pak', remain 0
(II) notify with result Loaded
(II) Loading 'logo/logo.xml'...
Loading image 'logo/loading.png'...
  image 140 x 16, RGBA8888 has been loaded in 118 ms.
  texture uploaded in 1720 ms.
Loading image 'logo/logo.png'...
  image 218 x 198, RGBA8888 has been loaded in 555 ms.
  texture uploaded in 165 ms.
Could not compile shader:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES
Could not compile shader:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES
Could not compile shader:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES
Could not compile shader:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES
(II) package loading started 'sounds.pak', remain 1
(II) package loading started 'common.pak', remain 2
(II) package loaded 'sounds.pak', remain 1
(II) package loaded 'common.pak', remain 0
Could not compile shader:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES
Could not compile shader:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES
(II) Loading 'sounds/sounds.xml'...
(II) Loading 'common/localization/localization-.xml'...
(EE) Xml can't be parsed 'Error document empty.', row: 0, col: 0
(II) Loading 'common/localization/localization-en.xml'...
(II) Loading 'common/common/popups.xml'...
(II) Loading 'common/common/atlas_common.xml'...
(II) Loading 'common/skins/skins.xml'...
(II) Loading 'common/skins/atlas_skins.xml'...
Loading image 'common/skins/atlas_skins.png'...
  image 844 x 842, RGBA8888 has been loaded in 9756 ms.
  texture uploaded in 1254 ms.
(II) Loading 'common/shop/shop.xml'...
(II) Loading 'common/masks/atlas_masks.xml'...
(II) Loading 'common/common/atlas_common.xml'...
(II) Loading 'common/shop/atlas_shop.xml'...
(II) Loading 'common/menu/main.xml'...
(II) Loading 'common/menu/atlas_menu.xml'...
(II) Loading 'common/masks/atlas_masks.xml'...
(II) Loading 'common/common/atlas_common.xml'...
(II) Loading 'common/backgrounds/atlas_backgrounds.xml'...
Creating texture 64 x 64...
New font 'common/fonts/NotoSans-CondensedMedium.ttf:50' loaded.
Loading image 'common/menu/atlas_menu.png'...
  image 648 x 628, RGBA8888 has been loaded in 7015 ms.
  texture uploaded in 1022 ms.
Loading image 'common/masks/picture.png'...
  image 80 x 80, A8 has been loaded in 182 ms.
  texture uploaded in 78 ms.
Loading image 'common/backgrounds/dark-grey-terrazzo.png'...
  image 512 x 512, RGB888 has been loaded in 1495 ms.
  texture uploaded in 1470 ms.
Loading image 'common/backgrounds/concrete-texture.png'...
  image 512 x 512, RGB888 has been loaded in 2375 ms.
  texture uploaded in 1801 ms.
Loading image 'common/backgrounds/perforated_metal.png'...
  image 512 x 512, RGB888 has been loaded in 1226 ms.
  texture uploaded in 1788 ms.
Could not compile shader:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES
Could not compile shader:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES
Could not compile shader:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES
Could not compile shader:
0:1(10): error: GLSL 1.50 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES, and 3.00 ES
--- FocusOut
-----------------------------------
(II) Focus lost
-----------------------------------


Deleted ()
Ответ на: комментарий от andreyu
- #version 150
+ #version 120

:D Со стописятой версией, ты дропаешь все Radeon на свободных дровах, ибо контекст есть до 3.3 но шейдеры 100% реализации только на 120 версии. По крайней мере на моих железках так.

И да, в браузере всё работает… Натив нет, а браузер да, прикольна чё ))

Deleted ()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от steemandlinux

Которых очень и очень и очень много, а различий между 120 и 150 GLSL мизерные если я не путаю ничего. Ну сейчас такое время, либо прицел на новое либо на старое, либо пилить отдельно для того и другого, кросс в кросс инструментах умер, плак

Deleted ()
Ответ на: комментарий от the1

А на каком графическом API Apple-порты игры?

Для tvOS, iOS - OpenGL ES 2, для macOS - OpenGL.

Что с ними будет когда Apple забросят OpenGL?

Надеюсь к тому времени успеть сделать бэкенд на Metal.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

У меня xf86-video-intel. Вывод консоли:

exception thrown: TypeError: GLctx is null,emscriptenWebGLGet@https://worms.zone/WormsZone.js:1:181317
_glGetIntegerv@https://worms.zone/WormsZone.js:1:182739
@https://worms.zone/WormsZone.wasm:wasm-function[2530]:0xd6012
@https://worms.zone/WormsZone.wasm:wasm-function[2536]:0xd656f
@https://worms.zone/WormsZone.wasm:wasm-function[1462]:0x4f851
@https://worms.zone/WormsZone.wasm:wasm-function[1408]:0x4cdbb
@https://worms.zone/WormsZone.wasm:wasm-function[1446]:0x4ef81
Module._main@https://worms.zone/WormsZone.js:1:211440
callMain@https://worms.zone/WormsZone.js:1:220223
runGame@https://worms.zone/js/main.js:42:5
tryToRun@https://worms.zone/js/main.js:47:9
tryToRun/<@https://worms.zone/js/main.js:51:13
main.js:70:13
Error: WebGL warning: <SetDimensions>: Failed to create WebGL context: WebGL is currently disabled. WormsZone.js:1:169783
Error: WebGL warning: <SetDimensions>: Failed to create WebGL context: WebGL is currently disabled. WormsZone.js:1:169834
TypeError: GLctx is null[Подробнее] WormsZone.js:1:181317
Запрос на доступ к куке или хранилищу на «https://staticxx.facebook.com/connect/xd_arbiter/r/d_vbiawPdxB.js?version=44#channel=f347824b0d37d72&origin=https%3A%2F%2Fworms.zone» был заблокирован, в связи с тем, что пользователем заблокированы все сторонние запросы доступа к хранилищу, а также включена блокировка содержимого.
game.html
Запрос на доступ к куке или хранилищу на «https://staticxx.facebook.com/connect/xd_arbiter/r/d_vbiawPdxB.js?version=44#channel=f347824b0d37d72&origin=https%3A%2F%2Fworms.zone» был заблокирован, в связи с тем, что пользователем заблокированы все сторонние запросы доступа к хранилищу, а также включена блокировка содержимого. game.html:25:208
Запрос на доступ к куке или хранилищу на «https://staticxx.facebook.com/connect/xd_arbiter/r/d_vbiawPdxB.js?version=44#channel=f347824b0d37d72&origin=https%3A%2F%2Fworms.zone» был заблокирован, в связи с тем, что пользователем заблокированы все сторонние запросы доступа к хранилищу, а также включена блокировка содержимого.

Если выключить блокировку:

Загрузка <script> по адресу «https://www.googletagmanager.com/gtag/js?id=UA-114078112-5» не удалась. game.html:74:1
Загрузка <script> по адресу «https://api.adinplay.com/libs/aiptag/assets/adsbygoogle.js» не удалась. game.html:1:1
Загрузка <script> по адресу «https://imasdk.googleapis.com/js/sdkloader/ima3.js» не удалась. game.html:1:1
Error: WebGL warning: <SetDimensions>: Failed to create WebGL context: WebGL is currently disabled. WormsZone.js:1:169783
Error: WebGL warning: <SetDimensions>: Failed to create WebGL context: WebGL is currently disabled. WormsZone.js:1:169834
************************************* WormsZone.js:1:35316
*           age improved            * WormsZone.js:1:35316
************************************* WormsZone.js:1:35316
* compiled at Mar 20 2019, 19:31:28 * WormsZone.js:1:35316
************************************* WormsZone.js:1:35316
WormsZone.js:1:35316
(II) Assets path: 'https://worms.zone/assets/' WormsZone.js:1:35316
(II) Storage path: '/worms-zone/' WormsZone.js:1:35316
exception thrown: TypeError: GLctx is null,emscriptenWebGLGet@https://worms.zone/WormsZone.js:1:181317
_glGetIntegerv@https://worms.zone/WormsZone.js:1:182739
@https://worms.zone/WormsZone.wasm:wasm-function[2530]:0xd6012
@https://worms.zone/WormsZone.wasm:wasm-function[2536]:0xd656f
@https://worms.zone/WormsZone.wasm:wasm-function[1462]:0x4f851
@https://worms.zone/WormsZone.wasm:wasm-function[1408]:0x4cdbb
@https://worms.zone/WormsZone.wasm:wasm-function[1446]:0x4ef81
Module._main@https://worms.zone/WormsZone.js:1:211440
callMain@https://worms.zone/WormsZone.js:1:220223
runGame@https://worms.zone/js/main.js:42:5
tryToRun@https://worms.zone/js/main.js:47:9
tryToRun/<@https://worms.zone/js/main.js:51:13
main.js:70:13
TypeError: GLctx is null[Подробнее] WormsZone.js:1:181317
    emscriptenWebGLGet https://worms.zone/WormsZone.js:1
    _glGetIntegerv https://worms.zone/WormsZone.js:1
    <анонимная> https://worms.zone/WormsZone.wasm:876562
    <анонимная> https://worms.zone/WormsZone.wasm:877935
    <анонимная> https://worms.zone/WormsZone.wasm:325713
    <анонимная> https://worms.zone/WormsZone.wasm:314811
    <анонимная> https://worms.zone/WormsZone.wasm:323457
    _main https://worms.zone/WormsZone.js:1
    callMain https://worms.zone/WormsZone.js:1
    runGame https://worms.zone/js/main.js:42
    tryToRun https://worms.zone/js/main.js:47
    tryToRun https://worms.zone/js/main.js:51

​
Shein ()
Ответ на: комментарий от andreyu

Надеюсь к тому времени успеть сделать бэкенд на Metal.

Спасибо. Т.е. вы уже начали изучать Метал, и планируете самостоятельно сделать GLES-over-Metal прослойку? Можно попросить открыть либу? :) (мне не нужно пока, но так, есть причины для любопытства... или потом кто-нубудь скрестит GLOVE и MoltenVK, может тогда их заюзаю).

the1 ()
Ответ на: комментарий от stels

3 минуты слишком мало, только чуть разжирел и заново

Это режим с ограничением по времени. А всего в игре три режима - песочница с ограничением по времени, задания с ограничением по времени, без ограничений.

Второй режим становится доступен после 10 игр, третий после 30 игр.

В будущем будет всего один режим без ограничения по времени, но с возможностью выполнения заданий.

andreyu ★★★★★ ()
Ответ на: комментарий от the1

Т.е. вы уже начали изучать Метал, и планируете самостоятельно сделать GLES-over-Metal прослойку?

Скорее готовить себя морально и подталкивать к скорейшей реализации

Можно попросить открыть либу? :)

Так уже есть GLES -> Metal (MoltenGL) и GLES -> Vulkan (MoltenVK).
Первая с ограничениями, вторая вроде полностью открыта.

andreyu ★★★★★ ()
Ответ на: комментарий от andreyu

Их же тоже можно опциональными сделать, как скин червя.

Кстати, изменение механики за полгода было весьма в тему — раньше было совсем казуальненько. Если бафу на ускорение добавить скорости ещё (2.5x-3x от базовой скорости), он будет ещё более эффективен на ранних этапах, пока червь короткий, и крайне опасен на поздних, когда червь уже достаточно длинный и неповоротливый (сейчас он полезен на поздних этапах больше, чем на ранних, и получается немного дизбаланс).

А вот вечные изменения в интерфейсе главного меню (выбор режима) сбивают с толку, на новом профиле я вообще не вижу возможности смены режима, и это уже сбивает с толку новичков.

Слежу за развитием проекта почти с самого начала.

mord0d ★★★ ()
Ответ на: комментарий от andreyu

Но не worms zone. А в данном случае это слово означает ровно то, что оно означает.

Ну-ну, названия близки до степени смешения. Эппл или гугл спокойно по первому запросу из Team17 забанят твое приложение. Хотя б в Wormz переименуй.

Deleted ()