Вопросы новичка

Страница 3 из 8 Предыдущий  1, 2, 3, 4, 5, 6, 7, 8  Следующий

Перейти вниз

Re: Вопросы новичка

Сообщение автор Pyro338 в Чт Янв 04, 2018 11:21 pm

оффтоп. я сегодня проснулся в четыре часа ночи от того, что мне приснился сон о том, что когда я делаю NPC, не надо делать отдельных "квестовых NPC, а отдельных - мобов. нужно сделать один общий класс и уже от него наследовать - будет ли NPC агрессивным или квестовым. а проснувшись я понял, что этот класс должен наследовать от класса, в котором есть ХП и одежда, который должен наследовать от класса, где есть перемещение по карте и вот это вот все.


при этом при всем я даже не задумывался о том, чтобы делать РПГ
avatar
Pyro338
Админ

Сообщения : 587
Дата регистрации : 2017-12-25
Возраст : 32
Откуда : Ставрополь

Посмотреть профиль http://pyro338.ru/

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор raingo в Чт Янв 04, 2018 11:23 pm

Да я не очень хорошо объясняю. Но вот сейчас вроде понял вопрос.

Как оно будет выглядеть после того, как все вставиться туда куда надо вставиться - я хз. Оно не вставляется на самом деле. Оно исполняется.

Если ты создашь функцию
Код:
function sum() { var i = 5; i+=5; return i;}
А потом вставишь эту функцию в другое место, то вставиться не { var i = 5; i+=5; return i;}, а вставиться 10 - результат функции.

P.S. Но это там, где стоят скобки. Если скобок нет - значит вставляется, а не исполняется. sum() и sum - разные вещи.
P.S.S. Мне кажется о таких вещах даже продвинутые не задумываются. Ибо не очень практичное знание.


Последний раз редактировалось: raingo (Чт Янв 04, 2018 11:51 pm), всего редактировалось 3 раз(а)

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор raingo в Чт Янв 04, 2018 11:29 pm

проснувшийся в 4 утра пишет:оффтоп. я сегодня проснулся в четыре часа ночи от того, что мне приснился сон о том, что когда я делаю NPC, не надо делать отдельных "квестовых NPC, а отдельных - мобов. нужно сделать один общий класс и уже от него наследовать - будет ли NPC агрессивным или квестовым. а проснувшись я понял, что этот класс должен наследовать от класса, в котором есть ХП и одежда, который должен наследовать от класса, где есть перемещение по карте и вот это вот все.


при этом при всем я даже не задумывался о том, чтобы делать РПГ
Забавно, иронично=) Но! Неправильно.

Тебе не нужно применять ООП в играх. Это губительный подход. Есть миллиард статей на эту тему. Тебе нужен КОП.

Нужны отдельные компоненты:
- перемещение
- хп, урон, реген
- одежда
- агрессивное поведение
- квестовое поведение.
- и еще миллиард.

Затем ты просто компонуешь компоненты в одном объекте как душе угодно. Например, не обязательно, что npc может двигаться и иметь одежду. А другой npc не факт, что будет дружелюбным и с хп (например ловушка, без хп и не двигается).

Таким образом проще создавать объекты. И это производительнее. И лучше сказывается на архитектуре. Самый быстрый способ понять КОП - юнити. Но на самом деле мы постоянно юзаем КОП в вебе.

P.S. Ты проснулся ото сна. Теперь пора проснуться от бытия и просветлеть.

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор raingo в Пт Янв 05, 2018 12:02 am

Вот укороченная версия. Нельзя вставить одно в другое еще больше. Т.к. там идет работа с функциями, как с объектами. И в зависимости от условий объект меняется. Т.е. это не практически, ни теоретически невозможно. Можно только выбросить эти функции.
Код:
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');

var gameEngine;
var x=10,
    y=10;

//drawRect для удобства не трогаем
function drawRect (){
context.fillStyle = 'black'; //цвет для рисования
context.clearRect(0,0,800,100);//очистка экрана
context.fillRect(x,y,50,50); // рисование квадрата
}
/*
nextGameStep заменим на requestAnimationFrame
*/

var  gameEngineStep = function (){
  
   //gameLoopRight
 drawRect();
   x+=5;

   requestAnimationFrame(gameEngineStep);

};

