|
|
Возраст: 36 C нами с 22.01.2006 Репутация: 256.8
|
|
aleksss, что мешает отделиться от железной исполнительной части(оставить микрофон, модем и прочее существенное, а исполнительные устройства заменить имитатором(типа система модульная - цепляешь интерфейс к реально существующему в доме железу и вперёд)) и реализовать только верхний уровень + софтовую (мб 3d) модель дома со всеми потрохами?
|
|
|
|
|
|
|
|
C нами с 25.01.2005 Репутация: 97.3
|
|
Есть предложение разработать систему исследования рынка онлайн игры.
Какая это будет игра не важно, ориентируйтесь на то, что эта система должна хорошо масштабироваться, чтобы поддерживать любую игру.
Задача: заработать как можно больше денег в онлайн игре, не принимая в игре участия.
Идея следующая: дешево покупаем, дорого продаем.
Для этого на мой взгляд нужно сделать несколько шагов.
Шаг первый:
процесс для регулярного сбора информации о рынке в онлайн игре
(кто продает, где продает, что продает, по чем продает)
Шаг второй:
процесс для регулярного статистического анализа собранных рыночных данных:
* выявление ходовых товаров, которые пользуются большим спросом
* выявление товаров, которые можно получить синтезом более мелких товаров с получением прибыли
* выявление наилучших точек покупки/продажи товаров
* выявление оптимальных уровней цены для покупки/продажи товаров
Шаг третий:
процесс покупки/продажи товаров, выявленных в ходе анализа
Все 3 процесса должны быть полность автоматизированными, и не требовать участия игрока в ходе работы.
Что получится в результате:
Полный контроль рынка онлайн игры: все товары покупаются по самым низким ценам, и перепродаются с максимальной экономической прибылью одним игроком.
Как это можно использовать в реальной жизни:
Во-первых, игровые деньги и вещи можно продавать за наличные деньги.
Ввиду того, что процесс получается полностью автоматический, его можно проводить для разных игр на нескольких серверах параллельно.
Во-вторых, такая система будет интересна для фирм, занимающихся исследованиями рынка товаров или ценных бумаг. А при желании можно будет и самим заняться исследованиями рынка. Разница будет лишь в том, откуда поступают данные рынка: из игры или от аудита торговых точек.
|
|
|
|
|
|
|
|
Возраст: 36 C нами с 14.05.2005 Репутация: 127.5
|
|
dimitri, GPSS - это просто. Моделирование вещь интересная, но препод скажет, что "без изюма"
Silicoid, прогеры мы. Извиняюсь, что сразу не уточнил.
splav, в том и проблема, что препод такую постановку вопроса отверг. Ну т.е. он поставил вопрос так, что при реализации нам придется раздобыть оборудование
Madlax, на мой взгляд хоть и интересно, но неочень жизненно. Уж лучше сразу для биржи мутить, но тут нам знаний не хватит.
|
_____________________________ Est Sularus oth Mitas.
|
|
|
|
|
|
|
Возраст: 39 C нами с 21.05.2005 Репутация: 127.5
|
|
Пишите авиационный\мореходный\наземный тренажер - симулятор.
Выгляжеть он должен так - стоит один комп с 3-4 большими мониторами, или одним гиганстким, не суть важно, для прогера вообще пофигу т.к.разделение по моникам делается средствами ОС. Если ограницения по моникам - один монитор с возможность осмотра по сторонам. Это будет вид из глаз пилота\штурмана\капитана\водилы\гомерасимпсона\еще_фиг_знает_кого.
Следовательно в оборудовании все просто - это 1 комп или 2-10 соединенных сетью (типа класс)
На мониторе собственно то что он видит - небо\воду\дорогу\лес\и.т.п и приборную панель. Кликами мыши\нажатиями кнопок\управлением с различных устройств ввода он управляет всем этим делом, причем тумблеры на панели соответвуют нажатиям, также как и поведение самолета\корабля\танка\машинки\буровойустановки\космическогокорабля\гомерасимпосна соответвует положениям этих тумблеров, рулей и т.п.
Дальше напридумывать можно многое.
Одному человеку написать более менее серьезный тренажер нераельно совершенно.
тут важна модульность. Причем модули зависеть друг от друга должны слабо. Отключил модуль панели управления - все равно тренажер работает, летит\едет но к примеру не управляем. Нужно лишь продумать как модули стыкуются друг с другом.
Модули сначала делаются простыми и примитивными, и с каждым разом все усложняются и усложняются. Каждый из вас будет выпускать новую версию модуля, она должна быть полностью совместима с предидущим комплектом. Написали панельку с 3 тумблерами, подвели к ней 3 кнопки управления на клаве\мышке, и все, в таком виде уже можно собрать первую версию проекта. Прикрутили графику. Даже если никто из вас не осилит 3д - напишите 2хмерную спрайтовую "вид сверху". Вот вам уже вторая версия проекта. Увеличили панель еще на 3 тумблера - прикрутили еще 3 кнопки.
Плюсы таког проекта очевидны. Начиная с самого простого, что пишется за 2 дня командой в 10 человек вы придете к серьезному проекту. Разрабатывать его реально должно много человек. Ну и даже если чето случится - хоть какято рабочая версия проекта всегда будет. К примеру отключился у вас человек, ответсвенный за ввод дданных. И всего у вас допустим 4 кнопоки, которые этот програмист сделал перед уходом. Даже в этом случае ваш автосимулятор будет отлично работать в режиме "каробка автомат" враво-влево-газ-тормоз. А потом вы можете доказать заказчику, что типа ваш автосимулятор доустпен на большее, и за дополнительную плату вы можете прикрутить к такой машинке МКПП, управление светом, печкой и даже вертикальный взлет.
Пример набора необходимых для проекта людей.
1) Главный разработчик, маркетолог, отвественное лицо, координатор. Он заведует всем проектом, смотрит за каждой его частью, сам ничего не пишет, но горит кому и что писать. Именно он договаривается с заказчиком, как, что, и где. Ставит задачу для всех.
2) Координатор проекта. Стыкует модули. Модули и так должны стыковатся, но ктото должен же следить за распределением общей памяти к примеру.
3) Программист устройства ввода (это если у вас будет использоватся чтото посерьезней клавы\мышки)
4) Програмист математики тренажера - тот, кто занимается поведением самого самолете\корабля\танка\машинки\ит.п. - для начала можно сделать равномерное наращивание координат x y z (в пространстве) в зависиомти от положения тумблеров - это просто. А диффуры, отрабоку гравитации и т.п. туда всегда можно засунуть дополнительно.
5) Программист поведения остальных обьектов - целей, ракет, объектов противника. также, начинаете с простого примтивного прямолинейного движения, а потом додумываете модели поведения тех или иных объектов, наводящихся ракет, ставящих помехи перехватчиков, ныкающихся за укрытиями танков.
6) Програмист графики. Ну тут все упирается в его способности. Освоит ли 3д в виде Опенгл\директХ, или сделает на спрайтах двумерную картинку - не суть важно. 2мерная картинка делается в билдере\вижлси без каклих-либо дополнительных компонентов в виде TImage на билдере или документ-вид на вижлси при наличии литературы за неделю с нуля. Если нужна серьезная 2мерная графика - тут придется порабоать больше - но у вас же время есть. И еще, он должен стыковатся с програмистом панели управления. Как пример - на одном мониторе панель, на другом - его графика, но там есть свои подводные камни с распределением задач.
7) Программист программы ввода начальных условий. Программа типа редактор, выбирает карту, расставляет своих, чужих, кароче начальные данные. Выглядит К примеру как редактор для игр-стратегий, где пользовтель мышкой расставляет на карте войска, задает им параметры и т.п. Запускается заранее, сохраняет данные в файлы.
8) (Опционально) Программист контрольных заданий - пишет задачи для пункта 7. Много разных конторольных задач, открывающих все возможности тренажера.
9) (Опционально) Программист откзов. К примеру инструктору хочется чтоб в процессе тренажа вдруг вырубалось какето оборудование. Значит это отдельный пульт управления (если просто - то окно с чекбоксами) где вырубаются те или иные блоки. К примеру блок курсовой устойчивости - объект начинает наращивать по какой либо координате X Y Z какуюнить ошибку, и как следствие постояяно пытатся свернуть.
10) (Опиционально) Предоставляющий железо\паящий устройства ввода\чтонить в этом духе
11) (опционально) Программист черного ящика. Записывает все действия обучаемого и может подать на вход записанные им данные. Чтобы иметь возможность потом прокуртить все его действия как урок.
12) (опциаонально) Моделлер\Художник. Рисует модельки, спрайты, кароче то что потом будет видеть тренируемый.
13) (Опционально) Программист клиент\сервер\сеть. Если компов больше 1.
Ну еще можно напридумывать.
Опятьже - говорю - этот проект простой, но в одиночку его до серьезного состояния не довести. Начинаете вы с простых окошек, простых движений, простого равномерно движения. А заканчиваете серьезным авиа-судо-танко-машинко симулятором. А почему? потому что каждый из вас будет занят только своим модулем, и будет его постоянно улучшать, доводить до ума, ктото графику из 2д превратить в 3д, ктото ему модели нарисует и т.п.
Как пример приведу свой проект (который уже сдан реальному госзаказчику) - тренжер штурмана. Есть контрольная панель, куда тыкает обучаемый, на панели управления все действует, посреди панели сделан индикатор внешней воздушной обстановки и еще пара индикаторов (графика) по этим индикаторам он и летит, оеценивает параметры, производит пуск ракет.
Задачи проекта были такими - Есть инструктор, есть 4 курсанта. Крусанты летаеют в группе, тоесть все вместе на одном поле боя. И соотвествующе взаимодейтсвуют, отдают приказы на атаку, и т.п. (итого 5 компов)
Курсант сидит, тыкает, инструктор уже на своем мониторе видит что он тыкает, у инструктора есть блок задания неисправностей, у него есть программа вывода внешней воздушной обстановки, он может видеть ее всю, а не только ту, что видит штурман. Тоесть сделаена сеть, у тренируемого свой комп и свое ПО, у инструктора свой и свое ПО. У инструктора все дейстивя обучаемого записываются, потом он может показать конкретные ошибки в повторе, что очень удобно и наглядно, и не подкопаешься - "Да не нажимал я на этот тумблер!"
Реализовано все это на разных компиляторах (язык везде си++), соединяет все эти программы только одно - память. Есть большая таблица смещений в памяти, естественно продуманная заранее, причем с большими резервными блоками под возможность расширения - мало ли чего заказчику захочется. И каждая из программ лезет в эту общую память, забирает то что ей нужно, кладет обратно. Тоесть программы все независимы, и работают все в независимости от остальных. Это главное преимущество. Реально применены были билдер 6, билдер 2006, вижл 2003, вижел 2005, борланд студия 5 (каждый программист писал на чем хотел, главено чтоб его модуль работал). Графика для тренирумеого была как раз 2д спрайтовая, у инструктора серьезная 3Д программа на ОпенГЛ с возможностью смотреть на поле боя с любой точки (режим полета), интерфейсы (то что видели пользователи) на билдере, математика на вижле и борланде 5. И все это отдельные программы, существующие сами по себе. Запускаются все в автозагрузке компа, а стартуют главные циклы обмена по появлению 1 в нулевом смещени по памяти - что соответвует большой кнопке ПУСК на панели управления. Там еще много особенностей, поставленных нашим заказчиком, к примеру с реальным временем, синхронизацией и некторым специфическим железом но вам это не важно и доделать вы это можете всегда сами.
|
|
|
|
|
|
|
|
C нами с 29.10.2004 Репутация: 141.2
|
|
Главное когда проект свой сдавать будете не забудьте его “зарегистрировать” как полагается. Людям которые креативят идеи да еще их сами и реализуют платят деньги, а вы целая группа студентов со свежим взглядом на вещи – батрачите на халяву. Как бы вас препод ваш не объегорил
|
_____________________________ Даже если ваше объяснение настолько ясно,что исключает всякое ложное толкование,всё равно найдётся человек,который поймёт вас неправильно. -(с)Законы Мэрфи
|
|
|
|
|
|
|
Возраст: 36 C нами с 14.05.2005 Репутация: 127.5
|
|
|
|
|
|
|
|
C нами с 09.06.2005 Репутация: 548.8
|
|
aleksss писал(а): |
MajorQ, - это пишется одним человеком где-нибудь за неделю (если не за пару дней).
Вообще говоря, цель курса - научить нас нормальной разработке (по всем пунктам, а не как у нас обычно делается) и научить работать в команде.
|
Пишется за неделю, никто и не спорит. Вот только при этом нормальной командной работы никто не демонстрирует, как, впрочем, и намека на правильный процесс разработки и, как следствие, никто не показывает должного набора артефактов, являющихся показателем зрелости процесса. Простота проекта никак не связана с постановкой процесса, более того, он станет прекрасным полигоном для отработки командного взаимодействия! Как показывает практика, если вы не в состоянии окажетесь грамотно провести даже такой простой проект, то про все свои амбиции с мегановаторскими проектами можете просто забыть! Сами же говорили, что цель курса - НАУЧИТЬ, а на крупных проектах при отсутствии опыта разработки мелких научиться можно только одному - как его гарантированно провалить.
|
_____________________________ Меня никогда не оскорбляли сатанисты за то, что я не верю в их Дьявола. Это делали только любящие христиане за то, что я не верю в их бога. (с)
Рики Джервейс
|
|
|
|
|
|
|
Возраст: 45 C нами с 28.07.2005 Репутация: 135.1
|
|
Во!
Напишите хорошую CMS
с кучей библиотек и модулей, масштабируемую, надежную и стабильную. с удобной системой управления....
её-же потом и продать можо
|
_____________________________ Выпрямись и убери руки от лица!
|
|
|
|
|
|
|
C нами с 04.02.2005 Репутация: 93.4
|
|
Вы хоть сами то предаставляете, что предлагаете? Им это не под силу никак, во первых нет опыта, а во вторых специфика таких проектов, что все делают 2-3 человека, а остальным пофигу - им бы похалявить.
И все это дурь МИФИшных преподов, сам насмотрелся - они все где-то в облаках витают и сами нифига о производстенном процессе не знают. Показателен случай у нас с Маркетингом (побочный предмет для нас). Нужно было бизнес-план разработать лично придуманной организации, ну народ и начал креативить, разработка ОСи, ночной клуб... Мы взяли продажу хот-догов и первые получили зачет, препод еще и сказал, что у нас все четко и реально, а остальным перед тем как за серьезное браться стоило свои силы оценить и потренироваться на чем-то попроще.
з.ы. Подождите пару недель и дайте преподу что-нибудь вменяемое, когда он сам уже поймет, что его требования туфта.
|
_____________________________ Think negative
|
|
|
|
|
|
|
Возраст: 35 C нами с 04.02.2005 Репутация: 121.3
|
|
Напишите OCR. Или, например, векторный графический редактор с поддержкой анимации. Или систему компьютерной алгебры. Можно еще придумать язык программирования и написать компилятор. Или файловый менеджер. Или онлайн-систему тестирования олимпиадных задач по программированию. Или IM-клиент вашей мечты.
А если серьезно, то, как уже было выше сказано, из 19-ти человек будут что-то делать 2-3, со всеми вытекающими последствиями. Короче, не замахивайтесь на что-то глобальное и уникальное. Попробуйте ту же систему управления поставкой товаров реализовать и увидите, как названная выше неделя растянется на весь год
|
|
|
|
|
|
|
|
Возраст: 44 C нами с 05.04.2005 Репутация: 121.2
|
|
aleksss писал(а): |
А то, что Вы приводите в пример, MajorQ, - это пишется одним человеком где-нибудь за неделю (если не за пару дней).
|
да и вообще всё в Excel можно учитывать... очень удобно. отчёты опять же легко делаются стандартной кнопкой "Печать".
адрес поставщика - в виде строки в свободной форме (кто сказал фильтровать по городу ? у нас никогда столько поставщиков не будет чтоб они все на экран не влезали.),
банковские реквизиты - в одной колонке. главное помнить что сначала наименование, потом значение (123456 ИНН 654321 КПП 123456 "ой ! я забыл в начале БИК написать, но этож очевидно !"),
возврат товара не предусмотрен (а зачем ? у нас хороший товар и поставщики надёжные)
щас залабаем за неделю (если не за пару дней) карточки нам вообще не нужны, а если сотрудники будут забывать нажимать кнопку "я пришёл на работу" и заполнять причину отсутствия - будем лишать забывчивых премии.
ps: то что предложил MajorQ не написать ни за неделю ни за месяц, боюсь что и пол года не хватит...
|
_____________________________ IRC WeNet #programming
jid: seb2000@jabber.ru
|
|
|
|
|
|
|
|