Пятница, 23 Апреля 2021, 12:39

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 3 из 9
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 8
  • 9
  • »
Форум игроделов » Записи участника » Abel399 [163]
Результаты поиска
Abel399Дата: Воскресенье, 29 Апреля 2018, 19:04 | Сообщение # 41 | Тема: не работает спавн врага
Surpass your limits. Right now.
Сейчас нет на сайте
1) Используйте bb-код для оформления исходных текстов, читать невозможно.
2) Что это за дичь?
Код

// Не создавать новых врагов, пока не уничтожены старые
if (currentNumberOfEnemies <= 0) // <-- начиная отсюда
waveNumber++;
waveText.text = "WAVES: " + waveNumber;
{ // точно не перепутали?

3)

4) Уверены, что хотите использовать while (true) {} ? Хорошенько подумайте, ведь это можно сделать иначе. Подсказка: события, корроутины.


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Воскресенье, 29 Апреля 2018, 19:06
Abel399Дата: Воскресенье, 29 Апреля 2018, 14:21 | Сообщение # 42 | Тема: [2D] Взрыв на миллион (рабочее название)
Surpass your limits. Right now.
Сейчас нет на сайте
Естественно, вам первым делом следует реализовать базовую механику и связанный с ней контент, а наполнение идет уже после.

Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Суббота, 28 Апреля 2018, 22:13 | Сообщение # 43 | Тема: Предложения по улучшению
Surpass your limits. Right now.
Сейчас нет на сайте
TLT, хорошо, ваше право :)



P.S> К сабжу вернусь позднее, с ответом на "для чего..." c:

Добавлено (28 Апреля 2018, 22:13)
---------------------------------------------
P.S.S> Кстати, про веб 2.0. Здесь тоже сумбур, т.к. имелось ввиду далеко не данное понятие )
Молодежь обычно так называется все то, что приходит на замену старому. Ну, это так, к слову ) Поэтому как раз-таки полного соответствия современным тенденциям у GcUp нет :> (никого не хочу задеть или обидеть)


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Суббота, 28 Апреля 2018, 22:13
Abel399Дата: Суббота, 28 Апреля 2018, 22:03 | Сообщение # 44 | Тема: Подскажите недорогой сервис по выделенному серверу
Surpass your limits. Right now.
Сейчас нет на сайте
Эргалон, да, ты ведь получаешь полный доступ к терминалу системы по ssh. Иногда можно просить (чаще за доп. плату) уже настроенное окружение со всем необходимым, но сейчас существует docker (можешь про него почитать, используется повсеместно), который эту проблему решает очень лаконично.

Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Суббота, 28 Апреля 2018, 21:28 | Сообщение # 45 | Тема: Подскажите недорогой сервис по выделенному серверу
Surpass your limits. Right now.
Сейчас нет на сайте
Копипаста отседова (прошу не кидать тапки):
FirstVDS(Россия, самый нищебродский стартерпак :D, 90 деревянных), Scaleway (Франция и Нидерланды, много мощнее, это уже солидная штучка 2.99EU), DigitalOcean (Европа, США, Южная Азия, мощная штучка, но уже ближе к продакшену, $5.00)


Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Суббота, 28 Апреля 2018, 19:33 | Сообщение # 46 | Тема: Предложения по улучшению
Surpass your limits. Right now.
Сейчас нет на сайте
Vostrugin, ок, смотрите.
Я не могу утверждать, как оплачивается нынешний хостинг, и гадать тем более, но могу заверить так - до недавнего времени была крутая штука Google Cloud. Почему была? Потому что сейчас РКН балуется и в свете последних событий это не самое надежное решение. Amazon - аналогично.
За другие свободные решения я не шарю (имеется ввиду что-то с возможностью деплоя серверной части), кто-то может подсказать.
Есть адекватные платные альтернативы (VPS / VDS), для разработки и первого прототипа они сойдут (а дальше уже будет оценена актуальность и предприняты дальнейшие решения).
НЕ РЕКЛАМА, личный опыт: FirstVDS(Россия, самый нищебродский стартерпак :D, 90 деревянных), Scaleway (Франция и Нидерланды, много мощнее, это уже солидная штучка 2.99EU), DigitalOcean (Европа, США, Южная Азия, мощная штучка, но уже ближе к продакшену, $5.00).
Я перечислил только те, что активно использовались в моей деятельности, естественно стоит провести поиск и найти мб более подходящие варианты.

