Forums Logo

Здравствуйте Гость ( Вход | Регистрация )

[ Каскадный ] · Стандартный · Линейный

> Программирование. Напишем текстовый файтинг-рпг вместе!, Вам не нужно программировать, нужны Ваши идеи.

Баланс есть ?
 
Да [ 1 ] ** [11.11%]
Нет [ 1 ] ** [11.11%]
Я пофлудить [ 7 ] ** [77.78%]
Всего голосов: 9
Гости не могут голосовать 
Alexander87
post Вторник, 04 сентября 2018, 12:44
Отправлено #1


Продвинутый
**

Группа: Пользователи
Сообщений: 45
Регистрация: 31 мар. 2016
Пользователь №: 55 050





QUOTE (УльтраБлокС @ Вторник, 04 сентября 2018, 12:41)

Ну, вот собственно, по этой причине, у многих получается разочарование в процессе. Программирование представляют "чёрным ящиком", где в процессе сакральной магии на выходе получается "крутая игра". А когда заглянут внутрь процесса - там "какая-то математика, а как игры-то делать?".

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

Потом, на шаге обновления - надо просчитать, что должен делать персонаж. Например, если пишем платформер и игрок нажал клавишу "бежать влево" - надо проверить, не упирается ли персонаж в стену (иначе он пройдёт насквозь). Если не упирается - можно увеличивать скорость и передвигать спрайт влево. И т.д.

Потом это дело ещё нужно отрисовать на экран. Причём в правильном порядке - сначала рисовать бэкграунды - потом объекты переднего плана и персонажей.

И так нужно разбивать задачки на всё более мелкие и мелкие. Т.е. как раз передвижение персонажей по игровому миру - это как раз сводится к задачке "плюс, минус" по координатам x и y (в 3D-играх ещё и z).
*


Да Вы правы. Просто когда сам сталкиваешься, недоумеваешь как все это вместе работает))

Добавлено спустя 8 минут:
QUOTE (УльтраБлокС @ Сегодня, 12:41)

P.S. При этом, если какую-то из подзадачек запрограммировал неверно (например, не учёл поведение на очень больших/очень маленьких значениях), или ещё интереснее - несколько подпрограмм при взаимодействии друг с другом дают неверный результат - в игре это проявляется в виде багов, порой эпичных. В большинстве случаев - это происходит в тех условиях, которые сложно протестить, либо требуют огромной точности (вплоть до покадровой). На TASVideos.org полно видео, где игры полностью "ломают", используя игровые баги и возможности эмуляторов. Это говорит о том, что даже очень опытные профессиональные программисты допускают ошибки. Т.к. программирование - это сложно.
*


Забавно, дома обязательно посмотрю)

Сообщение отредактировал Alexander87 - Вторник, 04 сентября 2018, 12:52


--------------------
Слава Богу за всё и за скорбь и за радость!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topicStart Poll
Ответов
Alexander87
post Пятница, 26 октября 2018, 07:45
Отправлено #2


Продвинутый
**

Группа: Пользователи
Сообщений: 45
Регистрация: 31 мар. 2016
Пользователь №: 55 050





Как думаете баланс между классами есть ?



........................АТ.........Защита........ЖС.............укл.........энергия

Берсеркер........5..............2..............3.................4..............1

Рыцарь.............3..............5..............4.................1..............2

Мечник.............4..............3..............5.................2..............1

Ассами..............3..............2..............1................5..............4

Ученый..............4..............1..............2................3..............5

Сообщение отредактировал Alexander87 - Пятница, 26 октября 2018, 07:50


--------------------
Слава Богу за всё и за скорбь и за радость!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Posts in this topic
Страниц: 4  1 2 3 > » 


Reply to this topicStart new topic
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
 

Упрощённая версия Сейчас: Пт., 05 июня 2026, 20:03
Skin Designed (c) by Rooq.net, All Rights Reserved.