|
11 / 11 / 1
Регистрация: 25.03.2011
Сообщений: 105
|
|
Разработка мощной игры на C#, .NET. Возможно-ли?21.03.2012, 14:43. Показов 36706. Ответов 12
Метки нет (Все метки)
Здравствуйте. У меня есть хорошия идея проекта. Монетизированная онлайн игра с хорошей графикой. Идея оригинальна.
Собственно вопрос. Возможно-ли с помощью всех прелестей языка Си Шарп (.NET, WPF, WCF, WWF SilverLight ...+ использование DirectX и Direct 3D и OpenGL) написать полноценную монетизированную онлайн игру с хорошей графикой (на уровне NFS, GTA, Perfect World, HMM 5) ? Что для этого нужно? Знания языка C# есть. Практика есть. Не знаю с чего начать, чтобы не тратить своё и чужое время впустую. И какие основные моменты нужно знать в моём случае. В каких еще сферах пригодятся знания? Вообщем к чему быть готовым? Рад буду любому совету. П.С. Надеюсь вы не поднимите мой ворпос на смех, т.к на начальном этапе каждый в чем-то некомпитентен как специалист. Спасибо! С уважением, Александр !
1
|
|
| 21.03.2012, 14:43 | |
|
Ответы с готовыми решениями:
12
Разработка игры Pacman на .NET Windows Forms Видеокарта для мощной рабочей конфигурации (не игры) .NET без .NET, возможно ли? |
|
|
||
| 21.03.2012, 16:41 | ||
Сообщение было отмечено как решение
РешениеСамое интересное, что для разработки игры вам понадобятся не столько навыки программиста, сколько знание психологии потенциальной аудитории, экономики для монетизации, менеджмента для управления командой и прочих областей не связанных с программированием. Так, например, заставить другого программиста оформлять всю проектную документацию гораздо сложнее, чем разработать самообучающийся ИИ, если ранее не приходилось это делать. Что касается непосредственно именно технических знаний, то полезно знать методы оптимизации, системы нечеткой логики или нейронные сети, для создания реалистичной физики нужно знать механику на уровне сложения сил и возникновения моментов сил, для сетевой части методику сетевого обмена данными между компьютерами, методы тестирования и отладки многопоточного кода, для безопасности проекта как от внешних, так и от внутренних угроз полезно знать методы контроля целостности, методы верификации клиентской версии программы и сетевых пакетов, методы защиты серверов от сетевых атак и т.п. Хоть это и выглядит довольно страшно на первый взгляд, но на самом деле углубленных знаний по всем этим дисциплинам не нужно, да и не обязательно все это нужно знать самому, ведь для этого есть еще команда. Начинать работу следует с одного: с составления диздока. В этом случае вы уже на раннем этапе выявите многие нестыковки и противоречия, на ликвидацию которых уйдет потом много времени. Второй плюс в составлении диздока - пока вы будете его писать окончательно приведете ваши мысли и идеи в порядок, у вас на руках будет документ, который описывает всю вашу игру от начала и до конца. Так же вы окончательно определитесь с используемыми технологиями, тенденциями в индустрии и наберете много материала для практической реализации. Не случайно в научных работах и диссертациях всегда начинают с обзора существующих методов и уже опираясь на них создают свое. После того, как диздок будет написан, можно уже приступать непосредственно к разработке. PS. Как всегда получилось немного сумбурно, так что прошу сильно не пинать.
12
|
||
|
11 / 11 / 1
Регистрация: 25.03.2011
Сообщений: 105
|
|
| 22.03.2012, 02:18 [ТС] | |
|
Спасибо!! Очень грамотно и четко все расписано. Я понял много ньюансов из выше сказанного. Респект!
П.С. Жду еще комментариев и советов по теме
0
|
|
|
Заблокирован
|
||
| 19.05.2012, 02:39 | ||
Разработка программы - не строительство дома. Программу можно перепланировать стопятьсот раз в любой момент. Более того, рефакторинг, скорее неотъёмная часть разработки, нежели неприятная неожиданность. К тому же, я считаю, что заранее нельзя предвидеть всех подводных камней, которые встретятся в процессе разработки.
0
|
||
|
|
|||
| 19.05.2012, 08:24 | |||
|
0
|
|||
|
Заблокирован
|
|||
| 19.05.2012, 18:13 | |||
|
http://habrahabr.ru/post/143762/ Я ни для одной своей программы не писал никаких диздоков. Многие моменты придумываются именно в процессе разработки, а не предварительно на бумаге.
1
|
|||
|
Просто Икс
691 / 233 / 47
Регистрация: 15.12.2009
Сообщений: 696
|
|||
| 20.05.2012, 07:41 | |||
|
Не по теме: ключевое тут...что Вы не писали для себя и своей программы ;) Добавлено через 1 час 10 минут Знания (кроме программирования) пригодятся по моделированию, текстурированию, анимации еще по тематике игры...это уже зависит от тематики....например если у Вас должен быть город то это архитектура, если это город 18го века, то это еще и история и т.д. и т.п. ![]() Еще из того к чему быть готовым... Что идей полно, но тех кто готов это реализовывать и может, значительно меньше, а у них полно своих идей. Поэтому никому Ваша игра изначально не нужна и делать её предстоит именно Вам в первую очередь, если Вы не миллионер ![]() "монетизировать" слово красивое, но сейчас это лишь Ваши мечты, а в действительности монетизировать можно все, но только малая часть получает прибыль превышающую затраты ![]() Ну и последнее, но не по значимости... Возможно всё, но не у всех хватает желания, упорства и терпения.
0
|
|||
|
|
||
| 21.05.2012, 08:37 | ||
|
История вторая: ушел один программист, который в одиночку вел проект. Даже минимальная документация отсутствует. Второй разработчик начинал это проект вместе с первым, но 5 лет уже им не занимался. Этот проект передается второму и ему приходится разбираться практически с 0 как же там все реализовано. Так что если проект свой и для себя, то документация совсем необязательна и часто достаточно хорошо комментированного кода. Но если над одним проектом работает команда или происходит передача проекта другому разработчику, тот тут минимальный набор документации просто необходим, т. к. существенно экономит время. И это только для программистов, а если добавим сюда еще кучу народа других направлений? Так что диздок к игре обобщает результаты работы ВСЕЙ команды и позволяет количественно оценить объем работы как выполненный, так и требуемый. А так же снижает порог вхождения новых участников в разработку проекта. Ну и последнее назначение диздока - рекламный буклет для издателя)) PS. Как всегда сумбурно, но надеюсь более-менее понятно)
1
|
||
|
Заблокирован
|
|||
| 21.05.2012, 19:56 | |||
|
Так как Документация нужна. Диздок - не нужен.
0
|
|||
|
|
||
| 22.05.2012, 08:38 | ||
|
Так же посредством диздока тимлидер может выставить требования к разработке, оформлению кода, ввести правила именования, оформления исходных данных и прочее. Так что с моей точки зрения для любого более-менее сложного проекта диздок нужен. А игры это скорее более, чем менее.
0
|
||
|
71 / 76 / 9
Регистрация: 30.06.2011
Сообщений: 176
|
|||
| 25.05.2012, 07:55 | |||
|
Написание движка с нуля очень затратное занятие, и если хочется использовать C#, то всяко лучше брать уже готовый движок, например Unity, где С# будет реализовывать высокоуровневую логику, а более ресурсоемкими задачами будет заниматься сам движок.
0
|
|||
|
|
||||||||
| 25.05.2012, 09:49 | ||||||||
|
Никто не запрещает критические участки десктопных приложений реализовать на C++ или С, в частности, движок игры на решетке никто не пишет. И XNA тоже не более чем высокоуровневая обертка над DX. Да и есть еще MOGRE (обертка над огром), упомянутая вами Unity, Irrlight, NeoAxis (кстати написанный над XNA) и прочие. Да и в целом интересно сколько по времени занимает подготовка сцены к рендеру, без учета затраченного времени на работу процедур граф библиотеки (DX,GL). Ваша и И для сравнения спецификация на C# выходит с такой же скоростью, как и спецификация на C++, а то 1 раз в 2-3 года. Дополнительных обновлений фреймворка выходит 1-2 за это время. Второй факт, подтверждающий "Миф" - это структурированность классов в библиотеках. На C++ хоть и существует возможность разделения кода по пространствам имен, но в библиотеках применять это как то не принято. Хорошую структурированность классов и методов на С++ я встречал только в библиотеках для CUDA. Из-за особенности NET начинающий разработчик может сам и без любых справочников найти требуемую библиотеку, используя Добавлено через 36 минут Сколько раз зарекался не писать в рабочее время. Дописываю мысли тут, отредактировать исходный пост уже нельзя.
2
|
||||||||
| 25.05.2012, 09:49 | |
|
Помогаю со студенческими работами здесь
13
Разработка игры
Разработка игры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|