Понедельник, 11 Декабря 2023, 12:16

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Форум игроделов » Записи участника » bum [65]
Результаты поиска
bumДата: Четверг, 26 Августа 2010, 14:01 | Сообщение # 41 | Тема: Помогите с элементарной механикой игры!!!
почетный гость
Сейчас нет на сайте
Quote (Renus)
Я пишу на DEV C++, скажите каким образом можно разбить мой главный файл (main.cpp) на несколько, к примеры классы и игровой цикл вынести в другие файлы, а то тяжко много страничный код писать...

Если возникают такие вопросы, то о чем здесь вообще речь идет? Спуститесь на землю. По ходу раз уж так хочется въехать в C++:

1. Изучать документацию по GCC (раз используеш DevC++, то как раз используеш MinGW, что является виндовым портом GCC). Разбираемся с нуля в том, что такое компилятор и линковщик, и вообще всю теорию о том как из исходников собирается бинарник:
http://www.network-theory.co.uk/docs/gccintro/index.html
2. Берем книгу Кернигана и Риччи о языке C, делаем тамошние упражнения пока не придет понимание особенностей чистого C лежащего в основе C++
http://cgip.inf.unideb.hu/eng/rtornai/Kernighan_Ritchie_Language_C.pdf
3. Штудируем уже сам C++. Впринципе названия книг выше приводились, но в интернете также всяких ресурсов до фига.
4. Паралельно проникаемся идеями объектно-ориентированного программирования. Неплохая книга - Айра Пол. Объектно-ориентированное программирование на C++. Выучить просто синтаксис описания класов - это все до одного места, ООП - это отдельная философия которую нужно понять (реализация ООП в C++ - это только один из вариантов, в других языках часто используются другие реализации, поэтому важно уловить саму идею).

PS: да и почему всех так тянет сразу в C++, может стоит сначала научиться программировать? Выберите что-то попроще, выработайте алгоритмическое мышление, научитесь описывать простенькие алгоритмы теми средствами которые предоставляет вам язык программирования, а потом уже беритесь за сложные вещи.

bumДата: Воскресенье, 22 Августа 2010, 23:04 | Сообщение # 42 | Тема: Сервера, нагрузки, хостинг
почетный гость
Сейчас нет на сайте
Quote (Bydlocoder)
А если пользователь просто закрывает браузер, скрипт не выполняется и пользователь так и остается онлайн.
Как можно сделать, чтобы скрипт выполнялся при закрытии окна? Я думал сделать обновление списка онлайн через аякс каждые 30 сек и если от пользователя не поступал запрос больше 5 минут, помечать его оффлайн, но как в таком случае вызвать скрипт обновления?

Именно так это и делается. Например клиент с определенным интервалом посылает запрос на сервер. Сервер при получении такого запроса пишет время его получения в профиль юзера в БД. Теперь сервер в любой момент сможет узнать кто онлайн, а кто нет сверив время прошедшее с момента последнего обновления. Никакого крона здесь не нужно.
bumДата: Воскресенье, 22 Августа 2010, 12:16 | Сообщение # 43 | Тема: Пособие для начинающих разработчиков Браузерных игр
почетный гость
Сейчас нет на сайте
Захотелось написать небольшой опус в дополнение поста в начале топика.

Данные наблюдения выработаны на основе некоторой практики разработки браузерной игры.

Сначала немного страшилок:

1. Если вы думаете, что разрабатывать игры - это просто и приятно, то вы ошибаетесь. Если вы думаете так о разработке браузерных игр, то вы ошибаетесь вдвойне. Разработка игр - это офигенно сложная штука. Скорей всего - это самый сложный путь который может выбрать для себя программист.

2. Если вы новичок в программировании - лучше пойдите подучитесь. Иначе будет только разочарование. При этом я не имею ввиду обучение конструкциям нового для себя языка программирования. Я имею ввиду обучение программированию как таковому - алгоритмы, парадигмы, паттерны и т.д. Это та база которая позволит впоследствии изучать новые технологии очень быстро. Напишите парочку утилиток для себя, придумайте несколько велосипедов, разработайте собственный арканоид, тетрис, змейку, может еще что-то. К сожалению изучить программирование быстро вряд ли получится. Я бы сказал, что быстрее чем года за три набрать необходимый багаж знаний не выйдет. Хотя всяко бывает. Когда почуствуете, что реально готовы - можете возвращаться.

3. Потянуть самому разработку игры такого класса с вероятностью 99,9% не получиться. Даже если вы уникум и в вас по какому-то недоразумению природы сочетается и программист и художник (что обычно несочетаемо), то у вас банально не хватит времени чтобы завершить игру в обозримый срок. Придется искать людей с которыми можно было бы работать вместе. Найти таких людей кстати та еще задача.

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

5. Вам придется вкладывать в разработку проекта свои деньги. Возможно небольшие, но точно придется, при этом длительное время не получая ничего взамен. Это ваши инвестиции которые также являются залогом того, что вы настроены серьезно и твердо идете к цели. В случае с браузерными играми вам не обойтись без затрат на хостинг и оплату домена. Также сюда можно включить затраты на покупку необходимого оборудования (в моем случае это была покупка нового ноута, а также планшетов художникам), оплата как домашнего так и мобильного доступа в Интернет (с кокого-то момента вы не сможете себе позволить роскошь не иметь его) и т.д. В роли офиса, для встреч членов команды, обсуждений и мозговых штурмов, мы используем столик в кафе, что также отражается на расходах. При этом объем неденежных инвестиций, а именно инвестиций вашего свободного времени (например на изучение новой технологии), будет вообще зашкаливать.

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

Если вышеописанные пункты вас не испугали - значит вы один из немногих кто способен довести дело до конца. Далее приведу несколько советов:

1. Выясните для себя с какой целью вы занялись разработкой игры. Например - создать коммерчески успешный проект и заработать денег. Цель "just for fun" также возможна, но будет сложнее с мотивацией да и странно разрабатывать мультиплеер (а ведь браузерные игры в большинстве своем именно такие) просто так, ведь хотелось бы чтобы в него играл еще кто-то кроме вас.

2. Определитесь с идеей и концептом игры. Чем подробнее вы все продумаете тем лучше. Старайтесь при этом быть реалистами и трезво оценивать свои силы. Имейте ввиду, что сама идея без реализации - ничто. Миллион умноженный на ноль даст ноль, аналогично даже супер мега идея буде не большим чем бесполезной писаниной если не будет реализована. Вариант "у меня есть мега идея, но я ничего не могу, поэтому хочу набрать программистов и художников которые бы делали то, что я скажу, а я потом поделюсь выручкой" - обречен на провал. На начальном этап ценность любой идеи весьма условна. Если вы делаете коммерческий проект, то представьте себя на месте его рядового пользователя и чесно себе скажите - согласны ли лично вы были бы тратить деньги на него, если да - продолжайте, если нет - у вас не будет достаточно мотивации чтобы завершить свой проект, меняйте концепцию.

3. Вам необходима команда. Желательно чтобы в ней был самый минимум людей реально необходимых для работы. Т.е. например ищите второго художника только в том случае если один реально не справляется с объемом работ. Нужно с самого начала четко со всеми согласовать с какой целью делается проект, обязанности каждого и его долю (или зарплату, если вы нанимаете человека временно) с прибыли. При этом адекватных людей согласных работать за долю в проекте найти очень сложно. Желательно также не искушаться включать в команду друзей если только не уверены в них на 100%. Работа есть работа, но у каждого человека разные о ней представления, лучше просто не ставить себя перед выбором - завалить проект или потерять друзей.

Вам необходимо будет выделить в команде человека, который бы исполнял обязанности менеджера проекта. В разработке таких больших проектов вылазит много рутины, типа обзвонить всех членов команды, согласовать встречу, поставить задачи, проконтролировать исполнение старых, определить причины отставания от графика, перераспределить обязанности в случае какого-то форс-мажора и т.д. Это каторжный труд на самом деле, придется также изучать менеджмент и психологию. Возможно стоит принять за основу одну из стандартных схем разработки, например Scrum. Само-собой нужно назначить для себя конкретные временные этапы разработки, т.е. конкретные даты когда вы собираетесь запускать проект на сервере, когда хотите иметь уже более-менее играбельную альфу, когда начинать тест и т.д. Даты конечно нужно назначать реальные, но и придерживаться их в дальнейшем.

