Встроенный в движок сервер для шарпа жрет очень много памяти на каждый клиент. На 2 гига нормально будут работать максимум 100 клиентов. Тогда как на плюсах несколько тысяч.
Quote (Vinchensoo)
Это редкость для шарпа, похвально)
Да какая там редкость, декомпилятор в руки и все резко становится опенсорс)
Quote (Vinchensoo)
Выложи сервера в паблик, кому надо играть- пусть сам хостит и играет с друзьями.
Он и будет выложен, сразу как только появится, но нужен же какой-то типа официальный, захотел поиграть - зашел, чтоб не искать где-то что-то.
Quote (Vinchensoo)
Коллизии в клиенте обрабатываются? Это win =)
Пока так, начну делать сервер, начну думать, как быть. Но грузить сервер не хотелось бы. Там и так будет напряг, например, нужен большой мир, и если все препятствия в игре можно уничтожить, то скоро играть станет неинтересно, нужны возрождающиеся стены.
Quote (Vinchensoo)
Я думаю, ты один из немногих тех, кто может что-то доделать до конца. Надеюсь поиграем в августе)
Спасибо за веру. Но до августа я разве что однопользовательский функционал доделаю. Точка зору окремо взятого індивіда завжди суб'єктивна!
Нашел баг в работе системы анимации. Чем больше времени проходит между созданием анимации функцией CreateAnimation и ее отрисовкой, тем менее предсказуемо ее поведение. Такое ощущение, что она пытается нагнать пропущенный интервал, либо проигрываясь быстрее, либо пропуская кадры. Такое происходит только один раз, потом все нормально. Если создавать анимацию непосредственно перед ее отображением, то все ок. Точка зору окремо взятого індивіда завжди суб'єктивна!
Название: Battle City.Net Жанр: mmo/ RPG -action На каком движке:Windmill 2D Game Engine В каком пространстве: 2D Какой вид в игре: сверху Какие есть похожие игры: Battle City, Танчики, Battle City World Какой Язык Пр. используется в игре: основной C#, возможно C++ для сервера. Предоставление исходного кода игры: Open Source Какой тип лицензии распространения: GNU GPL Сроки разработки: идея появилась примерно 10.06.2012, к написанию кода приступил 7.07.2012.
Данная игра является ремейком известной Battle City, вышедшей для приставки Dendy еще в 1980 году. Основное отличие от оригинала, возможность игры против живых противников по сети. Помимо этого в игре будет больше разнообразных бонусов и типов врагов. Надеюсь получится более интересный геймплей, поскольку появятся РПГ элементы, танк можно будет модифицировать не столько за звезды, сколько приобретая различные улучшения. Звезды же будут давать возможность приобрести танк следующего поколения, но заработать звезду будет не просто. Было бы неплохо подвести под это дело какой-нибудь сюжет, но пока мыслей нет. Графике в игре пока будет из дендевской игры.
Сейчас занимаюсь базовым функционалом. На текущий момент сделано немного: Перемещение танка. Коллизии. Стрельба. Загрузка уровня, но она сделана только что, и танк с ним не взаимодействует. Редактора пока тоже нет, уровень генерится рандомом, естественно, что получается бяка. Отчитываться о прогрессе и показывать новые демо я буду в процессе работы, ну а код буду выкладывать реже, примерно раз в неделю.
Почему С#? Я люблю с++, но… на С# проще программировать, да и быстрее. Чего только стоит автоматическая работа с памятью. К тому же этот язык имеет больший функционал, не только в смысле наличия готовых функций для реализации различных вещей, например работы с файлами, xml, криптографией и сжатием данных, но и поддержкой непосредственно языком таких вещей, как динамическая типизация, рефлексия. Да и полностью русская справка с гигами примеров занимает не последнее место.
Почему проект опенсорс? Ну, во первых, с меня не убудет, мне не жалко. Также я надеюсь, что кто-то сможет дать полезный совет по коду. Кроме того, на этом форуме было три или четыре подобных проекта, но до релиза они не дожили, а имея исходники проект может легко найти помощников и последователей, которые продолжат улучшать игру. Немного напрягает возможность нечестной игры путем модификации клиента, но до этого еще далеко и я что-нибудь придумаю, или же закрою часть сетевого кода сервера.
Кто нужен в команду: Да, в принципе, пока никто. Но позже понадобится художник, который подправит/добавит графику. И нужен будет человек, который согласится держать у себя сервер, желательно со статическим IP, поскольку разные хамачи меня не вдохновляют.
Обещанные исходники (50 кб). Для работы нужна Visual Studio 2010. В исходниках немножно нехватает комментариев, это я со временем поправлю. С радостью послушаю критику и советы.
9.07.2012 • Перемещение танка. • Коллизии. • Стрельба. • Загрузка уровня, но она сделана только что, и танк с ним не взаимодействует. Редактора пока тоже нет, уровень генерится рандомом, естественно, что получается бяка. 12.07.2012 • Гусеницы у танка при движении анимируются (довольно таки геморным способом, увидите код, поймете. день на это убил) • Танки и снаряды взаимодействуют со стенами, танками, снарядами. • Снаряды взрываются. 14.07.2012 • Чуть подправленные коллизии, теперь их расчет интерполируется, и нет такого бага, как пролетание пули сквозь стены или застревания танков при большой скорости движения или тормозах. • Вражеские танки уничтожаются. Пока без взрыва. • Простенький редактор карты. Игра автоматически грузит карту с именем "1.lvl". 15.07.2012 MapEditor v.0.2: • Добавлен скроллинг мира. Теперь можно создать воистину громадный мир. • Добавлено масштабирование мира. • "Создать", "Открыть", "Сохранить" выведены на панель. • Добавлена сетка. • Добавлена кисть изменяемого размера. 16.07.2012 • Добавлен скроллинг мира в игре. • Уничтожение стен. • Анимация взрыва при уничтожении танка.
18.07.2012 • Некоторая реорганизация кода. Добавлен класс MotionSystem, который заменил собой BulletSystem и теперь включает в себя не только пули но и все движущиеся обьекты. • Добавил примитивных ботов.
20.08.2012 • Подгонка координат танка при повороте. • При генерации боты больше не появляются внутри стен. • Плавное смещение вида.
21.08.2012 • Начал делать систему эффектов. Теперь взрыв танка выводится в правильном месте. • Статический класс для видимой области экрана. • Обработка выхода пули за экран.
22.08.2012 • Доведение до ума вписывания в повороты. • Убрал падение редактора при выходе кисти за пределы карты. • Вылечил баг сетки при создании неквадратной карты.
23.08 • Сделал отдельные списки для статических и динамических боксов. Колизии проверяются только для ближайшей статики. ПРирост производительности примерно в 20 раз.
29.08 • Алгоритм пространственного разделения для просчета коллизий.
31.08 • Множественные оптимизации. Цель в 30 фпс при 5000 ботов пока не достигнута(только 15-20). MapEditor v.0.3: • Оптимизировано отображение карты. • Изменен формат файла карты, теперь он является архивом.
2.09 • Задействовал звуковой движок. Добавил несколько звуков.
6.09 • Переделал интерполяцию движения пуль. Завершил оптимизации. План перевыполнил. 40 фпс при 5000 ботов.
Точка зору окремо взятого індивіда завжди суб'єктивна!
Кстати видел такую проблему, что буква L в функции Print, и других где она присутствует, вызывает ошибку компиляции, приходится ее убирать но тогда компилятор выдает предупреждение на каждую функцию. Если я правильно понимаю то нужно чтото настраивать в компиляторе, не подскажите что?
Свойства проекта - Общее - Набор символов - Юникод.
Скрин не прикладываю, лень, надеюсь так понятно. Точка зору окремо взятого індивіда завжди суб'єктивна!
Кстати, уважаемый nilrem, было бы неплохо, если б Вы расписывали, что вот это за циферки (пример взят из Урока #7 - Воспроизведение звука): Code SoundPlay(L"kuk.wav",1,0,0,0,0);
Вобще то в тексте руководства имена функций являются ссылками, если на них нажать, или если перейти к списку функций и найти нужную или просто пролистать руководство до конца то на чтр 199 можно обнаружить следующее:
Quote
SoundPlay Проигрывание звуков и музыки void SoundPlay( wchar_t* fileName, float volume=1, int x=0, int y=0, int distMin=0, int distMax=0 );
Параметры: fileName Имя файла звука или музыки volume Уровень громкости x Х позиция источника звука в пространстве. По умолчанию 0. y У позиция источника звука в пространстве. По умолчанию 0. distMin Дистанция, на которой громкость звука максимальная. По умолчанию 0. distMax Дистанция, за пределами которой звук не слышен. По умолчанию 0. Возвращаемое значение: Нет Примечание: Если х и у равны 0 то звук проигрывается в фоне, без учета влияния ЕАХ.
Точка зору окремо взятого індивіда завжди суб'єктивна!
Что там с проектом? Надеюсь мертв) А то я начал делать нечто похожее, и ища графику нашел эту тему((( Хотя, делать я все равно буду, так как есть желание написать что-то с поддержкой сети. Хотелось бы иметь поменьше конкурентов.) И да, мой проект будет опенсорс. зыЖ Кстати, ты где графику брал, и можно ли ее одолжить? Точка зору окремо взятого індивіда завжди суб'єктивна!
Так я и не нападаю. Я же не кричу "долой линух, ставьте винды". Просто не надо линуксоидам пудрить мозги неопытным виндузятникам, утверждая, что с линухом работать будет просто. Точка зору окремо взятого індивіда завжди суб'єктивна!
Мне интересно, как zodiak объяснит, что большинство интернет-ресурсов (> 60%) крутятся на Linux, а миллионы работающих (exploitable) вирусов существуют только под винду.
Этого я обьяснять не буду, потому что понятия не имею, что и почему "большинство интернет-ресурсов (> 60%) крутятся на Linux".
Почему под винду больше вирусов, написано в википедии: по причине многообразия дистрибутивов и относительно низкой распространённости самой ОС на компьютерах в мире, сама возможность массового заражения и распространения маловероятна а это вирусописателям не интересно.
Quote (Ramesses)
Сложнее и дольше.
А если нет доступа к интернету, поможет тебе центр приложений? Как устанавливать программу, у которой в зависимостях три десятка пакетов, которых дома нет или версии не совпадают? Точка зору окремо взятого індивіда завжди суб'єктивна!
Нужно ставить тонны софта (архиватор, офисный пакет, кодеки), качать и ставить драйвера вручную.
Но в винде это делать в разы проще. Ведь виндовз делался программистами для пользователей, а линух - программистами для себя. Про драйвера, на вин7 у меня после установки не работала только спутниковая карта, даже звук стал по умолчанию. Что было на линухе, я уже писал.
И не надо рассказывать сказки, что вирусов на линухе нет. Есть, и хоть большинство из них неспособны повредить систему, пользовательские данные уничтожают на раз. Кстати самый первый вирус (точнее червь Морриса) был как раз написан для юникса и ущерб от него составил 96 000 000 баксов. Точка зору окремо взятого індивіда завжди суб'єктивна!
Ну, читабельно, но слабо, у nilremа много лучше. Да и зачем писать чето еще раз, взял бы, да и принял у него эстафету. Там, по его планам, и осталась то одна лекция, а потом "второй сезон" по ООП. Я пробовал, но не потянул. Моя писанина была забракована. Оказывается знать чето мало, нужно уметь это доходчиво объяснить. Точка зору окремо взятого індивіда завжди суб'єктивна!
Я когда-то себе тоже линух ставил, потому что наслушался, что это круто. Ну поставил. Видео и звук не установилось. Дрова на видео нашел, но ставил три дня, потому что все время не хватало каких-то пакетов. Дрова же под звук ставится отказались, выдали что-то про несовместимость. Спутниковая карта вообще оказалась не при делах, так как линухом она не поддерживается. Получается, что все это время я не делал ничего полезного, не играл и не смотрел телевизор, а только рыл тоны мануалов. Да ну его в жопу, этот линух. Uzzzer, ставь себе линух и парься, один раз попробуешь, и забьешь на это дело. А потом на "25 причин почему линух лучше" найдешь 150 причин ни за что его не устанавливать. Точка зору окремо взятого індивіда завжди суб'єктивна!
У деревне в колхозе средняя зарплата 4000 рублей в месяц, и часто при 7 дневной рабочей неделе. Acro, вот ты сейчас попросил безвозмездно поработать на тебя три дня. Точка зору окремо взятого індивіда завжди суб'єктивна!
Не верю. Конкурсы за одну ночь не подготавливают. Должен быть нормальный сайт, нормальное описание и условия. А три строчки это просто смешно. Точка зору окремо взятого індивіда завжди суб'єктивна!
nilrem, Почему вчера прогресс разработки был 35% а сегодня стал 30? Кстати, почему не повесил информер в эту тему? Точка зору окремо взятого індивіда завжди суб'єктивна!