[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]

No.39943 Reply
File: Izumi_Konata__DotAku_by_kssael.png
Png, 1539.48 KB, 800×792 - Click the image to expand
edit Find source with google Find source with iqdb
Izumi_Konata__DotAku_by_kssael.png
В этом ИТТ треде я буду собирать различные ссылочки по игрострою.
Любой мимокрок может присоединиться и подискутировать на тему разработок игор.
Кстати некто в /b/ уже предлагал всем Доброчаном игру запилить.

Итак
http://habrahabr.ru/post/153933/ Инструкция начинающего разработчика игр
http://habrahabr.ru/post/160547/ Как начать писать игры
http://live13.livejournal.com/462582.html Шаблоны игрового программирования. Перевод http://gameprogrammingpatterns.com/
http://game-icons.net/ няшные иконочки
http://www.roguebasin.com/index.php?title=Main_Page RogueBasin
http://habrahabr.ru/company/mailru/blog/195438/ Проектирование интерфейсов в MMORPG Skyforge
http://habrahabr.ru/company/mailru/blog/182088/ Базы данных в онлайн-играх. От Аллодов Онлайн до Skyforge
http://habrahabr.ru/post/164175/ Технология быстрого создания фонов для 2D-игр на базе 3D-заготовок (48 часов разработки)
http://habrahabr.ru/post/201680/ Автоматический генератор квестов
http://habrahabr.ru/post/111538/ Алгоритм «diamond-square» для построения фрактальных ландшафтов
http://habrahabr.ru/post/232223/ Полезные ресурсы для гейм-дизайнера
http://habrahabr.ru/post/117420/ Текстурирование спрайтов с помощью (dis)placement map
http://habrahabr.ru/post/218401/ Инструментарий гейм-мастера
http://habrahabr.ru/post/154305/ Необходимые ресурсы для геймдизайнеров
http://habrahabr.ru/post/88161/ 5 способов, которыми игры пытаются вызвать зависимость
http://habrahabr.ru/post/199404/ Свен Винке о том, что же важней всего в RPG
https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking Source Multiplayer Networking - Valve Developer Community
Ещё в /u/ валялась кафедра геймдизайна.
>> No.39944 Reply
>>39943
http://opengameart.org/ сборник всяких бесплатных моделек, спайтов, звуков и прочего.
http://free-basic.ru/g00.html незаконченный недоперевод перевод Let's Build a Roguelike
>> No.39945 Reply
http://www.squidi.net/three/ автор пытается выдумать 300 идей для игровой механики.

>>39943
> Кстати некто в /b/ уже предлагал всем Доброчаном игру запилить.
Некто? Да эти предложения, как мне кажется, чуть ли не раз в неделю возникают.

Даже я предлагал запилить ММО пошаговый рогалик для доброчана (в виде юзерскрипта).
Даже сляпал нечто, что можно назвать прототипом - https://github.com/tranquility-yuki/yukiscript/raw/master/CoolStoryBro.user.js

> Ещё в /u/ валялась кафедра геймдизайна.
сразу бы дал на неё ссылку
>>/u/60525
>> No.39946 Reply
File: talking_captcha.png
Png, 1.56 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
talking_captcha.png
>>39945
> http://www.squidi.net/three/
Годно ящитаю.
> Да эти предложения, как мне кажется, чуть ли не раз в неделю возникают.
Возможно. Я кстати уже пилю свою браузерную недоммо. Как допилю до удобоваримого состояния свой движок, так будет код выложен. Возможно через неделю или две будет этот самый код. И збт уровня /b/ через месяц.
> yukiskript
Ты всётки меня преследуешь :3
>> No.39947 Reply
>>39946
> Возможно через неделю или две будет этот самый код. И збт уровня /b/ через месяц.
Ждём.
> Ты всётки меня преследуешь
Это же >>/s/
>> No.39948 Reply
>>39947
> Ждём.
Пока могу сказать, что там вот столько кода на данный момент:
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Go                              43            482            422           2163 // серверная часть
Javascript                      14            210             75           1296 // клиент
Bourne Shell                     1              1              0              1 // генерит моки в недрах серверной части
-------------------------------------------------------------------------------
SUM:                            58            693            497           3460
-------------------------------------------------------------------------------
И надобно добавить довольно много js-кода и по меньшей мере вылизать и допилить весь go-код.
>> No.39949 Reply
>>39948
Понятно. Ждём.
>> No.39955 Reply
File: captcha.png
Png, 0.92 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
captcha.png
Ещё 4chan.org/vg/agdg, у них там неплохая подборка ресурсов была.
Игрушку можно было бы ради наработки скила сделать, но анонимус ленивый и необязательный, поэтому командная разработка не взлетит. Тем более здесь, где три поста в за два дня.
>> No.39956 Reply
File: talking_captcha.png
Png, 1.43 KB, 300×20
edit Find source with google Find source with iqdb
talking_captcha.png
File: eK6G0d3UA3A.jpg
Jpg, 42.20 KB, 429×437
edit Find source with google Find source with iqdb
eK6G0d3UA3A.jpg
File: EVA-02_1.jpg
Jpg, 174.06 KB, 700×525
edit Find source with google Find source with iqdb
EVA-02_1.jpg
File: f37d71277d2ebd701...
Jpg, 89.53 KB, 700×721
edit Find source with google Find source with iqdb
f37d71277d2ebd701bbf6730418c0841.jpg
File: f57dc1c63e5b7727e...
Jpg, 127.96 KB, 640×480
edit Find source with google Find source with iqdb
f57dc1c63e5b7727e17f78806a92597e.jpg

>>39955
> у них там неплохая подборка ресурсов была.
Вот это http://alloyed.github.io/agdg-links/ ?
> Игрушку можно было бы ради наработки скила сделать
Тебе потребуется некоторый скилл для разбора моего говнокода. У меня там будет http://rpgcreator.net/ с гейшами и го. Т.е. по меньшей мере мультиплеер.

Можешь уже начать изучать следующие либы:
https://github.com/GoodBoyDigital/pixi.js сверхскоросные хаки джля canvas. При наличии WebGL ускорение графики до небесных значений.
http://getuikit.com/ я буду использовать этот css-фреймворк. правда мне не нравится, что в нём jquery
http://vuejs.org/ пока не заюзал, но скорее всего потребуется в редакторах.
https://github.com/jdan/isomer для изометрической графики. Возможно я его форкну ибо с https://github.com/jdan/isomer/pull/39 кактоу медлят.
http://gulpjs.com/ используется джля сборки всего front-end. При этом js собирается при помощи http://browserify.org/

На сервере используется http://golang.org/ вместе с:
https://github.com/go-martini/martini вместе с https://github.com/martini-contrib в качестве каркаса для рендеринга html на сервере.
https://github.com/coopernurse/gorp вместо нормальной orm.
https://github.com/gocircuit/circuit/ в качестве нёх для общения нескольких нод сервера между собой.
https://github.com/gorilla/websocket в качестве обвязки джля WebSocket.
Джля поиска пути будет использоваться Jump Point Search. http://habrahabr.ru/post/162915/ И я скорее всего форкну https://github.com/skelterjohn/geom и запихну туды реализацию этого jps.
Джля скриптинга будет использоваться TCL https://github.com/lain-dono/picol.go когда я его допилю до вменяемого состояния. Впрочем кое где будут собственные микроЯП http://live13.livejournal.com/471098.html

Пока используется sqlite3 вместо нормальной БД. Потом будет PostgeSQL скорее всего.
Возможно запилю сборку всего этого в http://www.vagrantup.com/ но пока оно теоретически запустится и на винде до тех пор пока нет circuit и нормальной балансировки.

Такж во всём этом используется git с http://habrahabr.ru/post/106912/

Я не буду отвечать на вопросы в стиле "как пользовать {{имя-библиотеки}}" если мне будет лень и эту инфу можно будет выдрать из гугла или документации. Однако я с радостью отвечу на вопросы в стиле "зачем в твоём коде {{некий-костыль}}". Скорее всего я напишу простыню README.md по всему этому включая структуру и архитектуру моего говнокода.

Как видите это всё дофига. И потому будет круто иметь рабочую демку через месяц. Может чего и упустил, но в целом такие дела на текущий момент. В целом я пишу движок только. Ибо в моём диздоке слишком пусто пока даже для концептдока.
>> No.39960 Reply
https://github.com/ellisonleao/magictools A list of Game Development resources to make magic happen.
Да и вообще https://github.com/bayandin/awesome-awesomeness
>> No.39962 Reply
File: oni.jpg
Jpg, 104.01 KB, 333×327 - Click the image to expand
edit Find source with google Find source with iqdb
oni.jpg
Ладно. Выложу, но пока без README.md и любых пояснений. Делайте с этим всё, что хотите возможно даже сможете эту недоделанную НЁХ запустить. https://bitbucket.org/lain-dono/oniproject
Вроде должно работать создание issues для анонимных пользователей https://bitbucket.org/lain-dono/oniproject/issues
>> No.39965 Reply
Набрёл на кокойто блог в котором есть перевод книги The Art of Game Design http://casualuniverse.com/home/casualun/public_html/2012/03/knigi-o-ge[...]va-4/
>> No.39975 Reply
File: Screen-Shot-2014-08-14-at-16.16.25.png
Png, 573.35 KB, 1440×772 - Click the image to expand
edit Find source with google Find source with iqdb
Screen-Shot-2014-08-14-at-16.16.25.png
Пилим редактор карт тайтлов. Прям как в RPG Creator VX Ace буде. Ну почти. Анимация уже работает. И автотайтлы тоже но не всех типов пока.
>> No.39986 Reply
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Go                              43            498            421           2221
Javascript                      14            286             98           1819
Bourne Shell                     1              1              0              1
-------------------------------------------------------------------------------
SUM:                            58            785            519           4041
-------------------------------------------------------------------------------
>> No.39987 Reply
>>39986
Что это за слоувайп хуитой? Кому интересно, сами посмотрят.
>> No.39991 Reply
>>39986
Продолжай.
>> No.39992 Reply
File: TITS_OR_GTFO_by_E...
Png, 89.14 KB, 732×393
edit Find source with google Find source with iqdb
TITS_OR_GTFO_by_EarthDay_Nosebleeds.png
File: talking_captcha.png
Png, 1.53 KB, 300×20
edit Find source with google Find source with iqdb
talking_captcha.png
File: thistle_by_gloom8...
Jpg, 86.14 KB, 900×600
edit Find source with google Find source with iqdb
thistle_by_gloom82-d30tnwr.jpg
File: Slowpoke_avangard...
Jpg, 7.34 KB, 336×306
edit Find source with google Find source with iqdb
Slowpoke_avangard.jpg

>>39987
Это результат работы cloc. Количество строк кода в js и oni. Я это джля себя скорее запостил. Так хоть видно сколько я написал кода, учитывая мою лень и просмотр нескольких тайтлов анимца. Считаю 500 строк в данном случае это средне. Еслиб не отвлекался, то мог и больше написать.

>>39991
Держи:

Суть такова.
Во первых будет использоваться git-flow, а значит там будут несколько типов веток. Сейчас ветка master пуста, но и потом там будут релизы только. Релиз 0.1.0 выйдет в ближе к пятнице и будет содержать разве только полноценный README. В ветке develop будут только мелкие фиксы и результаты слияния с feature-ветками. Свои feature-ветки я буду публиковать.

Во вторых общая структура каталогов такая:
  • config - в ней будут лежать разнообразные конфиги на YAML когда допилью
  • js - все исходники клиента и редакторов
  • oni - вся серверная часть там стоит отметить каталог mechanic в котором будут всякие штуки касательно боевых и не только механизмов игры
  • public - всякие ресурсы вроде шрефтов, картинок и прочего. И туда идёт сборка клиента из js.
  • templates - там все шаблонные html. Для серверной части шаблонные выражения одеваются в фигурные скобочки, а джля клиентского кода в обратные кавычки.
  • gulpfile.js собирает клиент. Использует browserify для своих тёмных дел.
  • main.go точка входа
В третьих общая структура сервера такая:
Есть одна нода master, на которой вертится отдача статики, аккаунты и балансер.
Есть несколько нод db, которые занимаются обработкой данных аватаров.
Есть много нод game, на которых спавнятся карты, по которым бегают мобы с игроками(аватарами).
Что характерно аватары получают глобальный Id, по которому могут быть доступны из любой точки этой игры. Т.е. можно послать некому объекту в игре сообщение "убейся" с другой ноды в одну-джве строчки. Именно для этого и нужен circuit будет

Некоторые нужные фичи, которых ещё нет в рандомном порядке ну чтоб я сам не запутался:
  • освещение при участии Normal Mapping. Демка из pixi http://www.goodboydigital.com/pixijs/examples/20/
  • нормальный балансер, которого пока нет вообще
  • всея редактор. Пока есть отдельно редактор изометрии и редактор тайтловых карт. Оба в зачаточном состоянии.
  • нормальный билдер персов. Каждый перс имеет четыре или восемь направлений движения и несколько анимаций. При этом состоит из нескольких слоёв для шмота и прочего.
  • редактор эффектов всяких заклинаний и прочего. А следовательно нормальный редактор частиц. В разгар битвы количество частиц на экране должно зашкаливать за 9000 в прямом смысле. При 100к http://www.goodboydigital.com/pixijs/bunnymark/ всё ещё не падает при отключённом WebGL.
  • допил механики и редактор к ней.
  • звуковой движок. Скорее всего это будет https://github.com/goldfire/howler.js
  • поддержка более одной карты и быстрый переход между ними. Да, этой хрени пока нет. Да, эту хрень пока лень делать. Но оно должно быть к концу сентября только. Т.е. ближе к 1.0.0
  • боты джля тестов и как мозги мобам
  • моар тестов хороших и разных
  • запуск в Vagrant
Что должно быть в 0.1.0? Там будет полноценная инструкция по сборке этой НЁХ и общие правила добавления кода вроде того как код форматировать и как писать коммит-сообщения. Ну и чуть чуть фичь, которых ещё нет. Ещё код будет почищен и отформатирован. Ну и будет жалкая попытка написать план работ в виде пачки issues.

В версии 1.0.0 можно будет уже полноценно играть. Т.е. это будет уже рабочая демка с корованами и лунапарком, которой не хватает контента, но код уже средней стабильности и содержит все важные фичи. Именно эта версия появится в /b/ и именно она получит свой первый сервер вне локалхоста скорее всего это будет openshift.