Еще, желательно в самом начале формирования команды продумать разные скользкие моменты. Например как вы будете в случае чего расставаться с каким-либо членом команды? Это очень важный вопрос на самом деле, ведь вы не можете знать наперед как человек будет работать в команде. Многие могут быть прекрасными специалистами сами по себе но не быть командными игроками. Иногда люди могут терять интерес к тому, что вы делаете. Бывает. Но у вас есть цель - сделать успешный проект и поэтому нужно уметь в таком случае вовремя разойтись. Возможно выкупив долю, если член команды внес ощутимый вклад в проект. Совсем неплохо заключить на каком-то этапе что-то вроде договора о намерениях, с юридической точки зрения он не будет иметь силы но усное соглашение изложенное на бумаге и скрепленное подписями играет большую роль. На этом этапе кстати как раз и могут вылезти конфликты, но тут реально лучше раньше чем позже.

4. Определитесь с технологиями. Скорей всего придеться прошерстить Интернет на предмет того кто, что использует и попытаться выяснить плюсы и минусы разных технологий. Совсем неплохо если выясниться, что те технологии которые вы уже знаете можно использовать в вашем проекте, значит учить придется меньше. При этом технологии лучше выбирать с таким расчетом чтобы осязаемый результат можно было увидеть как можно скорее. Готовый прототип, пусть даже жутко глючная пре-альфа с 70% неработающих функций - это то, что должно быть готово как можно скорее. Что-то осязаемое также способно сильно поднять моральный дух команды, долгое же расписывание идеи в надежде когда-то приступить к разработке - способно его безвозвратно уронить. Здесь уже лучше не изобретать велосипеды, а стараться использовать высокоуровневые инструменты и фреймворки. А вот к использованию готовых движков я отношусь скептически, поскольку движок в браузерных играх практически полностью определяет функциональность игры, и если плодить игры на одинаковых движках, то в итоге получится то, что уже есть в рунете - куча клонов почти неотличимых друг от друга.

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

Про сами технологии я говорить не буду, их очень много. Для клиента вы можете либо ограничиться обычными возможностями HTML и JavaScript, либо обратить внимание на нововведения в HTML5, можете использовать всякие JavaScript фреймворки, или такие технологии как Flash или Silverlight. На сервере обычно простор больше, можете использовать PHP, Python, Perl, Java, ASP.NET, или даже экзотику вроде Erlang. Это уж как захотите и что выберите. Одно общее - в принципе построения клиент-серверных приложений разбираться придется.

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

5. Почему я говорю про важность скорости разработки? Дело в том, что ваш проект в изначальной своей задумке может оказаться невостребованным и неинтересным. Это абсолютно будничная ситуация. То, что интересно вам не обязательно интересно другим. Но поверте, чем быстрее вы об этом узнаете тем лучше. Это даст вам лишнее время на переписывание сценария и не даст упасть духом.

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

7. И в заключение - бойтесь стереотипов и шаблонов. Они убивают креативность. Выслушивайте чужое мнение но принимайте решение самостоятельно, изучив все факты.

Сообщение отредактировал bum - Воскресенье, 22 Августа 2010, 12:40
bumДата: Четверг, 19 Августа 2010, 12:10 | Сообщение # 44 | Тема: Dromvald
почетный гость
Сейчас нет на сайте
Quote (Лер_да_Рим)
Посмотреть своего перса. кликнув в самом верху на свой ник, выход оттуда также (а то я там замешкался. но я могу ошибаться).

Можно также кликать по аватарке, результат будет тот же.

Quote (Лер_да_Рим)

Это всё вроде по перемещению. По карте перемещаемся стрелочками...

Также можно перемещаться по карте с помощью стрелок на клавиатуре. Локаций пока нарисовано четыре, скоро ожидаем еще пять и первый остров будет завершен.

Quote (Лер_да_Рим)

Работает пока что только магазин, банк и сам город, больше ничего не работало, сколько я смотрел.

Еще работает Хижина целителя. В ней игроки до 3-го уровня могут бесплатно восстановить хп. Герой может восстанавливать жизнь и так, но на полную регенерацию уходит около 2-х часов.

Quote (Лер_да_Рим)

Бой. Итак, главное. Помещать юнита на поле щёлкнув сначала (он должен высветиться) на нужном юните, а потом на одном из игральных полей. Заклинания по-разному используем - массовые просто щёлкаем ("светлячки" массовые), если точечное - выбираем цель (можно и героя) и щёлкаем на заклинание. Активный скилл какого-то юнита используем также, нажимаем только вместо заклы на звёздочку (если горит - можно использовать) справа внизу выставленной карты. В общем-то, это всё. Уровень маны по всем стихиям показан в разноцветных полях под "аватаркой" героя на поле боя.

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

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

За один ход можно либо выложить одно существо либо вызвать одно заклинание. Допускается выложить существо, а потом еще произнести заклинание, но не наоборот. Спецспособность можно активировать за один ход одновременно у разных существ, но у каждого конкретного существа не больше одного раза. Позже в игре появятся артефакты (сейчас можно видеть только пустые слоты под них) которые также будут влиять на бой. На ход отводится не больше 2 минут, сколько осталось можно видеть слева на таймере. Если время истекает, то атака будет инициирована автоматически.

Теперь вроде все.

Сообщение отредактировал bum - Четверг, 19 Августа 2010, 12:14
bumДата: Четверг, 19 Августа 2010, 09:44 | Сообщение # 45 | Тема: Dromvald
почетный гость
Сейчас нет на сайте
Quote (eventide)
Здания совсем не сходятся с землей.

Да, есть такое, но это скоро поправится, наш художник сейчас их дорисовывает.

Quote (eventide)
Был глюк во время боя. Окно загрузки застряло и весело, хотя играть было можно но не удобно.

Бывает такое. В принципе всегда можно обновить страницу, игра продолжится с этого же места. Во второй альфе я планирую серьезно переработать визуализацию процесса загрузки, заодно прикрыв этот баг.

Quote (eventide)
При загрузке в окне карты написано "Квесты"

Не совсем понял, где именно?

Quote (eventide)
Игра торомит. Делайте что нибудь с этим.

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

Можете кстати поэкспериментировать с разными браузерами. По идее в Google Chrome игра должна работать шустрее, поскольку у него очень быстрый движок JavaScript. Если используете Firefox, то просмотрите какие плагины у вас установлены, возможно какой-то из них влияет на работу игры. Ну и быстрое подключение к Интернету также желательно. Хотя клиент обменивается с сервером довольно малыми пакетами данных, основная нагрузка - это подгрузка картинок. Но тут также есть способы как ускориться.

Quote (eventide)
Сделайте туториал! Сразу все не понял.

Да, это нам уже много раз говорили и я с этим абсолютно согласен. Могу сказать, что скоро будет, но точно сказать когда именно не могу. Жутко не хватает времени. Но мы понимаем, что это серьезная проблема и в нашем списке задач она помечена как первоочередная.

Quote (eventide)
Пусть кьюнты будут давать больше денег.

Quote (Лер_да_Рим)
Кстати, какой курс кьюнтов к эльмам? Я вот думаю менять-не менять...

Курс Кьюнтов к Эльмам пока не утвержден. В банке если не ошибаюсь сейчас используется курс 1/20. Т.е. 20 Эльмов за 1 Кьюнт. Стоимость Кьюнтов также пока не утверждена. У нас намечается ближайшим временем мозговой штурм по проблемам баланса и экономики, думаю мы выйдем на какие-то конкретные цифры.
bumДата: Вторник, 17 Августа 2010, 12:17 | Сообщение # 46 | Тема: Что же мне выбрать ?? C++ или C#
почетный гость
Сейчас нет на сайте
Quote (zadrot_666)
Вот гадство. А я его как то 2 недельки изучил.

Блажен кто верует...
bumДата: Вторник, 17 Августа 2010, 11:48 | Сообщение # 47 | Тема: Что же мне выбрать ?? C++ или C#
почетный гость
Сейчас нет на сайте
Quote (nilrem)
Сказал это своему компилятору. Он с меня долго ржал.

Интересно какой у вас компилятор и какие у вас там опции понаставляны? У меня вот сейчас под рукой - GCC 4.4.3 и Visual C++ 6. И там и там данная конструкция обрабатывается идентично и совершенно корректно. И это нормально. Могу объяснить даже почему: поскольку запись a[10] с точки зрения компилятора является ничем иным как более короткой формой записи конструкции *(a + 10) , то по той же аналогии 10[a] является всего лишь эквивалентом *(10 + a). Это обычная арифметика указателей и я не вижу с чего тут ржать. Вот вам скриншот кстати, чтобы смеялось меньше (он кликабелен):

Вот вам еще ссылка на книгу Кернигана и Риччи (кстати это автор языка C который лежит в основе C++) C Programming Language: http://net.pku.edu.cn/~course/cs101/2008/resource/The_C_Programming_Language.pdf
Откройте там 5-ю главу и почитайте про указатели и массивы, может перестанете удивляться.

Вот еще обсуждение данной особенности массивов на StackOverflow: http://stackoverflow.com/questions/381542/in-c-arrays-why-is-this-true-a5-5a
Можете еще по ходу изучить интересный тред там же о малоизвестных особенностях языков программирования: http://stackoverflow.com/questions/1995113/ Думаю узнаете много нового.

Quote (nilrem)
ЗЫ: Чет я нить спора потерял. Человек вроде спросил, что выбрать ему, а не что нравится вам.

Выбор языка всегда субъективен. Врядли кто-то будет советовать кому-то то, что ему самому не нравится. Это было бы по меньшей мере странно.


Сообщение отредактировал bum - Вторник, 17 Августа 2010, 11:50
bumДата: Вторник, 17 Августа 2010, 09:58 | Сообщение # 48 | Тема: Что же мне выбрать ?? C++ или C#
почетный гость
Сейчас нет на сайте
Quote (ezhickovich)
Я не спорю, что со временем его роль, как самого широко распространённого и гибкого ЯП пройдёт, только вот будет это не раньше чем через 5-6 лет.
Для текущего уровня развития технологий C++ является языком высокого уровня.

Ну, я ж не говорю, что C++ совсем плох. Это не так. И будет он еще долго популярным, а если в него привнесут новые плюшки, то проживет еще дольше. Поскольку как бы не были крутыми технологии вроде .NET или Java, как бы не увеличивалась популярность скриптовых языков, вроде Python, Ruby, JavaScript и пр., а все равно для таких языков как C++ ниша остается и никуда они просто так не денутся.
bumДата: Вторник, 17 Августа 2010, 09:26 | Сообщение # 49 | Тема: Что же мне выбрать ?? C++ или C#
почетный гость
Сейчас нет на сайте
Quote (zadrot_666)
То есть ты хочешь сказать что C++ не высоко-уровневый язык? Или ты его окрестил несовременным? Заранее благодарю, поржал. biggrin

Нет, C++ конечно же является языком высокого уровня, ведь это не ассемблер. Но он не является современным языком высокого уровня. Он появился более 25 лет назад и на протяжении 80-90-х был действительно крут. А по современным меркам он уже довольно устаревший. Именно поэтому сейчас идет разработка нового стандарта C++0x в котором заявлено реально много плюшек (в том числе наконец-то заявлены лямбда-функции). Можно почитать о нем на Википедии: http://ru.wikipedia.org/wiki/C%2B%2B0x Но, нужно время пока разработчики компиляторов это все реализуют и еще время чтобы этим начали пользоваться. Пока же C++ застыл в своем развитии на уровне 90-х.

Quote (zadrot_666)
За то конечному юзеру уж совсем не наплевать на то, выполняется задача за 0,1 секунды или за 1 секунду.

Вы утрируете. Такие ситуации бывают очень редко и обычно говорят об изначально неправильной архитектуре. Кроме того я дальше писал, что если уж никак, то всегда можно переписать критический участок на C или C++. Это проще чем вести весь проект только на C++ и в то же время вы не проигрываете в скорости.

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

Ну, большинство программистов свято уверены, что их то руки точно не кривые. Но даже такие популярные проекты как Firefox (я про старую версию 2.x) жрут память только так. Потому, что как только твоя программа разрастается, то очень легко многое пропустить. Слишком самонадеянно считать, что дело только в кривизне рук.

Quote (zadrot_666)
Открою тебе страшный секрет - язык сам по себе ничего делать не может. В C# кстати сборщика мусора нету.

Спасибо за открытие срашного секрета конечно, но если рассматривать язык в отрыве от его реализации, то какой в этом практический смысл?
Что касется сборки мусора, то она таки есть в C#, само собой на уровне CLR. Вот вам линк из MSDN - http://msdn.microsoft.com/ru-ru/library/ms228629%28VS.90%29.aspx

Quote (zadrot_666)
С++ давно уже нашел себе место как язык для разработки сложных систем.

В том, то и дело, что давно. Пока C++ двадцать лет топтался на месте - мир вокруг него двигался вперед.
Вот вам ссылка на рейтинг TIOBE. Это очень синтетический рейтинг, поэтому не нужно воспринимать его буквально, но основные тенденции он выражает, можете оценить тренд за последние почти десять лет: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Quote (zadrot_666)
Ну это проблема уже не языка. А вообще интересно откуда такая инфа. Проводил социологический опрос?

Это действительно возможно не проблема языка, но от этого не легче. У него высокий порог вхождения и быстро изучить его не получится. Проводил ли опрос? Можно и так сказать, работа способствует.

Quote (zadrot_666)
Но на деле все наоборот biggrin

Это вам так кажется.


Сообщение отредактировал bum - Вторник, 17 Августа 2010, 09:28
bumДата: Вторник, 17 Августа 2010, 00:22 | Сообщение # 50 | Тема: Что же мне выбрать ?? C++ или C#
почетный гость
Сейчас нет на сайте
Я не являюсь большим поклонником .NET и специалистом по данной технологии, поскольку последние несколько лет пишу большей частью на Python'е, но в данном случае заступлюсь за C#. Впрочем это касается не только C#, а любого современного языка высокого уровня (C++ уж извините, но таковым не является).

1. На практике, процент задач требующих жуткой оптимизации по скорости выполнения очень мал. Вообще скорость выполнения большинства задач не является критическим фактором. В самом деле, конечному юзеру глубоко наплевать на то, выполняется задача за 0,1 секунды или за 0,01 секунды. Кроме того большая часть программистов врядли способна соревноваться в написании оптимального кода с современными компиляторами. Поверте, написать медленный код на Ассемблере намного легче чем на C# или даже Python.
2. Зато есть другой важный фактор - скорость разработки. Сегодняшний рынок IT (не только разработки игр, а вообще) очень динамичен и если вы потратите лишнее время на разработку, то пропустите вперед конкурента, и как итог - потеряете деньги. Конечно же скорость разработки на C# будет в несколько раз выше чем на C++ и просто глупо этим не пользоваться. Причем скорость в том числе обеспечивается и меньшими затратами на отладку, поскольку допустить ошибку в коде на C++ несоизмеримо проще, а найти сложнее. Кроме того, программирование на относительно низкоуровневых языках, как тот же C++, порождает проблему преждевременной оптимизации. В свое время еще Дональд Кнут писал, что преждевременная оптимизация - зло. Вместо того чтобы сосредоточиться на задаче и решать ее, программист занимается оптимизацией какого-то блока программы не влияющего напрямую на решение задачи. В итоге разработка затягивается, а на выходе мы не получаем не то, что быстрого кода, а даже и хоть как-то работающего.
3. .NET так же как и Java, и некоторые другие подобные платформы поддерживает JIT. Т.е. при первом запуске ваш код автоматически компилируется в машинный код конкретной платформы, и при следующих запусках будет уже запускаться он. В такой ситуации разница в скорости между программой написанной на C++ и программой на C# может быть вообще мизерной. Что касается разнообразных тестов, то их можно накопать сколько угодно с разных сторон, но они все синтетические, в реальной жизни задачи более разнообразны.
4. Ручное управление памяти в C++ чем многие так гордятся, на практике порождает только проблемы, поскольку вместо решение конкретной задачи программист занимается борьбой с компилятором и устранением утечек памяти. Современные языки со сборщиком мусора этой проблемы не имеют, поскольку умеют освобождать память автоматически.
5. Тот же .NET вполне себе позволяет при желании использовать библиотеки написанные на обычном C++, поэтому если уж так нужно что-то оптимизировать, то флаг в руки.
6. Большая проблема .NET - отсутствие полноценной кросплатформенности. Впрочем, есть Mono, так, что сейчас на C# можно вполне нормально писать и под Linux.

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

Не знаю почему, но иногда многие преподносят C++ как супернавороченный язык со сверхвозможностями, почти как панацею от всего. Извините, но выглядит со стороны это не более чем желание показать у кого длиннее. Тем более, что многие C++ программисты свой язык понимают откровенно слабо. У некоторых наступает просто разрыв шаблона когда они узнают, что в C++ записи a[10] и 10[a] являются полностью эквивалентными. Некоторых воспитанных на современных IDE (как тот же VS например) ставят в тупик вопросы по написанию make-файлов. А все это вещи которые дают понимание языка. Если вы считаете, что знать C++ это круто, то это нифига не так. C++ это давно уже обычно, привычно и банально. Если же считать показателем крутости сложность языка для среднестатистического программиста, то любой программист на Lisp, Erlang или Haskell должен по идее смотреть на C++ программистов как на говно.

Хотите что-то выбрать? Бросьте монетку, что выпадет то и учите. И то и другое для выбранных задач подходит.

Сообщение отредактировал bum - Вторник, 17 Августа 2010, 00:29
bumДата: Понедельник, 16 Августа 2010, 12:35 | Сообщение # 51 | Тема: Dromvald
почетный гость
Сейчас нет на сайте
Almost_dead_Again, Спасибо
bumДата: Воскресенье, 15 Августа 2010, 10:27 | Сообщение # 52 | Тема: Dromvald
почетный гость
Сейчас нет на сайте
Quote (vaan)
Может ли кто-нибудь "левый"присоединится к бою и выбрать за кого он будет или это происходит рандомно?И вообще сколько максимально человек может учавствовать в одном бою

На данный момент реализованы только дуэли 1х1. Зайдя на локацию игрок может напасть на любого игрока или бота которые в данный момент не находятся в бою, и провести бой. Присоединиться к активному бою нельзя.
bumДата: Воскресенье, 15 Августа 2010, 09:29 | Сообщение # 53 | Тема: Dromvald
почетный гость
Сейчас нет на сайте
Quote (eventide)
Анархия?

Нет, это выдуманное название и к анархии отношения не имеет. Оно ничего не означает.

Quote (eventide)
молодцы!
очень интересно! удачи!

Спасибо.

Quote (vaan)
Поздравляю..
Это кстати ваша первая игра такого масштаба или были попытки создать что-то подобное?

Спасибо. Да, это наша первая попытка в разработке игр.

Quote (vaan)

P.S Поделись промо кодом-поиграть охото

Напишите пожалуйста сообщение на support@dromvald.com и мы пришлем промо-код в течении суток.
bumДата: Воскресенье, 15 Августа 2010, 00:56 | Сообщение # 54 | Тема: Помогите сделать анимированого персонажа. Наруто.
почетный гость
Сейчас нет на сайте
Поищите на торрентах книгу Introducing Character Animation with Blender. На PirateBay точно была. Там более 500 страниц кокретно про моделирование и анимирование персонажей.
bumДата: Суббота, 14 Августа 2010, 19:59 | Сообщение # 55 | Тема: Builder/VS/Qt/Dev/Lcc32 - что лучше?
почетный гость
Сейчас нет на сайте
Обратите внимание на QtCreator. С одной стороны реально классная IDE с встроенным дизайнером GUI, с другой стороны нацелена на написание программ на Qt и поставляется с ним в комплекте. Имхо Qt - это лучший фреймворк для C++ на сегодняшний день. Кроме того программу на Qt можно свободно компилировать не только под Windows, но и под Linux, Mac и даже Symbian (смартфоны на платформе Nokia s60).
bumДата: Суббота, 14 Августа 2010, 19:08 | Сообщение # 56 | Тема: Dromvald
почетный гость
Сейчас нет на сайте
Dromvald: The beginning
Официальный сайт: http://dromvald.com/

Dromvald - это браузерная MMORPG основанная на принципах коллекционных карточных игр. В игре описываются события происходящие на вымышленной планете Эхнария. Исследуя тамошний магический мир игрок может участвовать в боях с другими игроками, заниматься добычей ресурсов, изготовлением артефактов, торговлей, прохождением квестов и многим другим. Паралельно переходя с уровня на уровень и набираясь опыта игрок узнает истинную историю мира, новые локации и раскрывает подробности сюжета. Система боев базируется на принципах коллекционных карточных игр. В процессе игры игрок добывает все более сильные карты существ, заклинаний и артефактов, что позволяет ему успешно участвовать в битвах с другими игроками и ботами. Система боя разработана нами полностью с нуля. Благодаря большому количеству возможных взаимодействий между картами, бои требуют от игроков выработки стратегии, а на высших уровнях могут быть сравнимы по сложности с иной партией в шахматы.

Условия распространения - Free2Play. Т.е. зарегистрироваться и играть можно будет абсолютно бесплатно. Также игра будет предоставлять много возможностей для заработка игровой валюты (Эльмов).

На данный момент игра находится в статусе закрытой альфы. Мы активно закрываем найденные баги, полируем движок и наполняем его игровым контентом. Впрочем если возможные баги вас не пугают и вы не против помочь нам в разработке в качестве тестера, то мы с радостью вышлем инвайт всем желающим. Просто пришлите нам письмо с темой "Альфа-тест" на адрес support@dromvald.com . Само собой бонусы с нас причитаются.

Игра разрабатывается уже больше года и я очень надеюсь, что к концу этого года мы таки доведем ее до того уровня чтобы можно было открывать публичную регистрацию.

Что касается некоторых особенностей реализации, то здесь можно сказать, что движок написан нами полностью с нуля. Серверная часть написана на Python, а клиентская - на JavaScript. Сайт игры, включая форум, полностью интегрирован с игрой (сквозная регистрация, игровая статистика на сайте и пр.). На данный момент поддерживается игра через веб-браузеры Firefox, Opera и Chrome, а также IE с установленным плагином Chrome Frame (без плагина - не ниже IE8 и с некоторыми ограничениями). В будущем мы планируем открыть API взаимодействия с сервером и разработать несколько альтернативных клиентов (например для мобильных устройств). Впрочем планы у нас расписаны на довольно долгий период.

Скриншоты
Изображения кликабельны.


bumДата: Суббота, 14 Августа 2010, 12:58 | Сообщение # 57 | Тема: Что выбрать для покупки?
почетный гость
Сейчас нет на сайте
Quote (Slavec)
Кстати, с ним можно нормально OGRE совмещать? Ведь Dev C++ альтернатива GCC 3+?

DevC++ - это IDE, а GCC - это компилятор. Почуствуйте разницу. DevC++ по умолчанию использует MinGW - виндовый порт GCC. На сайте OGRE доступны для скачки SDK и под MinGW и под линуксовый GCC.
bumДата: Суббота, 14 Августа 2010, 12:39 | Сообщение # 58 | Тема: Кризис жанра
почетный гость
Сейчас нет на сайте
Quote (neocrey)
Недавно думал над сюжетом одной игры. Вроде уже придумал и можно было начать разработку как только меня в этот момент осенило... Есть ли смысл делать игру? Может такая уже где то есть и распространяется лучше? В общем фигурально получается что я делаю игру для себя когда как геймдев - это прежде всего общение и взаимодействие с людьми чем замыкание. Сейчас в каждом жанре игры можно найти уйму игр. Хотя и сейчас появляется интересный момент творить новые жанры и движки. На ваш взгляд как вы решаете проблему выбора жанра или сюжета? И ваши советы новичкам как пробиться в ряды про? Спасибо за дискуссию

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

bumДата: Суббота, 14 Августа 2010, 12:32 | Сообщение # 59 | Тема: Каким хостингом пользуемся?
почетный гость
Сейчас нет на сайте
webfaction.com
bumДата: Суббота, 14 Августа 2010, 12:16 | Сообщение # 60 | Тема: Каким ЯП вы даёте предпочтение
почетный гость
Сейчас нет на сайте
Python
Форум игроделов » Записи участника » bum [65]
  • Страница 3 из 4
  • «
  • 1
  • 2
  • 3
  • 4
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2023 Рейтинг