14.08.2010, 00:34
14.08.2010, 00:39
а как тогда убивать игроков? вынуждать врезаться в тебя?
14.08.2010, 01:45
Стрельбу я в 2.0 планировал как редкий ограниченный бонус (для сбивания трудных и опасных противников, таких как огненные големы). А сейчас да, нужно или подрезать вражескую змейку, или обкрутить её так, чтобы хода не оставалось. С игроками-людьми проходит на ура (сыграли с братом серию партий), а с ИИ действует только "или обкрутить её так, чтобы хода не оставалось".
Сервер и прочее для игр реального времени не катит. Даже у тебя проблемы с пингом и синхронизацией (рывки, буфера команд), а что говорить, если используется высокоуровневые средства браузера, да ещё по протоколу HTML, да через гружённый javascript. Разве что с 1 FPS/сек и стабильным коннектом. А вот реализовать быстрый эмулятор консоли на winapi проще.
Сервер и прочее для игр реального времени не катит. Даже у тебя проблемы с пингом и синхронизацией (рывки, буфера команд), а что говорить, если используется высокоуровневые средства браузера, да ещё по протоколу HTML, да через гружённый javascript. Разве что с 1 FPS/сек и стабильным коннектом. А вот реализовать быстрый эмулятор консоли на winapi проще.
14.08.2010, 09:31
А когда будут сделаны "Heroes of PHP & Javascript"? В смысле, Герои на форумном движке.
14.08.2010, 10:06
Набрал 37. Сейчас удобнее с более плавным набором скорости.
А бесконечно увеличивающуюся скорость можно сделать как-нибудь так: delay = 50 + 100/(1.5)^level. Хотя лучше, все-же, max(150/(1.5)^level, 50)
А бесконечно увеличивающуюся скорость можно сделать как-нибудь так: delay = 50 + 100/(1.5)^level. Хотя лучше, все-же, max(150/(1.5)^level, 50)
14.08.2010, 13:17
(14.08.2010 00:39)FBX Wrote: [ -> ]а как тогда убивать игроков? вынуждать врезаться в тебя?конечно
14.08.2010, 18:57
Quote:А бесконечно увеличивающуюся скорость можно сделать как-нибудь так: delay = 50 + 100/(1.5)^level. Хотя лучше, все-же, max(150/(1.5)^level, 50)Можно, но это постоянные рассчёты ради ничего, ибо заметить отличия даже в 20% скорости трудно.
14.08.2010, 20:04
Мультиплеер, это классно 

