[ /b/ /u/ /rf/ /dt/ /vg/ /r/ /cr/ /lor/ /mu/ /oe/ /s/ /w/ /hr/ ] [ /a/ /ma/ /sw/ /hau/ /azu/ ] [ /tv/ /cp/ /gf/ /bo/ /di/ /vn/ /ve/ /wh/ /fur/ /to/ /bg/ /wn/ /slow/ /mad/ ] [ /d/ /news/ ] [ Главная | Настройки | Закладки | Плеер ]

Ответ в тред 39943. [Назад]
 [ Скрыть форму ]
Имя
Не поднимать тред 
Тема
Сообщение
Капча Капча
Пароль
Файл
Вернуться к
  • Публикация сообщения означает согласие с условиями предоставления сервиса
  • В сообщениях можно использовать разметку wakabamark
  • На данной доске отображаются исходные имена файлов!
  • Разрешенные типы файлов: text, video, code, image, pdf, flash, vector, music, archive
  • Тред перестает подниматься после 500 сообщений.
  • Треды с числом ответов более 100 не могут быть удалены.
  • Старые треды перемещаются в архив после 40 страницы.

No.39943 Ответ
Файл: Izumi_Konata__DotAku_by_kssael.png
Png, 1539.48 KB, 800×792 - Нажмите на картинку для увеличения
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 Ответ
>>39943
http://opengameart.org/ сборник всяких бесплатных моделек, спайтов, звуков и прочего.
http://free-basic.ru/g00.html незаконченный недоперевод перевод Let's Build a Roguelike
>> No.39945 Ответ
http://www.squidi.net/three/ автор пытается выдумать 300 идей для игровой механики.

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

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

> Ещё в /u/ валялась кафедра геймдизайна.
сразу бы дал на неё ссылку
>>/u/60525
>> No.39946 Ответ
Файл: talking_captcha.png
Png, 1.56 KB, 300×20 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
talking_captcha.png
>>39945
> http://www.squidi.net/three/
Годно ящитаю.
> Да эти предложения, как мне кажется, чуть ли не раз в неделю возникают.
Возможно. Я кстати уже пилю свою браузерную недоммо. Как допилю до удобоваримого состояния свой движок, так будет код выложен. Возможно через неделю или две будет этот самый код. И збт уровня /b/ через месяц.
> yukiskript
Ты всётки меня преследуешь :3
>> No.39947 Ответ
>>39946
> Возможно через неделю или две будет этот самый код. И збт уровня /b/ через месяц.
Ждём.
> Ты всётки меня преследуешь
Это же >>/s/
>> No.39948 Ответ
>>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 Ответ
>>39948
Понятно. Ждём.
>> No.39955 Ответ
Файл: captcha.png
Png, 0.92 KB, 300×20 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
captcha.png
Ещё 4chan.org/vg/agdg, у них там неплохая подборка ресурсов была.
Игрушку можно было бы ради наработки скила сделать, но анонимус ленивый и необязательный, поэтому командная разработка не взлетит. Тем более здесь, где три поста в за два дня.
>> No.39956 Ответ
Файл: talking_captcha.png
Png, 1.43 KB, 300×20
edit Find source with google Find source with iqdb
talking_captcha.png
Файл: eK6G0d3UA3A.jpg
Jpg, 42.20 KB, 429×437
edit Find source with google Find source with iqdb
eK6G0d3UA3A.jpg
Файл: EVA-02_1.jpg
Jpg, 174.06 KB, 700×525
edit Find source with google Find source with iqdb
EVA-02_1.jpg
Файл: f37d71277d2ebd701...
Jpg, 89.53 KB, 700×721
edit Find source with google Find source with iqdb
f37d71277d2ebd701bbf6730418c0841.jpg
Файл: 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 Ответ
https://github.com/ellisonleao/magictools A list of Game Development resources to make magic happen.
Да и вообще https://github.com/bayandin/awesome-awesomeness
>> No.39962 Ответ
Файл: oni.jpg
Jpg, 104.01 KB, 333×327 - Нажмите на картинку для увеличения
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 Ответ
Набрёл на кокойто блог в котором есть перевод книги The Art of Game Design http://casualuniverse.com/home/casualun/public_html/2012/03/knigi-o-ge[...]va-4/
>> No.39975 Ответ
Файл: Screen-Shot-2014-08-14-at-16.16.25.png
Png, 573.35 KB, 1440×772 - Нажмите на картинку для увеличения
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 Ответ
-------------------------------------------------------------------------------
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 Ответ
>>39986
Что это за слоувайп хуитой? Кому интересно, сами посмотрят.
>> No.39991 Ответ
>>39986
Продолжай.
>> No.39992 Ответ
Файл: 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
Файл: talking_captcha.png
Png, 1.53 KB, 300×20
edit Find source with google Find source with iqdb
talking_captcha.png
Файл: thistle_by_gloom8...
Jpg, 86.14 KB, 900×600
edit Find source with google Find source with iqdb
thistle_by_gloom82-d30tnwr.jpg
Файл: 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 Ответ
Файл: db.zip
Archive, 1.03 KB, 2 файлов - Нажмите на картинку, чтобы скачать файл
view
db.zip
Если кто пытается запустить эту нёх, то вот вам файлики с бд. Ибо мне пока лень делать человеческие миграции, которые будут ближе к 0.1.0
>> No.39994 Ответ
То, что когданибудьеслинебудетлень будет диздоком лежит в https://docs.google.com/document/d/1CYlPmC9uqHWNtzpReLhdOC1RnHwKqUydCE[...]aring доступно для комментирования, но пока без редактирования. Сейчас там просто сборник мыслей без всякой связи.
>> No.39995 Ответ
>>39994
А у битбакета разве нет чего-нибудь типа дискашон форума?
>> No.39996 Ответ
>>39995
Там таж фигня, как и на гитхабе же. См. ссылки выше. При чем можно анонимно пилить посты вроде.
>> No.40000 Ответ
Есть вообще кто либо, кто хоть пытался запустить эту нёх? Ну или хоть кто либо, кто код смотрел? или я один в своём треде?
>> No.40019 Ответ
>>40000
Очень здорово, и план хороший.
>> No.40020 Ответ
Вопрос с картинками для персов временно решен 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 Ответ
Таки запилил README.md.

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