Если вас интересует стоимость работы - это зависит от администрации ресурса, но имхо, когда мы говорим про OpenSource, то обычно всем контрибьюторам не заплатишь :'D
Тут я некомпетентный собеседник, т.ч. оставляю это дело за администрацией )

P.S> Кстати, не ответил, кто заплатит за VPS:
1) администрация, если ей интересна идея;
2) первые контрибьюторы, если они хотят вдохнуть новую жизнь в сей ресурс;
3) недобродушные форумчане, которые хотят перемен;
4) спонсоры, если такие найдутся (этот пункт для галочки).


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Суббота, 28 Апреля 2018, 19:39
Abel399Дата: Суббота, 28 Апреля 2018, 18:38 | Сообщение # 47 | Тема: Предложения по улучшению
Surpass your limits. Right now.
Сейчас нет на сайте
Vostrugin, если не приходит - я иду к вам на помощь! :D
Берете вы такие фрейморк (а их сейчас пруд пруди). Самые популярные и стабильные - Laravel, Yii, Symfony, CodeIgniter (НЕ РЕКЛАМА)
А потом бам-бам-бам, тройка команд, и вы уже подняли полноценное современное веб-приложение со встроенным Bootstrap и прочими ништяками, которое еще вдобавок имеет готовую архитектуру, вам остается лишь ее придерживаться и дополнять функционал.
Форум? Первый запрос в гугле (Laravel).
Да, как уже написали выше про Веб 2.0, он пришел давно и от него никуда не деться, мир идет вперед, а веб делает это в 2 раза быстрее (для фана можно последить за обновлением стандарта HTML5 или репозиторием nvm (хотя и это уже не модно :'DDD) ).
Здесь нет слов про "неюзабельность/неработоспособность/"нинужоность". Действительно, мир таков, что то, что хорошо работает - пускай работает, но мы-то с вами все стало быть энтузиасты-первопроходцы?) (я на это искренне надеюсь)
+ мы с вами адекватные люди и понимаем, что "переход на новый движок, технологию, архитектуру, дизайн" это не дело коммита в мастер )
Естественно предлагается сделать новый бренч аля GcUp-v2.0-New-Age-MLG-NewWaveProgramming-DefineInclude-newPromise-Blockchain-ICO-VPN-RussianCommunity-Putin :>

Сумбурно, но, надеюсь, я смог изложить и донести до вас мысли "молодежи" :)

P.S> Чет форум вырезал фразу, но тут крч был текст про использование Git/SVN и Hooks deployment (что является здоровым современным методом ведения разработки не только в вебе, но и остальных сферах)


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Суббота, 28 Апреля 2018, 18:48
Abel399Дата: Суббота, 28 Апреля 2018, 10:21 | Сообщение # 48 | Тема: Ищу 3D движок для адвенчуры/РПГ
Surpass your limits. Right now.
Сейчас нет на сайте
drcrack, хорошая аналогия, но 1) в рамках возможностей он конкурентоспособен, 2) в рамках инструментария нет.
Если на нем нет на виду хороших проектов, то это еще не значит, что инструмент плохой, скорее инди-студии студии выбирают быстрый путь (старшие братья), а средне-крупные компании используют собственные решения (с нуля/на основе лицензированного CryEngine и т.д. (лишь пример) ).
Но стоит заметить, что вы не узнаете ничего о реальной архитектуре движка, используя закрытые проекты. В этом главное преимущество open-source в рамках обучения.
tohaad, Сообщество в ВК
Переводы уроков
Официальные коммьюнити с сайта движка
GitHub для программиста всегда составляет альтернативную документацию (но на оф. сайте всегда можно найти актуальную документацию)


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Суббота, 28 Апреля 2018, 10:21
Abel399Дата: Пятница, 27 Апреля 2018, 19:27 | Сообщение # 49 | Тема: Ищу 3D движок для адвенчуры/РПГ
Surpass your limits. Right now.
Сейчас нет на сайте
Прежде всего вам нужно определиться с целью данного проекта.
Если это учебный проект для портфолио, то вопрос - была ли у вас компьютерная графика на вашем направлении?
Если нет, то самым правильным (с точки зрения обучения) будет вариант работы с OpenGL / DirectX / Vulkan напрямую (на том же C++).
Написав свой первый рендерер, поняв архитектуру типичного движка вам уже будет безразличен инструмент, большую массу на чаше весов уже будет занимать удобство использования, готовые фичи, либо предпочтения компании, в которой вы работаете. Главное, что это убережет вас в будущем от элементарных вопросов (это как начать решать дифуры не освоив матан -> очень плачевно).

