Результаты поиска
| |
maker-rus | Дата: Понедельник, 06 Февраля 2017, 16:32 | Сообщение # 81 | Тема: Новый MMORPG maker Intersect |
Гений
Сейчас нет на сайте
| Цитата MysticPurple ( ) Я правильно понял, что исходники конструктора еще пока не открыты? Правильно, они их откроют к релизу.
|
|
| |
maker-rus | Дата: Вторник, 06 Декабря 2016, 20:33 | Сообщение # 82 | Тема: [beta] Браузерная MMORPG FireOfSteel |
Гений
Сейчас нет на сайте
| Fireofsteel, начал игру и тут такое: Вот тебе первое задание, сходи к Милебу и получи его. Для этого сначала нажми на мигающую кнопку сверху. Зачем мне получать Милеба? :3
|
|
| |
maker-rus | Дата: Пятница, 07 Октября 2016, 23:26 | Сообщение # 83 | Тема: [2D] Fates [MMO] |
Гений
Сейчас нет на сайте
| Цитата k0fe ( ) Почему именно чат? Форум был бы намного лучше. Сделай форум + Цитата maker-rus () масса плюшек и наворотов 1. Профиль игрока сделай 2. Бросок кубика прямо в сообщении 2.1. Чтобы избежать ситуаций а ля Цитата Ordan ()<br / Игрок1: я тебя убиль, Игрок2: нет это я тебя убиль!) И т.д. Форум удобнее чата (ИМХО) Форум подразумевает ветки, темы и нет режима реального времени, но есть большое поле для текста, в котором можно много чего описать. Да, его (реал тайм) можно прикрутить и каким-то образом обыграть это. Но я имел ввиду не чистый чат, а гибрид (чат с форумом), где можно попытаться обыграть большое поле, как-то по другому. С кубиком интересная идея, мол у кого больше выпало тот и ударил. Профиль игрока обязательно будет, без этого никуда. Будет рейтинг игроков. Будет динамическая история (глобальные и значимые ситуации из игры, будут внесены в нее). Чат тут реализует общение,наблюдение за миром и действия игрока. То есть, по возможности, действия игрока будут вводится в поле ввода.
Цитата OpenGOO ( ) maker-rus, зачем тебе это вообще нужно, если много полноценных игр? Чем эта игра отличается? Активной мыслительной деятельностью, то есть не глупое тыканье по кнопочкам, а игра своей роли, игра за своего персонажа, в прямом смысле этого слова. Разговоры, действия именно для этого организованны в чат. А так же развития воображения.
Цитата OpenGOO ( ) Если о реализции подумать, то IRC лучше будет, там можно написать бота который будет управлять игровым процессом. Я откажусь от это реализации, за счет того, что нужно иметь стороннее программное обеспечение, а так же уметь его настроить. Что для новых пользователей будет пугающим. Поэтому будет собственная реализация, браузерная версия, аналогичная irc, только со своими плюшками и шоколадками, что будет требовать только современно браузера.Цитата JackNazaryan ( ) maker-rus, развивай идею, главное потом аудиторию найти. Большинство народу - либо тролли, либо олдфаги (могу ошибаться), наверняка тебя интересует второе. Удачи! Спасибо, конечно меня более интересует - второй вариант (олд фаги), но равноценно меня интересует и привлечение новых людей, не знавших о таком жанре игр, возможно которым он понравится, что бы популизировать данный жанр (вернуть его к жизни).
Добавлено (02 июня 2015, 23:44) --------------------------------------------- Up! Логотип (бета)
Игровая область
Добавлено (30 сентября 2016, 15:47) --------------------------------------------- Появилось у меня достаточно свободного времени, что бы приступить к разработке данной игры. Так вот, больше чем, за год, у меня сложилось примерное представление игры и как она должна выглядеть. Долго и нудно присматривался с движкам/фреймворкам/исходникам/другим играм, но выбрал для себя следующий стэк технологий: nginx + python + tornado + vue.js + sass + postgresql + redis. Что, зачем и почему? Со стороны сервера у нас будет трудится nginx + tornado, в своем проекте я собираюсь использовать сокеты, для реалтайма. На стороне клиента у нас будет html + sass(susy) + vue.js, почему susy и vue.js? Susy - достаточно мощный фреймворк для работы с сеткой, vue.js - современный, достаточно простой, удовлетворяет мои потребности. Почему я выбрал postgresql + redis, на стороне бд? Postgresql - хорошо справляется с большим объемом данных и достаточно быстро. Redis - нужна для хранения игровой сессии персонажа. Так же решил, что игра не будет являться чистым клоном mud игры, точнее, мой проект, будет лишь напоминать данный жанр игр, но порог вхождения для старта игры будет значительно снижен, в плане механики игра так же будет упрощена, но не в угоду гемплею. Идей достаточно много, постараюсь каждые 3-4 дня публиковать changelog в этой теме, о ходе развития проекта, а так же публиковать скриншоты/анимации демонстрирующие механику и геймплей игры. Если есть какие-то идеи или предложения, то я буду рад прочитать их здесь.
Добавлено (03 октября 2016, 21:16) --------------------------------------------- [changelog]
Код - Организован каркас проекта (выбрана иерархия, структура проекта) - Сделан небольшой компилятор на Gulp для Susy (sass) - Реализован простенький чат на сокетах (Tornado) - Добавлена поддержка Postgresql - Реализована первая команда для чата. - Добавлен прототип характеристик - Реализована запись / чтение сообщений из/в базу данных. - Вывод последних 15 сообщений от игроков, при заходе в игру. - Код приведен в порядок и структурирован, выбрана модель MVC. - Реализовал базовый прототип для игровой области. - Реализован базовый JSON-ответ от сервера. - Начал эксперименты с подборкой цветов и шрифтов для удобного чтения и восприятия информации.
Скриншотик прилогаю:
Всем спасибо за внимание.
Добавлено (07 октября 2016, 23:26) --------------------------------------------- Обновление: 07.01.16 [changelog]
Код - Отказ от Vue.js - Реализована простая авторизация (скриншот ниже) - Переписана модель игрока, реализовано хеширование пароля. - Добавлена защита от xsrf (csrf) атак. - Добавлена сессия игрока. - Изменена миграция для БД, добавление тестовых данных.
Под спойлером скриншот
Сообщение отредактировал maker-rus - Четверг, 10 Ноября 2016, 23:16 |
|
| |
maker-rus | Дата: Понедельник, 03 Октября 2016, 22:05 | Сообщение # 84 | Тема: Как сделать такой параметр, как "редкость" у предмета? |
Гений
Сейчас нет на сайте
| Цитата Lertmind ( ) Для меня так удобней, а генерировать числа от 0 до 99999 чтобы задать вероятность 0.125% считаю нелепым, хотя и возможным. Не знаю про какие проблемы ты намекаешь. Почти любой костыль, в php выходит боком в производительность, а так же размер потребляемой памяти, в идеале лучше использовать целые расчеты, чем использовать математику с дробными при каждом запросе, что приведет к несоизмеримому сжиранию производительности, погугли мат.тесты на php, в среднем при выполнении 100 мат.операций (косинус,синус,тангенс и тд, кроме rand()) (512 мб / 1 ядро), скорость отдачи страницы доходит до 3 секунд, что при многопользовательской игре с онлайном например, в 1000 игроков вырастет в 5-6 раз. Тут я понятно объяснил?
Цитата * Во-первых, редкость намекает, что вероятность для каждой категории одинаковая. В "4. Случайно выбираешь предмет с выбранной редкостью." я не указал, но предполагается, что будет применён фильтр или вычисления характеристик предмета, чтобы игрок 5-ого уровня не получил предмет для 40-ого. Нет. В хороших играх, коэффициент выпадания для каждой вещи уникален, но никак не обобщен. Подсказывать примеры я надеюсь не надо...
Цитата Во-вторых, как я написал, это один из вариантов и конечно он зависит от механики, так что нет смысла добавлять мысленно к моему алгоритму функционал, который сам же решаешь неэффективным методом, и жаловаться на это. Не говоря о том, что сам автор ещё не понимает как у него будет организована система предметов или не счёл важным нас посвятить в неё. Решаю не эффективным способом? Бред. В данном случае, я привел самое элементарное, что будет делать автор в данной ситуации. А по факту, при любом подходе, здесь не избежать дополнительных "пустых" запросов, потому что ваша архитектура заведомо провальная, для браузерки. Дергать эти данные из хэш-таблиц итд != делать доп. "пустые" запросы в рбд, которая и без того будет страдать.
Цитата Lertmind ( ) В-третьих, если ты разбираешься в высоконагруженных приложениях, то почему не предложил нормальный вариант? В логике твоего совета мы знаем какой предмет надо выкинуть, но не знаем частоту выпадения и обращаемся за ней в базу. Может ты предполагал, что будет выбор по всем предметам базы на основе их вероятностей, но твой код и слова на это не указывают. Нет, я предполагал, что выбор будет по вероятностям и редкости предмета и все это будет, в одном запросе. То есть получаем процент удачи получения редкой вещи, например от 1 до 10 включительно. Если удача больше 5, то получаем редкую шмотку, если больше 8, то 2 редкие шмотки, если 10, то целых три шмотки. Дальше получаем коэффициент выпадения. Определяем список вещей, которые можно получить персонажу и только потом отправляем запрос в базу, который будет содержать следующее: нам нужны перечисленные шмотки + в зависимости от удачи еще несколько, редких, у которых коэффициент +-1 = нашему, естественно все это ищется по индексам, далее, другим запросом все наши вещички отправляем в базу. В итоге база обходится легким испугом. А мы сильно не захламляем ее бесполезными запросами и бесполезно не лочим строки.
Сообщение отредактировал maker-rus - Понедельник, 03 Октября 2016, 22:06 |
|
| |
maker-rus | Дата: Четверг, 29 Сентября 2016, 12:22 | Сообщение # 85 | Тема: Как сделать такой параметр, как "редкость" у предмета? |
Гений
Сейчас нет на сайте
| Цитата Lertmind ( ) Твой код равносилен: Нет, не равносилен, логика абсолютно разная. И нужда, как раз была обусловлена необходимостью из за логики вычеслений.
Цитата Lertmind ( ) Замечу, что лучше хранить во float от 0 до 1, тогда можно легко задавать, допустим, 0.125%: Код if (random() < 0.00125) { "ok" } По какой-то нелепости в php нет случайного числа для промежутка [0, 1) Замечайте после того, как вникните в особенности языка. А не сначала напишу, а потом пойму что зря написал, костыли нужны только там, где они выражены необходимостью, в данном случае можно и с целыми числами работать и не прибигать к тому, что потом вылезит боком.
Цитата Lertmind ( ) Для каждой редкости свои вероятности, значит выбираешь редкость предмета с помощью алгоритма выбора предметов с разными вероятностями. А если он захочет на конкретный предмет выставить определнный процент выпадания? Делать еще одно поле, городить запросы в базу, в пустую, что в совокупности, без понимания построения рбд для высоконагруженных систем, приведет к беде и отдаче ответа пользователю через 30-40 секунд. Все ваши примеры - для стендалона, но никак не для браузерки.
|
|
| |
maker-rus | Дата: Среда, 28 Сентября 2016, 23:00 | Сообщение # 86 | Тема: Как сделать такой параметр, как "редкость" у предмета? |
Гений
Сейчас нет на сайте
| Цитата DeadDay ( ) Но да, это должно быть на php. При чем количество еденицы вероятности будет браться из БД. Так в чем проблема-то? Добавь поле с названием, например "rare" в таблицу предметов, в это поле записывает процент, например от 1 до 100 (это будут проценты). А дальше все просто, достаешь значение из этого поля и считаешь, следующим образом:
Код $db_rareItem = 15; #Допустим это значение мы взяли из поля "rare" в таблице предметов $chance = rand(1, 100) + $db_rareItem; if ($chance >= 100){ echo "Предмет получен!"; }
|
|
| |
maker-rus | Дата: Суббота, 24 Сентября 2016, 13:57 | Сообщение # 87 | Тема: Авторизация, подобно Clash of Clans? Как она работает? |
Гений
Сейчас нет на сайте
| robertono, генерируешь уникальный индентификатор сессии, присваиваешь его игроку, записываешь в базу и работаешь с ним так же, как и с парой логин/пароль. Я думал, это очевидно, не понимаю, какие сложности тут могут возникнуть
Сообщение отредактировал maker-rus - Суббота, 24 Сентября 2016, 13:58 |
|
| |
maker-rus | Дата: Пятница, 23 Сентября 2016, 18:41 | Сообщение # 88 | Тема: Продаю новую игру для социальных сетей FB, ОК, ВК |
Гений
Сейчас нет на сайте
| На всякий случай предупрежу пользователей, по ссылке, которую предоставил ТС лучше не переходить, потому что Касперский ругается на эту страницу и блокирует опасный элемент.
|
|
| |
maker-rus | Дата: Среда, 10 Февраля 2016, 23:34 | Сообщение # 89 | Тема: Помощь с обновлением. |
Гений
Сейчас нет на сайте
| Цитата Step ( ) и даже удалял remove() и сразу создавал обратно append, на моё удивление даже такие костыльные методы не сработали. Прошу подскажите как исправить данную проблему. То, что вы делаете - визуальное изменение, из за того, что вы обновили DOM дерево, ничего не измениться. Нужно обновлять значения, загляните в JQUERY API, там написано как этой функцией пользоваться правильно. В общих чертах, что вам надо сделать: 1. Получить данные из callback. 2. Сохранить их в переменную, например в переменную A. 3. Вывести её (переменную А) в ваш блок. 4. Остановить счетчик. 5. Остановить функцию обновления блока. 6. Пользователь нажимает на кнопку. 7. Обнуляем переменную A. И повторяем все с пункта 1. ^_^
Сообщение отредактировал maker-rus - Среда, 10 Февраля 2016, 23:34 |
|
| |
maker-rus | Дата: Четверг, 12 Ноября 2015, 14:51 | Сообщение # 90 | Тема: Ищу программиста |
Гений
Сейчас нет на сайте
| Цитата XyRmaT ( ) Требуется программист для написания браузерной игры с нуля! Языки программирования HTML CSS PHP JS MySQL Python or Ruby Если владеете достаточно хорошо одним из языков, пишите вк vk.com/xyrmat P.S. оплата естесственно) Написал, хочет покемонов, назвался администратором одной изподобных игр, предлагает от 500 до 1000 рублей за день, в зависимости от сложности кода, которую он определяет сам по своим методам, попросил его предоставить скрин с сумой на оплату, хотя бы за день, слился. Скорее всего кидала.
|
|
| |
maker-rus | Дата: Четверг, 12 Ноября 2015, 14:39 | Сообщение # 91 | Тема: Помогите пожалуйста исправить скрипт |
Гений
Сейчас нет на сайте
| Цитата Alfe ( ) Может так надо (Screen.widht/2)); ?
Все же потом другая var идет.
Цитата Vladislav77Z ( ) // Need to put .x if (touch.position.x > (Screen.width/2)) Там комментарий, который действует на всю строку. И да, автор не полный код запостил, поэтому и помочь ему нечем, потому что ошибка в другой части кода.
|
|
| |
maker-rus | Дата: Четверг, 12 Ноября 2015, 14:27 | Сообщение # 92 | Тема: Общение через микрофон |
Гений
Сейчас нет на сайте
| Цитата YellowAfterlife ( ) Запись идет не на диск, а в буфер (от того одним из параметров события и является buffer_id). А знаешь, что можно делать с буфером? Верно, передавать по сети (или копировать частями в другие буферы). Даже, если бы шла запись на диск, никто бы не мешал выходящий файл постепенно считывать и пересылать. Все верно, просто, не верно понял смысл предложения, быстро читая упустил из виду выделенную жирным часть предложения.
Цитата After that you can do what you want with the custom buffer - you could play it using the dedicated buffer audio functions, you could process it and send it over the network, you could save it to disk... ^_^
Сообщение отредактировал maker-rus - Четверг, 12 Ноября 2015, 14:30 |
|
| |
maker-rus | Дата: Четверг, 12 Ноября 2015, 14:16 | Сообщение # 93 | Тема: Общение через микрофон |
Гений
Сейчас нет на сайте
| Цитата YellowAfterlife ( ) Не совсем точное утверждение - в GameMaker: Studio были добавлены функции и события для записи звука. Конечно, это всё равно подразумевает кучу работы для стабилизации качества передаваемого звука в случае нестабильной работы сети, но всё же. На сколько я понимаю запись звука на диск(если верить документации) и реализация канала для передачи аудио-сигнала всем игрокам - разные вещи. На сколько я понял из документации, там написано про потоковую ЗАПИСЬ звука на локальный диск, но не слова о ее передаче через канал связи. Поэтому свое утверждение считаю более чем точным. Если я где-то не прав, поправьте.
|
|
| |
maker-rus | Дата: Четверг, 12 Ноября 2015, 13:53 | Сообщение # 94 | Тема: Общение через микрофон |
Гений
Сейчас нет на сайте
| Цитата Savok32 ( ) Добрый день, подскажите можно ли реализовать в игре общение, между игроками, по микрофону? Стандартными средствами - нет. Только написав свою библиотеку (расширение) или найти готовую.
|
|
| |
maker-rus | Дата: Пятница, 06 Ноября 2015, 23:50 | Сообщение # 95 | Тема: NetWars Engine SDK 0.44b |
Гений
Сейчас нет на сайте
| Посмотрел я код его "NetWars.h", на сколько я понял, там переопределенные методы стандартного DX API + эта гадость лезет в реестр!!! ;)
ps. 70% его примеров даже не работоспособны. Запускал из папки Bin. Win8. Тупо висит в фоне процесс и жестко нагружает жесткий диск.
Сообщение отредактировал maker-rus - Суббота, 07 Ноября 2015, 00:03 |
|
| |
maker-rus | Дата: Воскресенье, 25 Октября 2015, 00:45 | Сообщение # 96 | Тема: Сокет-сервер для realtime-игры |
Гений
Сейчас нет на сайте
| Цитата KamiRonin ( ) задержки какие? передачи пакетов или движения перса в игре управляемого по сети другим игроком? Я так понял он имеет ввиду, высокий ping :)
Цитата KamiRonin ( ) как часто отправлять данные и в каком формате? 1. На каждое действие, которое имеет ты хочешь сохранить или отобразить на другом клиенте. 2. Ключ - значение (шифрованное).
|
|
| |
maker-rus | Дата: Суббота, 10 Октября 2015, 22:19 | Сообщение # 97 | Тема: Вопрос решен. |
Гений
Сейчас нет на сайте
| Цитата Spyker ( ) Здравствуйте, форумчане. Мне нужна ваша помощь. Что необходимо для создания подобной игры (http://cars.play.tegos.ru/)? Я имею ввиду такие пункты (помимо головы и прямых рук) : 1. Какой движок лучше всего подходит? (языки готов выучить, но желательно лучше без них) 2. Движки для офф-лайн игр не подходят, т.к. игра должна лежать именно на сервере.
1. Готовых движков - нет! 2. Языки? PHP + JS (если для пк или современных телефонов/смартфонов) + HTML5 + CSS/LESS/SASS + SQL. Это все надо выучить, что бы у тебя получилось хоть что-то, что можно показать людям.
Цитата Spyker ( ) По этим языкам есть вопросы: 1. Какой проще всего изучать? 2. Какой из них безопаснее всего? (в плане хранения данных пользователя. Про протокол HTTPS слышал, но он дорогущий)
1. Изучать надо весь список! 2. Безопасность твоей игры будет зависеть только от тебя, а не от языков скриптования.
Цитата Spyker ( ) Хотел сделать авторизацию через ВКонтакте. В этом случае, я понимаю, регистрироватся пользователям не требуется, а следовательно и хранить входные данные на сервере не нужно будет. Нужно, просто от вк ты получишь часть данных, по которым ты сможешь определять игрока, все данные будут хранится в твоей базе.
Цитата Spyker ( ) По-поводу невозможности копирования кола сайта: тоже хотелось бы сделать хоть мизерную защиту. Отчасти и потому, что в игре будут полезны и скрипты и боты, которые смогут тыкать на кнопки вместо игроков. От автокликеров нет защиты из браузера. Цитата Spyker ( ) А теперь, вопрос на засыпку: какой движок оптимален для таких задач? Смотрел Phaser, Uranium и понял, что без знания их языка не обойтись. Я многого хочу, но нет ли движка, на подобии Game Maker, дабы не химичить самому со всеми этими операторами? Только опять же, с возможностью загрузки на сервер. Движка подходящего под твои требования - нет, есть исходные коды других игр, можешь воспользоваться.
|
|
| |
maker-rus | Дата: Пятница, 31 Июля 2015, 00:51 | Сообщение # 98 | Тема: Устаревший MySQL |
Гений
Сейчас нет на сайте
| Цитата Kobe24 ( ) Столкнулся с такой проблемой при создании игры. Сегодня PHP выше версии 5.6 уже не использует такую функцию как mysql_connect. Он то её использует, но при каждом использовании он выдаёт уведомление о том, что ваш mysql устарел и вам желательно использовать Mysqli. Но проблема в том, что сменить mysql на mysqli на хостинге я не могу, на Денвере то еще можно. Как можно разрешить такую проблему? Не говоря уже о банальной регистрации, будет выскакивать уведомление, а что говорить о дальнейшей игре, там ведь кругом связь с БД.
Заранее спасибо) Вариант 1 - Не использовать PHP 5.6 Вариант 2 - Отключить все уведомления о устаревших функциях Вариант 3 - Использовать хостинг поддерживающий новые версии MySQL (он же MySQLi)
|
|
| |
maker-rus | Дата: Пятница, 03 Июля 2015, 20:35 | Сообщение # 99 | Тема: Скрип инвлид |
Гений
Сейчас нет на сайте
| Цитата Rassta888 ( ) мобильный вид у меня в игре. надо как видно на картинке, одну фигуру с разрешением х,у (Ios) и рандомные удары. все слепить в одно целое То есть тебе нужен уже готовый вариант, или подсказки, если готовый вариант, то тебе только на фриланс, если подсказать, то: 1. в php есть функция rand(минимальное число, максимальное), с помощью которое ты сможешь симулировать бой. То есть каждая цифра - id удара, вот и все. Бои лучше в базу не записывать, слишком емко, хотя тут как знаешь. 2. Выводить картинки с помощью html. Где ссылка на изображение вытаскивается из базы. 3. Комната - отдельный скрипт, в котором все данные вытаскиваются из базы данных!
|
|
| |
maker-rus | Дата: Воскресенье, 31 Мая 2015, 00:12 | Сообщение # 100 | Тема: API для "двухстраничного" интерфейса |
Гений
Сейчас нет на сайте
| Цитата Gudleifr ( ) Как окно CUA не знает, что будет в нем нарисовано программой. Хорошо, мне стало понятно, что вы хотите изобрести собственный велосипед (операционную систему со своими плюшками и кабаками). В которой хотите реализовать оконный интерфейс, в виде двух страниц. Цитата Gudleifr ( ) Дык, мы на момент создания "панелек" знаем только, разрешение экрана, что панелек будет две (и, возможно, они будут снабжены парой кнопок "перелистывания"). Что на них будет нарисовано, мы не знаем, это выясниться только при загрузке на панельку содержимого выбранной страницы. В процентном соотношении к экрану рисовать панельки, на которые выводить все доступные кнопки, меняя наборы, с помощью тех самых кнопок "перелистывания". Само окно будет тех размеров, которые задаст программист в программе (будет фиксированным), либо на весь экран. Цитата Gudleifr ( ) Т.е. страница "слушает" только саму себя. Более того, прослушать соседнюю физически невозможно, т.к. событие случившееся "там" полностью уничтожает информационный объект "здесь". Сама страница никого "не слушает". Подразумевается, что в программу встраивается обязательный глобальный объект (как функция main()), который получает состояния всех объектов в окне или конкретно только страниц. Либо реализация на уровне самой ОС, что есть объекты за которыми надо следить в программе, это две страницы, имеющие id, в зависимости от информации на них. И на уровне ОС реализовать базу ID этих самых страниц, то есть строго определенные значения (ID 442 - это вывод ошибки, ID777 - успешное выполнение задачи, 666 - Баг который нужно отправить в службу поддержки 123 - передача информации с одной страницы, на другую и т.д). Получать значения, работать с ними. Каждому окну присваивать так же свой ID, что бы все окна были изолированы друг от друга.
Сообщение отредактировал maker-rus - Воскресенье, 31 Мая 2015, 00:15 |
|
| |
|