Вообще там пока мало чего есть, такшто это всё только планы по большей части. Моя главная цель на текущий момент - запилить движок и редакторы к нему. Ещё есть один хитрый план, но о нём можно будет говорить только когда редакторы с движком релизнутся.
>> No.40038 Ответ
когда выйдет юнити с экспортом в вебгл это все станет излишним
>> No.40040 Ответ
Файл: a2d-editor-2.png
Png, 244.83 KB, 1440×876 - Нажмите на картинку для увеличения
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 Ответ
Файл: 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
Файл: talking_captcha.png
Png, 0.67 KB, 300×20
edit Find source with google Find source with iqdb
talking_captcha.png
Файл: 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 Ответ
>>39945
А что оно делает? Я просмотрел код, там около 3000 строк и половина из них - какая-то велосипедная реализация обычных математических функций
>> No.40077 Ответ
>>40043
код редактора откроешь? репа есть?
>> No.40078 Ответ
>>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 Ответ
>>40078
Я слоупок. Что за онипроджект?
Там за Суику играть можно? Сингл есть?
>> No.40081 Ответ
Файл: oni.jpg
Jpg, 104.01 KB, 333×327 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
oni.jpg
>>40080
> Что за онипроджект?
Проект по созданию игродвижка и на нём MMORPG. Сейчас идёт только самая начальная стадия с говнокодом. Можешь покопаться в репозитории, если хочешь.
> Там за Суику играть можно?
Там Суйка в качестве маскота. Пикрелейтед. Если кто либо нарисует спрайтов на Суйку, то она и в игре будет. Я программер, а не рисовальщик.
> Сингл есть?
Пока ничего нет почти. Однако на движке можно и сингл пилить будет теоретически. Только учти, что оно всё равно в браузере будет выполняться хотя есть ведь node-webkit и cordova джля упаковки в десктопное или мобильное приложение соответственно.
>> No.40114 Ответ
>>40081
красный экран у меня в а2д, чего-то не хватает?
глянул по коду, чото там дофига всего в одной куче - и редактор и игра и го какое-то. зачем там го?
>> No.40117 Ответ
Файл: 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
Файл: 53387.jpeg
Jpeg, 64.67 KB, 460×302
edit Find source with google Find source with iqdb
53387.jpeg
Файл: 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 Ответ
Файл: 6f7afde04be1c199a25f7c2ebd8cf447.png
Png, 35.81 KB, 880×720 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
6f7afde04be1c199a25f7c2ebd8cf447.png
>>40081
> Если кто либо нарисует спрайтов на Суйку, то она и в игре будет. Я программер, а не рисовальщик.
А какие спрайты нужны? Размер/количество?
>> No.40119 Ответ
Файл: IMG_20140108_202251.jpg
Jpg, 831.19 KB, 2560×1920 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
IMG_20140108_202251.jpg
>>40118
> А какие спрайты нужны?
Джля уникальных персонажей именно такие как у тебя. Конкретное расположение картинок на спрайте неважно вроде их даже перевернуть можно или ресайзить автоматически. Редактор анимаций универсальный. Единственное - в отдалённых планах есть поддержка освещения, а это значит, что к каждому спрайту придётся делать карту нормалей. Но это в отдалённых планах.

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

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

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

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

И вообще давайте сюда прогресс постить, если кто-то что-то пилит.
Всё равно народу мало будет, вангую.
>> No.40250 Ответ
Файл: Iskusstvo_geymdizayna.pdf
PDF, 4112.64 KB, 612×792, 435 страниц - Нажмите на картинку, чтобы скачать файл
Iskusstvo_geymdizayna.pdf
>>40248
Вот на русском, ежели кому надо.
мимо
>> No.40576 Ответ
Файл: talking_captcha.png
Png, 1.13 KB, 300×20
edit Find source with google Find source with iqdb
talking_captcha.png
Файл: 1370251745291.jpg
Jpg, 126.25 KB, 768×671
edit Find source with google Find source with iqdb
1370251745291.jpg
Файл: Untitled.png
Png, 133.02 KB, 977×876
edit Find source with google Find source with iqdb
Untitled.png

Я на почти на месяц подзабил. Сейчас вот опять пилю. Уже есть зайчатки инвентаря можно даже дропнуть итем на землю, но пока только через консоль и кривая магия. При помощи грязных хаков удалось убивать недомонстров. При этом hp/mp/sp регенерирует, а заклинания требуют маны. Ждите код. А возможно даже и демку ждите. Или не ждите.
>> No.40591 Ответ
Девяносто тыщ мобов в одной точке это слишком много 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 Ответ
>>40591
К слову. Сейчас 90000 мобов == 90000 горутин. Выпилить бы эти лишние горутины. Тогда можно будет чуть-чуть на памяти сэкономить.
>> No.40593 Ответ
>>40592
Зойчем тебе столько мобов? Стресс-тест?
>> No.40594 Ответ
>>40593
Учитывая текущую тупость мобов это не стресс-тест, а скорее способ узнать, сколько на них памяти нужно будет. Думаю, что смогу запилить тыщу или даже джве полноценных объектов в одной локации на одной ноде без подвисаний. Что даёт с точки зрения механики? Например возможность запилить личную армию зерго-фамильяров. Кстати такая идея: если рядом слишком много объектов, то можно сужать область видимости. На клиенте это будет выглядеть как туман войны или типа того. Впрочем клиент способен на многое на самом деле ибо WebGL. На клиенте сейчас вообще окромя костылей пусто почти.