Если же для вас важны результативность и скорость прямо сейчас -> вам напрямую дорога к Unity, UE, CryEngine.
Очень интересные OpenSource решения: Cell Engine, Godot, DGLE.
Последний - очень интересный и мощный инструмент от нашего соотечественника. К сожалению, его дальнейшее обновление и развитие под вопросом. Другой момент, что, при должных навыках программиста, вы без проблем его допилите под свои нужды.
Godot - прекрасное решение отлично конкурирующее с братьями-старшими, имеет большое и активное коммьюнити, в том числе и русское.
Cell - сырой, но прогрессирующий. Использовал для создания презентации (+ как упоминает сам автор, хорошо подходит для изучения архитектуры рендер-движка)

P.S> Из описанного вами вообще не рекомендую выбирать, это либо legacy, либо просто весьма экзотический продукт + как уже упомянули - Ogre3D это чисто рендерер.
P.S.S> Если вы еще не работали с сетью и имели ввиду MMORPG (если уж посмотрели на Realm Crafter), то настоятельно не рекомендую сразу начинать этим заниматься (сетью). Сперва стоит поработать с сокетами напрямую, изучить механизм работы с сетью, потом попробовать, например, ENet, почитать о RakNet.
Но опять же, если вы все-таки пойдете по легкому пути, то в вышеупомянутых Unity, Godot и т.д. работа с сетью уже налажена, нужно будет только изучить док-цию (но опять же аналогия с матаном и дифурами - я не советую такой путь)
P.S.S.S> А еще, т.к. вы упомянули про спортивное программирование (== вы пишете нечитабельный в продакшене код), то советую углубиться в изучение паттернов проектирования и взять или написать свой на основе другого стайлгайд.


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Пятница, 27 Апреля 2018, 20:17
Abel399Дата: Пятница, 27 Апреля 2018, 19:01 | Сообщение # 50 | Тема: Предложения по улучшению
Surpass your limits. Right now.
Сейчас нет на сайте
Вот такие вопросы к порталу. Быстрым поиском по теме (первые две и последние две страницы по слову ucoz) подробностей не выяснил.
Почему до сих пор используется uCoz? Разве есть еще какие-то преимущества перед остальными технологиями?
Проект уже задумывался о переходе на адекватный веб и мб новые фреймворки?
Я не думаю, что перенос дизайна сайта составит проблему.
Проблема будет с форумом и БД, но и она вполне себе может быть спокойна выгружена и изучена (старый линк, я хз)
Операция итак очевидно как выполняется, но вот есть несколько первых выдач из гугла: клац-1 и клац-2.
Или я слоупок и сайт уже давно ушел с юкоза на свои VDS и бла-бла-бла?


Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Пятница, 27 Апреля 2018, 11:45 | Сообщение # 51 | Тема: Противник при получении урона
Surpass your limits. Right now.
Сейчас нет на сайте
AlexanderBekker, с оговоркой, что power = dist_per_second / room_speed; (ускорение опустим)

Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Четверг, 26 Апреля 2018, 19:13 | Сообщение # 52 | Тема: Противник при получении урона
Surpass your limits. Right now.
Сейчас нет на сайте
Ну, собственно говоря, от этого ничего не меняется кроме отсутствия gravity. Это позволяет использовать еще один способ:
Код
// Необходимо задать friction, либо ручками прописать в step
direction = other.direction; // либо же 90, если seu вертикальный онли
direction = (direction + 180) mod 360; // не лучший вариант, но все же
direction = point_direction(collision_x, collision_y, x, y); // Иногда может понадобиться такой вариант, 1 и 2 аргументы зависят от подхода к столкновениям
speed = POWER; // Некоторая константа или функция
// Кстати, если вертикальный seu, то можно сделать еще проще:
hspeed = 0;
vspeed = -POWER;

Примерный код для Step (не эталон):
Код
var movement_x, movement_y; // исходные значения направления и скорости движения, к которым стремится obj_enemy
if ( abs(movement_y - vspeed) > EPS ) { // Не делаем лишних вычислений, EPS - константа, например, 1e-10
  vspeed += (movement_y - vspeed) * DELAY / room_speed; // DELAY - время в секундах на восстановление, можно поэкспериментировать с поведением анимации, т.к. сейчас используется "ease-out" метод
} else {
  vspeed = movement_y;
}
if ( abs(movement_x - hspeed) > EPS ) { // Не делаем лишних вычислений
  hspeed += (movement_x - hspeed) * DELAY / room_speed;
} else {
  hspeed = movement_x;
}


P.S> Кстати, не помню, но если hspeed и vspeed автоматически не вычисляются по известным speed и direction, то юзайте:
Код
hspeed = lengthdir_x(speed, direction);
vspeed = lengthdir_y(speed, direction);
// либо так
direction = point_direction(0, 0, hspeed, vspeed); // либо arctan2(vspeed, hspeed)
speed = point_distance(0, 0, hspeed, vspeed); // либо sqrt( sqr(hspeed) + sqr(vspeed) )


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Четверг, 26 Апреля 2018, 19:32
Abel399Дата: Среда, 25 Апреля 2018, 20:07 | Сообщение # 53 | Тема: Противник при получении урона
Surpass your limits. Right now.
Сейчас нет на сайте
gemcd, с GcUp все настолько плохо, что здесь нет людей способных ответить на банальщину?... (а вообще не лучший способ продвижения сайта)
Xmaster,
obj_enemy, столкновение с пулей (объект):
Код
// Первый вариант, предполагается, что для obj_enemy заданы gravity и friction, либо имеется их ручной аналог в Step
vspeed = -FACTOR; // FACTOR - некоторое значение, "высота подлета", может быть константой, либо же инлайн-функцией, если необходимо
hspeed = sign(other.hspeed) * other.speed / DIVIDER; // DIVIDER - делим на коэффициент, т.к. скорость пули как правило много выше необходимой для "импульса", либо же sign(other.hspeed) * CONST, если дальность не зависит от скорости пули
// Второй вариант, использование встроенной физики: [url=https://docs.yoyogames.com/source/dadiospice/002_reference/physics/forces/physics_apply_impulse.html]physics_apply_impulse[/url]
physics_apply_impulse(x, y, other.x * FACTOR, other.y * FACTOR); // FACTOR - константа, функция или other.speed / DIVIDER
// Третий вариант предполагает использование собственной реализации физики (изменение x и y, а также постепенное затухание вектора импульса)
// Крайне не рекомендуется
impulse_x = sign(other.hspeed) * other.speed / DIVIDER;
impulse_y = -FACTOR;
// В степ должны быть операции по изменению x += impulse_x и y += impulse_y, и логика работы с вектором импульса

Это если у вас пуля - объект. В реальности так не делают, вернее говоря - огнестрельные снаряды с высокой скоростью не являются объектами.
Почему? Накладные расходы, эффект "проскакивания" и т.п.
obj_shootable, Keypress, step, whatever u want:
Код
var shoot_x, shoot_y;
shoot_x = ...;
shoot_y = ...;
with (obj_enemy)
{
  if ( collision_line(other.x, other.y, shoot_x, shoot_y, id, false, false) != noone
    && collision_line(other.x, other.y, x, y, obj_obstacle, false, false) == noone ) // для полного счастья вместо x и y должна быть точка пересечения прямой и маски объекта
  {
    physics_apply_impulse(x, y, shoot_x, shoot_y); // или любой другой метод
  }
}


P.S> Код не протестирован, в гамаке не был уже > 3 лет, используйте на свой страх и риск, бла-бла-бла


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Среда, 25 Апреля 2018, 20:11
Abel399Дата: Вторник, 24 Апреля 2018, 20:03 | Сообщение # 54 | Тема: Мультиплеерный RimWorld с возможностью создатьСвоюРеспублику
Surpass your limits. Right now.
Сейчас нет на сайте
Насмотревшись Игру престолов и наигравшись в M&B, в свое время начал нечто похожее на данный проект х)
Идея кажется весьма интересной, но главное не переборщить с "усложнением" и фичами.
Стоит не забывать, что сейчас популярен интуитивный user-friendly геймплей, чего весьма сложно добиться в играх такого типа.
Если это учебный проект, то можете попробовать разобраться с p2p, UPnP и blockchain, нынче популярно, а главное - полезно (а еще это позволит игре жить, ведь ваш сервер будет далеко не вечным) )
Успехов в реализации!


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Вторник, 24 Апреля 2018, 20:05
Abel399Дата: Вторник, 17 Апреля 2018, 14:37 | Сообщение # 55 | Тема: GTA + Assasins Creed
Surpass your limits. Right now.
Сейчас нет на сайте
DokBarzini, чувак, коли уж ты пишешь про важность сюжетной составляющей, сравнивая Мафию и GTA, говоришь как он (сюжет) важен на фоне остального, то не противоречишь ли ты сам себе, так свободно перечисляя фичи, которые "должны присутствовать в проекте"? Если ты хочешь "рассказать сперва свои истории" - расскажи, это легко устроить. Ты можешь начать как с обычных текстовых квестов, так и с интерактивных, если не поленишься и попробуешь изучить хоть какой-нибудь инструмент из ныне доступных (а их сегодня сотни достойных, в свободном доступе). Обычно незнакомые люди присоединяются к тем командам, у которых есть на руках хоть какой-то внятный прототип, который емко и лаконично показывает, чего конкретно хотят создатели от этого проекта.
"Идеи для реализации" начинаются с содержательной составляющей и БАЗОВОГО геймплея, а не набора кусков и фич, выдернутых из того, что приглянулось.

P.S> Когда-нибудь ты освоишься в геймдеве не как геймер, а как разработчик. Но сколько на это потребуется времени зависит от того, как хорошо ты умеешь прислушиваться к остальным (а главное - фильтровать информацию и "переваривать ее"). И еще... ГЕЙМЕР !== ГЕЙМДИЗАЙНЕР. Второй, как правило, выходец из разработчиков, у которого за спиной уже немало готовых с разной степенью успешности проектов.


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Вторник, 17 Апреля 2018, 14:43
Abel399Дата: Понедельник, 15 Января 2018, 04:13 | Сообщение # 56 | Тема: Движение шкалы здоровья за персонажем
Surpass your limits. Right now.
Сейчас нет на сайте
Потому что нужно использовать view_xview, а не view_xport. Первое - позиция в комнате, второе - в рисуемой области/сурфейсе.

Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Суббота, 13 Января 2018, 21:16 | Сообщение # 57 | Тема: Прошу помощи с алгоритмом в GMS
Surpass your limits. Right now.
Сейчас нет на сайте
Пример на простых массивах, если еще необходимо.

В 0 индексе хранится вопрос, в 1-[answers_count] хранятся ответы, в последнем - индекс правильного ответа.
Функция generate_questions - заполнение массива, просто для примера заполняет вопросы на сложение двух чисел.
Выбор ответа осуществляется клавишами 1-9, для простоты.

P.S.> Пример написан в GM8, но проблем с портированием на студию возникнуть не должно, нужна ведь только идея, верно?)
P.S.S.> В студии имеется стэк, для полного профита можно использовать его и написать хороший генератор, юзающий определенный пул вопросов и заполняющий стэк/очередь/небо/Аллаха. Другой вариант - использовать shuffle из grid / написать свой, который будет перемешивать массив индексов вопросов, чтобы получить случайную последовательность.


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Суббота, 13 Января 2018, 21:46
Abel399Дата: Среда, 10 Января 2018, 19:50 | Сообщение # 58 | Тема: Love2d. Юзание локальных переменных
Surpass your limits. Right now.
Сейчас нет на сайте
Ты можешь хранить/использовать их в локальных переменных в рамках одного скрипта, да, но имхо это не труЪ.

Наиболее подходящий вариант - вынести ресурсы в модуль. Еще лучше - вынести каждый тип ресурсов в свой модуль / сабмодуль.

resources.lua:
Код
local resources = {}
resources.sprites = ...
resources.sounds = ...
-- ...
return resources

main.lua:
Код
local resources = require "resources"
-- теперь используешь resources.sprites, etc...


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Четверг, 11 Января 2018, 07:14
Abel399Дата: Пятница, 22 Сентября 2017, 11:31 | Сообщение # 59 | Тема: Ищу программиста
Surpass your limits. Right now.
Сейчас нет на сайте
Galile0101, написал в лс, "будем посмотреть"

Ninja Slayer - 2D puzzle game with physics
Abel399Дата: Понедельник, 24 Апреля 2017, 19:48 | Сообщение # 60 | Тема: Варианты как сохранять стату игрока
Surpass your limits. Right now.
Сейчас нет на сайте
Эргалон,
Цитата Эргалон ()
нормальный взломщик