gameEngineStep ();
Короче это лапша-код.

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Dessan в Пт Янв 05, 2018 1:37 am

Pyro338 пишет:
при этом при всем я даже не задумывался о том, чтобы делать РПГ

Спойлер:
может вы с реингоу это и не осознаёте сейчас, но в той или иной степени , то чем вы будете заниматься зависит от меня)А у меня пока что основной мыслью является создание ММОРПГ. Вот когда я пойму зачем оно мне надо тратить на примитивный проект время(а примитивный потому что реализовать сможем максимум перемещение квадратиков по полю и убийство друг друга), разве что в образовательных целях взять спрайты реингоу и сделать под них код на javascript (потому что задействовать движки типа unity и не раскрыть их функционал, я не вижу смысла)...вместе с тем предложить реингоу записать видео как эти спрайты он создаёт (только не такие видео как у арталаски а нормальные, полные видео), описать создание игры на его сайте, получилось бы достаточно много уроков с объяснением и описанием...и также в образовательных целях всё это запустить на сервере каком-то и радоваться, что я тоже стоял рядом при создании) Так что РПГ тебе не просто так снится, ты уже её создаёшь)

А этой своей темой я выполняю две функции: получаю образование, пинаю реингоу в сторону кодирования. Вместе с этим безмерно вам благодарен за помощь. Худо-бедно оно проясняется. По крайней мере я уже не каждое слово бегу гуглить, чтоб понять вообще о чём вы говорите.

Dessan
Юный падаван

Сообщения : 426
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Dessan в Пт Янв 05, 2018 4:32 am

raingo пишет:Да я не очень хорошо объясняю.
Всё ты прекрасно объясняешь, это я туго соображаю просто и ещё хуже запоминаю.
Смотри, что я имею в виду:

Код:
var prime = function(x,y){
   z = x+y;
console.log(z);
   }
   prime(2,3);
Как это работает:
Код:
var prime = function(2,3){ // подставляются из prime(2,3);
   5 = 2+3;
console.log(5);  // выводит 5
   }
   prime(2,3); // запуск программы
Вот это же я хочу увидеть для какой-то такой функции:
Код:
var prime = function(x,y){
   z = x+y;
console.log(z);
   }
   prime(2,3);

   var main = function(x,y){
   console.log(main);
   }

   prime(main);
Пытался придумать умный пример, но ничего не получилось. Тем не менее как тут всё это подставляется с этими аргументами?Можешь свой пример с функцией в виде аргумента придумать и разложить на составляющие

Dessan
Юный падаван

Сообщения : 426
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор raingo в Пт Янв 05, 2018 10:30 am

хз, расписал как мог.

Я на форуме отвечая тоже выполняю внутренние цели. Из ответов вопросов потом будет складываться тутор. Сейчас мне хватает ответов)

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Pyro338 в Пт Янв 05, 2018 10:45 am

реализовать сможем максимум перемещение квадратиков по полю и убийство друг друга

не знаю как вы, а я могу реализовать намного больше. но ААА игра у меня один хрен не выйдет поскольку я не художник, не сценарист, не саунд-дизайнер и не вот это вот всё
avatar
Pyro338
Админ

Сообщения : 587
Дата регистрации : 2017-12-25
Возраст : 32
Откуда : Ставрополь

Посмотреть профиль http://pyro338.ru/

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор raingo в Пт Янв 05, 2018 12:10 pm

Дессан пишет:может вы с реингоу это и не осознаёте сейчас, но в той или иной степени , то чем вы будете заниматься зависит от меня)А у меня пока что основной мыслью является создание ММОРПГ. Вот когда я пойму зачем оно мне надо тратить на примитивный проект время(а примитивный потому что реализовать сможем максимум перемещение квадратиков по полю и убийство друг друга), разве что в образовательных целях взять спрайты реингоу и сделать под них код на javascript (потому что задействовать движки типа unity и не раскрыть их функционал, я не вижу смысла)...вместе с тем предложить реингоу записать видео как эти спрайты он создаёт (только не такие видео как у арталаски а нормальные, полные видео), описать создание игры на его сайте, получилось бы достаточно много уроков с объяснением и описанием...и также в образовательных целях всё это запустить на сервере каком-то и радоваться, что я тоже стоял рядом при создании) Так что РПГ тебе не просто так снится, ты уже её создаёшь)

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

