Tales Of Power

Закрытые или заброшенные проекты, не состоявшие в Клубе, но имевшие ветку на форуме.

Модератор: Jolly Roger

Аватара пользователя
MyParanoya
Сообщения: 159
Зарегистрирован: 01 дек 2009, 19:13

Tales Of Power

Сообщение MyParanoya » 01 дек 2009, 19:36

привет всем, меня зовут Саша, мне 15 лет, я учусь в школе и увлекаюсь программированием.

рогалик считаю не более чем средством самовыражения автора, поднятия навыков программирования и проведения времени с удовольствием(пинайте, фанаты АDOM)

собственно, сабж... хочется сделать рогалик.) опыта до этого никакого, и, признаюсь честно, больше чем на 650 строк я программ не писал)) предполагаемый язык проекта: до-диез. поор считаю скучным и слишком нудным, плюсы меня порой выбешивают своим излишним профессионализмом... а шарп для вещи, требующей менее 0,01% загрузки ЦП шарп как раз самое то(на мой скромный взгляд).

основные особенности:
* фентезийный мир;
* глобальная карта --> локальная карта --> случайные данжы и специальные ивенты
* рандомная генерация квестов с неким предполагающимся разнообразием
* ролевая система, с которой потом можно будет что-то сделать
* сюжет и несколько линий его завершения

теперь о птичках:
система мира будет подобна АДОМ*ской, за исключением того, что всего будет больше: глобальная карта большего размера, большее кол-во заранее прорисованных "городов", + случайно прорисованные города и данжи, которые можно встретить во многих местах...
ролевая система - отдельная тема. вообще смыслом жизни на ближайшие 5-7 лет считаю создание 1-Д(аля МУДы, ДС етс) баймы, сочетающей в себе дизайн второго и атмосферу первого; поэтому... ролевая система должна быть на 1 месте и желательно кросс-мировой. предполагается, что это будет аналог ДнД за некоторыми исключениями...
квесты. для квестов хочу сделать некий редактор, пока что мысли крутятся в голове и упорно не желают показаться наружу. смысл - создавать интересные приключения, не забивая в код очередные копи-пасты, а используя триггеры.
сюжет. сюжет будет прост: в мире есть орки, люди, эльфы и варвары. они живут близко и дерутся постоянно. к югу ходят андеды и изучают тайну жизни. инквизиция всех народов боится андедов, потому что они могут что-то найти и умертвить мир. собственно, герой может помочь найти андедам это что-то, помешать, может покорить все близкие народы и отправиться в последний поход, может просто сдохнуть от тентаклей(да-да, они обязательно будут! и смерть от них, как пик наслаждения, будет приравнен к выигрышу)
все это предполагает тактические битвы(я имею ввиду не пошаговость, а ответственность, т.е. возможность приказывать и довольно мощный ИИ). это требует больших сил и времени.
надеюсь удастся.)

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

а если серьезно, вопрос к профи: сколько примерно строчек кода и времени все это займет?
учитывая мой нулевой опыт и способность к быдлокоду, сочетаемую(прекрасно) с шарпом?

Аватара пользователя
Aerton
Сообщения: 503
Зарегистрирован: 11 авг 2007, 02:58
Откуда: Новосибирск
Контактная информация:

Re: Tales Of Power

Сообщение Aerton » 01 дек 2009, 21:23

Привет!

Для примера в ADOM около миллиона строк кода, в других крупных рогаликах - сотни тысяч.

Начинающие разрабочтики рвущиеся на глазах изумлённой публики по-быстрому склепать убийцу ADOM (почему-то почти всегда именно ADOM) появляются с завидно регулярностью, но пока этого никому не удавалось. Даже что-то работающее редко появляется на свет. В этом есть своя закономерность: это как придти первый раз в спортзал и тут же дёргать штангу в пару центнеров. Легко сказать "мощный AI", а вот даже просто словами сформулировать что именно это такое и описать как оно устроенно в подробностях не так-то просто.

Очень советую ознакомиться с 7DRL - это написание роглайка за 7 дней. За это время конечно ADOM не сделаешь, но можно сделать небольшую законченную игру. За это время и примерно в 1000 строк кода вполне можно сделать что-то более-менее играбельное. А главное, это даст очень ценный опыт и представление внутренней структуры рогаликов, что очень пригодится для следующего, более сложного проекта. В принципе, такое жёсткое ограничение по времени можно для начала и не ставить - т.е. хорошо бы в него уложиться, но если не успел, то ничего страшного, лучше потратить ещё неделю и доделать, чем бросать. Если получится что-то интересное и не будет выявленно каких-то фундаментальных неправильностей, можно с этой работающей основы продолжить дальнейшую разработку, потихноьку наращивая игру.

Самое главное - как можно быстрее получить что-то работоспособное. Во-первых, это даёт убедиться, работает ли всё как надо, а во-вторых намного интереснее работать, когда можно что-то добавить, и сразу увидеть это в деле.

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

Школьник - это не страшно, ты далеко не первый, и у некоторых есть вполне неплохие проекты.

А лучший язык - это тот, на котором тебе удобнее писать.

Аватара пользователя
Toth
Сообщения: 327
Зарегистрирован: 11 ноя 2009, 13:36
Откуда: Красноярск

Re: Tales Of Power

Сообщение Toth » 02 дек 2009, 06:25

Думаю, что 7D подходит для опытных программистов, уже не поднимающих хелпы. В разработке игр "для себя", "for fun", столкнулся с такими проблемами как нехватка времени и застревании на определенном этапе. В результате закончил только один проект, пошаговая стратегия (писался как курсовая еще на TC++ 3.22, лол). Потом много раз начинал и бросал. Смотришь через полгода в код и понимаешь, что лучше потереть все и начать сначала (через год то, что считалось легкочитабельным и понятным превращается в полную ахинею). Некоторые вещи, например: отрисовка 2д тайловой карты, редактор, поиск пути, базовый АИ монстров писал уже раз 10 точно. Сейчас начал в очередной раз с 0, и пока продолжаю.
Разработкой ролевой системы сначала точно не стоит заниматься, возьми готовую - ДиД, Фузион, при желании подгонишь ее так как тебе нужно.
Начни с базовых вещей: генератор карты, предметов, монстров, перемещение персонажа, базовые взаимодействия объектами (открыл/закрыл дверь, сработала ловушка), предметами (поднять/бросить/выпить/съесть/одеть/снять) и монстрами (поговорить/ударить), потом сохранение/загрузка игры. Замахиваться на сверхглобальные задачи не стоит сначала. Будь уверен, что с первого раза получится, но переписывать все равно рано или поздно придется, зато появится опыт.
Не застрять и не бросить проект помогают следующие вещи:
Заведи диздок записывай туда фишки и плюшки которые хочешь реализовать.
Заведи хистори куда вбивай то, что ты сделал ежедневно.
Заведи ту-ду добавляй туда то, что ты должен сделать в ближайшее время.
Если надоело кодить - рисуй тайлы или монстров, придумывай им описания, делай саундтрек или звуки.
Больше читай по теме, roguebasin, roguetemple. Из книг посоветую: Data structures for game programmers, Ron Penton; Programming role playing games with DirectX, Jim Adams.

Аватара пользователя
Anfeir
Сообщения: 876
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Re: Tales Of Power

Сообщение Anfeir » 02 дек 2009, 07:57

Думаю, что 7D подходит для опытных программистов, уже не поднимающих хелпы
Кто сказал, что опытные программисты не поднимают хелпы? Порой, одним глазом постоянно в API приходится сидеть. Но когда ничо особо библиотечного не используешь, то да.
Разработкой ролевой системы сначала точно не стоит заниматься, возьми готовую - ДиД, Фузион, при желании подгонишь ее так как тебе нужно.
Возможно, ролевая система это вообще громко сказано ) Но можно и свою систему, только нет гарантии, что она будет играбельной. По крайней мере, ролевая система это интересней, чем FOV и простой генератор карты.
самое главное - как можно быстрее получить что-то работоспособное. Во-первых, это даёт убедиться, работает ли всё как надо, а во-вторых намного интереснее работать, когда можно что-то добавить, и сразу увидеть это в деле.
Это точно.
а если серьезно, вопрос к профи: сколько примерно строчек кода и времени все это займет?
Дофига.
За год работы можно получить что-то, чтобы довести до ума, - еще года два. Это если язык знаешь и опыт есть .)
Если много - то см. в сторону 7DRL.

