- PVSM.RU - https://www.pvsm.ru -
Привет, Гиктаймс, я хотел бы рассказать про свой первый проект на c#. Так как мне интересны компьютерные игры, хотелось сделать что-нибудь из этой области. Я взял идею из серии игр Borderlands [1], а именно систему генерации оружия. У меня она, конечно, гораздо упрощена.
Думаю лучше начать с самого начала. Я уже пытался работать на с++, однако что-то не пошло. Интересоваться языком c# начал летом, изначально очень помогли видео лекции от Microsoft [2]. После пройденного курса захотелось сделать что-то интересное. Так я и начал работу.
Что хотелось с самого начала:
Сама система генерации оружия — это что-то вроде паззла. В игре Borderlands [1] создается огнестрельное оружие, и части там соответствующие (Приклад, Цевье, Ствол, и т.д.). Они собираются в одно целое, и готовое снаряжение получает характеристики соответствующие частям. Также у него обязательно есть производитель, название и уровень. Еще есть отдельный список уже созданного «легендарного» оружия с особенными характеристиками и низким шансом на выпадение. Эту систему я и сделал в с#. Только делать захотел холодное оружие. Для начала я решил генерировать мечи из двух частей: лезвие + рукоять.
Что реализовал:
Текстовые файлы были самым простым пунктом в программе, в них строчки характеристик: имя, скорость боя, урон, шанс критического урона, цена, производитель, уровень и номер изображения для характеристик этой строки.
Вот вид текстового файла для легендарных мечей:
UltraLord 5 100 20 1000 human 11 31.
TitanKiller 6 90 23 1000 orc 11 32.
SoulEater 4 120 21 1000 daemon 11 33.
С картинками было гораздо сложнее. Пришлось редактировать найденные в интернете изображения. Делал пиксельные картинки 200х600. Чтобы все совпало, я расположил части строго по центру. Позже возникла еще одна проблема, отличается цветовая гамма и детализация элементов. Эту задачу можно решить в начальной стадии создания изображений: рисовать в одном цвете, потом раскрашивать уже созданное оружие.
Все возможные варианты обычных мечей:
Три легендарных меча:
Плюсы этой системы:
Минусы:
Все выложил на GitHub [3], сделал комментарии в своей программе. Процесс разработки, рисования, изучения был для меня увлекательным. Совместил приятное с полезным. Возможно добавлю еще видов оружия: луки, топоры… Также думаю про перенос этого проекта в Windows Forms с добавлением интерактива, чтобы сам мог выбирать из каких частей собирать. Если есть вопросы или замечания пишите, постараюсь ответить. Новым идеям буду особенно рад.
Автор: yakovkovach
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/263834
Ссылки в тексте:
[1] Borderlands: https://ru.wikipedia.org/wiki/Borderlands
[2] видео лекции от Microsoft: https://mva.microsoft.com/en-us/training-courses/c-fundamentals-for-absolute-beginners-16169
[3] GitHub: https://github.com/kovachyakov/WeaponCreater
[4] amdhuscias.deviantart.com/art/Legion-Sestar-297348735: https://amdhuscias.deviantart.com/art/Legion-Sestar-297348735
[5] blog.sina.com.cn/s/blog_3e7df0690102f37t.html: http://blog.sina.com.cn/s/blog_3e7df0690102f37t.html
[6] blog.naver.com/PostThumbnailView.nhn?blogId=nabulgun&logNo=10029559710&categoryNo=7&parentCategoryNo=0: http://blog.naver.com/PostThumbnailView.nhn?blogId=nabulgun&logNo=10029559710&categoryNo=7&parentCategoryNo=0
[7] artyomvlaskin.cgsociety.org: http://artyomvlaskin.cgsociety.org/
[8] Источник: https://geektimes.ru/post/292925/
Нажмите здесь для печати.