Давно была идея, что если создать игру для своих, вот для этого форума, для 10 человек. Которым будет реально интересно играть, собираться в компании, чатится, обсуждать результаты и дальнейший геймплей - такая игра будет иметь успех. Т.е. это будет как бы клубная игра, но из-за игры клуб будет расширяться.

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

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Pyro338 в Пт Янв 05, 2018 12:24 pm

я когда-то играл в игру "Территория" - геймплей там был прост до безобразия: ставишь два блока и один удар и то-же самое делает твой противник. практически "камень-ножницы-бумага". но я проиграл в нее много лет именно из-за социальной составляющей: противоборство кланов фракций, захват локаций и вот это вот все. сейчас подавляющее большинство ММОРПГ заточено под истребление мобов. нет ПвП и это печально. кстати за ПвП я дико любил Ультиму Онлайн.

вот если бы сделать орпг с минимальным уклоном на истребление мобов и хорошей социальной составляющей - вот это был бы кайф (лично для меня)

кстати этот ник у меня пошел именно из "Территории"
avatar
Pyro338
Админ

Сообщения : 587
Дата регистрации : 2017-12-25
Возраст : 32
Откуда : Ставрополь

Посмотреть профиль http://pyro338.ru/

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор raingo в Пт Янв 05, 2018 12:59 pm

вот если бы сделать орпг с минимальным уклоном на истребление мобов и хорошей социальной составляющей - вот это был бы кайф (лично для меня)
Для меня тоже.

Меня впечатлила вот эта статья. Парень написал простенькую игрушку, распространил среди друзей и в школе. На переменах, после уроков они играли в нее. Угарали, придумывали вместе врагов и геймплей. И не парились на счет гугл плей и стим.

Было бы круто иметь такую форумную игру с простым геймплеем, но с социалкой. Онлайн соревнования, лидерборды.

Мне кажется, даже AsterWaster, изначально не созданный для социалок, стал бы гораздо интереснее с возможностью играть вдвоем онлайн.

Кто-нибудь играл в кастомные карты warcraft по сети? Там было много мини-игр для онлайн. И все были захватывающие. Вроде не так сложно воссоздать одну из них.

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Pyro338 в Пт Янв 05, 2018 1:30 pm

хорошая статья. и хороший подход.

Там было много мини-игр для онлайн. И все были захватывающие.

дота например)) которая в последствии вообще в отдельный игровой жанр вылилась.

я в свое время делал UMS карты для старкрафта, чтобы вдвоем с одноклассником играть. эх времена были...
avatar
Pyro338
Админ

Сообщения : 587
Дата регистрации : 2017-12-25
Возраст : 32
Откуда : Ставрополь

Посмотреть профиль http://pyro338.ru/

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Dessan в Пт Янв 05, 2018 2:59 pm

Помню БК онлайн с 4 ударами атаки и 4 блоками и кулдауном по несколько часов. Для меня это было слишком медленно.
И мобов я тоже убивать никогда не любил, онлайн игра должна быть наполнена взаимодействием с игроками, а убить мобов и в обычной можно, ещё и с лучшей графикой.
Я играл в RF Online поэтому. Взял с собой 2-3 человека и ушёл на карту врагов, увидел там группу игроков мирно бьющих мобов - напал и всех вырезал, послушал как трупы матерятся и побежал искать новые жертвы.
Вся графика ,начиная с MU Online (кстати, там тоже ПКшить можно было чудесно), для меня - ААА игра, всё что ниже этого считается примитивным. И я сколько себя помню ищу игру про пиратов типа Корсары 2, но так чтоб она была онлайн. Чтоб можно было на палубе стоять, самостоятельно целиться из пушек, рядом стояли другие игроки и так же занимались своими должностными обязанностями, сюда же абордажи, выход на суши, зачистка пещер от мобов для прокачки скиллов, но самое главное - морские бои конечно со всеми манёврами, спусканием подниманием парусов, разными пушками, разными зарядами, улучшениями и т.д. Графикой взрывов, чтоб всё как в жизни было. Но это невозможно сделать ни вам ни мне тем более)Никто даже такое не рассматривает. И все мы делали карты в конструкторах в разных играх.
То что pyro может программно описать создать стоящую игру - я не сомневаюсь, но нет таких художников, чтоб заинтересовать зрителя, поэтому я написал о чём-то примитивном ближе к пиксель арту (максимум).
Да, вот примерно такая примитивная как в статье)
Реингоу, рассказывай, что там за пласты у тебя такие про рпг или другие жанры?Рассказывай.