А вообще, типичная схема в схожих случая примерно такая (каждый следующий шаг становится опциональным):
1) увидел АДОМ, понравилось. Подумалось, а чем я-то хуже? Ну по крайней мере, немножно лучше уж без проблем смогу.
2) Сел писать мега-сюжет, мега-описание игрового мира и список мега-фич.
3) Сел писать прогу, сделал вывод символов на экране
4) Сделал что-нибудь типа генератора карт, фова, очередной раз проигнорировав советы использовать готовое
5) погрузился в баги и проблемы
6) увяз...
И это после громких планов, высказанных небрежным тоном по общей сути "так, в пару раз покруче адома но в общем ерунда".

Сложность кода на порядок больше, чем может показаться. Но в принципе, ничего страшного. Просто вылезет куча проблем, и к этому надо быть готовым.
Легко сказать "мощный AI", а вот даже просто словами сформулировать что именно это такое и описать как оно устроенно в подробностях не так-то просто.
Это типичная проблема. Даже если описать, не факт что это окажется играбельно.

15 лет это вполне норм, в этом возрасте каждому уже пора иметь свой рогалик! :idea:
А из книг я бы посоветовал "Рефакторинг". Мартин Фаулер.

Аватара пользователя
Maelstrom
Мастер
Сообщения: 2062
Зарегистрирован: 26 ноя 2006, 14:19
Откуда: г. Усть-Кирдык
Контактная информация:

Re: Tales Of Power

Сообщение Maelstrom » 02 дек 2009, 08:48

Ох, очередная мечтательная тема...
Кстати, автор, это не ты мне год назад во вконтакте в личку писал?
ролевая система - отдельная тема. вообще смыслом жизни на ближайшие 5-7 лет считаю создание 1-Д(аля МУДы, ДС етс) баймы, сочетающей в себе дизайн второго и атмосферу первого; поэтому... ролевая система должна быть на 1 месте и желательно кросс-мировой. предполагается, что это будет аналог ДнД за некоторыми исключениями...
байма, дс... Ты по-русски можешь выражаться? :)
А придумывать более-менее комплексную механику игры (сиречь, ролевую систему) гораздо сложнее, чем программировать базис рогалика.
сюжет и несколько линий его завершения
Да! Да! Да! И он обязательно будет генерироваться случайно!
Айв кнгенгах Йог-Сотот

Аватара пользователя
Anfeir
Сообщения: 876
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Re: Tales Of Power

Сообщение Anfeir » 02 дек 2009, 08:55

Забыл спросить, а корованы можно будет грабить?
А придумывать более-менее комплексную механику игры (сиречь, ролевую систему) гораздо сложнее, чем программировать базис рогалика.
Долой хитпойнты!

Аватара пользователя
Jolly Roger
Сообщения: 2973
Зарегистрирован: 27 ноя 2009, 09:10
Откуда: Minsk, Belarus

Re: Tales Of Power

Сообщение Jolly Roger » 02 дек 2009, 09:41

Запугали человека! :shock:
Автор, прежде чем начать подносить Бикапу беломор со спичкой поставь себе план (с учётом 600 строчного опыта, этого вполне хватит) написать игру лабиринт:
1. персонаж перемещается по лабиринту размером с 1 экран, выполненному в псевдографике.
2. Лабиринты загружаются из файла, куда записываются этой же программой. Маленький редактор сделать проще чем нормальный генератор.
3. Каждый лабиринт - отдельный файл, прошел один лабирин, получи следующий. Порядок можно забить в коде.
4. В лабиринте будет:
а.персонаж 1 шт (управляется стрелками)
б. стены непроходимые.
в. пол проходимый.
в. двери требующие ключ (если у игрока есть ключ и он "наступает на дверь", то они превращаются в пол, если нет, то не пускают).
г ключи к дверям
д. стартовая точка, где игрок начинает (выглядит как пол),
е. финальная дверь, к которой идёт игрок (когда игрок входит в неё, уровень считается пройденым).

Что получится кидай сюда. :wink:

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

EDIT:
Самое главное забыл, если такой объём кажется слишком маленьким для великой идеи, в АДОМе то вон сколько, то следует вспомнить, что АДОМ тоже не сразу таким стал.
Вот что пишет Сам Бискуп:
Initial attempts were doomed to failure since I just couldn't get to create some working map code (I started with that). Frustrated I stopped for about a year, but restarted my attempts in 1994 with some new ideas. Finally I got working map code together (most of it still is running in current ADOM versions) and from then proceeded with that project (still without a name).

I first devised the map code, followed by some primitive code to walk around (without any LOS stuff), open and close doors, then some some immobile monsters and so on. This always has been my strategy: start out small and plan from there. Just make sure that you keep enough room for improvements but don't try everything at once, because a typical roguelike game is so huge. Works fine for me.
Первые попытки была обречены на неудачу, так как я не смог создать работающий код генерирующий карту (я начал с этого). Полностью разбитый я прекратил всю работу, практически на год, но возобновил свои попытки в 1994 году с парой новых идей. Наконец я сделал рабочий генератор карты (большая часть которого до сих пор работает в текущей версии АДОМа) и с того момента продолжил работу над проектом, всё ещё без названия.
Сначала я разобрался с кодом обрабатывающим карту, а также ещё немного простейшего кода, чтобы можно было пройтись туда-сюда (без всяких там ЛОСей), открыть/ закрыть двери, потом чутка неподвижных монстров. В этом и заключалась моя стратегия: Просто удостоверьтесь, что вы у вас есть достаточно место для усовершенствований, но не пытайтесь сделать всё и сразу, так как обычный рогалик весьма огромен.
Последний раз редактировалось Jolly Roger 02 дек 2009, 10:13, всего редактировалось 2 раза.
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.

Аватара пользователя
Sanja
Администратор
Сообщения: 791
Зарегистрирован: 24 ноя 2006, 12:25
Откуда: Новосибирск
Контактная информация:

Re: Tales Of Power

Сообщение Sanja » 02 дек 2009, 09:50

Вот, Aerton, дельно высказался. Подпишусь полностью.

Подкину ещё немного статистики (кол-во линий, в тысячах):

Rogue - 6k
Xenocide - 34k
IVAN - 63k
Nethack - 134k
Stone Soup - 149k
ToME 3 - 167k
Angband - 197k

UPD:
Да, кстати, "немного" поправлю насчёт миллиона строк в ADOM. Вот выдержка из ридми:
ADOM is written in C and compiled with the help of GNU make (or any
other make) and one Perl script (to compile the online manual). As of
ADOM 0.9.9 Gamma 9 it consists of 71 '.c' modules, 74 '.h' files.
This amounts to more than 120000 lines of code (slightly over 3MB
for all the source files). As a comparison: ADOM 0.9.9 Gamma 16
prerelease 2 right now consists of 80 '.c' modules and 84 '.h' files.
This in turn amounts to roughly 140000 lines of code (slightly
over 4 MB for all the source fules).
For output ADOM uses the NCurses library under Linux.

And for comparison: ADOM 1.0.0 grew t 146561 lines of code in 82
'.c' files 86 '.h' files. Still slightly over 4 MB of sources.
А насчёт последней версии 1.1.1, то выдержка из TECHSTAT.DOC говорит такую статистику: 151172 lines, 4153249 bytes. Т.е. где-то около Dungeon Crawl Stone Soup находится.

Аватара пользователя
Anfeir
Сообщения: 876
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Re: Tales Of Power

Сообщение Anfeir » 02 дек 2009, 10:52

Jolly Roger писал(а):Запугали человека! :shock:
Вообще цель была постараться уберечь от разочарований.

Аватара пользователя
MyParanoya
Сообщения: 159
Зарегистрирован: 01 дек 2009, 19:13

Re: Tales Of Power

Сообщение MyParanoya » 02 дек 2009, 12:32

