[Ответить в тред] Ответить в тред

16/08/16 - Запущен Двач Трекер
01/08/16 - Вернули возможность создавать юзердоски
09/07/16 - Новое API для капчи - внимание разработчикам приложений



Новые доски: /obr/ - Offline Battle Rap • /hv/ - Халява в интернете • /2d/ - Аниме/Беседка • /char/ - Сетевые персонажи • /wwe/ - WorldWide Wrestling Universe • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 29 | 4 | 13
Назад Вниз Каталог Обновить

Загорелся разработкой игры Аноним 01/08/16 Пнд 07:40:28  810040  
14700264282040.png (1835Кб, 1920x1080)
Сап двощ. Я загорелся разработкой игры под Windows Phone.

Игра - osu!. В магазине есть клон osu!WP, но он говно. Я хочу создать свой и лучше.

Это все конечно круто, но я не знаю с чего начать.
Я знаю что нужно знать DirectX, но даже не знаю как на нем нарисовать кружок, а как заставить его появится в нужное мне время так и подавно.

Вообщем, помогите плиз нубу, пните в нужном направлении, что учить, что знать и т.д. что бы написать такую игру.
Аноним 01/08/16 Пнд 07:42:39  810041
>>810040 (OP)
>2016
> Windows Phone
Аноним 01/08/16 Пнд 07:45:25  810043
>>810041
Ты не поверишь, хоть порт и говно, но он работает и выглядит лучше любого порта на Андроиде, так что я решил именно делать на WP.
Аноним 01/08/16 Пнд 10:29:44  810103
>>810041
>2016
>не Windows Phone
Аноним 01/08/16 Пнд 10:30:59  810105
DirectX тут нахуй не нужен. Есть два стула - С# с его игровыми движками или JS через WinJS с его.
Аноним 01/08/16 Пнд 10:40:51  810116
14700372515390.png (77Кб, 632x915)
Директикс неудачный вариант для новичка. Писать сложно, возможностей мало, поддерживающих платформ тоже мало, а на каждый директикс десяток опенглов. Сейчас каждый школьник учит дирекикс или геймдизайн, а потом не знает что делать с этим. Лучше попробуй Haskell. На нём и конкуренция пониже, и зарплаты больше, и сам язык понятней. Если никогда не занимался программированием, то начинать лучше всего с Haskell - после него другие языки учатся быстрее. Работы полно, платят отлично. По книгам. Если есть хоть немного знаний программирования, читай это: http://www.ozon.ru/context/detail/id/30425643/ Если совсем новичок, пойдет эта книга: http://www.ozon.ru/context/detail/id/28346038/ Ну и куча онлайн-учебников. Вот, например: https://anton-k.github.io/ru-haskell-book/book/home.html Хороший учебник, всё расписано подробно. Сам по нему учился. Рекомендую.
Аноним 01/08/16 Пнд 12:28:18  810170
>>810105
Ты имеешь ввиду Win2D к примеру?

Игровые движки на JS серьёзно? как на этом скриптовом говне может быть игровой движок?

>>810116
Да, да, смещной.
Аноним 01/08/16 Пнд 12:33:16  810171
>>810170
Для игры вроде osu хватит и скриптоговна.
Аноним 01/08/16 Пнд 12:38:33  810173
>>810171
Тсс, парень, попридержи коней. Ты хоть представляешь себе какой охуевший движок нужен для осу!? Не допускаются задержки на user input более 5 мс, думаешь JS на такое способен?
Аноним 01/08/16 Пнд 13:09:20  810190
>>810173
У тебя нажатие на экран будет больше давать.
Аноним 01/08/16 Пнд 13:50:31  810216
>>810190
Двачую этого. Реально 25-250мс будет лаг. 5мс это байки уровня различать 120fps.
Аноним 01/08/16 Пнд 17:41:01  810362
>>810216
на есть osu!Stream - там нет никакого инпут лага, не одной миллисекунды. Чем вы это объясните?

Еще есть открытая реализация игры под названием opsu! - скачал исходники посмотреть, офигел от сложности проекта. Кажется я не затащу такое. Надо быть ультра хардкоре программистом что бы написать эту игру.
Аноним 01/08/16 Пнд 18:41:09  810404
>>810362
И что же там экстраординарного? Оказывается программирование – это не шлёпать ассеты в юнити?
Аноним 01/08/16 Пнд 19:27:09  810451
>>810404
Да вообще звиздец, как вы програманы крутитесь во всем этом... Как стать таким умным...
Аноним 01/08/16 Пнд 20:18:48  810501
Бери главный движок для даунов - UE4. Потыкал на схемки в блюпринте и игра готова!
Аноним 01/08/16 Пнд 20:27:10  810506
>>810040 (OP)
Человек, разбирающийся в DirectX в треде.

ОП, бери готовый движок и не морочь себе и людям голову. DirectX слишком тонок и прекрасен для тебя. Не каждый может пользоваться им по максимуму, а по тебе видно, что ты не сможешь точно.
Аноним 01/08/16 Пнд 21:23:07  810554
>>810040 (OP)
Лол, зачем тебе директикс, пока ты там одну кнопку интерфейса сделаешь пройдет полгода, бери хну если под винду делаешь и не парся.
Аноним 01/08/16 Пнд 21:44:20  810575
14700770606660.jpg (6Кб, 334x429)
>>810501
Ага, готова с задержками по 130 мс?
>>810506
Ты прав, Директ и правда слишком хардкорен для ньюфага, но я нашел Win2D, этот API как раз построен вокруг DirectX, но при этом намного проще.
>>810554
Да уже определился - Win2D.