14.08.2010, 20:33
Поиграл в обновлённую версию (или это всё ещё старая)? Очков набрал немного - полтинник. Заметил несколько багов:
1) числа 29 и 64 не отображаются целиком - выводятся лишь первые их цифры.
2) если быстро нажать две клавиши подряд (например, "влево" - и тут же "вверх") - змейка на это вообще никак не реагирует и идёт также, как и шла до этого.
3) по вертикали змейка ездит значительно быстрее, чем по горизонтали.
1) числа 29 и 64 не отображаются целиком - выводятся лишь первые их цифры.
2) если быстро нажать две клавиши подряд (например, "влево" - и тут же "вверх") - змейка на это вообще никак не реагирует и идёт также, как и шла до этого.
3) по вертикали змейка ездит значительно быстрее, чем по горизонтали.
14.08.2010, 20:37
Quote:1) числа 29 и 64 не отображаются целиком - выводятся лишь первые их цифры.Ты точно в тот момент не наехал на них или там сердечко не появилось?
Quote:2) если быстро нажать две клавиши подряд (например, "влево" - и тут же "вверх") - змейка на это вообще никак не реагирует и идёт также, как и шла до этого.Смотри. Идёт событие ВЛЕВО. Устанавливается новое значение переменной НАПРАВЛЕНИЕ. Затем идёт событие ВВЕРХ, снова меняется направление. Идёт событие ШАГ и вот здесь берётся только последнее значение, так как человек может моментально передумать.
Quote:3) по вертикали змейка ездит значительно быстрее, чем по горизонтали.Размер поля: 30 * 25. Эффект большей скорости достигается за счёт того, что символы вытянуты вверх и клеток на 5 меньше.
14.08.2010, 20:45
Quote:Ты точно в тот момент не наехал на них или там сердечко не появилось?Не помню точно, но ЕМНИП, я ездил довольно долго - а вторая цифра не появлялась...
Quote:Смотри. Идёт событие ВЛЕВО. Устанавливается новое значение переменной НАПРАВЛЕНИЕ. Затем идёт событие ВВЕРХ, снова меняется направление. Идёт событие ШАГ и вот здесь берётся только последнее значение, так как человек может моментально передумать.Дык никакого "взятия последнего значения" нету, я же говорю - змейка вообще в таких случаях НЕ реагирует на нажатия. То бишь:
а) змейка едет сверху вниз, я нажимаю "влево"
б) тут же (ещё не дав успеть змейке свернуть) я нажимаю "вверх"
в) змейка продолжает ползти вниз, будто я вообще ничего не нажимал...
Quote:Размер поля: 30 * 25. Эффект большей скорости достигается за счёт того, что символы вытянуты вверх и клеток на 5 меньше.А почему не сделать квадратную сетку? И причём тут меньшие размеры, я не понимаю. Неужели нужно увеличивать скорость, ели размеры меньше? Пускай едет с той же...
14.08.2010, 20:57
Quote:Не помню точно, но ЕМНИП, я ездил довольно долго - а вторая цифра не появлялась...Обновление происходит, когда кушаешь яблоко )
Quote:Дык никакого "взятия последнего значения" нету, я же говорю - змейка вообще в таких случаях НЕ реагирует на нажатия. То бишь:Когда ты жмёшь ВЛЕВО направление меняется. Когда жмёшь ВВЕРХ, код определяет, что путь невозможен вверх и возвращает значение движения, которое было на предыдущем шаге. Я могу изменить алгоритм так, что в этом случае он всё же ехал влево.
а) змейка едет сверху вниз, я нажимаю "влево"
б) тут же (ещё не дав успеть змейке свернуть) я нажимаю "вверх"
в) змейка продолжает ползти вниз, будто я вообще ничего не нажимал...
Quote:А почему не сделать квадратную сетку? И причём тут меньшие размеры, я не понимаю. Неужели нужно увеличивать скорость, ели размеры меньше? Пускай едет с той же...Эфрит, ну так нельзя, я уже скольким людям объяснял

http://wforum.heroes35.net/showthread.ph...5#pid49105
Все шрифты, Корв, вверх вытянутые. Даже виндовые консоли не позволяют квадратные клетки. Я правда, пытался найти любое решение, но его банально нет.
http://wforum.heroes35.net/showthread.ph...5#pid49165
Реализация основана на создании Ширина * Высота одиночных span-элементов, отображающих каждый по символу, что есть существенная нагрузка на браузер, особенно если консоль велика, но позволяет регулировать отображение (символ, цвет, фон, прозрачность) каждой отдельной ячейки. Как и во всех терминалах используется моноширенный шрифт без указания конкретного, что позволяет браузерам использовать те шрифты, которые у них есть.
15.08.2010, 00:03
(14.08.2010 20:57)Berserker Wrote: [ -> ]Я могу изменить алгоритм так, что в этом случае он всё же ехал влево.уж лучше буфер команд.
15.08.2010, 09:32
Quote:Когда ты жмёшь ВЛЕВО направление меняется. Когда жмёшь ВВЕРХ, код определяет, что путь невозможен вверх и возвращает значение движения, которое было на предыдущем шаге. Я могу изменить алгоритм так, что в этом случае он всё же ехал влево.
Лучше пусть в таких случаях она всё же "влево+вверх" едет - то бишь жёстко заставь её поворачивать на одну клетку влево, а затем пусть поворачивает наверх... (и едет дальше)
15.08.2010, 17:55
Это и есть буфер команд, о чём спрашивал игродел. В оригинальной змейке так сделать нельзя, иначе это уже программа, а не реакция. влево-влево-влево-вверх-вправо и змейка спокойно съедает яблоко у левой границы, далее вверх на клетку и плавный поворот направо...