Давненько не писал, небыло свободного и подходящего времени. Догорают последнии часы конкурса, который я, увы, пропустил.
Но зато пару дней назад у меня появилась небольшая идейка одной маленькой игры.
Вот и решил об этом написать.)
Название игры "Ring of Asteroids" придумалось вместе с картинкой геймплея.
Действие происходит в 2D космосе, при входе в игру игроку даётся корабль, расположенный на определённой локации, куда так же помещаются и противники. И конечно всё по сети, я как-то без этого в последнее время не могу) Нужно будет летать, стрелять/воевать с остальными.
Акцент делаю на то, что игрок сможет запустить игру, ввести ник и без всякого пароля присоединиться к баталии. А т.е. получается своего рода fastgame - шутер/леталка без заморочек.
И так, что я сделал за 2 дня.
Для начала побольше поработал над созданием космоса с далёким двигающимся фоном и со звёздами на разном расстоянии, вообщем старался сделать красиво) Этого добился раскиданными на разной Z-глубине спрайтами.
Потом создал корабль и подбирал ему параметры полёта, чтоб было всё плавно и по фень-шую. И ещё чутка покрутил с камерой, чтобы она опережала корабль по движению прямопропорционально скорости корабля. В основном все плавности сделал линейной интерполяцией позиций фигурирующих объектов, т.е. ничего сложного.
Вот как раз видео с небольшим fps(из-за фрапса) того что получилось:
И сейчас приступаю к написанию сетевой части, начну с сервера, а потом уже трансформирую имеющуюся локальную версию в сетевой клиент.
По поводу сети, то тут 100% надо использовать UDP, т.к. игра в RealTime'е. Кодить буду как всегда на WinSockApi, думаю тут можно будет обойтись первой(1.1) версией библиотеки.
Вообщем буду постить на эту тему по ходу создания и буду рад если это кому-то поможет.
Но зато пару дней назад у меня появилась небольшая идейка одной маленькой игры.
Вот и решил об этом написать.)
Название игры "Ring of Asteroids" придумалось вместе с картинкой геймплея.
Действие происходит в 2D космосе, при входе в игру игроку даётся корабль, расположенный на определённой локации, куда так же помещаются и противники. И конечно всё по сети, я как-то без этого в последнее время не могу) Нужно будет летать, стрелять/воевать с остальными.
Акцент делаю на то, что игрок сможет запустить игру, ввести ник и без всякого пароля присоединиться к баталии. А т.е. получается своего рода fastgame - шутер/леталка без заморочек.
И так, что я сделал за 2 дня.
Для начала побольше поработал над созданием космоса с далёким двигающимся фоном и со звёздами на разном расстоянии, вообщем старался сделать красиво) Этого добился раскиданными на разной Z-глубине спрайтами.
Потом создал корабль и подбирал ему параметры полёта, чтоб было всё плавно и по фень-шую. И ещё чутка покрутил с камерой, чтобы она опережала корабль по движению прямопропорционально скорости корабля. В основном все плавности сделал линейной интерполяцией позиций фигурирующих объектов, т.е. ничего сложного.
Вот как раз видео с небольшим fps(из-за фрапса) того что получилось:
И сейчас приступаю к написанию сетевой части, начну с сервера, а потом уже трансформирую имеющуюся локальную версию в сетевой клиент.
По поводу сети, то тут 100% надо использовать UDP, т.к. игра в RealTime'е. Кодить буду как всегда на WinSockApi, думаю тут можно будет обойтись первой(1.1) версией библиотеки.
Вообщем буду постить на эту тему по ходу создания и буду рад если это кому-то поможет.
благодарю за видео! супер! задник красивый!
ОтветитьУдалитьне понял только, почему камера опережает корабль, а не наоборот? начинаешь удирать - а твои преследователи пропадают из обзора камеры... планируется просто стрелялка? или будет магазин вооружения/стратегические моменты?
Насчёт камеры я вспомнил игру GTA1, там как раз было весьма удобно такое поведение камеры, да и логично, типа разгоняешся и видиш на опережение.
ОтветитьУдалитьНа видио из-за малого фпс камера почему-то очень сильно забегАла вперёд, а так-то она совсем не сильно опережает.
Сначало планирую просто стрелялку, ну а потом поглядим... так-то думаю было бы здорово залетать на планеты и всё такое)
UDP ведь не гарантирует доставки? При пропадании пакета будешь интерполировать движение?
ОтветитьУдалить(Я не спец в сети, скорее даже абсолютный ламер).
Идея классная. Fastgame (вводишь ник и играешь) - это в общем-то контр-страйк :)
Предлагаю повесить движение корабля на стрелки/wsad, а камеру - на мышь. Чтобы можно было двигать камеру так, как удобно игроку.
ОтветитьУдалитьИнтересно, с какой скоростью должен двигаться корабль, чтобы звезды двигались относительно него?=)
ОтветитьУдалитьМне понравилась сама идея и видео.
ОтветитьУдалитьНаверно в данном 2д космосе не работаю законы физики и там тела имеющие массу могут не то что достигать, а превышать скорость света в сотни раз XD
perfect daemon, тут что грится нужно будет смотреть по обстоятельствам, но в любом случае на клиенте будет сглаживающая интерполяция движений.
ОтветитьУдалитьДвижение корабля уже висит на клавишах, но вот прицеливание мышью мне кажется какбы слишком лёгким... т.е. куда большего искусства можно достигать в прицеливании клавишами)
Марцелл, не совсем понял вопрос... Двигались относительно него как, очень быстро?)
VandB, для больших скоростей нужны большие двигатели) но разные тела, такие как астероиды и планеты с гравитационным влиянием на корабли, планируются)
perfect daemon, сначало не так понял насчёт мыши и ответил по поводу прицеливания и стрельбы мышью) а насчёт камеры мышью, то можно подумать/потестить.
ОтветитьУдалить