Вопросы можно задавать либо прямо тут либо в https://bitbucket.org/lain-dono/oniproject/issues Возможно мы я уже работаю над этим. Вопросы помогут мне создать более подробный README.
>> No.39993 Reply
File: db.zip
Zip, 0.00 KB, 0 files - Click the image to get file
view
db.zip
Если кто пытается запустить эту нёх, то вот вам файлики с бд. Ибо мне пока лень делать человеческие миграции, которые будут ближе к 0.1.0
>> No.39994 Reply
То, что когданибудьеслинебудетлень будет диздоком лежит в https://docs.google.com/document/d/1CYlPmC9uqHWNtzpReLhdOC1RnHwKqUydCE[...]aring доступно для комментирования, но пока без редактирования. Сейчас там просто сборник мыслей без всякой связи.
>> No.39995 Reply
>>39994
А у битбакета разве нет чего-нибудь типа дискашон форума?
>> No.39996 Reply
>>39995
Там таж фигня, как и на гитхабе же. См. ссылки выше. При чем можно анонимно пилить посты вроде.
>> No.40000 Reply
Есть вообще кто либо, кто хоть пытался запустить эту нёх? Ну или хоть кто либо, кто код смотрел? или я один в своём треде?
>> No.40019 Reply
>>40000
Очень здорово, и план хороший.
>> No.40020 Reply
Вопрос с картинками для персов временно решен https://github.com/makrohn/Universal-LPC-spritesheet http://gaurav.munjal.us/Universal-LPC-Spritesheet-Character-Generator
Однако редактор для этой фигни всё равно делать на случай если кто захочет кокуюнибудь суйсеку запилить. Ну и рендер/загрузчик тоже нужен буде ибо pixi.js.

>>40019
Будет круто, ежели взлетит. Кстати после релиза версии 1.0.0 нужна будет помощь /b/ в крафте картинок и звуков. Тем более, что с запилом карт нормалей эти самые карты нужно буде пилить. Иначе освещения не будет.
Кстати не все фичи из того списка будут в 1.0.0. Только те, которые нужны для играбельности и те, которые успею запилить. Можт кто и поможет конечно.

алсо я сменил orm на https://github.com/jinzhu/gorm ибо там есть автомиграции, а значит нет особых проблем со спавном сервера. Должно хватить простого go run main.go
>> No.40022 Reply
Таки запилил README.md.

И буду потихоньку пилить задачи в https://bitbucket.org/lain-dono/oniproject/issues?status=new&status=open
Желательна помощь хотяб в обсуждении всяких фич.
>> No.40030 Reply
File: a2d-editor.png
Png, 44.69 KB, 1042×770 - Click the image to expand
edit Find source with google Find source with iqdb
a2d-editor.png
Начал пилить редактор анимаций/персонажей. Пикрелейтед.
Хуй вам, а не $250 за Spine 2d. Я за неделю скопирую.
к: старался собрать
>> No.40031 Reply
File: 56630194.jpg
Jpg, 185.82 KB, 630×420 - Click the image to expand
edit Find source with google Find source with iqdb
56630194.jpg
>>39992
Охуенно анон. Алсо, не ты ли тот кто пилил лорляндию?
>> No.40037 Reply
>>40031
Нет, не я пилил.

Вообще там пока мало чего есть, такшто это всё только планы по большей части. Моя главная цель на текущий момент - запилить движок и редакторы к нему. Ещё есть один хитрый план, но о нём можно будет говорить только когда редакторы с движком релизнутся.
>> No.40038 Reply
когда выйдет юнити с экспортом в вебгл это все станет излишним
>> No.40040 Reply
File: a2d-editor-2.png
Png, 244.83 KB, 1440×876 - Click the image to expand
edit Find source with google Find source with iqdb
a2d-editor-2.png
Это даже кое-где работает. Теперь оно может менять трансформации джля

>>40038
Юнити вроде джля 3D, а тут 2D полное, да ещё и с уклоном в MMO. Кроме того бесплатное дешевле платного в $1,500 or $75/month.
В PIXI.js WebGL используется джля ускорения 2D-графона оно работает и без WebGL.
>> No.40043 Reply
File: Screen-Shot-2014-...
Png, 179.32 KB, 1440×796
edit Find source with google Find source with iqdb
Screen-Shot-2014-08-24-at-10.23.37.png
File: talking_captcha.png
Png, 0.67 KB, 300×20
edit Find source with google Find source with iqdb
talking_captcha.png
File: Screen-Shot-2014-...
Png, 200.19 KB, 1440×796
edit Find source with google Find source with iqdb
Screen-Shot-2014-08-24-at-10.27.09.png

Это возможно совсем скоро будет работать. Осталось доделать ещё 80% функционала :3
Пока работают далеко не все кнопки. Но уже можно управлять воспроизведением.
>> No.40052 Reply
>>39945
А что оно делает? Я просмотрел код, там около 3000 строк и половина из них - какая-то велосипедная реализация обычных математических функций
>> No.40077 Reply
>>40043
код редактора откроешь? репа есть?
>> No.40078 Reply
>>40077
Есть всё. Сначала я думал, что запилю a2d в отдельную репу. Теперь решил слить всё в https://bitbucket.org/lain-dono/oniproject/ Жди апдейда 0.2.0. Там будут слегка отрефактореные редакторы. Их кроме всего прочего будет легче запускать. Я перепилил сборку. На прямо сейчас у меня это вот так работает так:
  • установить node и npm
  • в клонированной репе запустить npm install джля подтягивания зависимостей
  • собрать js при помощи npm run build можно даже npm run watch + npm run reload и оно будет автоматом релоадиться LiveReload-плугинкой в браузере при изменении js
  • запустить npm run a2d и открыть http://localhost:9000/a2d.html
Это немного поменяется к версии 0.2.0, но суть будет та же. Пока можешь смотреть за текущими моими потугами в ветке feature/redactor-refactoring Сам код редакторов теперь будет лежать в папке redactor. Вообще поскольку я там в итоге один всё пилю срач в репозитории прилагается. Срач перестанет быть таковым только к 1.0.0. Мне сейчас важнее пилить фичи же. Мне скорость сейчас важнее.

Вот так всё на текущий момент:
$ cloc js redactor oni
     104 text files.
     102 unique files.                                          
      42 files ignored.

http://cloc.sourceforge.net v 1.60  T=1.07 s (92.2 files/s, 8392.4 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Go                              60            757            493           3627
Javascript                      21            321            174           2850
HTML                            11             25              0            472
CSS                              6             34             17            237
Bourne Shell                     1              1              0              1
-------------------------------------------------------------------------------
SUM:                            99           1138            684           7187
-------------------------------------------------------------------------------
>> No.40080 Reply
>>40078
Я слоупок. Что за онипроджект?
Там за Суику играть можно? Сингл есть?
>> No.40081 Reply
File: oni.jpg
Jpg, 104.01 KB, 333×327 - Click the image to expand
edit Find source with google Find source with iqdb
oni.jpg
>>40080
> Что за онипроджект?
Проект по созданию игродвижка и на нём MMORPG. Сейчас идёт только самая начальная стадия с говнокодом. Можешь покопаться в репозитории, если хочешь.
> Там за Суику играть можно?
Там Суйка в качестве маскота. Пикрелейтед. Если кто либо нарисует спрайтов на Суйку, то она и в игре будет. Я программер, а не рисовальщик.
> Сингл есть?
Пока ничего нет почти. Однако на движке можно и сингл пилить будет теоретически. Только учти, что оно всё равно в браузере будет выполняться хотя есть ведь node-webkit и cordova джля упаковки в десктопное или мобильное приложение соответственно.
>> No.40114 Reply
>>40081
красный экран у меня в а2д, чего-то не хватает?
глянул по коду, чото там дофига всего в одной куче - и редактор и игра и го какое-то. зачем там го?
>> No.40117 Reply
File: Slaanesh_break_ti...
Jpg, 179.44 KB, 1600×893
edit Find source with google Find source with iqdb
Slaanesh_break_time_by_Mr_Culexus.jpg
File: 53387.jpeg
Jpeg, 64.67 KB, 460×302
edit Find source with google Find source with iqdb
53387.jpeg
File: macro-я-надеваю-в...
Png, 470.75 KB, 720×480
edit Find source with google Find source with iqdb
macro-я-надеваю-волшебную-шляпу.png

>>40114
> красный экран у меня в а2д, чего-то не хватает?
а чего ты ожидал в нестабильной ветке?
Тебе не хватает папки public/data Добавил специально джля тебя. Впрочем оно всё равно может отвалиться в любой момент. Кроме того оно всё равно не имеет достаточной функциональности джля полноценного редактирования. Там даже нормальной загрузки/сохранения/undo/redo нет пока.
алсо теперь запускать сервер не npm run a2d а npm run redactor и потом http://localhost:9000/redactor.html вкладка Animation editor
> зачем там го?
Сервер это. ММОРПГ же.
> дофига всего в одной куче
Всё будет норм, когда и если выйдет 1.0.0 Говорю же, говнокод там пока.
>> No.40118 Reply
File: 6f7afde04be1c199a25f7c2ebd8cf447.png
Png, 35.81 KB, 880×720 - Click the image to expand
edit Find source with google Find source with iqdb
6f7afde04be1c199a25f7c2ebd8cf447.png
>>40081
> Если кто либо нарисует спрайтов на Суйку, то она и в игре будет. Я программер, а не рисовальщик.
А какие спрайты нужны? Размер/количество?
>> No.40119 Reply
File: IMG_20140108_202251.jpg
Jpg, 831.19 KB, 2560×1920 - Click the image to expand
edit Find source with google Find source with iqdb
IMG_20140108_202251.jpg
>>40118
> А какие спрайты нужны?
Джля уникальных персонажей именно такие как у тебя. Конкретное расположение картинок на спрайте неважно вроде их даже перевернуть можно или ресайзить автоматически. Редактор анимаций универсальный. Единственное - в отдалённых планах есть поддержка освещения, а это значит, что к каждому спрайту придётся делать карту нормалей. Но это в отдалённых планах.

Каждый не уникальный персонаж за которого можно играть может иметь 4, а лучше 8 направлений движения + несколько анимаций вроде ходьба/спокойствие/удар/выстрелИзЛука и тд. При том конечный спрайт создаётся из комбинации нескольких спрайтов. Т.е. например шапка может быть остроугольная, красная и с бубенчиками, а может быть чорным цилиндром или синей банданой. При этом шапку придётся рисовать всего в нескольких вариантах джля разных направлений движения и нет нужды клепать собранный спрайт джля каждой вариации. В твоём спрайте это бантик и ещё некоторые мелкие вещи. Такие дела. Пока на персонажей пойдут спрайты из LPC.

Кстати вполне можно будет силами анона воссоздать в игре Генсокё как отдельную локацию. Пикрелейтед карта от >>mad/47565-куна.

Вообще там в итоге будет песочница джля создания различных миров. И далеко не в каждом мире нужно сражаться с мобами за шмот.
>> No.40166 Reply
Упс, забыл про redactor.html. Теперь есть в нестабильной ветке
>> No.40225 Reply
File: talking_captcha.png
Png, 0.87 KB, 300×20 - Click the image to expand
edit Find source with google Find source with iqdb
talking_captcha.png
>> No.40231 Reply
Решил, что фиг с ним, с редактором карт тайтловых. Пока.
Редакторы я пока не доделал до рабочего состояния. Будет в апдейте.

Не кодил почти неделю. Зато около 5 тайтлов анимца посмотрел. :3
>> No.40248 Reply
The Art of Game Design | Jesse Schell | The Lenses
Книжка по геймдизайну.
Рекомендую если не прочитать - то хотя бы пробежаться по всем "линзам".
www.sfu.ca/~lws2/summercamp/ArtGameDesign.pdf

И вообще давайте сюда прогресс постить, если кто-то что-то пилит.
Всё равно народу мало будет, вангую.
>> No.40250 Reply
File: Iskusstvo_geymdizayna.pdf
Pdf, 4.02 KB, 612×792 - Click the image to get file
Iskusstvo_geymdizayna.pdf
>>40248
Вот на русском, ежели кому надо.
мимо
>> No.40576 Reply
File: talking_captcha.png
Png, 1.13 KB, 300×20
edit Find source with google Find source with iqdb
talking_captcha.png
File: 1370251745291.jpg
Jpg, 126.25 KB, 768×671
edit Find source with google Find source with iqdb
1370251745291.jpg
File: Untitled.png
Png, 133.02 KB, 977×876
edit Find source with google Find source with iqdb
Untitled.png

Я на почти на месяц подзабил. Сейчас вот опять пилю. Уже есть зайчатки инвентаря можно даже дропнуть итем на землю, но пока только через консоль и кривая магия. При помощи грязных хаков удалось убивать недомонстров. При этом hp/mp/sp регенерирует, а заклинания требуют маны. Ждите код. А возможно даже и демку ждите. Или не ждите.
>> No.40591 Reply
Девяносто тыщ мобов в одной точке это слишком много cpu под 50% на ядро, главный цикл фризится, памяти пол-гига отъедает, а мой фейлфокс и не осилит даже такого счастья. Сотня мобов в одной точке это почти играбельно тут уже только фейлфокс соснул по большей части.
А я даже не делал оптимизаций особых. И это при встроенном компилллере без опций.

Джля gccgo требуется пофиксить костыльный sqlite3 драйвер ибо не компиляется. Дескать error: undefined reference to 'sqlite3_блаблабла'. Ну или выпилить этот sqlite3 и впилить сразу не то MySQL, не то PostgreSQL. Предпочтительнее второй конечно.

По оптимизациям:
  • Оптимизируем поиск ближних своих с QTree. Ибо over 9000 кусков мяса вперемешку со скинутым хламом в локации это хоть и дофига, но должно работать.
  • склейка пакетов. Ибо сеть узкое место даже не смотря на отчасти бинарные пакеты. Да и cpu чуть-чуть отжирает.
  • замедление времени на сервере и/или распределение кусков мяса на параллельные карты. Так можно выдержать даже Ultimate Slashdot Effect при относительно слабом сервере.
  • Вдумчивый профайлинг. В последнюю очередь ибо нехуй.
Впрочем на 1.5 анона и 3.5 моба всё это уже будет оверхедом. Если местами подкрутить, то джля игры пары сотен человек будет вполне норм. Посему сейчас бы допилить функциональностей, да не лениться.
>> No.40592 Reply
>>40591
К слову. Сейчас 90000 мобов == 90000 горутин. Выпилить бы эти лишние горутины. Тогда можно будет чуть-чуть на памяти сэкономить.
>> No.40593 Reply
>>40592
Зойчем тебе столько мобов? Стресс-тест?
>> No.40594 Reply
>>40593
Учитывая текущую тупость мобов это не стресс-тест, а скорее способ узнать, сколько на них памяти нужно будет. Думаю, что смогу запилить тыщу или даже джве полноценных объектов в одной локации на одной ноде без подвисаний. Что даёт с точки зрения механики? Например возможность запилить личную армию зерго-фамильяров. Кстати такая идея: если рядом слишком много объектов, то можно сужать область видимости. На клиенте это будет выглядеть как туман войны или типа того. Впрочем клиент способен на многое на самом деле ибо WebGL. На клиенте сейчас вообще окромя костылей пусто почти.

Вообще сначала я думал, что при таком количестве объектов всё тупо упадёт. А потом вспомнил, что это не питон с руби, а полноценный компеляемый ЯП. С чем-чем, а с перерасходом памяти у go точно нет проблем особых.
>> No.40595 Reply
File: -.jpg
Jpg, 514.27 KB, 1440×810
edit Find source with google Find source with iqdb
-.jpg
File: 332243.jpg
Jpg, 165.02 KB, 838×1416
edit Find source with google Find source with iqdb
332243.jpg

http://oniproject-lain.rhcloud.com/

Завтра я буду разбираться, чому оно скидывает соединение и буду убирать некоторые костыли. Возможно к завтрашнему вечеру будет релиз 0.4.0. Если смогу побороть те баги, которые всплыли при деплое. Костыли костылики. И да, это альфа-версия демки. Там багов больше чем в лесу.

А возможно завтра вместо этого всего я буду смотреть анимцо :3
>> No.40596 Reply
>>40595
Крут, успехов чо.
>> No.40597 Reply
>>40595
> чому оно скидывает соединение
Это всё VimFx оказывается. Норм оно на самом деле работает.
>> No.40599 Reply
File: 14331_original[1].jpg
Jpg, 103.87 KB, 636×1000 - Click the image to expand
edit Find source with google Find source with iqdb
14331_original[1].jpg
Убрал часть костылей и выпустил релиз.

Кривая демка http://oniproject-lain.rhcloud.com/
Код теперь только на github: https://github.com/oniproject/oniproject
>> No.40601 Reply
File: Screen-Shot-2014-...
Png, 448.42 KB, 1440×772
edit Find source with google Find source with iqdb
Screen-Shot-2014-10-21-at-02.20.30.png
File: Aku_no_hana_4_150...
Jpg, 532.60 KB, 1800×1391
edit Find source with google Find source with iqdb
Aku_no_hana_4_150-151.png_res.jpg

Думаю, лучше будет использовать формат тайтловых карт, совместимый с Tiled http://www.mapeditor.org/ . С одной стороны это относительно удобный формат и к нему уже есть готовый редактор, а с другой стороны я в любой момент могу запилить свой редактор, когда будет не влом.

Алсо сейчас нужно таки уже пилить поддержку сервером нескольких карт. Запил телепорта с карты на карту будет весёлым занятием. Особенно когда настанет время вылавливать баги из всех костылей, которые появятся в первой реализации этой фичи.
>> No.40676 Reply
File: tesseract.gif
Gif, 564.38 KB, 230×230 - Click the image to expand
edit Find source with google Find source with iqdb
tesseract.gif
YouTube: 4D hypercube (tesseract) game test

Анон, у меня для тебя идея. Обычно когда пытаются изобразить что-нибудь четырёхмерное, показывают что-нибудь навроде пикрелейтед. Но есть проблема: для полной информации об объекте нужны две картинки. Та же аналогия что и с 3D: даже при том, что наш мозг интепретирует освещение, тени, перспективу и форму чтобы получить объёмное изображение из плоского, для точной оценки расстояние всё равно нужны две картинки с чуть разных углов. В случае с 4D ситуация ещё хуже: бедный мозг ничего интерпретировать не умеет, совсем. И для оценки расстояний нужны два совершенно объёмных изображения с разных 4-углов (показанные бок о бок через что-нибудь вроде oculus rift'а, лол).

Предлагаю сделать небольшую игрушку с проекциями и парой 4D-глаз.

PS: про четырёхмерное освещение никто и не думает, но наверное и не стоит. Тем более что четырёхмерный аналог света даёт трёхмерные тени от четырёхмерных объектов.
>> No.40695 Reply
>>40601
https://github.com/oniproject/tmxconverter даже почти работает. *.tmx конвертит в *.json. Правда не целиком, а только часть функционала. Надо будет допилить по возможности.
>> No.40705 Reply
File: game-xxx.png
Png, 666.95 KB, 1441×900 - Click the image to expand
edit Find source with google Find source with iqdb
game-xxx.png
Скоро это будет работать. Наверное.
Потом я даже пару костылей уберу вырежу эту свастику, всё равно теперь за рендеринг тайтловых карт другая часть кода(не менее ущербная) отвечает и будет 0.5.0-я версия.
Можно будет по нормальной карте бегать. Правда по одной только.
Вообще хотелось бы запилить из tmxconverter-а нормальную либу т.е. отрефакторить там всё от столба и до обеда.
>> No.40752 Reply
>>40705
> Скоро это будет работать. Наверное.
Воу, скриншот очень вкусный!
>> No.40753 Reply
File: test.tar.bz2
Bz2, 1.27 KB, 0 files
view
test.tar.bz2
File: ssssss.png
Png, 271.65 KB, 1600×900
edit Find source with google Find source with iqdb
ssssss.png
File: 1289852517494.jpg
Jpg, 352.74 KB, 800×621
edit Find source with google Find source with iqdb
1289852517494.jpg

>>40752
Пф. Открываешь Tiled, мазюкаешь и готово. Вот карта и получается.
Единственное я пока не решил, как конкретно в Tiled пилить физику.
Варианты:
Тайтловый слой COLLISION, в котором просто обозначена проходимость/непроходимость
   Так я в данный момент запилил у себя, но страдает детализация.
То же самое, но тайтлы могут быть дробными.
   Минус: придётся сильнее контроллировать тайтлсет с непроходимыми тайтлами.
Векторный слой профит от такого на пике
   Тут либо конвертить в текстовое представление, либо пилить полноценную физику на сервере но это точно врятли.

Скорее всего по итогам на сервере будет сетка, кратная 1/4 или меньше от тайтла. Сейчас там сетка в тайтл.
Другое дело, что сетку в идеале лучше грузить прямо из *.tmx файла. Там будет и загрузка всяких других полезных объектов вроде телепортов, неписей и прочих монсроспавнеров.

Кстати о скриншоте. PIXI.js поддерживает полноценные color matrix же.
>> No.40754 Reply
Бля, мне приглашение на собеседование прислали от 100руб. на front-end. Ненене... Я работать не хочу, я хочу пилить игру.
>> No.40757 Reply
Короче я в демку залил ту версию, какая у меня в квазинестабильной ветке лежит. Как починю подбор предметов и атаку на монстров так сразу и будет 0.5.0. Короче завтра к вечеру уже всё будет. Если опять не сяду анимцо смотреть.
>> No.40758 Reply
>>40754
100р/ч или 100кр/мес?
>> No.40759 Reply
>>40758
Второе разумеется, но смысла идти не вижу туда ибо я всётки далеко не уровня senior developer. А 100р. в час это как в макдаке зарплата. Даже меньше я думаю.

Вообще пойду работать, но только как игрулька будет более или менее играбельная.
>> No.40761 Reply
>>40757
> и атаку на монстров
Check. Осталось запилить предметы.
>> No.40766 Reply
File: combat_dummy.gif
Gif, 13.62 KB, 64×64 - Click the image to expand
edit Find source with google Find source with iqdb
combat_dummy.gif
>>40761
Теперь предметы опять видны и их снова можно поднимать. Надо бы костыли уже убирать, но лень.
Решил пока просто выложить свою локальную ветку.
>> No.40776 Reply
http://www.leshylabs.com/apps/sstool/ утилитка для нарезки спрайтов.
>> No.40780 Reply
Поясните, как вы в js умудряетесь сделать сетевую игру без UDP сокетов? Да и вообще, зачем писать игры на js если есть УнитиТриДэ. :\
>> No.40787 Reply
File: NUPHVTYBRrI.jpg
Jpg, 61.45 KB, 500×387
edit Find source with google Find source with iqdb
NUPHVTYBRrI.jpg
File: vfdsvfndjsklvdfnj...
Png, 540.00 KB, 1600×860
edit Find source with google Find source with iqdb
vfdsvfndjsklvdfnjskl.png

>>40780
> как вы в js умудряетесь сделать сетевую игру без UDP сокетов
Легко и просто. А чем TCP не угодил то? WebSocket это TCP почти без оверхеда, но с плюшками пинг-сообщения и нативное ssl-шифрование там уже есть кстати. В самом TCP уже есть все нужные штуки вроде проверки целостности. По итогам мне остаётся заниматься только сжатием пакетов в бинарное представление сейчас использую RFC 7049 - Concise Binary Object Representation (CBOR), а ежели его не хватит, то свой протокол напишу, хотя мог бы и json-ом обойтись на самом деле.
> зачем писать игры на js
Потомушта могу. Ну и джля игры не нужно совершенно ничего устанавливать окромя бравзера.

Кстати я тут UI-шку прикручиваю. Пикрелейтед.
Боян конечно, но вот его сырсы http://opengameart.org/content/moderna-graphical-interface
>> No.40788 Reply
File: lljkh.png
Png, 86.15 KB, 643×864 - Click the image to expand
edit Find source with google Find source with iqdb
lljkh.png
Чем больше коммитов их уже более 300 тем сложнее придумать им названия. Да и просто лень.
>> No.40789 Reply
>>40787

В большинстве сетевых жанров игровой клиент нуждается только в самой последней информации и только в определенных местах требует полную последовательность данных. С TCP же, если у тебя случилась потеря на сети, то сервер будет трайхардить пока не получит обратный ACK. А на клиенте в то же время он копит пакеты что бы сделать им принудительный реордер по временному штампу, это добавляет тебе искуственной задержки от "сервер сказал" до "клиент услышал". Я уж не говорю о веб сокетах. Все активные игры что я видел на веб сокетах в основном используют архитектуру полу-авторитарного клиента, иначе ну просто не играбельно.

>>40788

Очень плохие названия коммитов. По идее ты четко должен понимать, для чего ты написал тот или иной участок кода. А раз так, можно было бы это знание для начала и в тикет оформить. А потом в коммитах ссылаться на его номер с уточнением что именно было сделано. Это заодно приучает к атомарным коммитам и отучает за раз говнокодить во всех местах сразу, повышая эффективность системы контроля версий как таковой.
>> No.40790 Reply
>>40787
> Потомушта могу.
Кстати, как то пропустил этот аргумент. Думаю, не надо пояснять, что когда сантехник хочет стать плотником, но при этом работает по дереву гаечным ключом - это не ок.
> Ну и джля игры не нужно совершенно ничего устанавливать окромя бравзера.
Потому и написал сразу про Unity3D. Этот движок изначально и был рожден именно из этой идеи: "ничего не нужно кроме браузера!". Теперь же это мощнейший инструмент для разработки кроссплатформенных игр, можешь сделать и для браузера, а потом одной кнопкой забилдить под андроид, к примеру. Не говоря уже об игровом WYSIWYG-редакторе, встроенном из коробки PhysX и т.п.

Да и ваще, в новой версии будет возможность билдтить под HTML5 + WebGL. Будет считай "джль", только с IDE.
>> No.40791 Reply
>>40790

А еще тру-ваннаби-гейдевы ночью не спят, а отлаживают сетевое апи! Вот. :3
>> No.40793 Reply
File: мишка-108962.jpeg
Jpeg, 53.30 KB, 400×580
edit Find source with google Find source with iqdb
мишка-108962.jpeg
File: ETDItjGDliQ.jpg
Jpg, 49.15 KB, 500×500
edit Find source with google Find source with iqdb
ETDItjGDliQ.jpg
File: 1263365563391.png
Png, 114.25 KB, 251×251
edit Find source with google Find source with iqdb
1263365563391.png

>>40789
> если у тебя случилась потеря на сети
Как часто они случаются? Раз в час? Раз в день? Если человек сидит с нестабильного канала, то это не моя проблема.
> пока не получит обратный ACK
Ок. Это все знают но никто не говорит, что аргумент устарел уже. Вот только у меня далеко не файтинг и не стрелялочка. Вообще индеферентно на задержки меньше 500ms. А больше это уже проблемы индейцев. Не, я буду конечно оптимизировать сеть, но пока джля этого веских причин тупо нет. Я вижу задержку максимум в пару-тройку фреймов.
Кстати вон в Skyforge используют TCP и вроде норм.
> Я уж не говорю о веб сокетах.
Будет неплохо, если ты посчитаешь оверхед. Мне даже немного интересно, сколько там будет оверхеда в сравнении с кастомной реализацией фич TCP и WebSocket на UDP.
> По идее ты четко должен понимать, для чего ты написал тот или иной участок кода.
Я тащемто понимаю. Просто лень. Вот после мажорной версии можно будет и позамачиваться.
Другое дело, что окромя меня самого никто не коммитит. Я могу позволить себе держать код в статусе прототипа. Я сначала пилю чтоб работало, а потом немного полирую.
> используют архитектуру полу-авторитарного клиента
Щито это? Если ты про сглаживание движений и подобное на клиенте, то я с этим позже разберусь. Если это про перенос части рассчётов на клиент, то этого не будет.

>>40790
> Unity3D
А как же Linux? У меня нет винды. Вообще нет. И не собираюсь ставить.
> говоря уже об игровом WYSIWYG-редакторе
Я могу и сам запилить такие. Или взять сторонние вроде Tiled.
> встроенном из коробки PhysX
Ахаха. Мне оно вообще нинужно.
> в новой версии
А я могу говнокодить уже сейчас.

>>40791
> отлаживают сетевое апи
Сейчас разработка сетевого апи имеет низкий приоритет. По факту только первая мажорная версия будет иметь более или менее стабильный код в сетевой части.
В любом случае я буду думать о всяких оптимизациях только когда увижу проблемы.
>> No.40801 Reply
>>40793
> Если человек сидит с нестабильного канала, то это не моя проблема.
А ты для кого игру делаешь то, для себя или таки для этих самых "человеков"?
Поинтересовался бы качеством интернетов у своей ЦА. Потому что если это Россия и не ДС 1/2, то могут быть проблемки. Но тут хочу сказать с UDP тоже есть некоторая возня, NATы всякие там траверсить.
> Я вижу задержку максимум в пару-тройку фреймов.
Опять же, это ты. А про Петю из Семипалатинска ты подумал? В таких тонких вещах очень способствуют ранние плейтесты со своими друзьями и "друзьями друзей".
> Кстати вон в Skyforge используют TCP и вроде норм.
И Skyforge и WoW (тоже TCP) имеют особую механику, там все основано на RPC. Грубо говоря, в играх такого типа абсолютно не важно, если у двух разных игроков будет на экране разная картинка (например, когда на экране у Пети игрок Ваня стоит у красного гриба, а у третьего игрока Алексея он же стоит далеко от красного гриба) - синхронизируются только самые важные моменты и только в нужное время (например, когда Петя попытается использовать умение с ограниченной дальностью на Ваню).
> Мне даже немного интересно, сколько там будет оверхеда в сравнении с кастомной реализацией фич TCP и WebSocket на UDP.
Дак дело то как раз в том, что в архитектуре с авторитарным сервером эти фичи в основном и не нужны. Если на твоем игровом клиенте нет логики и его интересует только последний, самый актуальный слепок состояния сервера, то TCP только мешает.

Опять же, все сугубо индивидуально, но лично мне показалось, что я в тему.
Сам когда-то запиливал свои редакторы, а зачем? Что бы ты ни сделал, оно явно будет хуже чем у тех ребят, которые на этом крупный бизнес сделали - их там целая команда крутых дядек, пилящих эту штуку уже не первый год.
А если ты сугубо для себя игрушку делаешь, то пиши хоть на GOAL.
>> No.40802 Reply
File: ss-(2013-09-05-at...
Jpg, 94.19 KB, 450×605
edit Find source with google Find source with iqdb
ss-(2013-09-05-at-12.08.13).jpg
File: 53387.jpeg
Jpeg, 64.67 KB, 460×302
edit Find source with google Find source with iqdb
53387.jpeg
File: 5112c3b3533ce33b2...
Jpg, 226.69 KB, 550×1856
edit Find source with google Find source with iqdb
5112c3b3533ce33b2a4489a7ed8948dc.jpg

>>40801
> Поинтересовался бы качеством интернетов у своей ЦА.
Мне кажется идти в /b/ с подобным вопросом пока рано. Моя ЦА это 3.5 анона из /b/ и парочка знакомых.
> Но тут хочу сказать с UDP тоже есть некоторая возня, NATы всякие там траверсить.
Капитан Очевидность, твоя работа как всегда на высоте.
> имеют особую механику, там все основано на RPC
Щито? Можешь пояснить тезис? Распиши внятно и подробно что за такие фичи в механике и при чём тут RPC. У них вобщет message system и у меня кстати тоже, а не remote procedure call.
> Грубо говоря, в играх такого типа абсолютно не важно, если у двух разных игроков будет на экране разная картинка
У меня тоже не важно. Тоже выбираем таргет и кидаем ему скиллы.
> Если на твоем игровом клиенте нет логики и его интересует только последний, самый актуальный слепок состояния сервера, то TCP только мешает.
Ну не прям совсем логики нет. Там будет подсчёт состояния между обновлениями.
> Сам когда-то запиливал свои редакторы, а зачем?
> а зачем?
Хочется.
>> No.40804 Reply
>>40789
А что скажешь о WebRTC? По идее он может в "ненадёжную передачу".
>> No.40805 Reply
File: 857fd092e8d5eb471b9e988c5af03238.png
Png, 36.73 KB, 874×379 - Click the image to expand
edit Find source with google Find source with iqdb
857fd092e8d5eb471b9e988c5af03238.png
>>40802
> при чём тут RPC
При том, что вот эти все их "public final class CmdKillAll extends Msg { ... }" это и есть RPC. У них месседжи не состояние какое-то несут, а команду на выполнение.
> Сообщение — это Java-объект, у которого есть метод run(). При отправке этот объект сериализуется, прилетает к >целевому абоненту, там десериализуется, а затем вызывается метод run() над целевым абонентом.
> Такой подход очень удобен тем, что позволяет реализовывать простые команды типа «нанести удар», «выдать анлок», >«запустить фаербол».
Не знаю, зачем они назвали известную всему миру вещь совсем другим термином.
> У меня тоже не важно. Тоже выбираем таргет и кидаем ему скиллы.
Ну и хорошо, для такой механики TCP подходит.
>> No.40806 Reply
File: Last.Exile.651358.jpg
Jpg, 70.93 KB, 500×334 - Click the image to expand
edit Find source with google Find source with iqdb
Last.Exile.651358.jpg
>>40804
> А что скажешь о WebRTC?
С ним всё мутно. И он для другого создавался. Возможно буду его использовать, но совсем не для игровых данных.
>>40805
> У них месседжи не состояние какое-то несут, а команду на выполнение.
Ладно, не будем спорить про определения. Хотя лично мне удобнее относится к этому, как к сообщениям. Лучше бы описал, что конкретно ты считаешь мессажками, а что rpc. Без конкретики, только различия.
>> No.40807 Reply
>>40806
Хм, а для чего тогда? Вообще какой сейчас стек разработки наиболее подходит для маленьких браузерных игр. По-прежнему флеш?
>> No.40811 Reply
>>40807
Можно пример такой "маленькой браузерной игры"? Если это какой-то match 3, то наверное таки флеш. Если же это что-то более интересное, типа платформера, то, на мой взгляд, таки Unity3D.

Хотя, совсем не так давно у меня произошла такая история: одному моему знакомому сделали хорошее предложение на покупку его унылейшей игры (а-ля комбатсру, только с версткой под мобайл) сделанной на HTML5. Я попытался обратиться к этому же паблишеру со своим проектом и в ответ он начал парить что-то в духе: "Нет-нет, юнити, плагины, это все так страшно, нам нужен только HTML и Flash". Это, конечно же, меня расстроило.
Тем не менее, я понимаю, что паблишер "сам дурак". Даже до алавара дошло, что клепать свои поделия на юнити проще, чем на флеше. А рынок вакансий при этом полон предложений именно для "унити девелоперов", некоторые даже готовы сами обучать и при этом платить зарплату.
>> No.40813 Reply
File: 1345751931_screen...
Jpeg, 27.68 KB, 480×360
edit Find source with google Find source with iqdb
1345751931_screenshot_1.png.jpeg
File: Магазинчик.jpg
Jpg, 91.70 KB, 604×453
edit Find source with google Find source with iqdb
Магазинчик.jpg
File: 1302443767621.jpg
Jpg, 112.81 KB, 446×435
edit Find source with google Find source with iqdb
1302443767621.jpg

>>40807
> Хм, а для чего тогда?
В основном джля audio|video|p2p. Можно например клон скупика запилить не выходя из бравзера в последнем фейлфоксе оно даже изкаропки есть. В контексте ммошек можно запилить аудиочатик, который не будет загружать сервер. Т.е. аудио будет течь напрямую от одного пользователя к другому. Ляпота.

Последняя спецификация лежит тут http://w3c.github.io/webrtc-pc/
> Вообще какой сейчас стек разработки наиболее подходит для маленьких браузерных игр.
> По-прежнему флеш?
Всё необходимое есть как раз таки в HTML5. Даже не знаю, чего там такого нет, что есть в дебрях бравзера. Кое-кто даже запилил вполне себе стрелялочку в стиле кваки https://developer.mozilla.org/en-US/demos/detail/bananabread Пикрелейтед. Правда работает оно нормально только в фейлфоксе возможно уже даже не в ночной сборке. Но ведь работает. Там как раз таки WebRTC джля сети используют.

>>40811
Мне кажется, что этот ваш Unity3D актуален только джля больших коммерческих проектов. А выбор между HTML5 и Flash уже больше к личным вкусам относится. У них сейчас мало плюсов/минусов относительно друг-друга.
>> No.40814 Reply
>>40811
Глупый вопрос: юнити - только для 3д игр? Или плоские тоже можно?
>> No.40815 Reply
File: Screen-Shot-2014-...
Png, 608.18 KB, 1600×796
edit Find source with google Find source with iqdb
Screen-Shot-2014-11-06-at-23.58.12.png
File: Похуист.png
Png, 502.36 KB, 700×513
edit Find source with google Find source with iqdb
Похуист.png
File: план-на-лето-v2.jpg
Jpg, 723.82 KB, 640×2880
edit Find source with google Find source with iqdb
план-на-лето-v2.jpg

Короче пикрелейтед. А ещё работают аж две карты и можно перемещаться между ними. Правда оно глючит дофига особенно в демке. Ну и на костылях всё. Алсо теперь оно выдёргивает сетку коллизий напрямую из *.tmx файлов. Ну и конфиг перенёс.
>> No.40818 Reply
>>40814
> Глупый вопрос: юнити - только для 3д игр? Или плоские тоже можно?
Нет, юнити не только для 3д игр - есть полная поддержка 2D, включая Box2D физику, а также "pixel perfect" спрайты и авто-скейлинг под референсное разрешение.
>> No.40819 Reply
>>40813
> Мне кажется, что этот ваш Unity3D актуален только джля больших коммерческих проектов.
Теперь ты просто троллишь, да?
Унити как раз и прославился за счет того, что позволил некоторым инди-одиночкам сделать хиты, в отличие от всяких сложных UE и CE и при этом давал больше возможностей и свободы чем какой-нибудь Game Maker. Это сейчас уже эти самые Эпики и Крайтеки спохватились и БЫСТРОА допиливают интерфейсы, увидев что даже крупные студии стали юзать Юньку из-за удобства игрового редактора.

Ну, а спорить в плане "свой игровой движок со своим редактором который будет писаться год" vs "продуманное и проверенное решение, с широким комьюнити и возможностью сразу приступить к разработке непосредственно игры" я не буду - это уже абсурд.
>> No.40820 Reply
>>40806
> Лучше бы описал, что конкретно ты считаешь мессажками, а что rpc. Без конкретики, только различия.
Вот тебе грубый пример:

Пусть в некой одной сетевой игре игрок управляет магом, который может бегать и швырять в остальных игроков фаерболом.

1. Реализация основанная на RPC может выглядеть так:
а) если игрок кликает на землю, то на сервер посылается вызов удаленной процедуры "MoveTo" с координатами клика в качестве аргумента. Сервер ловит вызов, верифицирует и запускает саму процедуру - в данный момент персонаж на сервере стал двигатся к цели. Затем сервер броадкастит этот вызов всем клиентам, которые тоже запускают его и у себя начинают двигать этого персонажа.
б) если игрок кликает на другого персонажа, то на сервер посылается вызов удаленной процедуры "AttackAt" с координатами вражеского персонажа в качестве аргумента. Дальше происходит все то же самое, за исключением, что если у этого персонажа не прошел кд на атаку, то вызов не броадкастится остальным клиентам, а клиенту-инициатору возвращается что-то вроде "AttackAttemptDeclined".

В этой реализации тебе очень важно, что бы все команды точно-точно доходили до сервера и до клиентов, а так же в нужной последовательности. Здесь тебе TCP помогает.

2. Реализация основанная на обмене базовыми сообщениями может выглядеть так:
a) Игрок просто жмет клавиши WASD, а тем временем, каждый третий кадр на сервер реплицируется структура с состояниями этих клавиш (булевое "зажата-отжата"). Сервер в отдельном процессе (обычно выделяется под сетевой обмен с каждым клиентом) обновляет у себя эту структуру и параллельно каждый кадр у себя двигает персонажа в соответствии с нажатыми кнопками. При этом, в том же потоке для сетевого взаимодействия, с неким интервалом происходит обмен в обратную сторону - сервер броадкастит всем клиентам актуальную позицию каждого персонажа. Игровой клиент постоянно получает обновления и каждый кадр интерполирует между своими текущими данными и тем, что пришло.
б) В случае с атакой, сервер просто берет фаербол из пула объектов, активирует его, и начинает каждый кадр менять его позицию, считать коллизию и т.п. При этом, опять же, состояние фаребола реплицируется всем клиентам и они его бодренько отрисовывают, зная его вектор скорости - экстраполируют.

В этой реализации тебе очень важно, что бы все клиенты в каждый момент времени имели самое-самое актуальное состояние игрового мира и что бы задержка между сервером и клиентом была минимальной. Здесь тебе TCP мешает.

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

Ну и напоследок: совершенно очевидно, что IRL все это миксят, потому что где-то лучше послать один раз RPC, а где-то каждый третий кадр реплицировать структуру.
И вот тут то вскрывается страшная правда: ты не можешь убрать задержку в TCP и заставить его работать "ненадежно". Зато ты легко можешь досыпать абсолютно такой же "надежности" над UDP, именно в тех местах где тебе это нужно.
>> No.40821 Reply
File: macro-templars.png
Png, 509.07 KB, 600×860
edit Find source with google Find source with iqdb
macro-templars.png
File: macro-ну-всё-сука...
Png, 1478.77 KB, 1280×720
edit Find source with google Find source with iqdb
macro-ну-всё-сука.png

>>40819
Просил же меньше конкретики. Ну да ладно.
> просто жмет клавиши WASD
Игрок жмёт WASD. Клиент преобразует их в события up|down|left|right благодаря этому можно менять WASD на стрелочки или там на HJKL. Обработчики этих событий меняют переменную velocity. Оная переменная уже реплицируется на сервер. Одно словоблудие короч.

Для меня RPC это когда присутствует явный вызов ф-ии и/или присутствует явный ответ на вызов. У меня Message по сути является паттерном Command. Эдакое замыкание, которое можно по сети передать. Вот маленький пример общения:
   C Я тут target с id такимто хочу выделить
   S Короче у твоего target состояние такоето
   S Короче у твоего target состояние такоето
   S Вокруг тебя такието обекты и один из них ты, лол
   S Короче у твоего target состояние такоето
   S Прикинь, у тебя в инвентаре вот такая хрень теперь лежит
   S Короче у твоего target состояние такоето
   S Вокруг тебя такието обекты и один из них ты, лол
   S Короче у твоего target состояние такоето
   S Лол, ты потерял своего target
   S Вокруг тебя такието обекты и один из них ты, лол
   S Кокойто весёлый парень кастанул МАГИЮ ДРУЖБЫ
   S Вокруг тебя такието обекты и один из них ты, лол
   S Короче у твоего target состояние такоето
   S Вокруг тебя такието обекты и один из них ты, лол
   C Я тут решил изменить направление передвижения своего перса
   S Вокруг тебя такието обекты и один из них ты, лол
   S Короче у твоего target состояние такоето
   S Вокруг тебя такието обекты и один из них ты, лол
   S Вон по тому челу ебнули палкой и у него теперь -10 HP
   S Вокруг тебя такието обекты и один из них ты, лол
   ....

Даже не знаю, как такое можно назвать RPC.
> Ну и напоследок: совершенно очевидно, что IRL все это миксят, потому что где-то лучше послать один раз RPC, а где-то каждый третий кадр реплицировать структуру.
А ещё одно можно одно реализовать поверх другого и наоборот.
> И вот тут то вскрывается страшная правда: ты не можешь убрать задержку в TCP и заставить его работать "ненадежно". Зато ты легко можешь досыпать абсолютно такой же "надежности" над UDP, именно в тех местах где тебе это нужно.
Там разница в пару десятков милисекунд максимум. Это в худшем случае.
>> No.40824 Reply
>>40821
> Обработчики этих событий меняют переменную velocity. Оная переменная уже реплицируется на сервер.
Ты все правильно понял и суть от этого не меняется. И да - наверное таки "inputAxesVector", а не "velocity", "velocity" уже сервер посчитает.
> Одно словоблудие короч.
Вот и поговорили.
>> No.40825 Reply
File: Vo59d8GIw7w.jpg
Jpg, 22.43 KB, 350×605
edit Find source with google Find source with iqdb
Vo59d8GIw7w.jpg
File: wE-TYIE2cqA.jpg
Jpg, 72.38 KB, 536×600
edit Find source with google Find source with iqdb
wE-TYIE2cqA.jpg

>>40824
> И да - наверное таки "inputAxesVector", а не "velocity", "velocity" уже сервер посчитает.
Таки velocity, который в том числе и джля экстраполяции. inputAxesVector там неявный. Вообще не важно, какой вектор передаётся на сервер. Ибо на сервере он всё равно нормируется.
> > Одно словоблудие короч.
> Вот и поговорили.
Я просил тебя меньше конкретики, а ты сделал с точностью До наоборот. Кратко и по делу это вот так ящитаю:
> > Для меня RPC это когда присутствует явный вызов ф-ии и/или присутствует явный ответ на вызов.
>> No.40900 Reply
Пилю редактор джля анимаций персонажей. Версия сильно упрощённая в сравнении с копией spine я его так и не допилил, но зато работает здесь и сейчас. Осталось только впилить туды загрузку картинок и их нарезки через json, да пофиксить очевидные баги. Нарезки делаются при помощи http://www.leshylabs.com/apps/sstool/

Код https://github.com/oniproject/CharRedactor Осторожно! Там CoffeeScript.
Сам редактор https://oniproject.github.io/CharRedactor/
>> No.40911 Reply
>>40900
> впилить туды загрузку картинок
Впилил.
>> No.40912 Reply
Короче много маленьких фиксов. Добавил полоску хитпоинтов над каждым мобом. Ну и звук таки врубил. Теперь при подборе предмета звучит звук подбора предмета. Такие дела.

Ближайшие планы:
  • впилить формат анимаций из редактора
  • и чтоб можно было бить мобов с анимацией, звуком и отображением циферок дамага
  • и умирать красиво, а не удалением перса
  • пофиксить телепортацию с карты на карту
  • запилить нормальный менеджер ресурсов на клиенте, а не как сейчас
>> No.40923 Reply
Хорошая годная либа джля физики https://github.com/wellcaffeinated/PhysicsJS
Пожалуй портану её на golang. Там всеготоу 10к строк кода. C-c C-v и готово.
>> No.41009 Reply
File: 1385951358320.jpg
Jpg, 271.18 KB, 1000×1000 - Click the image to expand
edit Find source with google Find source with iqdb
1385951358320.jpg
>>40923
И тут я понел, что придётся таки курить матан и самостоятельно реализовывать некоторые алгоритмы ибо отлаживать эту хрень влом. Завтра буду пилить свой Sweep And Prune алгоритм ибо тамошняя реализация не переносится простым копипастом. Проще с нуля запилить.
Какого хуя я вообще решил, что простой C-c C-v есть таблетка от всех бед?! Раз уж пилю собственную либу, так и напичкаю её всем нужным функционалом.
>> No.41010 Reply
>>41009
> Какого хуя я вообще решил, что простой C-c C-v есть таблетка от всех бед?!
Ты так решил оттого, что это вообще распространенное заблуждение програмистов. Казалось бы есть библиотека на одном языке, менее мощном чем другой. Тогда ее не составит труда портировать на более мощный, хороший язык? На практике же от этого теоретического рассуждения не остается и следа - потому что примитивы абстракций не совпадают, из-за чего по опушке леса идет исходная декомпозиция.

Еще есть целый ряд проблем при портировании из динамически типизированного языка в статический, коиим является го. Как правило статика накладывает на операции больше ограничений (чем и ценна), в результате чего некоторые конструкции (по закону подлости особо важные, от которых зависит все остальное) оказываются "нелегальными".

На что реально стоит рассчитывать при портировании - так это на то, что прикладные алгоритмы тебе не нужно будет выдумывать - они есть в исходной библиотеке. Однако написать их на новом языке - все равно твоя задача.
>> No.41012 Reply
>>41010
Всё годно написал.

>>41009
По моему мнению, ты собираешься пилить какие-то велосипеды, еще й гордишься этим!

Хотя кто его знает... Один мой коллега джва года пилил никому не нужную библиотеку на руби. Пилил-пилил, да так бы и дальше бессмысленно пилил, пока не съездил на форум рубистов в СШП и там то внезапно оказалось, что он годную вещь все это время делал. Обратно не вернулся. Предатель.
>> No.41014 Reply
File: omg.jpg
Jpg, 109.46 KB, 1280×720
edit Find source with google Find source with iqdb
omg.jpg
File: 1284403253069.jpg
Jpg, 47.95 KB, 437×575
edit Find source with google Find source with iqdb
1284403253069.jpg

>>41010
Там тестов не хватает. Портировал тесты == портировал всю либу. Кроме того там некоторый код не совсем опрятный. Много js-костылей и не всегда к месту. С одной стороны это вроде как спидхаки, а с другой стороны видно, что делают это всё немного наобум.
> в результате чего некоторые конструкции (по закону подлости особо важные, от которых зависит все остальное) оказываются "нелегальными".
Вот этого как раз мало. Да, некоторые части выглядят в go совсем по другому. Но это не доставляет особых проблем.

С другой стороны мне в целом нравится api этой либы. В том смысле, что мне нравится разделение на Behavior, Body, Integrator, Renderer, Geometry и World. Довольно явное при том. Они друг с другом посредством pubsub общаются. И хотя это немного медленно может быть, но оно весьма гибко и удобно же.

>>41012
> По моему мнению, ты собираешься пилить какие-то велосипеды, еще й гордишься этим!
Ну я экспу ведь качаю. Кроме того норм либы физической на golang вроде как и нет. Если не считать https://github.com/vova616/chipmunk которая странная и не развивается. Даже портов всяких box2d не завезли.
>> No.41027 Reply
>>41009
Гравитация, направленная вверх, гравитирует вправо. А должна вниз.
>> No.41047 Reply
>>41027
Меньше масса - больше масса! Как я люблю эти баги. Они такие милые.
>> No.41099 Reply
Новая юнька выкатилась в продакшон, господа. Я даже рад, не считая того, что теперь нужно бы перекатать тырфейс с нуля.
>> No.41130 Reply
>>41099
http://www.opennet.ru/opennews/art.shtml?num=41147
Котан, что думаешь про эту штуку?
>> No.41131 Reply
>>41130
Лучше бы прикрутили js к Blender-у и открутили python ну или просто нормальный внешний api влепить. Вот бы шин вышел. У меня самого такая мысль проскакивала, пока школотой был. Правда один взгляд на исходники этого самого Blender-а меня отрезвили тогда. Уж очень он хитровыебанный. Без поллитры не разобрать. Няшный легаси код это вам не хуй собачий.

ОП
>> No.41134 Reply
>> No.41141 Reply
>>41134
Спасибо большое, заинтересовало, но что тут смешного? Вроде как хорошая софтина.
>> No.41143 Reply
>>41141
Я бы проиграл с поддержки палмов, например. Разве остались ещё живые аппараты?
мимо
>> No.41145 Reply
>>41130
Я? Ничего не думаю. Обрел просветление и теперь меня не интересует поиск инструментов покрытых более зеленой травой. Все таки делать игоры и учится отдельно взятым дисциплинам - вещи разные.
Вот думаю, хорошо было бы, запили кто нибудь тред по дизайну в /u/. Люблю дизайн, только никому он не нужен нахер в сферическом состоянии.
>> No.41146 Reply
>>41143
У кого-то остались. Они, кстати, во много удобнее были айфонов/андроидов современных. Современные смартфоны делаются крутыми с "волшебством технологий" для чуваков в крутых костюмчиках и на крутых тачках. На эргономику, удобство и функциональность пох всем. Функциональность, наоборот, только и делают, что урезают своими маркетинговыми ходами. А чувак из палмовцев, говорят, месяц в кармане рубашки проносил деревяшку, чтобы оценить эргономику. А они теперь не хотят даже кверти-клаву нормальную добавить. Зато, охуеть просто, какой супер-тонкий телефон. Нахуя ему быть тонким? В кармане помещается и норм. Неужели и впрямь кому-то у уха телефон тяжело держать? Я могу держать у уха и не чувствовать веса всё, что только легче мешка с картошкой. И некоторые телефоны уже в два раза меньше чем собственно моя ладонь и удобными их это не делает никак.
>> No.41147 Reply
>>41145
> И некоторые телефоны уже в два раза меньше чем собственно моя ладонь
Хуясе у тебя ладонь.
Вообще хотел бы я запилить себе очки с экранами, да перчатки-клавиатуру. Буду ходить аки киберпанк.
>> No.41148 Reply
>>41147
Тыкай пожалуйста аккуратнее в кнопку ответа.
>> No.41358 Reply
>>39943
Здравствуй, ОП. Пишет тебе анонимус из треда >>41322
Хотел спросить, почему именно golang? IMHO проще и быстрее было бы заюзать на сервере node.js (ведь минусы статической типизации отчасти можно компенсировать strict mode и комментами jsDoc), хотя, это конечно лишь MHO. Будешь ли юзать веб сокеты :3? Впрочем, полагаю с технологиями тебе уже весь моск съели (тред пока не прочитал, но подборка ссылок меня порадовала).
Странно, что раньше проходил мимо (хотя по-моему таки схоронил ссылку, но про неё благополучно забыл).
Удачи тебе.
>> No.41359 Reply
>>41358
> Хотел спросить, почему именно golang?
Он удобен. Просто удобен. Кроме того памяти меньше жрёт скорее всего. Кроме того у меня нет callback-hell'а, но есть нормальная обработка ошибок. Множественный return вообще пушка. ООП сказочное. Документация крута. Я там даже в какой-то оффициальной доке нашел фразу Always use the right tool for the job. Мне подходит. Я люблю простоту.
> ведь минусы статической типизации отчасти можно компенсировать strict mode и комментами jsDoc
На самом деле нет.
> Будешь ли юзать веб сокеты :3?
Уже. Ещё и некоторое сжатие пакетов присутствует но надо тестить@отлаживать ибо конкретно сетевую часть я пока плохо проработал.
> Впрочем, полагаю с технологиями тебе уже весь моск съели
Задавай свои ответы, чоуж там. Кстати поиск полезных технологий обычно можно начинать с https://github.com/bayandin/awesome-awesomeness как вариант.

Алсо artemis это https://github.com/junkdog/artemis-odb хотя я портанул старую версию, которая http://gamadu.com/artemis/
Надо будет завтра покопать чего там поменялось. EntityFactory нужно точно запилить. Мне такого сейчас не хватает.

Кстати код неплохо так худеет по объёму но не по функционалу в сравнении с java-версией. Ну и api немного меняется. Пока примерно так https://github.com/oniproject/oniproject/tree/feature/ecs/oni/artemis Ветка будет удалена из репы после того как допилю это дело. Потом смотреть в папке oni/artemis (или стоит в отделную репу оформить?)
>> No.41360 Reply
>>41359
*динамической типизации, я бака
Попробую забрать это счастье на досуге (который будет ближе , а может и дальше к НГ)
selffix
>> No.41361 Reply
>>41360
В смысле из репы забрать. Я так понимаю, ты gulp использовал для всяких ништяков?
>> No.41468 Reply
Наверное только у меня можно убивать скиллами дроп.
>> No.41469 Reply
File: presents_small.jpg
Jpg, 40.24 KB, 600×400 - Click the image to expand
edit Find source with google Find source with iqdb
presents_small.jpg
Сверхкрутое демо http://www.goodboydigital.com/pixijs/pixilights/
Надо впилить освещение и тени. Надо впилить mode 7. Надо впилить частицы.

Система частиц https://github.com/a-jie/Proton или https://github.com/Ezelia/EPSy или https://github.com/flashhawk/spp.js
Даже не знаю.
>> No.41471 Reply
>>41469
> Надо впилить mode 7
Копипаст это по китайски хорошо. https://github.com/Matt-Esch/c2-mode7 -> http://jsfiddle.net/rf6xybm0/5/
Осталось только пофиксить ошибки float'а и можно впиливать. есть тут эксперты по IEEE 754?
Первая нагугленная статья http://habrahabr.ru/post/112953/ Надо будет вкурить.

Вообще шейдеры это хорошую штуку они придумали. Я одобряю. А ведь я мог несколько лет назад их изучить. Маны сами себя не прочтут.
>> No.41534 Reply
Текущее демо по mode7 вот http://jsfiddle.net/lain8dono/rf6xybm0/11/

Загуглил по теням.
https://github.com/mattdesl/lwjgl-basics/wiki/2D-Pixel-Perfect-Shadows и вообще вся эта вика.
http://forums.tigsource.com/index.php?topic=8803.0
http://www.redblobgames.com/articles/visibility/
http://ncase.me/sight-and-light/

Ежели кому интересны шейдеры из новогодней демки на всякий для невнимательных - это не моя демка:

LightShader.

Vertex:
attribute vec2 aVertexPosition;
attribute vec2 aTextureCoord;
attribute vec4 aColor;
attribute float aRotation;

uniform vec2 projectionVector;
uniform vec2 offsetVector;
uniform float flipY;

varying vec2 vTextureCoord;
varying float vRotation;
verying vec4 vColor;

const vec2 center = vec2(-1.0, 1.0);

void main(void) {
    vec2 finalV = aVertexPosition + offsetVector;
    gl_Position = vec4(finalV.x / projectionVector.x - 1.0, (finalV.y / projectionVector.y * +flipY) + flipY, 0.0, 1.0);
    vTextureCoord = aTextureCoord;
    vRotation = aRotation;
    vColor = aColor;
}
Fragment:
precision lowp float;


varying vec2 vTextureCoord;
verying vec4 vColor;
varying float vRotation;

uniform sampler2d uSampler;

#define M_PI 3.1415926535897932384626433832795

void main(void) {
    vec4 color = texture2D(uSampler, vTextureCoord);
    vec3 NormalMap = color.rgb;
    vec3 N = normalize(NormalMap * 2.0 - 1.0);
    float angle = vRotation;

    vec2 rotatedN;
    rotatedN.r = (N.r)*sin(angle) - (N.g)*cos(angle);
    rotatedN.g = (N.r)*cos(angle) + (N.g)*sin(angle);
    N.r = rotatedN.g;
    N.g = rotatedN.r;

    NormalMap = N;
    NormalMap = (NormalMap + 1.0) / 2.0;
    gl_FragColor = vec4(NormalMap * color.a, color.a);
}
>> No.41584 Reply
>>41469B
Итак. Выбираем систему частиц.
> https://github.com/flashhawk/spp.js
Кажется здох.
> https://github.com/Ezelia/EPSy
Есть редактор. Написан на богомерзком TypeScript. Зачем внутри него PIXI и Phaser, но нет толковых примеров?
> https://github.com/a-jie/Proton
Нет package.json, но это поправимо. Так, а если я хочу частицы по одной делать, да чтоб текстом, а не спрайтом? Вполне.

Короче выбор вроде и есть, а вроде и нет его.
>> No.41602 Reply
File: 14194910628330.jpg
Jpg, 34.57 KB, 604×445 - Click the image to expand
edit Find source with google Find source with iqdb
14194910628330.jpg
>>41584
> богомерзком TypeScript
Чому же он богомерзкий?
>> No.41604 Reply
File: Goodnight_Punpun_v12_p123.png_res.jpg
Jpg, 284.39 KB, 1166×1600 - Click the image to expand
edit Find source with google Find source with iqdb
Goodnight_Punpun_v12_p123.png_res.jpg
>>41602
public/private, когда есть няшный scope. Классы, которых в js нет и быть не может. Мне не нравится короче. Впрочем это не было бы страшно, еслиб сама либа была норм. Иногда мне даже хочется поступать с авторами некоторого кода аки пикрелейтед ну ладно, конкретна эта либа не настолько плоха.
>> No.41619 Reply
>> No.41635 Reply
На самом деле идея прикрутить https://github.com/slembcke/Chipmunk2D не так плоха, если не считать потребности в ручном управлении памяти зато можно запилить няшный пул объектов, гораздо большем временем компейляции не без влияния глючного swig, нудного добавления всяких коэффициентов вроде трения или других магических констант и тщетными попытками заставить всё это дело правильно коллизиться со стенками. Зато по итогам можно будет пилить хоть платформер, хоть гоночки.

Если кому либо интересен Box2D, то могу посоветовать взглянуть на https://github.com/google/liquidfun Его демки прекрасны http://google.github.io/liquidfun/ Кому либо нужна диффузия частиц? Мне нет.
>> No.41656 Reply
Ещё один занимательный баг. Когда персонаж умирает, его спрайт отделяется от физического тела.
>> No.41657 Reply
File: fry-eyes-09-07-2009-14-16-59.jpg
Jpg, 26.23 KB, 640×480 - Click the image to expand
edit Find source with google Find source with iqdb
fry-eyes-09-07-2009-14-16-59.jpg
>>41656
> Ещё один занимательный баг. Когда персонаж умирает, его спрайт отделяется от физического тела.
>> No.41667 Reply
>>41656
ШАХ И МАТ, АТЕИСТЫ!
>> No.41668 Reply
>>41667
Ато! Яж это. Бог в прямом смысле по отношению к своей недоигре.

Кстати я баг в своей версии хромиума нашел хотя можт и не в самом хромиуме дело.
Есть джва монитора и на каждом есть несколько рабочих столов.
Вариант 1:
   Левый моник: окно с хромиумом
   Правый моник: окно с хромиумом, а в нём демка с html5 Drag'n'Drop на jsfiddle
Вариант 2:
   Левый моник: vim
   Правый моник: та же демка, но уже с нерабочим dnd dragstart и dragend проходят, остальные события нет

Кто смелый до хромого багдтекера дойти? Я ебал это глючное дерьмо отлаживать. Сама демка http://jsfiddle.net/lain8dono/mrnyf79e/ я запилю это в виде плагина разумеется

Про dnd можно читнуть в http://tutorials.html5rocks.com/ru/tutorials/dnd/basics/ ежели интересно кому.
>> No.41674 Reply
>>41668
> я запилю это в виде плагина разумеется
Запилил https://github.com/lain-dono/vue-dnd
>> No.41709 Reply
File: simple.png
Png, 10.73 KB, 702×702 - Click the image to expand
edit Find source with google Find source with iqdb
simple.png
Ладно. Оно по крайней мере компейляется.
>> No.41711 Reply
File: simple.png
Png, 47.03 KB, 1800×1800 - Click the image to expand
edit Find source with google Find source with iqdb
simple.png
>>41709
Уже больше похоже на правду.
>> No.41768 Reply
File: simple.png
Png, 111.94 KB, 1818×1818 - Click the image to expand
edit Find source with google Find source with iqdb
simple.png
>>41674
К слову. За тредом активно следят по меньшей мере 5-7 доброчанек. По крайней мере столько было уникальных посетителей с доброчана на мою недолибу-костыль к vue. We're watching you... Scum.
>> No.41769 Reply
>>41768
Ты бы лучше ее засунул в какой-нибудь список рассылки к vue, чем тут сидеть и кокетничать. Ванька Ерохин-то уже тридцать плугинов для жиквери накатал, заграницу его работать зовут, в Индию.
>> No.41784 Reply
File: 2013-12-23_010605.jpg
Jpg, 99.24 KB, 974×801 - Click the image to expand
edit Find source with google Find source with iqdb
2013-12-23_010605.jpg
>>41768
А теперь поясни что это.
Рандомная генерация уровня? К 3D это прикрутить можно?
>> No.41785 Reply
>>41784
> Рандомная генерация уровня?
Да. Портирую с перловки на го http://donjon.bin.sh/code/dungeon/ Можешь потыкать в Random Dungeon Generator вроде http://donjon.bin.sh/adnd/dungeon/
Если надо, то могу запилить выхлоп в том формате, который тебе удобнее будет. Только ты опиши, что конкретно требуется.
> К 3D это прикрутить можно?
Смотря как подразумевать 3D. Если тебе требуется делать комнаты друг над другом, то надо будет пилить другие алгоритмы или переставлять вручную.
Но можно просто догенерировать высоту и прочее. Алгоритм выдаёт и сами комнаты кстати. Кроме того он генерит разные дверки и лестницы.
Я вот сейчас думаю, можно ли это дело приспособить под открытые пространства или по новой пилить придётся. Конечным результатом для меня будет полная генерация всех уровней джля моей игры. Вместе с неписями, квестами, монстрами и прочим. Тогда у меня большинство данных джля игры можно будет ужать до совсем неприлично малых объёмов. Cотня тайтлов 32x32 px + немного настроек + seed. Слава роботам!
>> No.41786 Reply
>>41785
Вроде же на rougebasin было несколько разных алгоритмов (даже для лабиринтов).
Кстати, помнится как-то видел интересный алгоритм для генерации пещер сечением прямыми - IMHO, получалось довольно оригинально.
>> No.41787 Reply
File: test2.png
Png, 387.46 KB, 1728×1056 - Click the image to expand
edit Find source with google Find source with iqdb
test2.png
>>41786
Лол, лабиринты и пещеры это просто на самом деле. Мне для более, эм, открытых пространств. Чтоб получались всякие пикрелейтед разумеется в данном случае будет удобнее резать одну большую карту. Суть в чём? Там всякие камушки в лесу. Деревья разные. Несколько типов поверхностей: вода, лес, дорога, снег и т.п. Плюс так или иначе надо поверх этого всякие интерактивные предметы ставить. Генератор пещер для этих целей немного не подходит.

Возможно что-то вроде http://www.roguebasin.com/index.php?title=Winding_ways или http://www.roguebasin.com/index.php?title=Random_Walk_Cave_Generation Но это ещё надо будет масштабировать на многоцелевое использование.

Вообще думаю, что надо это дело примерно так пилить:
Начинаем с генерация всего мира с маленькой детализацией. Типа здесь город, там деревня, там лес и т.п. Потом постепенно увеличиваем детализацию доходя до "тут камушек лежит". А потом поверх всего уже накладывать связи между местностями, неписей и монстров.

При этом должна быть возможность добавления штук, которые руками делали. Они должны бесшовно стыковаться с автогенеренным контентом.
>> No.41788 Reply
>>41787
Типа как дварф фортресс?
>> No.41789 Reply
>>41788
Из этой серии, но с немного другими целями.
>> No.41790 Reply
File: middle.png
Png, 1081.29 KB, 3600×1440 - Click the image to expand
edit Find source with google Find source with iqdb
middle.png
>>41788
Алсо тут ещё в чём фишка? Оно у меня имеет вполне себе настоящую физику. Там персы не ходят по клеточкам более того, там можно впилить и гоночки с огнестрелом в том или ином виде. Кроме того там сеттинг совсем другой. Ну и это ммо в конце концов.

Лол, я тут както пытался пилить карту мира. Помоему неочень.
>> No.41791 Reply
>> No.41792 Reply
File: simple.png
Png, 8.90 KB, 816×816 - Click the image to expand
edit Find source with google Find source with iqdb
simple.png
http://www.roguebasin.com/index.php?title=Diffusion-limited_aggregation
В целом пикрелейтед. Думаю сойдёт джля начала.

Хитрый план такой:
  • Строим карту высот любым способом. Там где низко - там вода, где высоко - горы. Ну ты понел.
  • Раскидываем где леса, где поля. Сверху карты холодно - там лёд. Снизу карты жарко - там пески.
  • От гор к морю прокладываем реки.
  • Расставляем деревни, города, замки и прокладываем дороги между ними. У крупных городов ещё и канализация должна быть. Дома отдельными картами. К слову все маленькие домики можно будет загнать на один сервак
  • Расставляем пешеры со входами в них. Пещеры отдельными картами.
  • Чистим всё и сращиваем границы тайтлов. Плюс добавляем всяких свистелок да перделок.
  • Расставляем всяких неписей, монстров, боссов и проводим связи между всем этим в виде квестов и корованов, которые грабить.
>> No.41795 Reply
File: fa9ce1a603fcf2379e93798195203763.jpg
Jpg, 91.27 KB, 700×700 - Click the image to expand
edit Find source with google Find source with iqdb
fa9ce1a603fcf2379e93798195203763.jpg
>>41785
> http://donjon.bin.sh/adnd/dungeon/
Залип.
> Смотря как подразумевать 3D.
Я имел в виду запилить генерацию уровня для бродилки от первого лица типа SCP, с неписями, ништяками и всяким прочим. Про комнаты друг над другом я не подумал, я представлял только линейный уровень. Хотя, можно же сделать наложение и сгенерить лестницы на пересечении? Вангую, что они будут периодически генериться в стенах.
>>41792
Насколько подробным будет карта и как будет осуществляться переход?
То есть один ОГРОМНЫЙ детализированный бесшовный мир, или средние по размерам локации с переходами между ними через карту мира?
>> No.41797 Reply
File: 1288214108968.jpg
Jpg, 258.72 KB, 638×477 - Click the image to expand
edit Find source with google Find source with iqdb
1288214108968.jpg
>>41795
> Я имел в виду запилить генерацию уровня для бродилки от первого лица типа SCP, с неписями, ништяками и всяким прочим.
Вполне. Только руки нужны относительно прямые.
> Хотя, можно же сделать наложение и сгенерить лестницы на пересечении?
Алгоритм сам генерит лестницы. Если нет потребности, чтоб уровни строго один над другим были, то достаточно просто по лестницам соединять.
> Насколько подробным будет карта и как будет осуществляться переход?
С точки зрения игрока - ОГРОМНЫЙ бесшовный мир + отдельные локации вроде зданий и пещер.
С точки зрения клиентского движка огромный мир - это сетка из карт скажем 100x100 тайтлов и подгружаются они по мере надобности.
С точки зрения сервера это может быть сеткой из карт 1000x1000 к примеру. При том разные части этой огромной карты на разных серверах. А клиент динамически подключается к разным серверам.

Переход между двумя серверами выглядит примерно так:
  • Клиент подходит к границе серверов и подключается к тому, что за границей.
  • Как только клиент переходит границу старый сервер его отключает.
А игрок ни чего и не заметил.

Ну это всё в идеале. На практике там дохрена сложностей.
>> No.41798 Reply
>>41797
> На практике там дохрена сложностей.
Люди будут сосредотачиваться в каких-то конкретных локациях (в ммо это неизбежно), и эти конкретные сервера будет перегружены. А остальные сервера будут простаивать. Или куски карты не жестко привязаны к серверам и как-то балансируются?
>> No.41799 Reply
>>41798
> Или куски карты не жестко привязаны к серверам и как-то балансируются?
this. Можно даже динамически резать пространство. Вопрос только во времени, которое понадобится для реализации всего этого.
>> No.41801 Reply
File: 4976_lain_ani_scr_.png
Png, 863.04 KB, 1520×1080 - Click the image to expand
edit Find source with google Find source with iqdb
4976_lain_ani_scr_.png
>>41797
> С точки зрения клиентского движка огромный мир - это сетка из карт скажем 100x100 тайтлов и подгружаются они по мере надобности.
Майнкрафт, лол.
> При том разные части этой огромной карты на разных серверах. А клиент динамически подключается к разным серверам.
А если не прогрузится? Будет наблюдать небытие? Провалится под карту?

Не слишком эпично для индюшатины?
>> No.41802 Reply
File: 1387997941.png
Png, 204.49 KB, 900×531
edit Find source with google Find source with iqdb
1387997941.png
File: 1385552389.jpg
Jpg, 429.35 KB, 1000×1422
edit Find source with google Find source with iqdb
1385552389.jpg

>>41801
> Майнкрафт, лол.
У меня генерация будет происходить один раз в отличии от. Даже не каждый раз, как запускаем сервер.
> А если не прогрузится? Будет наблюдать небытие? Провалится под карту?
Провалится под карту и отправится в небытие. Можно конечно впилить невозможность перейти на карту, которая помещается на мёртвом сервере.
Там много серверов карт. На каждом сервере карт этих самых карт тоже несколько. Клиент подключается к серверу. Персов приходится перетаскивать между картами и между серверами. Если не считать единой точки отказа в виде автономного балансера карт/серверов карт, то эта штука неплохо масштабируется.
> Не слишком эпично для индюшатины?
Я ведь пилю это потомушта хочу и потомушта могу. Мне нравится сам процесс же.
>> No.41828 Reply
File: -.png
Png, 18.02 KB, 254×201
edit Find source with google Find source with iqdb
-.png
File: -.png
Png, 7.18 KB, 99×123
edit Find source with google Find source with iqdb
-.png
File: 1389862297.jpg
Jpg, 398.05 KB, 1024×768
edit Find source with google Find source with iqdb
1389862297.jpg

Годно. Особенно для одиночки.
Хотя перешёл на другую локацию и пропал с карты.
>> No.41829 Reply
File: 142116493428925.jpg
Jpg, 119.12 KB, 750×900
edit Find source with google Find source with iqdb
142116493428925.jpg
File: 1272870262227.jpg
Jpg, 188.65 KB, 2048×1536
edit Find source with google Find source with iqdb
1272870262227.jpg

>>41828
> Хотя перешёл на другую локацию и пропал с карты.
Попробуй запустить локально. Там есть бага с телепортом между картами, которая связанна с хранением аватара в базе. Ну и демку я давно не обновлял. Заодно я узнаю про траблы запуска и смогу запилить установочный гайд по горячим следам
>> No.41830 Reply
File: 140294489692964.jpg
Jpg, 100.38 KB, 709×709 - Click the image to expand
edit Find source with google Find source with iqdb
140294489692964.jpg
>>41829
> Попробуй запустить локально.
Окей. Поставлю сегодня-завтра, отпишусь.
>> No.41866 Reply
Ежели кому интересно, то под ведроид оно компейляться отказывется. Линкёр меня послал, мол multiple definition of костыли для 64-битной арифметики в перемешку с другими костылями gcc и, кажется, кусочками NDK. Ну ты понел. Впрочем не то, чтоб у меня была потребность запускать сервера на кирпиче.

Хотя вот эта штука http://golang.org/doc/effective_go.html#web_server вполне себе работает на моём смартфоне.
>> No.41868 Reply
File: 25.png
Png, 3142.72 KB, 1520×1651 - Click the image to expand
edit Find source with google Find source with iqdb
25.png
>>41830-кун репортинг ин.
Сначала не получилось подтянуть все зависимости.
package code.google.com/p/cbor/go Скачал и поставил пакет ручками.
Поставил SWIG.
А теперь выхлоп:
$ go run main.go
# github.com/oniproject/chipmunk.go
/tmp/go-build512124176/github.com/oniproject/chipmunk.go/_obj/cp_wrap.c: In function ‘_wrap_INFINITY’:
/tmp/go-build512124176/github.com/oniproject/chipmunk.go/_obj/cp_wrap.c:213:3: warning: floating constant exceeds range of ‘double’ [-Woverflow]
   result = (1e1000);
   ^
# command-line-arguments
x_wrap_BodyFree: unhandled relocation for _wrap_BodyFree (type 32 rtype 120)
x_wrap_BodyFree: missing section for _wrap_BodyFree
x_wrap_BodyGetPosition: unhandled relocation for _wrap_BodyGetPosition (type 32 rtype 120)
x_wrap_BodyGetPosition: missing section for _wrap_BodyGetPosition
x_wrap_BodyGetVelocity: unhandled relocation for _wrap_BodyGetVelocity (type 32 rtype 120)
x_wrap_BodyGetVelocity: missing section for _wrap_BodyGetVelocity
x_wrap_BodyNew: unhandled relocation for _wrap_BodyNew (type 32 rtype 120)
x_wrap_BodyNew: missing section for _wrap_BodyNew
x_wrap_BodyNewKinematic: unhandled relocation for _wrap_BodyNewKinematic (type 32 rtype 120)
x_wrap_BodyNewKinematic: missing section for _wrap_BodyNewKinematic
x_wrap_BodySetPosition: unhandled relocation for _wrap_BodySetPosition (type 32 rtype 120)
x_wrap_BodySetPosition: missing section for _wrap_BodySetPosition
x_wrap_BodySetVelocity: unhandled relocation for _wrap_BodySetVelocity (type 32 rtype 120)
x_wrap_BodySetVelocity: missing section for _wrap_BodySetVelocity
x_wrap_CP_BODY_TYPE_DYNAMIC: unhandled relocation for _wrap_CP_BODY_TYPE_DYNAMIC (type 32 rtype 120)
x_wrap_CP_BODY_TYPE_DYNAMIC: missing section for _wrap_CP_BODY_TYPE_DYNAMIC
x_wrap_CP_BODY_TYPE_KINEMATIC: unhandled relocation for _wrap_CP_BODY_TYPE_KINEMATIC (type 32 rtype 120)
x_wrap_CP_BODY_TYPE_KINEMATIC: missing section for _wrap_CP_BODY_TYPE_KINEMATIC
x_wrap_CP_BODY_TYPE_STATIC: unhandled relocation for _wrap_CP_BODY_TYPE_STATIC (type 32 rtype 120)
x_wrap_CP_BODY_TYPE_STATIC: missing section for _wrap_CP_BODY_TYPE_STATIC
x_wrap_CP_BUFFER_BYTES: unhandled relocation for _wrap_CP_BUFFER_BYTES (type 32 rtype 120)
too many errors
>> No.41870 Reply
>>41868
Версия go и версия swig какие?
У меня go 1.4 и swig, свежесобранный из исходников. В такой конфигурации УМВР. Если старый swig, то ставь go 1.3. Сейчас посмотрю, можт это я чего накосячил.

Записываю:
Таки не применять имена пакетов, оканчивающиеся на .go
Заменить костыль swig на человеческий cgo
>> No.41871 Reply
File: 051.png
Png, 2430.61 KB, 1104×1600 - Click the image to expand
edit Find source with google Find source with iqdb
051.png
>>41870
Всё взято из реп Mint17.
SWIG Version 2.0.11
go version go1.2.1 linux/amd64
Всё полуторагодовой давности. Попробую чуть позже собрать из исходников.
>> No.41873 Reply
>>41871
Ух. Мне кажется, что go из исходников собирать не нужно. Можно же просто скачать уже готовое и распаковать в /usr/local/. Но это вопрос удобства скорее.

Алсо поставь checkinstall и используй вместо make install. Оно тебе пакет сформирует. Удобно же.
>> No.41874 Reply
>>41873
> checkinstall
Всё время забываю про эту штуку. А потом вилкой чищу систему.
>> No.41875 Reply
>>41868
Погуглил. Думаю, что проще будет выпилить swig совсем. Оно вроде как конфликтует с cgo в старых версиях или типа того.
>> No.41876 Reply
Поставил свежак.
$ go run main.go
# github.com/oniproject/chipmunk.go
/tmp/go-build000576643/github.com/oniproject/chipmunk.go/_obj/cp_wrap.c: In function ‘_wrap_INFINITY’:
/tmp/go-build000576643/github.com/oniproject/chipmunk.go/_obj/cp_wrap.c:228:3: warning: floating constant exceeds range of ‘double’ [-Woverflow]
   result = (1e1000);
   ^
PANI[0000] Fail load config file open ../data/config.yml: no such file or directory
panic: (*logrus.Entry) (0xb9aaa0,0xc208174300) //Его там и не должно быть, файл лежит в oniproject/

goroutine 1 [running]:
github.com/Sirupsen/logrus.(*Entry).log(0xc208174300, 0x0, 0xc20801f0e0, 0x48)
	/home/*/go/src/github.com/Sirupsen/logrus/entry.go:103 +0x634
github.com/Sirupsen/logrus.(*Entry).Panic(0xc208174300, 0xc2080e7c70, 0x1, 0x1)
	/home/*/go/src/github.com/Sirupsen/logrus/entry.go:148 +0x7f
github.com/Sirupsen/logrus.(*Entry).Panicln(0xc208174300, 0xc2080e7db0, 0x2, 0x2)
	/home/*/go/src/github.com/Sirupsen/logrus/entry.go:241 +0x12b
github.com/Sirupsen/logrus.(*Logger).Panicln(0xc2080337c0, 0xc2080e7db0, 0x2, 0x2)
	/home/*/go/src/github.com/Sirupsen/logrus/logger.go:160 +0xdf
github.com/Sirupsen/logrus.Panicln(0xc2080e7db0, 0x2, 0x2)
	/home/*/go/src/github.com/Sirupsen/logrus/exported.go:176 +0x48
oniproject/oni.NewConfig(0xc18390, 0x12, 0x1)
	/home/*/go/src/oniproject/oni/config.go:26 +0x1a0
main.main()
	/home/*/go/src/oniproject/main.go:29 +0x72

goroutine 5 [syscall]:
os/signal.loop()
	/usr/local/go/src/os/signal/signal_unix.go:21 +0x1f
created by os/signal.init·1
	/usr/local/go/src/os/signal/signal_unix.go:27 +0x35

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
	/usr/local/go/src/runtime/asm_amd64.s:2232 +0x1
exit status 2
>> No.41877 Reply
>>41876
OH SHI~ совсем забыл про конфиг. Надо бы сделать переменную окружения длжля изменения местоположения конфига и пусть оно по умолчанию ищет оный в текущей директории. Надо вообще вырезать openshift в значениях по умолчанию. Эта папка ../data и есть зависимость от openshift. Могу даже сказать, чому она там нужна: приложению запрещена запись в свою директорию во имя безопасности.

Джва варианта на сейчас:
  • запускай go run main.go -conf config.yml
  • создать эту директорию и запилить туды симлинк на конфиг у меня так
  • то же самое, но просто скопировать конфиг как у меня на openshift
Плюс скорее всего придётся подредактировать конфиг. Там где games: нужно опцию addr выставить в "localhost:8000". Ежели не создаёшь ../data, то поменяй значение опции db.

Чуть погодя пофикшу запуск удалю бгмерзкий ../data и запилю инструкцию.
>> No.41878 Reply
File: -.gif
Gif, 219.88 KB, 180×180 - Click the image to expand
edit Find source with google Find source with iqdb
-.gif
>>41877
> Там где games: нужно опцию addr выставить в "localhost:8000"
Это я догадался.
> Чуть погодя пофикшу запуск и запилю инструкцию.
Подожду пока.
>> No.41879 Reply
File: 1386450601.jpg
Jpg, 74.26 KB, 400×400
edit Find source with google Find source with iqdb
1386450601.jpg
File: 1364210680303.png
Png, 10.42 KB, 500×500
edit Find source with google Find source with iqdb
1364210680303.png
File: 1397697121.jpg
Jpg, 68.51 KB, 838×1440
edit Find source with google Find source with iqdb
1397697121.jpg

>>41878
> Подожду пока.
Ну я тебе объяснил, что я буду изменять. То, что ты настроишь сейчас просто станет "по умолчанию". Либо можно будет обойтись без -conf, либо поставить переменную окружения.
>> No.41880 Reply
Wait...
> > то же самое, но просто скопировать конфиг
Копировать config.yml в ../data/ ?
Я уже пробовал, но ошибка была та же.
Ладно, завтра ещё помучаю. Алсо, я прав, что клонирую dev ветку? Или последний релиз взять?
>> No.41881 Reply
File: 1386201517.jpg
Jpg, 50.90 KB, 720×514
edit Find source with google Find source with iqdb
1386201517.jpg
File: 1385967529.jpg
Jpg, 25.62 KB, 348×263
edit Find source with google Find source with iqdb
1385967529.jpg
File: 1399689793.jpg
Jpg, 54.69 KB, 750×600
edit Find source with google Find source with iqdb
1399689793.jpg

>>41880
> Wait...
> > то же самое, но просто скопировать конфиг
> Копировать config.yml
У меня это выглядит так так
$GOPATH/src
├── github.com
├── golang.org
....
├── data
│   ├── config.yml -> ../oniproject/config.yml
│   └── development.bin
└── oniproject
> Алсо, я прав, что клонирую dev ветку?
Да. Релизы на данный момент бесполезны. Каша в коде перестанет быть таковой либо когда я допилю до 1.0.0, что не скоро, либо если появится кто-то, кто не теоретизирует с помощью к проекту. Мне одному это не особо нужно ибо у меня в голове полная документация.
Текущую стабильность можно описать так: EVERYTHING IS UNSTABLE. Ну ладно, кое-что относительно стабильно. Я пока не планирую менять имя главного репозитория. Но есть мысли вынести data и redactor по разным репам. Хотя это будет нескоро.
> Ладно, завтра ещё помучаю.
Я пофикшу немного те штуки, с которыми у тебя появились проблемы к завтра. Но не chipmunk.
>> No.41882 Reply
> ├── data
> │ ├── config.yml -> ../oniproject/config.yml
> │ └── development.bin
> └── oniproject
А, всё. Теперь понял.
>> No.41974 Reply
>> No.42004 Reply
File: simple.png
Png, 2201.16 KB, 1500×1500 - Click the image to expand
edit Find source with google Find source with iqdb
simple.png
Догадайтесь с трёх раз, кокой это алгоритм. Это Simplex Noise.
>> No.42009 Reply
>>42004
Это Simplex Noise? Я угадал?
>> No.42013 Reply
>>42009
http://webstaff.itn.liu.se/~stegu/simplexnoise/
Думаю ещё скопипастить https://gist.github.com/KdotJPG/b1270127455a94ac5d19 и несколько других вариаций. В том числе классический Perlin.
Алсо вот http://www.spiritofiron.com/2015/01/simplectic-noise.html
>> No.42056 Reply
Почти ВИН -> https://github.com/rsc/c2go
Ещёб оно было нормально документированно так вообще сказка. Препроцессор правда глючный.
>> No.42060 Reply
>>42004
Какие у этого шума преимущества перед перлином?

Я не пони, если нет разницы зачем платить больше тактов за туже работу.
>> No.42061 Reply
>>42060
При одинаковом уровне оптимизации перлин немного медленнее на 3D и выше. При очень агрессивных оптимизациях перлин может быть быстрее. Модификации обычно лучше себя ведут на более высоких размерностях.

Впрочем на моей задаче это всё и не важно даже.
>> No.42312 Reply
Бля, меня реально напрягает, что в спам-сообщениях меня, ленивого хуя с горы, аутиста и нищеброда, стартапом называют. А ведь я весь месяц анимцо смотрел вместо коддинга.
>> No.42314 Reply
>>42312
Лол, а что предлагают? В чем наёб?
>> No.42315 Reply
>>42314
Дают акк с бесплаткой в $50 долларов правда только если я зарегистрируюсь в течении недели на своём сервисе и купоны на скидки тамже. Там что-то вроде некой базы почтовой. Не разобрался. B2B, которое мне не нужно ибо между хиккой и бизнесом огромная пропасть же.
>> No.42807 Reply
File: large.jpg
Jpg, 8.92 KB, 560×200 - Click the image to expand
edit Find source with google Find source with iqdb
large.jpg
Я был неправ на счёт Unity3D. Хороший годный движок с хорошим годным редактором. Но для веба его придётся готовить. Тем более, что оно ещё только в полутестовом режиме.
>> No.42808 Reply
>>42807
Чем для веба плох проверенный флеш?
>> No.42809 Reply
>>42808
Так он же умер.
>> No.42810 Reply
>>42809
Как ты это понял? Пахнет трупом? Ты сначала покажи технологию, которая лучше подходит для создания браузерок чем флеш, а потом говори, что он умер.
>> No.42811 Reply
>>42810
> Ты сначала покажи технологию, которая лучше подходит для создания браузерок чем флеш, а потом говори, что он умер.
Нативный веб же. Давно всё есть, что нужно и ненужно.
>> No.42812 Reply
>>42811
Как насчёт отправки данных не через TCP/IP без подтверждения получения присланных данных? А как у джаваскрипта/канваса и джаваскрипта/свг с производилкой?
>> No.42813 Reply
>>42812
> Как насчёт отправки данных не через TCP/IP без подтверждения получения присланных данных?
А потом они городят TCP over UDP. Алсо без TCP/IP и на флеше не обойтись. Ибо это стек протоколов, а не конкретный протокол вроде TCP
В целом проблема с TCP немного устарела. Но об этом будут ещё лет двадцать в каждом втором туториале писать. Щито поделать.
> А как у джаваскрипта/канваса и джаваскрипта/свг с производилкой?
Нормально всё. А если через WebGL гугли pixi.js, то больше чем требуется.
>> No.42814 Reply
>>42813
> В целом проблема с TCP немного устарела.
Почему она устарела? Вопрос, как сделать, чтобы можно было слать клиенту данные без подтверждений от клиента? Это задача, а не протокол. Нахрен мне, что "они городят", это к теме никак не относится.
>> No.42815 Reply
>>42813
> Алсо без TCP/IP и на флеше не обойтись.
Вай, зачем обманываешь? RTMFP работает через UDP же.
>> No.42816 Reply
>>42815
Алсо, если так хочется отказаться от протоколов RTMP и запилить свой инновационный велосипед, флеш умеет TCP-сокеты (класс Socket) и UDP-сокеты (класс DatagramSocket).
>> No.42820 Reply
>>42811
>>42813
Блин, ну это вообще трындец полный. Меня это просто вымораживает. Пришёл. Обвалил нахуй все представления и знания сетей своим супер-веским
> В целом проблема с TCP немного устарела. Но об этом будут ещё лет двадцать в каждом втором туториале писать.
И ушёл. Аргументировать, чем флеш хуже веба, мы не хотим. В качестве аргумента против передачи пакетов данных без подтверждения - "проблема просто устарела, а учебники говно, вы их не читайте." Просто супер. Пуленепробиваемая позиция. Такой же точно стиль аргументирования как у фанатов функционального программирования.
>> No.42821 Reply
>>42820
Да, но, теперь, когда я об этом вспомнил, флеш чёрта с два запустишь на мобильнике. было вроде много нарекламировано фреймворков и шайтан-компиляторов, которые могли генерить какой-то код под флеш, браузер и/или мобильник. Что-то из этого преуспело вообще? Или в любом случае, игру, запускаемую под браузер и под мобильник придётся писать дважды? Хотя что за игра это будет, чтобы в неё с ручного тач-экрана и настольника с мышью, клавой и монитором играть то. Об этом я думал меньше всего
>> No.42822 Reply
>>42814
> Это задача, а не протокол.
Это инструмент. Задача это что-то типа такого: надо синхронить позиции объектов меж клиентов и чтоб лагов поменьше было, да быстро запилить.
> Вопрос, как сделать, чтобы можно было слать клиенту данные без подтверждений от клиента?
Т.е. тебя устраивает, что ты потерял по дороге инфу о том, что пользователь нажал кнопку "убить всех"? Или ты городишь свой TCP поверх UDP. Зачем делать то, что и так умеет TCP? А с WebSocket мне даже пингование клиента реализовывать не требуется. Я туды сюды шлю байтики или текст и мне больше не требуется ничего пилить. Не требуется знать, как оно шлётся. Требуется только разобраться, что надо слать туды сюды. А когда впилят наконец долгожданный HTTP2, то вообще збс будет.
>>42815
> > Алсо без TCP/IP и на флеше не обойтись.
> Вай, зачем обманываешь? RTMFP работает через UDP же.
Без TCP обойтись можно. Без TCP/IP нельзя. Даже если это нативное приложение. Вот выходишь за пределы пеки и сетевых карт, тогда да можешь и без TCP/IP. ruwiki://IP лол.
>>42816
Да, но зачем?
>>42820
> В качестве аргумента против передачи пакетов данных без подтверждения
Аргумент в пользу WebSocket - меньше кода придётся пилить дополнительно. А значит меньше отлаживать. А значит меньше багов. А значит проще сопровождать код. А значит быстрее.

Впрочем вот это специально джля вас готовят http://www.w3.org/2012/sysapps/tcp-udp-sockets/ А ещё при большом желании можно через WebRTC пилить.

>>42821
> Хотя что за игра это будет, чтобы в неё с ручного тач-экрана и настольника с мышью, клавой и монитором играть то. Об этом я думал меньше всего.
Что-то такое http://beta.unity3d.com/jonas/DT2/ ? С другой стороны юнити делает нативные приложения под яблоко и ведро почти без изменений кода.
>> No.43021 Reply
Бамп кривой демкой https://yadi.sk/d/taA8W6tghHgVy
>> No.46773 Reply
Все умерли. Впрочем это /s/.
>> No.46774 Reply
File: Skyrim+roulette_147c41_5323395.png
Png, 84.86 KB, 814×774 - Click the image to expand
edit Find source with google Find source with iqdb
Skyrim+roulette_147c41_5323395.png
>> No.46811 Reply
>>43021
> Blackman12exe.exe
> .exe
Ты серьёзно?
>> No.46862 Reply
Ололо, пишу в свежем как говно мамонта тренде.
>> No.46893 Reply
>>46862
> Ололо
Причём прямиком из 2009-го года.
>> No.47146 Reply
Здравствуй. юный бородатый%% %%пограмист. Есть один сурс: https://github.com/swarmsim/swarm
Как в нём менять отображающийся текст, чтобы вмесвто ларвы были фунгусы, например%%, если я не знаю ничего кроме как немного хтмл+цсс и мизера из пхп и виндусовских, батных команд?
Да, я планктоно сапиенс.
>> No.47479 Reply
>>47146
clone или download сырцов. Поиск и замена larva(e) на fungus(i).
>> No.47642 Reply
Если я хочу попробовать написать мини-игру на функциональном языке с самой сильной и строгой системой типов без без возможностей императивного программирования, то какую платформу, язык и либы я могу взять? Как я могу судить, на хаскеле мало серьёзных либ.
>> No.47645 Reply
>>47642
Если под мини-игрой не подразумевается какое-нибудь угадай число, а хотя бы платформер, то мишон импоссибру: слишком уж пруф оф концептное направление и один сплошной потому что можем дривен девелоп.

Минимум для фреймворка - это:
1) хорошая база отвеченных вопросов в гугле
2) хорошая документация с примерами
3) есть коммьюнити
4) полноценные демки
Опционально:
5) есть релизы сделанных игр
6) пилятся коммерческие онлайн-курсы
7) есть конкурирующие фреймворки

Ничего этого на функциональных языках пока, к сожалению, нет.
>> No.47646 Reply
>>47645
Последний раз, когда я смотрел на elm, там не было оптимизации хвостовой оптимизации. Основатель втирал, что она не нужна. Сейчас посмотрел, вроде говорят, что добавили. Ну наконец то. Что странные типы. Если так, то я попробую elm. Когда дойдут руки (никогда).
>> No.47647 Reply
>>47646
> оптимизации хвостовой оптимизации
оптимизации хвостовой рекурсии, конечно, лол.
>> No.47648 Reply
>>47646
Дело на месте не стоит лол. Ну успехов. Пили отчётики о том, как пробуется.

>>47647
Так и прочитал, даже не заметив.
>> No.47675 Reply
>>47645
Интеропреабилити твое спасение.
Любой жабо-фреймворк + скала.
Любой точканет-фреймворк + F#
>> No.47676 Reply
>>47675
Добавится функциональный слой, но случится проёб перечисленных пунктов (если они выполнялись). Так что, думаю, это громко называть спасением. Скорее, сомнительной перспективой с ожидаемым фейлом в качестве итога.
>> No.47682 Reply
>>47675
Типы Скалы более традиционные и там работает обычный императивный стиль.
>> No.47708 Reply
>>47642
А что хочешь запилить?
>> No.47764 Reply
>>47642
> написать мини-игру
> на функциональном языке
Нашел проблему.
>> No.47765 Reply
>>47708
Если надо знать, что ты пилишь, чтобы запилить, то нафиг такие технологии. 2Д, без особой графики. Других вопросов не может быть.
>>47764
Я не искал проблему. Это ты ищешь проблему в моей персоне. Погавкай в другом месте.
>> No.47767 Reply
>>47765
Как успехи на ниве функционального игростроя?
>> No.47768 Reply
>>47767
Я решил накатить на виртуалку линух, а потом на него сверху инструменты. Я установил вмварь, но ещё даже не запустил его...
>> No.47769 Reply
>>47768
Полдела сделано!
>> No.48202 Reply
File: space-funeral-phillip-walking.gif
Gif, 136.03 KB, 500×500 - Click the image to expand
edit Find source with google Find source with iqdb
space-funeral-phillip-walking.gif
Проснулся после долгой спячки и имею вопрос, связанный с ходом моей жизни (не обязательно для прочтения): грезил созданием игры еще со студенчества, во время учебы пытался изучать OpenGL и DirectX, но больше клонило на OpenGL как более удобный и лаконичный (в итоге знаю до уровня текстутирования), но постоянно сбивался - это был период 2005-2010 - как раз закончил универ на прогера, по дальше работа - подтягивание знаний для неё, в общем играми занимался слабо, а потом вообще перестал, с ужасом обнаруживаю, что забываю даже C, что уж там о C++.
Но сейчас очнулся и опасаюсь, что игры сейчас делаются совершенно иначе и по видимому с использованием иных технологий или других движков, больший страх для меня - это опасения по поводу того, что игры не делаются больше под ПК - как наиболее доступную платформу, под Сони - доступ не простой, и даже смущает меня немного, что люди рады пользовать готовые движки, никто не хочет придумывать что-то новое, более оптимальное, более гениальное, продуманное, никому этого стало не нужно, т.к. часто слышу студентов, которым преподаю (битурд-препод-аутист-ололо), что все это покрывается производительностью техники.
Я не уверен, есть ли смысл продолжать читать ту литературу, читать ли новую, осваивать Vulkan с последним DX, муштровать WinAPI или ковырять графическую систему прыщей. Страшно, когда к финалу изучения окажется, что все это никому не нужно и устарело, а разработка игор - удел крупных закрытых корпораций.
Пока нацелился на разборки по свежим статьям, посвященным геймдеву.
>> No.48203 Reply
>>48202
Кстати сразу наткнулся на забавную статью (хоть и 2011 года) о том, как PC игро-платформу хоронят уже в течении 10 лет
https://www.skepticink.com/incredulous/2015/09/07/a-brief-history-of-the-death-of-pc-gaming/
Может быть не все так и плохо.
>> No.48204 Reply
>>48203
> SEP 7, 2015
Пардон.
>> No.48212 Reply
Сап. Я долго делал всякое в GameMaker Studio, потом решил взяться за что-то более серьёзное. Потратил полгода на изучение Blender'a и стал пилить игру на Unreal Engine 4. Всё ещё делаю.
Я не знаю зачем это написал. Просто так. Не обращайте внимания
>> No.48216 Reply
>>48202
Движки же есть. Фреймворк, редактор, коммьюнити. Мультиплатформа (более-менее). Даже в движках игры делать сложно, а ты только на одном трёхмерном рендере застрял, который малая доля от всей игры. ПОДУМОЙ!

Правда, компьютер мощный нужен.

>>48212
Пили лучше миллионы прототипов-недоделок, изучая всевозможные системы.

Если уже опытный более-менее, порекомендую канал Mathew Wadstein: https://www.youtube.com/channel/UCOVfF7PfLbRdVEm0hONTrNQ/playlists

Сильно экономит время, если не уверен, как работает нода или какой-нибудь неочевидный интерфейс. Охрененный чувак, подготовленный и наглядный.
>> No.48231 Reply
>>48202
Нахер влукан, директх, опенгл и тому прочее.
Берешь движок, тот-же юнити, или анриал энджин, или ищешь что-нибудь менее распространенное, и делаешь на этом.
Ебаться со звуком, взаимодействием с апи и прочим говном - излишнее удовольствие, в этом деле.
>> No.48234 Reply
>>48202
Если цель зделоть игорь, работающий на большинстве современного железа - готовые движки, среды разработки.
Если кроме того хочется ещё и чуть более глубокого понимания, как это всё работает, OpenGL (вулкан, если ты модномолодёжный) и любимый ЯП (библиотеки и биндинги есть практически для всех).
Если похуй на современные тенденции, можешь обмазаться основами, историей геймдева, демосценой, скачать сорцы, поизучать их, попробовать на основе каких-нибудь простейших библиотек под емулятором ("обратная совместимость" современного железа и ОС, видите ли, требует) запилить простейшую демку.
Если хочется понять, чому столько годных идей просарно, почему сейчас выходит кинцо, а не игры, почему вообще жизнь такая, попробуй вообще всё с нуля: любимая ОС любимой версии, прямой доступ к фреймбуферу, midi-синтезатору, свои драйверы для ввода и т.п.


Password:

[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]