+ Ответить в теме
Показано с 1 по 20 из 855

Тема: Разрабатываем свою собственную Циву

Комбинированный просмотр

  1. #1
    Злой магрибский колдун CIVFANATICS.RU TEAM Аватар для sweeper


    Регистрация
    01.03.2005
    Сообщений
    2,968
    Что такое выбор языка. Задача:
    Есть текстовый файл. нужно сосчитать, сколько раз упоминается в нем каждое слово.
    Выдать 10 наиболее часто встречающихся, вместе с количеством вхождений.

    Программист на чистом Си сделает эту задачу за час..полтора.
    На Си++ - чуть быстрее.
    С использованием Qt - минут 15
    На Perl - пять минут, и решение будет в одну строку.

    Но это вовсе не значит, что нужно везде и всегда использовать Perl.

    Почему суперрегистр делает вид, что не понимает, почему делать игровую логику на C++ - это жесть, я не понимаю. Он себя позиционирует как непонятого гения, так пусть проявить свою гениальность. Он также упорно делает вид, что Питон и C++ - одного уровня, и ничего не стоит заменить одно другим. Например, использовать Питон в чисто счетной задаче отображения земного шара.

    Павел, в твой огород тоже пару камешков. Тебе рассказать, для чего ООП нужно?
    ООП позволяет
    * управлять сложностью.
    * распределять работу между несколькими исполнителями с более высокой эффективностью.
    * ООП существует само по себе, без привязки к языкам. Конечно, использовать ООП легче в тех языках, где оно поддерживается синтаксисом.
    * ООП подразумевает использование паттернов программирования. Без паттернов нельзя будет ни понять чужую программу, ни исправить.
    * Программы на Си++ с использованием ООП более эффективны, чем на чистом Си без ООП. Это факт, вызванный тем, что Си++ позволяет некоторые операции провести на этапе компиляции и не тащить этот код в объектный модуль.

    Твоя фраза насчет Qt:
    <div class='quotetop'>Цитата</div>
    Qt знаю что за зверь, по моему для 3Д игры не прокатит.[/b]
    Может, кьют и не покатит для Halflife-3, но мы не халфу пишем. Но он имеет встроенный модуль для подключения OpenGL, что как раз для отображения поверхности земли, если уж нам так нужен этот реализм.

    Штурман, кроссплатформенность демонстрирует качество продукта. В случае Qt она достигается использованием родных для каждой платформы примитивов, которые подключаются/отключаются на этапе компиляции. То есть она не стОит вообще ничего.

    Я уже писал, почему для игровой логики нужен свой язык, и примерно какой он должен быть. Но наш гений допускает только гениальность своей собственной головы, чужих постов он не читает. Да и накидано уже достаточно. Мои аргументы в пользу специализированного языка для описания игровой механики:
    http://www.civfanatics.ru/forum/index.php?...st&p=265831
    http://www.civfanatics.ru/forum/index.php?...st&p=265896
    http://www.civfanatics.ru/forum/index.php?...st&p=266414
    http://www.civfanatics.ru/forum/index.php?...st&p=265977
    продвинь это сообщение в соцсеть:  
    Вот уже несколько лет все мои посты крутятся вокруг темы реалистичной модели цивилизации.

  2. #2
    <div class='quotetop'>Цитата(sweeper * 21.4.2010, 9:49) [snapback]333665[/snapback]</div>
    Штурман, кроссплатформенность демонстрирует качество продукта.[/b]
    Согласен. Я имел в виду накладные расходы в широком смысле.

    <div class='quotetop'>Цитата(sweeper * 21.4.2010, 9:49) [snapback]333665[/snapback]</div>
    для игровой логики нужен свой язык, и примерно какой он должен быть.[/b]
    Тоже плюсую. Я когда учился на младших курсах в институте, поначалу не мог понять, зачем всё время придумывают какие-то новые языки программирования, ведь есть же С++, который очень крут и в котором всё есть. Так я думал до тех пор, пока у самого не возникла необходимость что-то смоделировать в одной из курсовых работ.

    <div class='quotetop'>Цитата(Pavel Zachesa * 21.4.2010, 5:40) [snapback]333662[/snapback]</div>
    Да и я не люблю ООП или как говорят злопыхатели не понимаю.[/b]
    Павел! Никогда, никогда и ни при каких обстоятельствах не произноси вслух подобных фраз. Линус Торвальдс однажды в публичной переписке упомянул, что предпочитает писать на C, так как C++ так и не смог осилить из-за неоправданной сложности. Ему это до сих пор припоминают те самые "злопыхатели".

    Ни в коем случае не хочу помешать проекту и двигающим его энтузиастам! В программировании помочь не смогу, а оказать идеологическую помощь - тут и так желающих предостаточно. Разве что могу поучаствовать в тестировании и этим посодействовать.

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

    Перед вами два инструмента: бензопила и лобзик.
    • Один думает: "Инструмент должен быть адекватен задаче. Если валить лес, то я возьму бензопилу, а если вырезать фигурки из фанеры, то лучше лобзик."
    • Другой рассуждает так: "Бензопилой я никогда не пользовался, а лобзиком владею в совершенстве. Поэтому любую задачу я лучше и быстрее решу при помощи лобзика, а то ведь бензопилой ещё учиться пользоваться надо."
    • Третий считает: "Бензопила превосходит лобзик по всем параметрам. Следовательно, она более универсальна. Всё, что можно сделать лобзиком, можно сделать и бензопилой, но не наоборот. Поэтому я всегда использую бензопилу."
    Но есть вещь, которая гораздо важнее выбора инструмента. Это то, что упорно пытается всем втолковать Аку-Аку. В чём главная идея игры? Чем она будет принципиально отличаться от Цивы, ТоталВара, Варкрафта и остальных? В чём, так сказать, главный удар? Где та идея (концепция), от которой разработчики не откажутся ни при каких обстоятельствах, даже если придётся жёстко урезать бюджет/сроки/функциональность?

    Необходимым условием любого начинания является чёткое видение цели. Если этого нет, то не поможет ни лидер, ни движок/язык/платформа, ни профессиональная команда.
    продвинь это сообщение в соцсеть:  

  3. #3
    Злой магрибский колдун CIVFANATICS.RU TEAM Аватар для sweeper


    Регистрация
    01.03.2005
    Сообщений
    2,968
    <div class='quotetop'>Цитата(Штурман * 21.4.2010, 12:41) [snapback]333668[/snapback]</div>
    В чём главная идея игры? Чем она будет принципиально отличаться от Цивы, ТоталВара, Варкрафта и остальных? В чём, так сказать, главный удар? Где та идея (концепция), от которой разработчики не откажутся ни при каких обстоятельствах, даже если придётся жёстко урезать бюджет/сроки/функциональность?[/b]
    Я за себя отвечу. Т.е. если бы я собрался делать игру (то есть если бы нашелся спонсор, который обеспечил бы мои материальные потребности в этом мире, хотя бы на год), то основными особенностями игры были бы:

    1. В основу игры будет положена не история (и уж тем более не чье-то представление о ней), а общие принципы развития человечества, которые еще только предстоит вычислить.
    2. Временной интервал - от каменного топора до фантастического будущего, причем эпоха, в который мы живем в реале, будет где-то посередине.
    3. Дерево технологий будет непредсказуемым. Это + к реализму, хотя бы и при помощи фантастики (если надо, я позже расшифрую).
    4. Прямое управление отдельными юнитами не допускается.
    5. Аналоги великих людей цивы будут существовать, но не растворяться в общей массе, а создавать профиль управления отраслью (если надо, я позже расшифрую).
    6. Ресурсы конечны, но их много (роем вглубь).
    7. Тайлов нет, есть территория
    8. В процессе игры идет программное взаимодействие моделей, которые описывают все игровые сущности.
    продвинь это сообщение в соцсеть:  
    Вот уже несколько лет все мои посты крутятся вокруг темы реалистичной модели цивилизации.

  4. #4
    Почётный заседатель Аватар для Yorick


    Регистрация
    31.03.2005
    Адрес
    Киев, Украина
    Сообщений
    2,865
    <div class='quotetop'>Цитата(sweeper * 21.4.2010, 11:29) [snapback]333692[/snapback]</div>
    Я за себя отвечу. Т.е. если бы я собрался делать игру (то есть если бы нашелся спонсор, который обеспечил бы мои материальные потребности в этом мире, хотя бы на год), то основными особенностями игры были бы: ...
    [/b]
    Но ведь не ты собрался? Или - и ты ведь не собрался?

    Не критикую твой пост. Просто пытаюсь понять - какую задачу ставят те, кто в 100й раз излагает свой вижн. Я тоже этим грешил (грешу?), так что вопрос адресую и себе.

    Правда сейчас я стараюсь этого не делать. Единственно что недавно попросил народ обсудить мой новый режим хода игры, просто чтоб услышать конструктивную критику и предложения, и может что поправить в своем вижне, но не пошло - так не пошло.
    продвинь это сообщение в соцсеть:  
    Россия окончательно доказала, что она фашистская страна, для маскировки называющая фашистами других. Гитлер начинал так же; надеюсь, Россия и закончит так же.

  5. #5
    Злой магрибский колдун CIVFANATICS.RU TEAM Аватар для sweeper


    Регистрация
    01.03.2005
    Сообщений
    2,968
    <div class='quotetop'>Цитата(Yorick * 21.4.2010, 15:07) [snapback]333700[/snapback]</div>
    Но ведь не ты собрался? Или - и ты ведь не собрался?[/b]
    Нет, не собрался.

    <div class='quotetop'>Цитата(Yorick * 21.4.2010, 15:07) [snapback]333700[/snapback]</div>
    Не критикую твой пост. Просто пытаюсь понять - какую задачу ставят те, кто в 100й раз излагает свой вижн. Я тоже этим грешил (грешу?), так что вопрос адресую и себе.[/b]
    Во-первых, все изложили и страшно гордятся этим. Не изложить свою точку зрения означает не иметь ее вовсе, следовательно, в общественном сознании участников иметь меньший вес. То есть я преследовал чисто утилитарную цель: утвердить в сознании участников этой дискуссии, что не они одни тут имеют что сказать. Во-вторых, надо застолбить кое-какие идеи, пока их Сид не придумал.

    <div class='quotetop'>Цитата(Yorick * 21.4.2010, 15:07) [snapback]333700[/snapback]</div>
    Правда сейчас я стараюсь этого не делать. Единственно что недавно попросил народ обсудить мой новый режим хода игры, просто чтоб услышать конструктивную критику и предложения, и может что поправить в своем вижне, но не пошло - так не пошло.[/b]
    Не обижайся на мою прямоту, но я мало что понял из твоего объяснения. Поняли ли остальные? Лично мое мнение - поочередно или симультан, а у тебя какой-то гибрид получился, где микроменеджмента -- умотаться сколько. Это сползание к тактической игре. Вот поэтому я и не вступил в обсуждение -- зачем? Переубеждать тебя? А смысл?

    2Peter:
    Непредсказуемость дерева технологий строится на трех идеях.
    Первая предложена суперрегистром здесь и касается она подачи технологии снизу.
    Вторая должна компенсировать реальность, так как игрок-человек, очевидно, знаком с реальностью, и знает, какие технологии реальны, а какие нет. Поэтому вместе с реальными технологиями добавим еще нереальных - биолокацию (+100% при поиске месторождений), управление погодой при помощи жертвоприношений (+20% к урожайности зерновых, -20% от репутации) и т.д. Но самая фишка в том, (третья идея) что маска применимости технологий генерируется так же, как и поверхность Земли. То есть в одной партии биолокация может оказаться реальным явлением, там могут быть также колдуны, бытовая магия, оборотни в лесах; а вот "разведение костра под палубой" ни к чему не приводит. И игрок никогда изначально не знает, стоит ли вкладываться в вечный двигатель, а также, не рванет ли он через двадцать ходов Чернобылем или Лонг-Айлендом.

    Про пятый пункт попозже.
    продвинь это сообщение в соцсеть:  
    Вот уже несколько лет все мои посты крутятся вокруг темы реалистичной модели цивилизации.

  6. #6
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580
    интересные идеи, sweeper
    есть более-менее конкретные соображения по созданию непредсказуемого дерева технологий?
    по пятому пункту тоже интересны детали.

    а чем тайлы помешали?
    что такого особенного даст игре использование территории? это должна быть какая-то мега фича, оправдывающая сложность разработки при отказе от тайлов.
    продвинь это сообщение в соцсеть:  
    EC2 - разработка игры
    Мастерская Steam - мои моды для Civilization V
    Last Citadel - сайт игроков Warlords III

  7. #7
    Злой магрибский колдун CIVFANATICS.RU TEAM Аватар для sweeper


    Регистрация
    01.03.2005
    Сообщений
    2,968
    <div class='quotetop'>Цитата(Peter * 21.4.2010, 15:10) [snapback]333701[/snapback]</div>
    по пятому пункту тоже интересны детали.[/b]
    "Итак, Вас выбрали королем..." Но в реале первый руководитель не управляет отдельными юнитами. И отдельные здания он не строит. У первого руководителя есть три ветки власти, бояре, совет министров и т.д. Так вот, великие люди в моем проекте, в частности, играют роль советников. Сначала эти советники обезличенны, и управляют в пределах своей компетенции по некоторому стандартному профилю. Профиль здесь - набор предпочтений, какие решения принимать в тех или иных обстоятельствах. Например: строим баллистические ракеты. Есть возможность использовать жидкостные двигатели, или твердотопливные. Каким вы отдадите предпочтение? США строит в основном твердотопливные, СССР - жидкостные. Почему? Какая из систем лучше? Что повлияло на этот выбор? И самое главное, как могла бы измениться история, если бы мы стали тоже строить твердотопливные? Были бы они дороже? Летали бы дальше? Или у нас вообще не было бы БР?

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

    <div class='quotetop'>Цитата(Peter * 21.4.2010, 15:10) [snapback]333701[/snapback]</div>
    а чем тайлы помешали?
    [/b]
    А мы стратегию делаем или что? Ну не водит президент дивизии в бой. Он ставит задачу:
    * генштабу
    * министерству военной промышленности
    * секретным научным институтам
    В крайнем случае, расстреливает очередного Тухачевского или Павлова, но уже поздно.

    <div class='quotetop'>Цитата(Peter * 21.4.2010, 15:10) [snapback]333701[/snapback]</div>
    что такого особенного даст игре использование территории? это должна быть какая-то мега фича, оправдывающая сложность разработки при отказе от тайлов.[/b]
    Нет, поскольку юнитов не будет, не надо ничего двигать. Население отображается плотностью на карте. Результат ведения войны -- далеко не всегда захваченная территория. Да, мы привыкли к этому, но что дал захват Ирака? Там, может быть, стали меньше убивать? А в будущем, когда территория перестанет быть единственным источником материальной базы, характер войн может вообще измениться.

    Что, без бегающих юнитов - скучно? Некрасиво?

    А как насчет таких предложений:

    * Договоренности с бизнесом (они доступнее всего) других стран, минуя первое лицо. Можно попробовать и с другими советниками договориться. Настучит советник первому лицу (игроку) или нет?
    * Возможность проведения спецопераций по агитации населения другой страны, то есть фактически можно попробовать вызвать революцию, поколебать веру в светлые идеалы, сместить акценты и т.д.
    * пропаганда среди своего народа - в противовес вражеской.
    * Олигархи, которые хапают, но которых ты время от времени можешь расстреливать в угоду населению и для пополнения казны

    Но это всё из текущей реальности, что там может быть дальше - надо считать/смотреть.
    продвинь это сообщение в соцсеть:  
    Вот уже несколько лет все мои посты крутятся вокруг темы реалистичной модели цивилизации.

  8. #8
    Варвар

    Аватар для Peter

    Steam
    Mk Z

    Регистрация
    15.10.2005
    Адрес
    Россия, Самара
    Сообщений
    2,580
    <div class='quotetop'>Цитата(sweeper * 23.4.2010, 7:58) [snapback]333944[/snapback]</div>
    [/b]
    да я тоже в общем то против отдельных юнитов и их передвижения по карте. но тайлы (или узлы) всё равно нужны для структурирования пространства. города то будут к карте привязаны, верно? характеристики местности также нужно к чему-то привязывать, да и графику рисовать как-то.

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

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

    с той разницей что назначение не прямое: создаем вакансию "директор", указываем требования, например менеджер 3го левела. на следующий ход возможно кто то наймется на эту работу.

    по аналогии происходят назначения на все гражданские должности - полисмены, врачи и что там еще может войти в игру.

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

    как уже наверно понятно из моего поста, я за дискретное представление населения в неких человекоединицах определяющихся набором параметров (профессиональные навыки, менталитет, собственность). это удобнее для расчетов и для восприятия игроком. при этом средний размер города будет составлять около 15-20 "человечков", и около 75-125 для очень крупных городов (по 1-2 на нацию, возможно 2-3 для больших империй).


    про непрямое "управление политикой" - об этом я еще не думал. есть ли еще более конкретные соображения касательно того как будут функционировать эти советники?
    продвинь это сообщение в соцсеть:  
    EC2 - разработка игры
    Мастерская Steam - мои моды для Civilization V
    Last Citadel - сайт игроков Warlords III

  9. #9
    <div class='quotetop'>Цитата(sweeper * 21.4.2010, 9:49) [snapback]333665[/snapback]</div>
    <div class='quotetop'>Цитата
    Qt знаю что за зверь, по моему для 3Д игры не прокатит.[/b]
    Может, кьют и не покатит для Halflife-3, но мы не халфу пишем. Но он имеет встроенный модуль для подключения OpenGL, что как раз для отображения поверхности земли, если уж нам так нужен этот реализм.
    [/b][/quote]
    это я и имел в виду

    <div class='quotetop'>Цитата(sweeper * 21.4.2010, 9:49) [snapback]333665[/snapback]</div>
    Штурман, кроссплатформенность демонстрирует качество продукта. В случае Qt она достигается использованием родных для каждой платформы примитивов, которые подключаются/отключаются на этапе компиляции. То есть она не стОит вообще ничего.
    [/b]
    да, верно
    продвинь это сообщение в соцсеть:  

+ Ответить в теме

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru

free counters