#define "нормальный взломщик"?)
Тот, кто просто умеет перехватить пакеты и применить к ним ряд эвристических алгоритмов? х) [а порой даже и элементарных обратных функций]

По сабжу:
jmp 465554555245 -> В данной задаче будет достаточно даже элементарного хранения данных в бинарном файле и использования защиты от дурака

Любая структура, хранящая данные, подчиненные определенным правилам, и имеющая возможности их добавления/удаления/обновления, является базой данных. Другой момент - как вы ее представите.
# Варианты:
1) Один/ряд текстовых/бинарных файлов, где хранятся данные, обработанные одним (а чаще несколькими) из алгоритмов шифрования;
2) JSON, XML, YAML и подобные в чистом или так же "скомпилированном" виде (с оговорками, но легче, чем СУБД);
3) Реляционная база данных и СУБД (MySQL, SQLite, PostgreSQL, Firebird и т.д.);
* СУБД тоже делятся на виды: какие-то являются клиент-серверными (PostgreSQL, MySQL), другие - встраиваемыми (SQLite, Firebird) и т.д.
4) Сохранение данных в памяти сервера с dump'ом через определенный промежуток времени;
5) Можно упороться и завести структуру данных аля ассоциативный массив (на хеш-таблицах или деревьях -> зависит от подхода), хранить все данные в ней и время от времени проводить ее сериализацию с последующим сохранением (ИМХО - в чистом виде не имеет права на жизнь).

Естественно не стоит выбирать только один способ, их нужно комбинировать.
В продакшене как правило используется концепция/технология ORM + реляционная база данных, но никто не запрещает сделать тоже самое, используя тот же JSON -> It depends on needs.

Но все это решаемо и не представляет из себя никакой сложности.
# Куда более важные проблемы:
* Какая архитектура используется в приложении?
* Какой уровень доступа предоставляется пользователю к его данным?
* Как часто пользователь должен обращаться к серверу, чтобы запросить свои данные?
* Должен ли он вообще обращаться к серверу за определенным видом данных?

# Несколько советов по хранению и передаче данных:
- Никогда не хранить пароли и другую конфиденциальную информацию в чистом виде, всегда применять к ним хеширование (SHA2, SHA3) и сравнивать по хешу
- При необходимости применять ряд алгоритмов шифрования/хеширования
- Всегда использовать уникальную для каждого пользователя "соль" (вики)
- Никогда не доверять пользователю, он врет ->
1. Хранить данные на сервере и производить их изменение там же, отсылать и получать данные с предварительным шифрованием, а еще лучше - вовсе не передавать данные напрямую, а использовать отправку событий (аля он нашел клад +3к опыта) с их предварительной проверкой на валидность (использование контрольных сумм, например)
2. При хранении же на стороне клиента применять вычисление контрольных сумм, проверку хешей и проводить четкий контроль при изменении данных
- При необходимости передачи данных через HTTP использовать HTTPS
- Защита от "дурака" тоже защита. Даже элементарное дублирование всех переменных с определенным ключом смещения и последующей их проверкой-сравнением дает результат
- При особой надобности пиши свою функцию шифрования на основе уже существующих. Очень примитивный пример:
Код
# Python3
def to_ascii(h):
    strs = ""
    for i in range(len(h)//2):
  strs += chr(int(h[(i*2):(i*2)+2], 16))
    return strs

def to_hex(s):
    strs = ""
    for i in range(len(s)):
  strs += "%x"%(ord(s[i]))
    return strs

def crypt(message):
    for i, v in enumerate(message):
  message = message[:i] + chr(ord(v)-12) + message[i+1:]
    return to_hex(message)

def de_crypt(message):
    message = to_ascii(message)
    for i, v in enumerate(message):
  message = message[:i] + chr(ord(v)+12) + message[i+1:]
    return message

crypted = crypt("Crypted_String")
print(de_crypt(crypted))


P.S> Это всего лишь неточная теоретическая выдержка и ряд вполне очевидных, но полезных советов. Пользоваться ими или нет - дело лично каждого.


Ninja Slayer - 2D puzzle game with physics

Сообщение отредактировал Abel399 - Понедельник, 24 Апреля 2017, 19:53
Форум игроделов » Записи участника » Abel399 [163]
  • Страница 3 из 9
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 8
  • 9
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2021 Рейтинг