А какой такой "другой" будет ещё лезть к файлу БД железа для компьютера?
Любой другой плагин, например, тот, который отвечает за перебои напряжения, от которых некоторые девайсы будут просто сгорать.
Имеем файл БД железок для компа... В любое время этот файлик можем поставить другой (обновить итп...)
Программа (плагин) читает эту БД, т.е. получает список железок, пользователь там чё то покупает из этой БД, а то что он купил записывается в другой файл (файл с установленным железом),
... в это время другой плагин делает так, что сгоряют материнская плата и процессор и перезаписывает этот файл.
Дает команду "обновить".
после всего этого оболочки говорим чтоб она обновила данные о компе. Оболочка читает файл с установленным железом и в соответствии выводит эти данные.
И теперь представь, что в этой оболочке и файле БД получится в результате...
Блина, споры могут идти до бесконечности.
Кому-то не нравица то, кому-то это.
Предложите свой вариант.
Нужно заложить хотя бы основы, а уже потом все расширять (работы БД, добавление плагинов и т.п.).
Кто проектом рулит? HACKER. Вот пусть и делает как считает нужным, выложит кусок кода, а мы посмотрим этот кусок и оценим.
HACKER, накоди основу, чтоб на неё потом ориентироваца.
ок ок... без базара, полностью согласен с ArtBase. Сейчас рисуется дизайн игры параллельно с программированием так сказать основы... Вот что будет на главной форме:
1) Текущее стостояние игрока (кто он, деньги итп)
2) Текущие состояние компьютера (железо, ПО)
3) Жизненный статус (настроение, здоровье, возраст итп...)
4) И окошко с "дополнительными плагинами"
И так вроде дело сдвинулось!!! Самое первое что будем делать - рисовать. Да, именно рисовать интерфейс игрушки, а ещё конкретнее будем рисовать User Controls которые буду соответствовать дизайну игры. Дело выглядит так, мне дизайнер/фотошопник рисует то что я ему скажу, я ему покупаю пиво А вот дальше нужен кто-то, кто умеет хороши писать юзер контролы... Я в них не особо, кое как криво для себя писал парочку, предваритель достав половину форумчан Ну, дело не в этом... Нужен тот кто займётся рисованием этих контролов, и совмещением нарисованного с стандартными контролами. Т.е. к примеру, есть стандартный список, есть нарисованная оболочка вокруг этого списка, с заголовком итп... ну чтоб смотрелся список, был подписан что за список итп... Вот нужно взять эту картинку, разбить на несколько частей (боковая сторона, середина, верх, низ итп...) добиться ресайза (возможности изминения размера) ну и влепить стандартный список, в итоге получается что-то более красивое чем обычный скучный список... Вообщем кто умеет просьба или мне написать на visualbasic@xaker.ru и я сам свяжусб и дам задание, или постучаться мне в асю 334479038. Подчёркиваю, я гружу вас не от того что нефиг делать, а потому что я сам плохо работал с юзер контролами.
И так вроде дело сдвинулось!!! Самое первое что будем делать - рисовать.
Прошу прощения, конечно, за нескромный вопрос, но не кажется ли тебе, что жто уже когда-то было?
Сотни, если не тысячи софтверных проектов (посерьезнее, чем игра и с штатом в разы больше) загнулись, только потому, что сразу начали с того, с чего не нужно было начинать, например, рисовать, программировать и т.п.
А слабо сейчас сесть и написать план того, что будет выполнено в ходе разработки игры?
Не нужно говорить, что у тебя все в голове, ты все помнишь и в любой момент можешь излить это на бумагу/в вордовский документ.
Просто скажи, можешь именно сейчас сесть и написать?
Если можешь, то сразу пиши, если нет, то лучше не трать свое время и время других людей - все равно рано или поздно это начинание загнется.
Вдогонку:
делать все эти организационные и не очень дела не совсем интересно, сам могу сейчас об этом сказать, тк пытаюсь писать программу "по всем правилам" - описываю план (очень обобщенно, правда), полностью документирую и коментирую код (на что уходит ~ 80% времени, если не больше), это сложно все и непривычно, но тем не менее я рад, что наконец пишу приложение, которое сможет работать и через год и через два, и модифицировать его можно будет когда угодно и кем угодно, тк код полностью прозрачен, как за счет коментариев, за счет его документации, так и за счет описания всего этого кода.
Если опять подстрекаете в бессмысленной полемике, то пока зря - я еще не подготовился основательно, чтоб дать отпор десятку человек. Чуть позже.
(плз, это принимать как есть и не коментировать).
Программа Hello World не нуждается в документации.
======
Но речь не об этом.
Допустим, что я сегодня буду писать код по старинке, т.е. просто писать.
Сегодня я очень хорошо осознаю, что именно я пишу, для чего предназначена каждый слой, каждый класс, каждыя процедура, функция, свойство, строчка кода.
Учитывая тот факт, что приложение в корне завязано на ООП и в частности наследовании (вопреки пророчествам Эпплмана , в моем случае все-таки наследование очень помогает), и что многая функциональность разнесена по нескольким классам - родитель/наследник, осознание значимости каждой процедуры/функции очень важно, тк в конце концов все, чтоя написал, превратится в кучу нечитабельного непонятного кода, который проще переписать с нуля, а не документирвоать.
Возвращаясь к моей работе...
Сегодня я написал часть кода, довольно немало, часть отладил (ввиду специфики приложения отлаживать его полноценно можно только тогда, когда оно почти все готово, но все равно пару процедур/функций прогнал на правильность, на остальные понядеялся/перенес тестирование на более поздний этап).
Все, 1:30, дальше руки еще не отказываются бить по клаве, но мозги уже нуждаются в отдыхе.
Завтра, 9:00.
Какого %^$%^??? Кто писал этот код?
Через полчаса...
А нафига здесь эта функция? Нафик ее, она по идее не нужна...
Еще через полчаса.
Хотя нет, она тут нужна, возвращаем обратно.
и т.п.
Через полгода. Человек, который на основании приложения дописывает некоторый функционал
Какой $$#$%#$#$% $%$%^$%^$%^ $%^$%^ $%^% его за $%$%^ писал этот код...
Что это за лажа?
Какая функция здесь выполняет поиск по идентификатору?
%%%$%#$#!
$$#$%!
Я за 300 баков не подписывался со всем этим разбираться!!!
Все, нафиг.
Через полтора года... Человек, который должен немного дополнить модель.
$%^## #$#$# ##$$%|
какой ;%;%:/ это написал?
Не, шеф, это нереально дополнить, я пас.
========
Вот такую вот историю я придумал. Грустно?
А бывает еще грустнее, когда работает 300+ человек над одним полезным проектом, когда заказчик вкладывает в это много бабок, но в результате, потому что никто не документировал код, или не учитывал стандарты кодирования, или не читал спецификацию, или делал АПИ по своему усмотрению а не по документации, или менеджеры что-то напортачили в плане, или вообще план не делали, или бабки заказчика куда-то замылили, в результате проект не завершается в срок, и вообще не завершается и полмилиона человеко-часов оказываются потраченными хз на что.
Грустно?
Причем эти истории реальны, а не высосаны из пальца.
Советую для получения бОльшего впечатления (ну не могу я пока писать так же захватывающе, как некоторые другие) почитать Брукса или на худой конец Ашманова.
2Artyom
Да, именно это я и хотел сказать, тока слов не находил. Могу поспорить, многие ещё не представляют себе как и что должно выглядеть.
2HACKER
Надо четко продумать и расписать какие плагины за что отвечают, что содержат, как связыны с другими плагинами и "основой"
Распиши все подробно, вплоть до TextBox и Label, до мелочей...
Если дело и дальше так пойдет, боюсь пророчество Artyom сбудется.
HACKER, не ленись. Составь полный план. В WORD, со скринами, чтоб знали какой элемент и где и т.п.
Удачи тебе все это расписать, потому что писать придеца много. Ибо ты руководитель.
И вообще, я буду ровно на попе сидеть пока не получу первые исходники ("базу игры", т.к. ничерта не догоняю что все-таки требуеца, на что ориентироваЦа.
Слишком мало информации.
МЛЯ... Сел писать оболочку, вроде всё продумал, разве что нечего не описывал... Так ок, чё нарисовать? Стандартный фрейм? Или стандартную кнопку? ЧТО?!!!! Отож... Любая программа сначала накидывается визуально, а мне несчего накидывать её визуально... А вы отменя хотите подробностей, какие нафиг подробности?! Оболочку я полностю беру на себя! Обеспечиваю в ней обмен данными с другими плагинами по DDE интерфейсу, т.е. далее обрабатываю входные/выходные данные. В итоге оболочка делает: (грубо говоря!)
1) Отображает список доступных плагинов
2) Запускает их по требованию пользователя
3) Отображает текущие данные игрока и компа
Это основоное!
далее...
4) Жизненный таймер - считает время, прибавляет зарплату, прибавляет усталость итп...
Всё остальное - задача плагинов, которые писать будите вы! Возможно некоторые я... И того, я должен обеспечить командами для оболочки, которыми можно что-то узнать о оболочке, или сказать чтобы оболочка что-то сделала итп... Примерно это же требуется от плагинов, т.е. оболочка чё то сказала плагину он сделал. Пример:
Есть плагин поиска работы
Оболочка показала его, пользователь запустил...
Игрок нашёл/выбрал работу
Плагин передал оболочке данные о работе (название работы, зарплата, усталость котрую отнимает работа...)
Теперь оболочка знает где игрок работает, сколько получает и как устаёт
Оболочка отображает данные, таймер прибавляет (к примеру 1 раз в минуту) положенную зарплатку, отнимает силу (усталость)
Вот и весь пример взаимодействия. Теперь вопрос к вам уважаемые. Как вы собирайтесь писать? Вы знайте что за игра, её смысл, предположим мы определим команды оболочки, и так вроде всё есть... Вроде бери придумывай работы, проставляй зарплату, оценивай усталость, представляй игроку список с возможностью выбора работы, список получить этот с какой-то БД в которой все работы и информация о них... всё ништяк !!!НО!!! >>> Стоить сесть за чистую форму, и всё Как оформить? а?! Как что отобразить и где раставить? б?! ВОТ ПОЭТОМУ Я ПРЕДЛАГАЮ СНАЧАЛА НАРИСОВАТЬ ЮЗЕРКОНТРОЛЫ КОТОРЫЕ БУДУТ СООТВЕТСТВОВАТЬ ВИЗУАЛЬНО ЗАМЫСЛУ ИГРЫ! Написав все контролы мне будет легче и основную оболочку сделать... А рассказывать что у нас нечего не получиться, рассказывать мне что надо расписать документацию на несколько страниц
Распиши все подробно, вплоть до TextBox и Label, до мелочей...
КАКИХ нах мелочей?! Чел, пойми движёк игры! Оболочка за мной! Зачем мне тебе рассказывать какие textbox and label будет на оболочке?! Оно тебе не надо! Т.к. ты будешь писать другой плагин (наприер работы!!!) И ставь там какие хочешь текстобоксы и лабелы, как угодно оформляй!!! ЧТО УГОДНО!!! Лиш бы это вписывалось в дизайн игры (который я пытаюсь сделать) и в конце оболочка получила нужные мне данные!!! ВСЁ!!!! Ну как ваш ещё описать, рассказать, я непойму...!
Слишком мало информации.
КАКАЯ информация тебе нужна!!! СПРОСИ меня, если я что-то опустил...
И вообще, я буду ровно на попе сидеть пока не получу первые исходники ("базу игры", т.к. ничерта не догоняю что все-таки требуеца, на что ориентироваЦа.
ВОт ИМЕННО!!! Я пишу сейчас контролы которые будут использовать во всех плагинах! Потом я начну наполнять форму (расставлять нужные окошки, текстовые лайбелы, картинки надписи тип... ТОЛЬКО ОНИ БУДУ USER CONTROLSы которые будут соответствовать дизе игры!) Далее получение/отправка данных другим плагинам. А там мелочи вроде таймеров обрабатывающие приход зарплаты, устолости итп...
Господи, ну теперь всё?!
И всё же, вопрос про разработку юзерконтролов остаётся открытым!
МЛЯ... Сел писать оболочку, вроде всё продумал, разве что нечего не описывал... Так ок, чё нарисовать? Стандартный фрейм? Или стандартную кнопку? ЧТО?!!!! Отож...
Ну если такой вопрос возник, то явно стоит начинать не с создания новой формы...
А вы отменя хотите подробностей, какие нафиг подробности?!
Да, мы хотим подробностей.
Начиная с общей идеи игры.
До мельчайших надписей на кнопках можно, конечно, не доходить, но основное - идею и хотя бы до списка плагинов нужно дойти.
Что касается идеи - не нужно писать "Да блин, мы же тут все только что обсудили".
Я, поверхностно читая тред, уловил 2 диаметрально противоположные идеи, если перечитать еще раз, можно их насчитать еще больше.
Вот сейчас, запусти MS Word, открой все страниц этого треда, просмотри, выбери то, что является "идеей", переведи это на человеческий язык и покажы людям (например, на ftp выложи).
Вот, мол, делаем такую-то игру.
Далее - у игрока будет вот такой-вот список стандатрных характеристтик (уже в другом вордовском документе).
При достижении таких вот показателей он умирает.
Вот так вот характеристики влюяют на поведение игрока (например, если выпить в баре 10 бутылок водки, то взломать скорее всего нчиего не получится, а если морфием уколоться, то способность подобрать пароль от сайта, где деньги лежат, увеличивается в 10 раз) и т.п.
Вот, комп.
У него есть такие основные девайсы:
-
-
-
Опциональные:
-
-
-
Вот так они влияют на скорость работы:
-
-
-
Далее. Плагины.
Не до конца понял, почему именно DDE, когда подключаемые DLL и взаимодействие через интерфейсы в этом случае куда более адекватно, да и не современно это как-то - в 2005 году DDE использовать (честно говоря, слышал о ней я последний раз очень давно, потом один раз - в книге Эпплмана, когда он говорит, что DDE умерла, и сейчас ).
Ну да ладно, это не такой принципиальный вопрос.
Описываешь интерфейс плагинов, интерфейс оболочки (не GUI). То, как они должны взаимодействовать.
ВОТ ПОЭТОМУ Я ПРЕДЛАГАЮ СНАЧАЛА НАРИСОВАТЬ ЮЗЕРКОНТРОЛЫ КОТОРЫЕ БУДУТ СООТВЕТСТВОВАТЬ ВИЗУАЛЬНО ЗАМЫСЛУ ИГРЫ
Блин, ну пойми ты, нет сейчас смысла в этих юзерконтролах, нет.
Это все равно, что начать вхождение в бизнес ShareWare с открытия валютного счета (это я так хотел, каюсь ).
Слишком мало информации.
КАКАЯ информация тебе нужна!!! СПРОСИ меня, если я что-то опустил...
О! Ашманов рулит!!!
Примерная цитата из его сочинений (по памяти пишу):
Разговор босса и менеджера:
- Здорово, как там дела с проектом?
- Да все нормально, скоро уже бету выпускаем.
- ОК. План мне пришли.
- Да какой нафик план?
- Ну план, что за чем развиваться будет, реализовываться
- Времени нет, я ж говорю, скоро бету выпускаем.
- Скоро, это когда?
- Ну, в понедельник, или во вторник.
- ОК, но дальнейший план ты мне можешь скинуть?
- Да ну зачем тебе план? Ты у меня спроси, я все тебе объясню.
и т.д.
И всё же, вопрос про разработку юзерконтролов остаётся открытым!
Ты извини меня, конечно, но у меня возникло подозрение, что ты просто любишь делать юзерконтролы, поэтому с этого и хочется начать.
Сейчас вспоминаю сам, как сидел, с умным видом несколько часов продумывал структуру приложения, потом начал писать.
Сел, добавил класс, добавил к нему одно поле и задумался... Что писать дальше, как все реализовывать...
Елки палки, вроде же только что все это было в голове, ну хоть пощупай, а выразить в редакторе кода - ну никак
Теперь вопрос, если бы, сидя с умным видом и думая, я рисовал бы модель, потом потратил 1-2 дня на то, чтоб это превратить в ТЗ и документацию, то, запустив редактор кода, я бы также тупо в него смотрел, или все-таки начал бы, ориентрируясь по распечатанным материалам реализовыать все задуманное?
Итак, от тебя ожидается то, о чем я писал выше. Можешь выложить на ftp, а потенциальные твои партнеры посмотрят....
Вдогонку.
Написание всего плана, заданий и описание игрового мира, конечно, может занять дофига времени - несколько дней.
В принципе многовато, как для бумажной работы.
Но потом ты выиграешь гораздо больше времени, если не будешь также тупо сидеть и смотреть на форму, думая, какой бы фон делать юзерконтролам, а делать то, что запланировал сделать и что зафиксировал на бумаге (в памяти компьютера опционально).