Вообще сначала я думал, что при таком количестве объектов всё тупо упадёт. А потом вспомнил, что это не питон с руби, а полноценный компеляемый ЯП. С чем-чем, а с перерасходом памяти у go точно нет проблем особых.
>> No.40595 Ответ
Файл: -.jpg
Jpg, 514.27 KB, 1440×810
edit Find source with google Find source with iqdb
-.jpg
Файл: 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 Ответ
>>40595
Крут, успехов чо.
>> No.40597 Ответ
>>40595
> чому оно скидывает соединение
Это всё VimFx оказывается. Норм оно на самом деле работает.
>> No.40599 Ответ
Файл: 14331_original[1].jpg
Jpg, 103.87 KB, 636×1000 - Нажмите на картинку для увеличения
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 Ответ
Файл: 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
Файл: 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 Ответ
Файл: tesseract.gif
Gif, 564.38 KB, 230×230 - Нажмите на картинку для увеличения
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 Ответ
>>40601
https://github.com/oniproject/tmxconverter даже почти работает. *.tmx конвертит в *.json. Правда не целиком, а только часть функционала. Надо будет допилить по возможности.
>> No.40705 Ответ
Файл: game-xxx.png
Png, 666.95 KB, 1441×900 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
game-xxx.png
Скоро это будет работать. Наверное.
Потом я даже пару костылей уберу вырежу эту свастику, всё равно теперь за рендеринг тайтловых карт другая часть кода(не менее ущербная) отвечает и будет 0.5.0-я версия.
Можно будет по нормальной карте бегать. Правда по одной только.
Вообще хотелось бы запилить из tmxconverter-а нормальную либу т.е. отрефакторить там всё от столба и до обеда.
>> No.40752 Ответ
>>40705
> Скоро это будет работать. Наверное.
Воу, скриншот очень вкусный!
>> No.40753 Ответ
Файл: test.tar.bz2
Archive, 1300.56 KB, 13 файлов
view
test.tar.bz2
Файл: ssssss.png
Png, 271.65 KB, 1600×900
edit Find source with google Find source with iqdb
ssssss.png
Файл: 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 Ответ
Бля, мне приглашение на собеседование прислали от 100руб. на front-end. Ненене... Я работать не хочу, я хочу пилить игру.
>> No.40757 Ответ
Короче я в демку залил ту версию, какая у меня в квазинестабильной ветке лежит. Как починю подбор предметов и атаку на монстров так сразу и будет 0.5.0. Короче завтра к вечеру уже всё будет. Если опять не сяду анимцо смотреть.
>> No.40758 Ответ
>>40754
100р/ч или 100кр/мес?
>> No.40759 Ответ
>>40758
Второе разумеется, но смысла идти не вижу туда ибо я всётки далеко не уровня senior developer. А 100р. в час это как в макдаке зарплата. Даже меньше я думаю.

Вообще пойду работать, но только как игрулька будет более или менее играбельная.
>> No.40761 Ответ
>>40757
> и атаку на монстров
Check. Осталось запилить предметы.
>> No.40766 Ответ
Файл: combat_dummy.gif
Gif, 13.62 KB, 64×64 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
combat_dummy.gif
>>40761
Теперь предметы опять видны и их снова можно поднимать. Надо бы костыли уже убирать, но лень.
Решил пока просто выложить свою локальную ветку.
>> No.40776 Ответ
http://www.leshylabs.com/apps/sstool/ утилитка для нарезки спрайтов.
>> No.40780 Ответ
Поясните, как вы в js умудряетесь сделать сетевую игру без UDP сокетов? Да и вообще, зачем писать игры на js если есть УнитиТриДэ. :\
>> No.40787 Ответ
Файл: NUPHVTYBRrI.jpg
Jpg, 61.45 KB, 500×387
edit Find source with google Find source with iqdb
NUPHVTYBRrI.jpg
Файл: 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 Ответ
Файл: lljkh.png
Png, 86.15 KB, 643×864 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
lljkh.png
Чем больше коммитов их уже более 300 тем сложнее придумать им названия. Да и просто лень.
>> No.40789 Ответ
>>40787

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

>>40788

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

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

А еще тру-ваннаби-гейдевы ночью не спят, а отлаживают сетевое апи! Вот. :3
>> No.40793 Ответ
Файл: мишка-108962.jpeg
Jpeg, 53.30 KB, 400×580
edit Find source with google Find source with iqdb
мишка-108962.jpeg
Файл: ETDItjGDliQ.jpg
Jpg, 49.15 KB, 500×500
edit Find source with google Find source with iqdb
ETDItjGDliQ.jpg
Файл: 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 Ответ
>>40793
> Если человек сидит с нестабильного канала, то это не моя проблема.
А ты для кого игру делаешь то, для себя или таки для этих самых "человеков"?
Поинтересовался бы качеством интернетов у своей ЦА. Потому что если это Россия и не ДС 1/2, то могут быть проблемки. Но тут хочу сказать с UDP тоже есть некоторая возня, NATы всякие там траверсить.
> Я вижу задержку максимум в пару-тройку фреймов.
Опять же, это ты. А про Петю из Семипалатинска ты подумал? В таких тонких вещах очень способствуют ранние плейтесты со своими друзьями и "друзьями друзей".
> Кстати вон в Skyforge используют TCP и вроде норм.
И Skyforge и WoW (тоже TCP) имеют особую механику, там все основано на RPC. Грубо говоря, в играх такого типа абсолютно не важно, если у двух разных игроков будет на экране разная картинка (например, когда на экране у Пети игрок Ваня стоит у красного гриба, а у третьего игрока Алексея он же стоит далеко от красного гриба) - синхронизируются только самые важные моменты и только в нужное время (например, когда Петя попытается использовать умение с ограниченной дальностью на Ваню).
> Мне даже немного интересно, сколько там будет оверхеда в сравнении с кастомной реализацией фич TCP и WebSocket на UDP.
Дак дело то как раз в том, что в архитектуре с авторитарным сервером эти фичи в основном и не нужны. Если на твоем игровом клиенте нет логики и его интересует только последний, самый актуальный слепок состояния сервера, то TCP только мешает.

Опять же, все сугубо индивидуально, но лично мне показалось, что я в тему.
Сам когда-то запиливал свои редакторы, а зачем? Что бы ты ни сделал, оно явно будет хуже чем у тех ребят, которые на этом крупный бизнес сделали - их там целая команда крутых дядек, пилящих эту штуку уже не первый год.
А если ты сугубо для себя игрушку делаешь, то пиши хоть на GOAL.
>> No.40802 Ответ
Файл: 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
Файл: 53387.jpeg
Jpeg, 64.67 KB, 460×302
edit Find source with google Find source with iqdb
53387.jpeg
Файл: 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 Ответ
>>40789
А что скажешь о WebRTC? По идее он может в "ненадёжную передачу".
>> No.40805 Ответ
Файл: 857fd092e8d5eb471b9e988c5af03238.png
Png, 36.73 KB, 874×379 - Нажмите на картинку для увеличения
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 Ответ
Файл: Last.Exile.651358.jpg
Jpg, 70.93 KB, 500×334 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Last.Exile.651358.jpg
>>40804
> А что скажешь о WebRTC?
С ним всё мутно. И он для другого создавался. Возможно буду его использовать, но совсем не для игровых данных.
>>40805
> У них месседжи не состояние какое-то несут, а команду на выполнение.
Ладно, не будем спорить про определения. Хотя лично мне удобнее относится к этому, как к сообщениям. Лучше бы описал, что конкретно ты считаешь мессажками, а что rpc. Без конкретики, только различия.
>> No.40807 Ответ
>>40806
Хм, а для чего тогда? Вообще какой сейчас стек разработки наиболее подходит для маленьких браузерных игр. По-прежнему флеш?
>> No.40811 Ответ
>>40807
Можно пример такой "маленькой браузерной игры"? Если это какой-то match 3, то наверное таки флеш. Если же это что-то более интересное, типа платформера, то, на мой взгляд, таки Unity3D.

Хотя, совсем не так давно у меня произошла такая история: одному моему знакомому сделали хорошее предложение на покупку его унылейшей игры (а-ля комбатсру, только с версткой под мобайл) сделанной на HTML5. Я попытался обратиться к этому же паблишеру со своим проектом и в ответ он начал парить что-то в духе: "Нет-нет, юнити, плагины, это все так страшно, нам нужен только HTML и Flash". Это, конечно же, меня расстроило.
Тем не менее, я понимаю, что паблишер "сам дурак". Даже до алавара дошло, что клепать свои поделия на юнити проще, чем на флеше. А рынок вакансий при этом полон предложений именно для "унити девелоперов", некоторые даже готовы сами обучать и при этом платить зарплату.
>> No.40813 Ответ
Файл: 1345751931_screen...
Jpeg, 27.68 KB, 480×360
edit Find source with google Find source with iqdb
1345751931_screenshot_1.png.jpeg
Файл: Магазинчик.jpg
Jpg, 91.70 KB, 604×453
edit Find source with google Find source with iqdb
Магазинчик.jpg
Файл: 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 Ответ
>>40811
Глупый вопрос: юнити - только для 3д игр? Или плоские тоже можно?
>> No.40815 Ответ
Файл: 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
Файл: Похуист.png
Png, 502.36 KB, 700×513
edit Find source with google Find source with iqdb
Похуист.png
Файл: план-на-лето-v2.jpg
Jpg, 723.82 KB, 640×2880
edit Find source with google Find source with iqdb
план-на-лето-v2.jpg

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

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

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

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

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

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

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

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

Ну и напоследок: совершенно очевидно, что IRL все это миксят, потому что где-то лучше послать один раз RPC, а где-то каждый третий кадр реплицировать структуру.
И вот тут то вскрывается страшная правда: ты не можешь убрать задержку в TCP и заставить его работать "ненадежно". Зато ты легко можешь досыпать абсолютно такой же "надежности" над UDP, именно в тех местах где тебе это нужно.
>> No.40821 Ответ
Файл: macro-templars.png
Png, 509.07 KB, 600×860
edit Find source with google Find source with iqdb
macro-templars.png
Файл: 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 Ответ
>>40821
> Обработчики этих событий меняют переменную velocity. Оная переменная уже реплицируется на сервер.
Ты все правильно понял и суть от этого не меняется. И да - наверное таки "inputAxesVector", а не "velocity", "velocity" уже сервер посчитает.
> Одно словоблудие короч.
Вот и поговорили.
>> No.40825 Ответ
Файл: Vo59d8GIw7w.jpg
Jpg, 22.43 KB, 350×605
edit Find source with google Find source with iqdb
Vo59d8GIw7w.jpg
Файл: 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 Ответ
Пилю редактор джля анимаций персонажей. Версия сильно упрощённая в сравнении с копией spine я его так и не допилил, но зато работает здесь и сейчас. Осталось только впилить туды загрузку картинок и их нарезки через json, да пофиксить очевидные баги. Нарезки делаются при помощи http://www.leshylabs.com/apps/sstool/

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

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

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

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

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

Хотя кто его знает... Один мой коллега джва года пилил никому не нужную библиотеку на руби. Пилил-пилил, да так бы и дальше бессмысленно пилил, пока не съездил на форум рубистов в СШП и там то внезапно оказалось, что он годную вещь все это время делал. Обратно не вернулся. Предатель.
>> No.41014 Ответ
Файл: omg.jpg
Jpg, 109.46 KB, 1280×720
edit Find source with google Find source with iqdb
omg.jpg
Файл: 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 Ответ
>>41009
Гравитация, направленная вверх, гравитирует вправо. А должна вниз.
>> No.41047 Ответ
>>41027
Меньше масса - больше масса! Как я люблю эти баги. Они такие милые.
>> No.41099 Ответ
Новая юнька выкатилась в продакшон, господа. Я даже рад, не считая того, что теперь нужно бы перекатать тырфейс с нуля.
>> No.41130 Ответ
>>41099
http://www.opennet.ru/opennews/art.shtml?num=41147
Котан, что думаешь про эту штуку?
>> No.41131 Ответ
>>41130
Лучше бы прикрутили js к Blender-у и открутили python ну или просто нормальный внешний api влепить. Вот бы шин вышел. У меня самого такая мысль проскакивала, пока школотой был. Правда один взгляд на исходники этого самого Blender-а меня отрезвили тогда. Уж очень он хитровыебанный. Без поллитры не разобрать. Няшный легаси код это вам не хуй собачий.

ОП
>> No.41134 Ответ
>> No.41141 Ответ
>>41134
Спасибо большое, заинтересовало, но что тут смешного? Вроде как хорошая софтина.
>> No.41143 Ответ
>>41141
Я бы проиграл с поддержки палмов, например. Разве остались ещё живые аппараты?
мимо
>> No.41145 Ответ
>>41130
Я? Ничего не думаю. Обрел просветление и теперь меня не интересует поиск инструментов покрытых более зеленой травой. Все таки делать игоры и учится отдельно взятым дисциплинам - вещи разные.
Вот думаю, хорошо было бы, запили кто нибудь тред по дизайну в /u/. Люблю дизайн, только никому он не нужен нахер в сферическом состоянии.
>> No.41146 Ответ
>>41143
У кого-то остались. Они, кстати, во много удобнее были айфонов/андроидов современных. Современные смартфоны делаются крутыми с "волшебством технологий" для чуваков в крутых костюмчиках и на крутых тачках. На эргономику, удобство и функциональность пох всем. Функциональность, наоборот, только и делают, что урезают своими маркетинговыми ходами. А чувак из палмовцев, говорят, месяц в кармане рубашки проносил деревяшку, чтобы оценить эргономику. А они теперь не хотят даже кверти-клаву нормальную добавить. Зато, охуеть просто, какой супер-тонкий телефон. Нахуя ему быть тонким? В кармане помещается и норм. Неужели и впрямь кому-то у уха телефон тяжело держать? Я могу держать у уха и не чувствовать веса всё, что только легче мешка с картошкой. И некоторые телефоны уже в два раза меньше чем собственно моя ладонь и удобными их это не делает никак.
>> No.41147 Ответ
>>41145
> И некоторые телефоны уже в два раза меньше чем собственно моя ладонь
Хуясе у тебя ладонь.
Вообще хотел бы я запилить себе очки с экранами, да перчатки-клавиатуру. Буду ходить аки киберпанк.
>> No.41148 Ответ
>>41147
Тыкай пожалуйста аккуратнее в кнопку ответа.
>> No.41358 Ответ
>>39943
Здравствуй, ОП. Пишет тебе анонимус из треда >>41322
Хотел спросить, почему именно golang? IMHO проще и быстрее было бы заюзать на сервере node.js (ведь минусы статической типизации отчасти можно компенсировать strict mode и комментами jsDoc), хотя, это конечно лишь MHO. Будешь ли юзать веб сокеты :3? Впрочем, полагаю с технологиями тебе уже весь моск съели (тред пока не прочитал, но подборка ссылок меня порадовала).
Странно, что раньше проходил мимо (хотя по-моему таки схоронил ссылку, но про неё благополучно забыл).
Удачи тебе.
>> No.41359 Ответ
>>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 Ответ
>>41359
*динамической типизации, я бака
Попробую забрать это счастье на досуге (который будет ближе , а может и дальше к НГ)
selffix
>> No.41361 Ответ
>>41360
В смысле из репы забрать. Я так понимаю, ты gulp использовал для всяких ништяков?
>> No.41468 Ответ
Наверное только у меня можно убивать скиллами дроп.
>> No.41469 Ответ
Файл: presents_small.jpg
Jpg, 40.24 KB, 600×400 - Нажмите на картинку для увеличения
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 Ответ
>>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 Ответ
Текущее демо по 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 Ответ
>>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 Ответ
Файл: 14194910628330.jpg
Jpg, 34.57 KB, 604×445 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
14194910628330.jpg
>>41584
> богомерзком TypeScript
Чому же он богомерзкий?
>> No.41604 Ответ
Файл: Goodnight_Punpun_v12_p123.png_res.jpg
Jpg, 284.39 KB, 1166×1600 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Goodnight_Punpun_v12_p123.png_res.jpg
>>41602
public/private, когда есть няшный scope. Классы, которых в js нет и быть не может. Мне не нравится короче. Впрочем это не было бы страшно, еслиб сама либа была норм. Иногда мне даже хочется поступать с авторами некоторого кода аки пикрелейтед ну ладно, конкретна эта либа не настолько плоха.
>> No.41619 Ответ
>> No.41635 Ответ
На самом деле идея прикрутить https://github.com/slembcke/Chipmunk2D не так плоха, если не считать потребности в ручном управлении памяти зато можно запилить няшный пул объектов, гораздо большем временем компейляции не без влияния глючного swig, нудного добавления всяких коэффициентов вроде трения или других магических констант и тщетными попытками заставить всё это дело правильно коллизиться со стенками. Зато по итогам можно будет пилить хоть платформер, хоть гоночки.

Если кому либо интересен Box2D, то могу посоветовать взглянуть на https://github.com/google/liquidfun Его демки прекрасны http://google.github.io/liquidfun/ Кому либо нужна диффузия частиц? Мне нет.
>> No.41656 Ответ
Ещё один занимательный баг. Когда персонаж умирает, его спрайт отделяется от физического тела.
>> No.41657 Ответ
Файл: fry-eyes-09-07-2009-14-16-59.jpg
Jpg, 26.23 KB, 640×480 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
fry-eyes-09-07-2009-14-16-59.jpg
>>41656
> Ещё один занимательный баг. Когда персонаж умирает, его спрайт отделяется от физического тела.
>> No.41667 Ответ
>>41656
ШАХ И МАТ, АТЕИСТЫ!
>> No.41668 Ответ
>>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 Ответ
>>41668
> я запилю это в виде плагина разумеется
Запилил https://github.com/lain-dono/vue-dnd
>> No.41709 Ответ
Файл: simple.png
Png, 10.73 KB, 702×702 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
simple.png
Ладно. Оно по крайней мере компейляется.
>> No.41711 Ответ
Файл: simple.png
Png, 47.03 KB, 1800×1800 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
simple.png
>>41709
Уже больше похоже на правду.
>> No.41768 Ответ
Файл: simple.png
Png, 111.94 KB, 1818×1818 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
simple.png
>>41674
К слову. За тредом активно следят по меньшей мере 5-7 доброчанек. По крайней мере столько было уникальных посетителей с доброчана на мою недолибу-костыль к vue. We're watching you... Scum.
>> No.41769 Ответ
>>41768
Ты бы лучше ее засунул в какой-нибудь список рассылки к vue, чем тут сидеть и кокетничать. Ванька Ерохин-то уже тридцать плугинов для жиквери накатал, заграницу его работать зовут, в Индию.
>> No.41784 Ответ
Файл: 2013-12-23_010605.jpg
Jpg, 99.24 KB, 974×801 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
2013-12-23_010605.jpg
>>41768
А теперь поясни что это.
Рандомная генерация уровня? К 3D это прикрутить можно?
>> No.41785 Ответ
>>41784
> Рандомная генерация уровня?
Да. Портирую с перловки на го http://donjon.bin.sh/code/dungeon/ Можешь потыкать в Random Dungeon Generator вроде http://donjon.bin.sh/adnd/dungeon/
Если надо, то могу запилить выхлоп в том формате, который тебе удобнее будет. Только ты опиши, что конкретно требуется.
> К 3D это прикрутить можно?
Смотря как подразумевать 3D. Если тебе требуется делать комнаты друг над другом, то надо будет пилить другие алгоритмы или переставлять вручную.
Но можно просто догенерировать высоту и прочее. Алгоритм выдаёт и сами комнаты кстати. Кроме того он генерит разные дверки и лестницы.
Я вот сейчас думаю, можно ли это дело приспособить под открытые пространства или по новой пилить придётся. Конечным результатом для меня будет полная генерация всех уровней джля моей игры. Вместе с неписями, квестами, монстрами и прочим. Тогда у меня большинство данных джля игры можно будет ужать до совсем неприлично малых объёмов. Cотня тайтлов 32x32 px + немного настроек + seed. Слава роботам!
>> No.41786 Ответ
>>41785
Вроде же на rougebasin было несколько разных алгоритмов (даже для лабиринтов).
Кстати, помнится как-то видел интересный алгоритм для генерации пещер сечением прямыми - IMHO, получалось довольно оригинально.
>> No.41787 Ответ
Файл: test2.png
Png, 387.46 KB, 1728×1056 - Нажмите на картинку для увеличения
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 Ответ
>>41787
Типа как дварф фортресс?
>> No.41789 Ответ
>>41788
Из этой серии, но с немного другими целями.
>> No.41790 Ответ
Файл: middle.png
Png, 1081.29 KB, 3600×1440 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
middle.png
>>41788
Алсо тут ещё в чём фишка? Оно у меня имеет вполне себе настоящую физику. Там персы не ходят по клеточкам более того, там можно впилить и гоночки с огнестрелом в том или ином виде. Кроме того там сеттинг совсем другой. Ну и это ммо в конце концов.

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

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

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

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

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

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

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

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

Хотя вот эта штука http://golang.org/doc/effective_go.html#web_server вполне себе работает на моём смартфоне.
>> No.41868 Ответ
Файл: 25.png
Png, 3142.72 KB, 1520×1651 - Нажмите на картинку для увеличения
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 Ответ
>>41868
Версия go и версия swig какие?
У меня go 1.4 и swig, свежесобранный из исходников. В такой конфигурации УМВР. Если старый swig, то ставь go 1.3. Сейчас посмотрю, можт это я чего накосячил.

Записываю:
Таки не применять имена пакетов, оканчивающиеся на .go
Заменить костыль swig на человеческий cgo
>> No.41871 Ответ
Файл: 051.png
Png, 2430.61 KB, 1104×1600 - Нажмите на картинку для увеличения
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 Ответ
>>41871
Ух. Мне кажется, что go из исходников собирать не нужно. Можно же просто скачать уже готовое и распаковать в /usr/local/. Но это вопрос удобства скорее.

Алсо поставь checkinstall и используй вместо make install. Оно тебе пакет сформирует. Удобно же.
>> No.41874 Ответ
>>41873
> checkinstall
Всё время забываю про эту штуку. А потом вилкой чищу систему.
>> No.41875 Ответ
>>41868
Погуглил. Думаю, что проще будет выпилить swig совсем. Оно вроде как конфликтует с cgo в старых версиях или типа того.
>> No.41876 Ответ
Поставил свежак.
$ 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 Ответ
>>41876
OH SHI~ совсем забыл про конфиг. Надо бы сделать переменную окружения длжля изменения местоположения конфига и пусть оно по умолчанию ищет оный в текущей директории. Надо вообще вырезать openshift в значениях по умолчанию. Эта папка ../data и есть зависимость от openshift. Могу даже сказать, чому она там нужна: приложению запрещена запись в свою директорию во имя безопасности.

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

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

>>41878
> Подожду пока.
Ну я тебе объяснил, что я буду изменять. То, что ты настроишь сейчас просто станет "по умолчанию". Либо можно будет обойтись без -conf, либо поставить переменную окружения.
>> No.41880 Ответ
Wait...
> > то же самое, но просто скопировать конфиг
Копировать config.yml в ../data/ ?
Я уже пробовал, но ошибка была та же.
Ладно, завтра ещё помучаю. Алсо, я прав, что клонирую dev ветку? Или последний релиз взять?
>> No.41881 Ответ
Файл: 1386201517.jpg
Jpg, 50.90 KB, 720×514
edit Find source with google Find source with iqdb
1386201517.jpg
Файл: 1385967529.jpg
Jpg, 25.62 KB, 348×263
edit Find source with google Find source with iqdb
1385967529.jpg
Файл: 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 Ответ
> ├── data
> │ ├── config.yml -> ../oniproject/config.yml
> │ └── development.bin
> └── oniproject
А, всё. Теперь понял.
>> No.41974 Ответ
>> No.42004 Ответ
Файл: simple.png
Png, 2201.16 KB, 1500×1500 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
simple.png
Догадайтесь с трёх раз, кокой это алгоритм. Это Simplex Noise.
>> No.42009 Ответ
>>42004
Это Simplex Noise? Я угадал?
>> No.42013 Ответ
>>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 Ответ
Почти ВИН -> https://github.com/rsc/c2go
Ещёб оно было нормально документированно так вообще сказка. Препроцессор правда глючный.
>> No.42060 Ответ
>>42004
Какие у этого шума преимущества перед перлином?

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

Впрочем на моей задаче это всё и не важно даже.
>> No.42312 Ответ
Бля, меня реально напрягает, что в спам-сообщениях меня, ленивого хуя с горы, аутиста и нищеброда, стартапом называют. А ведь я весь месяц анимцо смотрел вместо коддинга.
>> No.42314 Ответ
>>42312
Лол, а что предлагают? В чем наёб?
>> No.42315 Ответ
>>42314
Дают акк с бесплаткой в $50 долларов правда только если я зарегистрируюсь в течении недели на своём сервисе и купоны на скидки тамже. Там что-то вроде некой базы почтовой. Не разобрался. B2B, которое мне не нужно ибо между хиккой и бизнесом огромная пропасть же.
>> No.42807 Ответ
Файл: large.jpg
Jpg, 8.92 KB, 560×200 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
large.jpg
Я был неправ на счёт Unity3D. Хороший годный движок с хорошим годным редактором. Но для веба его придётся готовить. Тем более, что оно ещё только в полутестовом режиме.
>> No.42808 Ответ
>>42807
Чем для веба плох проверенный флеш?
>> No.42809 Ответ
>>42808
Так он же умер.
>> No.42810 Ответ
>>42809
Как ты это понял? Пахнет трупом? Ты сначала покажи технологию, которая лучше подходит для создания браузерок чем флеш, а потом говори, что он умер.
>> No.42811 Ответ
>>42810
> Ты сначала покажи технологию, которая лучше подходит для создания браузерок чем флеш, а потом говори, что он умер.
Нативный веб же. Давно всё есть, что нужно и ненужно.
>> No.42812 Ответ
>>42811
Как насчёт отправки данных не через TCP/IP без подтверждения получения присланных данных? А как у джаваскрипта/канваса и джаваскрипта/свг с производилкой?
>> No.42813 Ответ
>>42812
> Как насчёт отправки данных не через TCP/IP без подтверждения получения присланных данных?
А потом они городят TCP over UDP. Алсо без TCP/IP и на флеше не обойтись. Ибо это стек протоколов, а не конкретный протокол вроде TCP
В целом проблема с TCP немного устарела. Но об этом будут ещё лет двадцать в каждом втором туториале писать. Щито поделать.
> А как у джаваскрипта/канваса и джаваскрипта/свг с производилкой?
Нормально всё. А если через WebGL гугли pixi.js, то больше чем требуется.
>> No.42814 Ответ
>>42813
> В целом проблема с TCP немного устарела.
Почему она устарела? Вопрос, как сделать, чтобы можно было слать клиенту данные без подтверждений от клиента? Это задача, а не протокол. Нахрен мне, что "они городят", это к теме никак не относится.
>> No.42815 Ответ
>>42813
> Алсо без TCP/IP и на флеше не обойтись.
Вай, зачем обманываешь? RTMFP работает через UDP же.
>> No.42816 Ответ
>>42815
Алсо, если так хочется отказаться от протоколов RTMP и запилить свой инновационный велосипед, флеш умеет TCP-сокеты (класс Socket) и UDP-сокеты (класс DatagramSocket).
>> No.42820 Ответ
>>42811
>>42813
Блин, ну это вообще трындец полный. Меня это просто вымораживает. Пришёл. Обвалил нахуй все представления и знания сетей своим супер-веским
> В целом проблема с TCP немного устарела. Но об этом будут ещё лет двадцать в каждом втором туториале писать.
И ушёл. Аргументировать, чем флеш хуже веба, мы не хотим. В качестве аргумента против передачи пакетов данных без подтверждения - "проблема просто устарела, а учебники говно, вы их не читайте." Просто супер. Пуленепробиваемая позиция. Такой же точно стиль аргументирования как у фанатов функционального программирования.
>> No.42821 Ответ
>>42820
Да, но, теперь, когда я об этом вспомнил, флеш чёрта с два запустишь на мобильнике. было вроде много нарекламировано фреймворков и шайтан-компиляторов, которые могли генерить какой-то код под флеш, браузер и/или мобильник. Что-то из этого преуспело вообще? Или в любом случае, игру, запускаемую под браузер и под мобильник придётся писать дважды? Хотя что за игра это будет, чтобы в неё с ручного тач-экрана и настольника с мышью, клавой и монитором играть то. Об этом я думал меньше всего
>> No.42822 Ответ
>>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 Ответ
Бамп кривой демкой https://yadi.sk/d/taA8W6tghHgVy
>> No.46773 Ответ
Все умерли. Впрочем это /s/.
>> No.46774 Ответ
Файл: Skyrim+roulette_147c41_5323395.png
Png, 84.86 KB, 814×774 - Нажмите на картинку для увеличения
edit Find source with google Find source with iqdb
Skyrim+roulette_147c41_5323395.png
>> No.46811 Ответ
>>43021
> Blackman12exe.exe
> .exe
Ты серьёзно?
>> No.46862 Ответ
Ололо, пишу в свежем как говно мамонта тренде.
>> No.46893 Ответ
>>46862
> Ололо
Причём прямиком из 2009-го года.
>> No.47146 Ответ
Здравствуй. юный бородатый%% %%пограмист. Есть один сурс: https://github.com/swarmsim/swarm
Как в нём менять отображающийся текст, чтобы вмесвто ларвы были фунгусы, например%%, если я не знаю ничего кроме как немного хтмл+цсс и мизера из пхп и виндусовских, батных команд?
Да, я планктоно сапиенс.
>> No.47479 Ответ
>>47146
clone или download сырцов. Поиск и замена larva(e) на fungus(i).
>> No.47642 Ответ
Если я хочу попробовать написать мини-игру на функциональном языке с самой сильной и строгой системой типов без без возможностей императивного программирования, то какую платформу, язык и либы я могу взять? Как я могу судить, на хаскеле мало серьёзных либ.
>> No.47645 Ответ
>>47642
Если под мини-игрой не подразумевается какое-нибудь угадай число, а хотя бы платформер, то мишон импоссибру: слишком уж пруф оф концептное направление и один сплошной потому что можем дривен девелоп.

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

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

>>47647
Так и прочитал, даже не заметив.
>> No.47675 Ответ
>>47645
Интеропреабилити твое спасение.
Любой жабо-фреймворк + скала.
Любой точканет-фреймворк + F#
>> No.47676 Ответ
>>47675
Добавится функциональный слой, но случится проёб перечисленных пунктов (если они выполнялись). Так что, думаю, это громко называть спасением. Скорее, сомнительной перспективой с ожидаемым фейлом в качестве итога.
>> No.47682 Ответ
>>47675
Типы Скалы более традиционные и там работает обычный императивный стиль.
>> No.47708 Ответ
>>47642
А что хочешь запилить?
>> No.47764 Ответ
>>47642
> написать мини-игру
> на функциональном языке
Нашел проблему.
>> No.47765 Ответ
>>47708
Если надо знать, что ты пилишь, чтобы запилить, то нафиг такие технологии. 2Д, без особой графики. Других вопросов не может быть.
>>47764
Я не искал проблему. Это ты ищешь проблему в моей персоне. Погавкай в другом месте.
>> No.47767 Ответ
>>47765
Как успехи на ниве функционального игростроя?
>> No.47768 Ответ
>>47767
Я решил накатить на виртуалку линух, а потом на него сверху инструменты. Я установил вмварь, но ещё даже не запустил его...
>> No.47769 Ответ
>>47768
Полдела сделано!


Пароль:

[ /b/ /u/ /rf/ /dt/ /vg/ /r/ /cr/ /lor/ /mu/ /oe/ /s/ /w/ /hr/ ] [ /a/ /ma/ /sw/ /hau/ /azu/ ] [ /tv/ /cp/ /gf/ /bo/ /di/ /vn/ /ve/ /wh/ /fur/ /to/ /bg/ /wn/ /slow/ /mad/ ] [ /d/ /news/ ] [ Главная | Настройки | Закладки | Плеер ]