спасибо вам за ответы...
1. я представляю МАСШТАБ всего этого дела, так что уберегать от разочарований меня не стоит, тем более что я вначале написал, что школьник, лох и программирование рогаликов - в первую очередь средство самовыражения и поднятия навыков программистинга...
2. ДС - Dark Swords, байма - онлайн игра(может сленг))
3. насчет того, чтобы сделать "что-то маленькое, тупое, но законченное"... полностью согласен, но никто не мешает потом сделать из этого большое. т.е. как я представляю разработку:
- написал деталь
- дебагнул, посмотрел результаты, протестировал, посмотрел что не так или что не совсем получилось(относительно того, что хотел)
- добавил все что хотел
- дебагнул, посмотрел что получилось. подумал, что не так
и т.д....
4. я не знаю что в адоме суперского и на что можно потратить ГОД труда. я не максималист и осознаваю, что что-то могу неосознать, а степень осознания во многом зависит от ЛИЧНОГО опыта, который и хочу получить. кк строчек это вы загнули, наверное, 150к все-таки ближе к истине звучит))
5. про мощный ИИ... я понимаю, что это конечно, не очень просто, вернее, совсем не просто, если придется сделать еще и нечто вроде группового интеллекта(т.е. монстр мыслит не за себя, а за свою команду)
пока по ИИ наброски только на бумаге =)
6. Маелшторму я не писал в личку)
7. про ролевую систему - понимаю, что это ОЧЕНЬ сложно, особенно баланс
но наблюдая нынешние системы в ММОРПГ понимаю КОНКРЕТНЫЕ ошибки и, когда их исправляют(после того, как все ругаются) я чувствую себя молодцом. а ролевых систем(готовых) я видел очень-очень мало, в основном, настольные...
8. все-таки подробнее насчет совета сделать что-то маленькое.
наверное, в понедельник начну 7Д-РЛ, именно для таких целей(понятие канвы)
9. ну и всем спасибо за то что не отпинали, я много что понял =)

кстати, 2Веселый Роджер: нечто подобное я сотворил, немного посложнее, это и есть первый и последний опыт, превышающий 100 строк(до этого были олимпиады)))
кинуть не могу, потому что исходный код удалился(я протупил), а скомпиленный файл потерся вследствие моего бешенства по поводу исходника)))

Аватара пользователя
Jolly Roger
Сообщения: 2973
Зарегистрирован: 27 ноя 2009, 09:10
Откуда: Minsk, Belarus

Re: Tales Of Power

Сообщение Jolly Roger » 02 дек 2009, 12:49

ADOM, как я знаю делался около 7-8 лет. Естественно, как можно догадаться, Бискуп не сидел за ним сутками, но не год, это точно. :)

Кстати, первой работоспособной версией АДОМА было бесконечное подземелье по которому игрок шел всё глубже и глубже. Чем не начало?
Писать диздок спустя несколько лет разработки и множества изменений концепции - исконная русская девелоперская традиция.

Аватара пользователя
Anfeir
Сообщения: 876
Зарегистрирован: 14 дек 2007, 09:29
Контактная информация:

Re: Tales Of Power

Сообщение Anfeir » 02 дек 2009, 13:04

MyParanoya писал(а):спасибо вам за ответы...
1. я представляю МАСШТАБ всего этого дела, так что уберегать от разочарований меня не стоит,
Да просто (ты не поверишь :)), поразительно похоже начинались и многие схожие проекты, которые тут же и заканчивались, большая их часть. Но большая, конечно, не значит "все".

Ну, а по поводу "отпинали - не отпинали", это все пустое, судить все равно будут по результатам, я думаю ;-)
4. я не знаю что в адоме суперского...
Да хотя бы то, что играть в него _интересно_. Есть определенный "драйв".
Этого не так просто достичь, как кажется... Кроме всего прочего (всех фич и т.п.) есть разного рода психологические моменты, которые чувствуются на каком-то уровне, но в сознательный рассчет редко берутся ). (О как загнул). Хотя это вряд ли актуально сейчас. Главное, сделать чтобы что-то работало, пресловутый "7drl", почти гарантирую что это добавит желания заниматься дальше ).

Аватара пользователя
MyParanoya
Сообщения: 159
Зарегистрирован: 01 дек 2009, 19:13

Re: Tales Of Power

Сообщение MyParanoya » 02 дек 2009, 14:48

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

Аватара пользователя
MyParanoya
Сообщения: 159
Зарегистрирован: 01 дек 2009, 19:13

Re: Tales Of Power

Сообщение MyParanoya » 02 дек 2009, 14:51

ну можно, конечно, очищать экран и рисовать массив заново, но это круто?
или все так и делают))))?

Аватара пользователя
Jolly Roger
Сообщения: 2973
Зарегистрирован: 27 ноя 2009, 09:10
Откуда: Minsk, Belarus

Re: Tales Of Power

Сообщение Jolly Roger » 02 дек 2009, 14:56

Хмм... непонятно, в чём проблема?
А как это было сделано в "той самой" игре?

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

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 41 гость