forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты на BlitzMax (http://forum.boolean.name/forumdisplay.php?f=106)
-   -   Jimon Test Project (2д шутер-аркада) (http://forum.boolean.name/showthread.php?t=5751)

jimon 16.02.2008 22:43

Jimon Test Project (2д шутер-аркада)
 
Вложений: 4
что-то на меня сегодня нашло ... решил написать игру in 7 hours :-D
в итоге вышло нечто наподобе прототипа ....

реализовано :
1. счетчик ФПС
считает реальный и кадровый фпс, ограничитель фпс, плавный дельта тайминг
2. Менеджер Ресурсов
управляет загрузкой обычных и анимированых картинок и так же моделей
имеет автоматическую выгрузку не используемых ресурсов
3. Система простой анимации, позволяет взять на себя
все банальные вещи по переключению фреймов в анимированых картинках
4. Колижен на основне блицевского CollideRect
возился час с CollideImage но оно оказалось слишком тормозным
5. система обьектов (пули и взрывы)
6. Нпс с примитивной физикой передвижения
работает гравитация, прыжки, передвижение и стрельба
7. ИИ
примитивный но умеет бегать, стрелять и уворачиватся от пуль
8. Игроки
реализовано в стиле сетевой игры оффлайн .. те бегают
боты и зарабатывают себе очки

управление :
стрелками и левой клавишой мыши

после того как вы появились на уровне - дается бесмертие на 0.5 сек
после того как вы кого-то убили - дается бесмертие на 0.5 сек

исходник весит ~35 кб и в нём ~1600 строчек :)

в принципе на моей машине дает 100 фпс при 20 ботах
но фпс в коде залочен под 60 (можно отрубить)

есть идея дописать ету игрушку немного,
и зделать обучающую статью .... (для кого ? :) )

в общем развивать особо проект я не намерян
потому скачать игру с исходником можно сдесь :
http://jimon.org/physx/testgame.rar (450 кб)
(версия 2 - 10 часов разработки)

скриншоты в атаче

ps. юзать код можно но только с копирайтом ;) или хотя бы за спасибо
ps2. можно по обсирать мой код и вообще стиль программирования :D
ps3. кто еще что такого напишет в семь часов ?

Diplomat 16.02.2008 22:53

Ответ: Jimon Test Project (2д шутер-аркада)
 
Рецепт победы:
1. Зажать клавишу "вправо";
2. Поместить курсор мыши в левую часть экрана;
3. Зажать ЛКМ...
Камперы рулят. Редкая ракета не попадёт в цель. )
Ботов очень много, и они убивают друг друга. Миасо.
ИИ и геймплей блекнут перед мощью неудержимого раша анимешных полчищ в условиях ограниченного пространства...
Нужна перебаллансировка. )

Taugeshtu 16.02.2008 23:26

Ответ: Jimon Test Project (2д шутер-аркада)
 
по поводу "лучшей тактики" не согласен, в остальном все верно.
В целом понравилось, возможно даже слишком (; Недавно играл в нечто подобное - teewars. Суть примерно та же, плюс есть:
+_ разное оружие
-_ игра по сети (это минус, т.к. нет игры с ботами)

В общем, если довести до нужной кондиции и выработать для игры свой визуальный стиль (даже если это аниме, нужна целостность, сейчас же - излишняя пестрость. Я бы даже посоветовал юзать ч-б гамму, но мну пашлют, чую) , ввести онлайн-статистику игроков (дань трендам) и сетевую игру, добавить озвучку - и смело гоу ту прилавки шароваришников. Хорошие добротные 2д-шутеры всегда народу нравились, а если они простые и сетевые...

newman 16.02.2008 23:48

Ответ: Jimon Test Project (2д шутер-аркада)
 
Мне понравилось только надо чтобы прыгал быстрей и картинку потемней, а то глазам неприятно. Мне кажется что лучше сделать в тёмносиних тонах(но тоже не ярких).На моей машине стабильно показывало 59 ФПС.

ABTOMAT 17.02.2008 00:59

Ответ: Jimon Test Project (2д шутер-аркада)
 
ЖЖош!
Игра для 7-ми часовой поделки крута!
По крайней мере я бы такого за 7 часов ниасилил бы.
Я свои диалоги мучал 2 дня :-D (справедливости ради, с перерывами на еду, сон, battle.net)

DRAG 17.02.2008 11:33

Необходимо добавить ещё кнопки для добавления и удаления ботов.
А то вобще нечего не видно с 20 ботами 8(

А кстати, если обставить уровень по другому или сделать вобще новый, боты это будут понимать и также обходить все препядствия?

jimon 17.02.2008 12:51

Ответ: Jimon Test Project (2д шутер-аркада)
 
DRAG
обходить они не будут :) боты универсальные
игрушку допишу .. добавлю аптечки и чуть приведу все в порядок

Fla 17.02.2008 20:30

Ответ: Jimon Test Project (2д шутер-аркада)
 
Стабильно 59 fps.
Мне понравилось.

jimon 17.02.2008 22:01

Ответ: Jimon Test Project (2д шутер-аркада)
 
апдейт :) потратил сегодня 3 часа на :
1) добавил еще одного персонажа
2) добавил дым от ракет
3) добавил бесмертие на 0.5сек (дается в начале уровня и после убийства)
4) добавил второй уровень
5) добавил примитивные настройки перед игрой
6) исправил анимацию персонажей (теперь правильно прыгают)
7) чуть поменял интерфейс, теперь аля q3

скриншоты и качать там же (в первом посте)
ps. а боты жгут (их можно до 100 поставить)

Horror 17.02.2008 22:08

Ответ: Jimon Test Project (2д шутер-аркада)
 
Супер!
я не против если ты оформиш это как урок)
Фпс тоже всегда 59
Игра быстровата для меня (
и цветов поменьше (

dimanche13 18.02.2008 11:43

Ответ: Jimon Test Project (2д шутер-аркада)
 
Респект! правда у мну что-то перец под землю проваливается иногда...

jimon 18.02.2008 12:23

Ответ: Jimon Test Project (2д шутер-аркада)
 
dimanche13
блицевский колижен *WALL* надо для blitzmax свою физику писать :)
хотя в принципе можно и ету исправить ...
там строчка есть типа YNpc :+ Gravity * DeltaTime
ясно что при резком скачке фпс то все полетят далеко за екран и колижена не будет
потому надо делать еще колижен между линией старой-новой позиции и обьектов
только возможно ето тормозно будет, да и колижен с линией надо самому делать

dimanche13 18.02.2008 13:33

Ответ: Jimon Test Project (2д шутер-аркада)
 
конструкции типа
Код:

bla-bla-bla = my_func()
if (bla-bla-bla)
  reurn 1
else
  return 0
end if

я пишу проще
Код:

return my_func()
так же и с объектами, вернет Null если что...
Так же для одинокого объекта я делаю не динамический, а статический тип.

jimon 18.02.2008 13:42

Ответ: Jimon Test Project (2д шутер-аркада)
 
dimanche13
в принципе ты пишешь правильно .... а мне так удобнее :)
хотя надо исправлятся

HolyDel 18.02.2008 13:42

Ответ: Jimon Test Project (2д шутер-аркада)
 
Цитата:

я пишу проще
эмм. проще, но не то.

предположим my_func() = 10, тогда
Код:

bla-bla-bla = my_func()
if (bla-bla-bla)
  reurn 1
else
  return 0
end if

вернет 1

предположим my_func() = 10, тогда
Код:

return my_func()
вернет 10, что, заметь, совсем не одно и то же, что и 1.

dimanche13 18.02.2008 13:48

Ответ: Jimon Test Project (2д шутер-аркада)
 
HolyDel, возвращается флаг True or False. 10 тоже True

HolyDel 18.02.2008 14:25

Ответ: Jimon Test Project (2д шутер-аркада)
 
а... т.е. my_func() вернет или 1 или 0 ?
тогда да.

Igorr 18.02.2008 16:06

Ответ: Jimon Test Project (2д шутер-аркада)
 
Прикольная игрушка. Только немешало бы оконный режим убрать. А то я несколько раз вылетал на рабочии стол и один раз открыл программу.:-)
Респект.:super:

dimanche13 18.02.2008 16:28

Ответ: Jimon Test Project (2д шутер-аркада)
 
HolyDel, неважно, что возвращает my_func(), главное что ТА ф-ция возвращает 1 или 0. Это к примеру, если есть функция count() возвращающая кол-во чего-то (от 0 - до_хрена) и булева ф-ция isEmpty() возвращающая массив пуст - true. Или не пуст False.тогда
Код:

bool isEmpty()
{
  return !count()
}

А игру надо заканчивать однозначно, менюшку прикрутить, сетапы всякие, бонусы и т.д.
ЗЫ. Ресурсы лучше делать на TMap нежели чем на TList

jimon 18.02.2008 21:43

Ответ: Jimon Test Project (2д шутер-аркада)
 
Цитата:

Ресурсы лучше делать на TMap нежели чем на TList
подробнее ...
просто с TMap никогда не работал :-[ :'(

dimanche13 19.02.2008 11:32

Ответ: Jimon Test Project (2д шутер-аркада)
 
Вложений: 1
Вот мой ресурсмЭнеджер. Там на TMap разберешься думаю, комменты подробные.

HolyDel 19.02.2008 11:59

Ответ: Jimon Test Project (2д шутер-аркада)
 
чорный экран ((
прога не закрывалась, закрыл из диспетчера задач.

jimon 19.02.2008 15:06

Ответ: Jimon Test Project (2д шутер-аркада)
 
HolyDel
как запускал,какой комп ? :/ там просто в начале менюшка простая
надо параметры по вводить

работают ли остальные проги bm ?

dimanche13
а смысл юзать TMap если доступ к списку ресурсов происходит
довольно редко, или тогда когда скорость операций не важна

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

ps. необходимость изменения параметров картинки происходит довольно редко имхо

HolyDel 19.02.2008 15:14

Ответ: Jimon Test Project (2д шутер-аркада)
 
bm проги работают.
разрешение 800 на 600
меню не видел (
Celerone 2.8
1.5Gb RAM
GeForce 8600 GT

думаю я просто не вижу эту менюшку.

dimanche13 19.02.2008 16:45

Ответ: Jimon Test Project (2д шутер-аркада)
 
Цитата:

Сообщение от jimon (Сообщение 77484)
если мы добавляем файл то в любом случае
будет менятся код ответственый за етот файл - тоесть замена exe

По идее доступ к элементам через TMap быстрее чем перебор TList и отбраковка по имени. Но если тебе не критично время доступа, то все ок.
Замена ехе, это попросту перекомпиляцо :( Нет, нет и еще раз нет. Как раз таки этого и позволяет избегать файл со всеми ресурсами. А ресурсменеджер лишь переходной элемент между скриптом и всеми ресурсами. Я это представляю так: ресурсы - это файлы, менеджерресурсов это интерфейс для загрузки их и выгрузки из памяти, управление же ресурсами может происходить из скрипта.
Эффективное манипулирование данными без перекомпиляции проекта, это то, к чему надо стремиться. Система может быть какой угодно гибкой, но если без перекомпиляции нельзя сменить текстуру игрока, то грошь ей цена.

HolyDel 19.02.2008 16:53

Ответ: Jimon Test Project (2д шутер-аркада)
 
а можно не заморачиваться, и хранить все ресурсы в папке, открытыми.
если надо будет - все равно взломают.

jimon 19.02.2008 21:39

Ответ: Jimon Test Project (2д шутер-аркада)
 
dimanche13
ето смотря какая игра, если mmorpg то там точно нужен
внешний список ... если игра которую врядли кто-то будет патчить
то и скрипты и внешний список тож не нужен

скрипты по сути ето :
1) удобство разработки
2) удобство обновления продукта

если второе не надо, а скрипты идут из первого принципа
то ето просто ленивый разработчик :) или проект
действительно сложный (скриптование уровней и тд)

HolyDel
тут не защите информации ведется речь, а о еффективном управлении

может невидишь менюшку, попробуй поклацать 1 и ентер и так раза 4 :)

Pixel 20.02.2008 14:24

Ответ: Jimon Test Project (2д шутер-аркада)
 
jimon, задумка нормальная, но игра слишком динамичная и спрайт взрыва очень большой из-за него ничего не видно когда в игре много ботов.

moka 21.02.2008 19:49

Ответ: Jimon Test Project (2д шутер-аркада)
 
Нехватает блендов :)
А то у тебя или Солид, или Маск, а Альфа и Аддитив/Шадед нету :(

jimon 21.02.2008 21:09

Ответ: Jimon Test Project (2д шутер-аркада)
 
MoKa
все текстурки только с маской и ничего не сделаешь :)

moka 21.02.2008 23:12

Ответ: Jimon Test Project (2д шутер-аркада)
 
Погодь, а что мешает установить другой блендинг перед отрисовкой?

jimon 21.02.2008 23:25

Ответ: Jimon Test Project (2д шутер-аркада)
 
MoKa
ты вообще о чем ? :D в коде везде стоит alphablend :) ну вроде везде
просто сами картинки только с маской
или ты хочешь полупрозрачный взрыв ? :)

moka 21.02.2008 23:28

Ответ: Jimon Test Project (2д шутер-аркада)
 
jimon, ну к примеру дым, он замаскован, а не заальфован, и очень резок, как и взрыв, хотя взрыв можно было бы установить в Additive блэнд (засветляющий).

HolyDel 22.02.2008 11:02

Ответ: Jimon Test Project (2д шутер-аркада)
 
ии совсем тупой. Оставльное в норме.

Taugeshtu 22.02.2008 15:09

Ответ: Jimon Test Project (2д шутер-аркада)
 
Можно вякнуть? По моему мнению, проект в качестве учебного годится едва ли:
а) слишком много advanced-фич (тот же менеджер ресурсов - далеко не все смогут понять принцип его работы, даже с подробным описанием. К примеру, я не пойму (; )
б) слишком хороший, слишком объектно-ориентированный код - опять же субъективное, но лично мне код, написанный едва ли не весь через классы, ОЧЕНЬ тяжело понимать

Все выше - субъективное. Но думается мне, что многие согласятся. Код написан далеко не новичком и писался он "для себя", а не для новичков. Хотя как тутор по разборке некоторых advanced-моментов проект вполне годен (;

jimon 22.02.2008 17:27

Ответ: Jimon Test Project (2д шутер-аркада)
 
Ize'g0re
я за 10 часов не придумаю тутор ....
да, игра писалась как безвыходность и хроническая усталость
от монотоности сегодняшнего бездуздушного человечества

простыми словами - чтобы от депресняка спастись ....
так что это скорее просто маленький стишок-поделка на скомканом листе ...

ps. в коде имхо только колижен npc жутко закрученый :)


Часовой пояс GMT +4, время: 14:50.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot