www.mudconnector.su
https://forum.mudconnector.su/

О circle и перспективах его использования.
https://forum.mudconnector.su/viewtopic.php?f=12&t=653
Страница 2 из 5

Автор:  Бодрич [ Вт май 08, 2012 7:22 am ]
Заголовок сообщения:  Re: Ищу энтузиастов или помогите начать!)

Цитата:
#define IS_DARK(room) ((world[room]->gdark > world[room]->glight) || \
(!(world[room]->gdark < world[room]->glight) && \
!(world[room]->light+world[room]->fires) && \
!ROOM_AFFECTED(room, AFF_ROOM_LIGHT) && \
(ROOM_FLAGGED(room, ROOM_DARK) || \
(SECT(room) != SECT_INSIDE && \
SECT(room) != SECT_CITY && \
( weather_info.sunlight == SUN_SET || \
(weather_info.sunlight == SUN_DARK && \
!IS_MOONLIGHT(room)) )) ) ) )

А можете показать, на какую конструкцию, вы бы заменили этот код ?:)
Цитата:
Он собирается и работает под 64бит ?

Не знаю. Но кто мешает Вам проверить ?:)
Цитата:
lua

Писать мад-движок на lua с нуля ?) Заменить dg_scripts на lua мысль очень хорошая, но писать на нем мад-движок, имхо чуть не то.

Автор:  KadVar [ Вт май 08, 2012 7:10 pm ]
Заголовок сообщения:  Re: Ищу энтузиастов или помогите начать!)

Бодрич писал(а):
А можете показать, на какую конструкцию, вы бы заменили этот код ?:)

Часовой семинар по ООП и использованию функций обойдется вам в 30$.
Книжку я вам по-моему выслал уже год назад, там всё сказано вроде бы... нет ?
Вообще яб хотел видеть в самом худшем случае "if (room.isDark())"...
Но никак не #define

Бодрич писал(а):
Цитата:
Он собирается и работает под 64бит ?

Не знаю. Но кто мешает Вам проверить ?:)

А что-то про этот код вы знаете ? Советуя его использовать.
Мой циркуль собрался после недельного допила. Однако выяснилось что там
чудовищное количество труднообнаружимых багов. Увы, пришлось отказаться от 64 битности.
В некоторых местах... люди думали что длина int и char будет одинаковой вовеки, а кое-где
использованы magic numbers для определения места в памяти итд итп.
Всё это приводит к чумовым багам. Причем редким и труднообнаружимым.
Насколько это наследие самого циркуля, а насколько допила сказать трудно.
Но уверен... в нём тоже есть.

Автор:  Харч [ Вт май 08, 2012 9:12 pm ]
Заголовок сообщения:  Re: Ищу энтузиастов или помогите начать!)

Цитата:
1. Хотелось бы совета по движку. Существует ли какой нибудь структурированный и не запутанный? С вынесенными из кода системами заклинаний, умений, рас, профессий?


Именно такой движок я и собираюсь в конце-концов написать.

Цитата:
Самописы, действительно хорошие и открытые - это адская редкость. В основном это демы или недоработанные пороекты, типа Шааль мада, так же у америкосов. И потом есть трудность, нет хорошего кодера, руссифицировать и доработать буржуйский движок, или же написать его с ноля.


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

P.S. не знал, что кто-то, кроме завсегдатаев этого форума и меня знает о моем маде.

Цитата:
Часовой семинар по ООП и использованию функций обойдется вам в 30$.


:D +1 :D
Бодрич, еще раз прошу, прочитайте пожалуйста про ООП в C++ и напишите парочку серьезных проектов, ну в каком смысле серьезных, рабочих хотя бы :)
P.S. у меня есть неплохие (по-моему мнению конечно) проекты :)

Landstalker, еще год назад бы я с удовольствием согласился кодить, и кодить много. Сейчас я просто не знаю, что будет. У меня сейчас слишком много дел. Курсовые работы, научная деятельность, статьи для лаборатории, диплом через 2 года писать, там может аспирантура будет. Слишком много дел, чтобы с уверенностью сказать, что будет время на кодинг. Но за лето я все-таки попробую переписать движок своего мада. Для внешних описаний, скорее всего, подключу Lua. Не буду писать свой скриптовый язык.

P.S. О своих знаниях я хорошего мнения (сам я студент), но могу и ошибаться :)

Так что полная неопределенность :(

Автор:  KadVar [ Ср май 09, 2012 12:03 am ]
Заголовок сообщения:  Re: Ищу энтузиастов или помогите начать!)

У вас, к слову сказать, какой планируется инструментарий ?
Язык ? Платформа ?

Автор:  Бодрич [ Ср май 09, 2012 7:51 am ]
Заголовок сообщения:  Re: Ищу энтузиастов или помогите начать!)

Цитата:
Часовой семинар по ООП и использованию функций

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

Автор:  Харч [ Ср май 09, 2012 11:15 am ]
Заголовок сообщения:  Re: Ищу энтузиастов или помогите начать!)

KadVar писал(а):
У вас, к слову сказать, какой планируется инструментарий ?
Язык ? Платформа ?


Язык - C++, платформа - изначально Unix-подобные системы, но, так как есть Cygwin, то и под Windows тоже будет. Клиент стандартный - telnet.

Бодрич писал(а):
Но если, вы предлагаете весь код сделать состоящим из ООП, процедур, то игрок все равно ничего не заметит. Так зачем что-то менять, если и так работает. Ну и конечно кодер согласится кодить под такой движок.


Почти так я и собираюсь сделать. Игрок не заметит. Но заметит кодер. Он не сможет развивать мад дальше. Он просто запутается в нем... Если хотите, могу Вам предоставить код мада Шааль. Вы увидите, что такое отсутствие ООП. Ну и развивайте мад дальше :D Если получиться ;) Лично я вижу, что этот путь тупиковый, необходимо вводить классы, процедуры, наследование. Могу даже подробно расписать почему.
P.S. а так и хочется сказать: "Учите матчасть" :D Так что, лучше почитайте про ООП :)

Автор:  KadVar [ Ср май 09, 2012 11:52 am ]
Заголовок сообщения:  Re: Ищу энтузиастов или помогите начать!)

Бодрич писал(а):
Цитата:
Часовой семинар по ООП и использованию функций

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


Вы всё-таки не прочитали книжку, которую я вам выслал. Читайте. Но возможно вам надо Г.Буча. Но вряд ли.

Объясню примерами "совсем для детей".
После написания продукта работа только начинается. Требования к функционированию любого кода как правило меняются.
Что-то доделывается. В результате, даже если этим занимаются очень квалифицированные люди мы имеем два момента:
1. Любые доделки в разы "дороже" по времени, чем если бы они были запланированы изначально.
Таким образом при некоем объеме доделок ВЫГОДНЕЕ по времени написать с нуля, нежели доделывать имеющееся.
2. Любые доделки нарушают первоначальную архитектуру и "запутывают" код. В результате КАЖДАЯ следующая
доделка сложнее предыдущей.

В результате, к примеру, через 10 лет работы, любые исправления вдвое дороже чем были 10 лет назад.
"Вдвое" - это результат ИДЕАЛЬНОЙ работы ИДЕАЛЬНОЙ команды. Я такой проект знаю. Я знаю много проектов.
А такой знаю 1 (ОДИН). Обычный коэффициент через 10 лет доделок лежит в диапазоне 10-100.
(от десяти до СТА). Это значит, что любые действия с кодом в СТО раз больше времени занимают, чем будучи
сделаны при разработке.
По моим оценкам все эти heavy modified circle рубеж в 100 уже очень давно перешагнули.

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

Автор:  KadVar [ Ср май 09, 2012 11:54 am ]
Заголовок сообщения:  Re: Ищу энтузиастов или помогите начать!)

Харч писал(а):
KadVar писал(а):
У вас, к слову сказать, какой планируется инструментарий ?
Язык ? Платформа ?


Язык - C++, платформа - изначально Unix-подобные системы, но, так как есть Cygwin, то и под Windows тоже будет. Клиент стандартный - telnet.


На сегодня яб вплотную о C# подумал.
Всё руки не доходят, но думаю mono вполне функционален.
Там есть немало преимуществ. Скажем сериализация нормальная одна дорогого стоит.
И многое другое тоже неплохо доделано.

Он дороже на этапе выполнения, но дешевле на этапе разработки.
Сомненье у меня только в том, как дебажить под линуксом, и насколько ущербен сам моно.

Автор:  KadVar [ Ср май 09, 2012 12:03 pm ]
Заголовок сообщения:  Re: Ищу энтузиастов или помогите начать!)

Спугнули мы ТС-а :)

ЗЫ. ООП итп это не панацея. По-хорошему надо начинать распутывать клубки с другой стороны.
Кстати не исключено, что имеет смысл для начала писать не код, а тесты :)

Автор:  Харч [ Ср май 09, 2012 12:14 pm ]
Заголовок сообщения:  Re: Ищу энтузиастов или помогите начать!)

KadVar писал(а):
На сегодня яб вплотную о C# подумал.
Всё руки не доходят, но думаю mono вполне функционален.
Там есть немало преимуществ. Скажем сериализация нормальная одна дорогого стоит.
И многое другое тоже неплохо доделано.

Он дороже на этапе выполнения, но дешевле на этапе разработки.
Сомненье у меня только в том, как дебажить под линуксом, и насколько ущербен сам моно.


Я тоже о нем подумываю, но пока я программирую очень хорошо именно в C++. Так же в C# я не программировал еще. Подозреваю, что он и обычный код C++ скомпилирует. Так что переложить на него проект будет довольно просто.
mono - что за зверь? :)
В последнее время я делаю так: я пишу логгер, передаю его движку, а в движке буквально на каждом шагу, где возможно ошибка, делаю проверки и посылаю в логгер ошибки. И дебажить не надо. Не знаю, может это и глупо очень, но я за время работы убедился в том, что этот подход намного удобнее, чем дебаг. А может я просто не умею пользоваться дебаггером :)

KadVar писал(а):
Спугнули мы ТС-а

ЗЫ. ООП итп это не панацея. По-хорошему надо начинать распутывать клубки с другой стороны.
Кстати не исключено, что имеет смысл для начала писать не код, а тесты


Я извиняюсь, но по-моему я уже достаточно сведущ, чтобы писать ООП :) Думаю, что все-таки тут я не последую Вашему совету и буду писать код :) Так же я не понял что такое тесты :)

А Бодричу, действительно, давно пора сесть и за месяц изучить ООП.

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

Страница 2 из 5 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/