Благодарность всем кто отозвался.

И так, начну пожалуй с core механик, а именно - круг. Допустим я нарисовал круг, 1 строчка кода, великолепно.

Теперь главный вопрос, который меня мучает. Как задать КОГДА появится кругу на экране? Запустить что-то типа таймера и указать точную миллисекунду от начала, например 698 мс. Как такое реализовать ? Это сложно?
Аноним 01/08/16 Пнд 21:59:22  810583
>>810575
https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms644904(v=vs.85).aspx
https://msdn.microsoft.com/ru-ru/library/windows/desktop/ms644905(v=vs.85).aspx

Первое - счётчик тактов, второе - число тактов в секунду. Оборачиваешь в класс Timer.

Дальше у тебя есть варианты:
1. Убогий Java-style вариант. Делаешь абстрактный класс листенера, наследуешь от него класс игры, в таймере регистрируешь все классы, унаследованные от листенеров. В каком-нибудь методе Timer::Tick() вызываешь что-то вроде
for(auto &l: mListeners)
{
    l->DoTimerWork(mTotalTime);
}
Этот метод дерьмо, потому что имеет джавовские корни. Я привёл его только для того, чтобы ты знал, как выглядят коммиблоки от мира ПО.
2. Отличный и неплохой вариант. В главном классе своей игры прописываешь членом экземпляр класса Timer.
Потом в главном цикле игры вызываешь:
...
if(mTimer->GetTotalTime() >= 698)
{
...
}
...
Этот метод более предпочтителен.
Аноним 01/08/16 Пнд 23:02:48  810628
>>810583
Спасибо анончик, хотя бы понял в какую сторону копать и как вообще в программе измерять время.
Исходя из документации "which is a high resolution (<1us)" можно делать просто охуеть какую синхронизацию. Неужели все те горе разрабы наделавшие кучу портов с кривой синхронизацией не знают про QueryPerformanceCounter?
Аноним 01/08/16 Пнд 23:07:03  810632
14700820234870.jpg (99Кб, 854x768)
>>810583
>Делаешь абстрактный класс листенера, наследуешь от него класс игры, в таймере регистрируешь все классы, унаследованные от листенеров
Какой пиздец, господи, какой пиздец. Жавабляди ежедневно делают такое для простейших действий?
Аноним 01/08/16 Пнд 23:29:22  810650
>>810628
Это же просто таймер. А синхронизация зависит от времени отклика экрана и от того, как реализовано взаимодействие с интерфейсом.

>>810632
Конечно.
Аноним 01/08/16 Пнд 23:52:07  810669
Есть много зыков для геймдева. Разрабатывать игры можно на чём угодно - С++, C#, JS, Python и другие, но большинство из них крайне неудобны. Тебе придётся провести много месяцев в изучении базовых вещей, а потом окажется, что это нереализуемо на данном языке. Самый универсальный язык для геймдева - это Haskell. Он может абсолютно всё - на нём созданы Assasin's Creed, Warcraft III, WoW, Call of Duty, Skyrim и даже последний Ведьмак. Haskell подходит для любых жанров - стратегии, рпг, шутеры, симуляторы. Посмотри на список игровых движков на Haskell - https://wiki.haskell.org/Game_Development
Аноним 01/08/16 Пнд 23:56:33  810675
>>810669
Шуточка с хаскелем уже была, ты опоздал.
Аноним 02/08/16 Втр 13:52:07  811100
>>810362
> открытая реализация
и то ее геймплей далек от геймплея осу

кстати, осу планируют опенсорснуть, так что лучше уж смотри оригинал
Аноним 02/08/16 Втр 14:23:50  811121
>>811100
Согласен, геймплей там неочем, но это самая близкая к оригиналу реализация.

>опенсорснуть
Вот это уже поинтересней. Чет я сииильно сомневаюсь что пипка откроет всем желающим свое детище.
Аноним 02/08/16 Втр 14:38:20  811128
Зачем вообще писать игры под Windows Phone, в данный момент лидирующие платформы это Android, IOS
Аноним 02/08/16 Втр 20:50:38  811451
>>811121
> Чет я сииильно сомневаюсь что пипка откроет всем желающим свое детище.
вот это https://github.com/ppy/osu за пруф сойдет?
еще у него в блоге где-то аж в 2014 было обещание опенсорснуть, но мне лень искать
Аноним 02/08/16 Втр 21:37:28  811486
>>811451
Страница с этим обещанием висит там уже ровно год.
Аноним 04/08/16 Чтв 22:38:09  813361
>>811451
>>811486
Вот именно, не соизволит он.

Пока иду по https://mva.microsoft.com/en-us/training-courses/c-fundamentals-for-absolute-beginners-16169 этим курсам.

Почему у меня нет чувства что они помогут в написании osu!? Может после них надо еще курсов по геймдеву навернуть? И где вообще можно посмотреть как ПРАВИЛЬНО писать код? ну типа как заранее все просчитывать, все классы, переменные, что закрытое, что открытое. Вот это всё.
Откуда создатель opsu! всё это знает???

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 29 | 4 | 13
Назад Вверх Каталог Обновить

Топ тредов
Избранное