Dessan
Юный падаван

Сообщения : 426
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Dessan в Пт Янв 05, 2018 6:38 pm

Нашёл хороший пример с callback

Код:
var main = function (x, y){
      z = x*x;
         console.log (z);
   var callback = y || function(){};
                      /* code */
      callback();
      }

        main(2, function (){
         console.log("Hi!");
      });

Dessan
Юный падаван

Сообщения : 426
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Dessan в Пт Янв 05, 2018 8:57 pm

Raingo, ты когда-то писал код, чтоб перс находил путь сам от точки А к Б. Можешь рассказать концепцию как ты это реализовывал?То есть у нас перс стоит в одном углу экрана и нам нужно его переместить мышкой в другой угол экрана, при этом у нас разные текстуры типа деревьев, озёр, домики какие-то. Как ты это движение реализовывал?

Dessan
Юный падаван

Сообщения : 426
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Pyro338 в Пт Янв 05, 2018 9:03 pm

avatar
Pyro338
Админ

Сообщения : 587
Дата регистрации : 2017-12-25
Возраст : 32
Откуда : Ставрополь

Посмотреть профиль http://pyro338.ru/

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Dessan в Пт Янв 05, 2018 9:06 pm

Потрясающе, на всё у тебя ссылка есть)спасибо

Dessan
Юный падаван

Сообщения : 426
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Pyro338 в Пт Янв 05, 2018 9:28 pm

я просто в гугле не забанен
avatar
Pyro338
Админ

Сообщения : 587
Дата регистрации : 2017-12-25
Возраст : 32
Откуда : Ставрополь

Посмотреть профиль http://pyro338.ru/

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Dessan в Пт Янв 05, 2018 9:30 pm

от ты мне ссылочку дал...)raingo, всё таки нужно описание твоего метода )

Dessan
Юный падаван

Сообщения : 426
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Pyro338 в Пт Янв 05, 2018 9:33 pm

у Раинго метод А* был, если мне не изменяет память
avatar
Pyro338
Админ

Сообщения : 587
Дата регистрации : 2017-12-25
Возраст : 32
Откуда : Ставрополь

Посмотреть профиль http://pyro338.ru/

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор raingo в Пт Янв 05, 2018 9:38 pm

пиро пишет:я просто в гугле не забанен
Ахах, иронично, жестко, тонко. Уважаю)
Dessan, вот здесь тебе помогут

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Pyro338 в Пт Янв 05, 2018 9:42 pm

вот есть готовая библиотека на js например https://habrahabr.ru/post/238001/
avatar
Pyro338
Админ

Сообщения : 587
Дата регистрации : 2017-12-25
Возраст : 32
Откуда : Ставрополь

Посмотреть профиль http://pyro338.ru/

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Dessan в Пт Янв 05, 2018 9:48 pm

raingo пишет:
пиро пишет:я просто в гугле не забанен
Ахах, иронично, жестко, тонко. Уважаю)
Dessan, вот здесь тебе помогут

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

Dessan
Юный падаван

Сообщения : 426
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор raingo в Пт Янв 05, 2018 9:57 pm

Алгоритм поиска пути А стар (А*) оптимальное решение. Я сильно парюсь при всяком выборе, анализирую варианты. Как например с vue backbone react angular.

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

а ты оказывается просто с гугла скопировал))
гугл ваще крутая штука! Всемирное хранилище данных типа.

raingo
Отдел прокрастинации

Сообщения : 756
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Dessan в Пт Янв 05, 2018 10:04 pm

ты там рисуешь ещё?Улучшаешь навык?

Dessan
Юный падаван

Сообщения : 426
Дата регистрации : 2017-12-25

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: Вопросы новичка

Сообщение автор Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Страница 3 из 8 Предыдущий  1, 2, 3, 4, 5, 6, 7, 8  Следующий

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения