forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Создание игры (http://forum.boolean.name/showthread.php?t=177)

ZanoZa 08.10.2005 17:29

[color=blue]Пытаюсь создать полноценную стрелялку!Помогите :SOS: !!!

alcosholik 08.10.2005 17:38

http://community.boolean.name/index.php?showtopic=19
Отредактируй под свои нужды, и готово! :)

ZanoZa 08.10.2005 23:20

ААА!!! не пойдёт :o мне нужен хороший ИИ, типа чтоб припятствия обходил :))
Короче с чуваками делем игру, так вот и возникают вопросы :rolleyes:

alcosholik 09.10.2005 02:03

http://blitzetc.boolean.name/03-apr05.htm#6
Там в конце статьи ссылки полезные есть по теме.

ZanoZa 09.10.2005 20:52

ААА ясно :bravo: А теперь вопрос на миллион :)) из за которого меня послали взашей с другого форума :unsure:
!!!Как сделать переключение между оружием чтоб всякие характеристики были и т.д.
:SOS: :SOS: :SOS:

pax 09.10.2005 21:06

1. Создай тип(стисок или Type) Weapon, полями(Field) которого будут его (оружия) свойства (модель, мощность, дальность и т.д.;

2. Создай массив этого типа, размерность которого будет означать кол-во оружия;

3. Проинициализируй весь массмв (оператор New) и загрузи/установи значения его полей;

4. Создай переменную, которая будет содержать информацию - какое оружие выбрано;

5. Создай функцию смены оружия.

Вот и все. :)

ZanoZa 14.10.2005 17:49

Цитата:

Originally posted by PAX@Oct 9 2005, 07:06 PM
1. Создай тип(стисок или Type) Weapon, полями(Field) которого будут его (оружия) свойства (модель, мощность, дальность и т.д.;

2. Создай массив этого типа, размерность которого будет означать кол-во оружия;

3. Проинициализируй весь массмв (оператор New) и загрузи/установи значения его полей;

4. Создай переменную, которая будет содержать информацию - какое оружие выбрано;

5. Создай функцию смены оружия.

Вот и все. :)

Не понятно.:bad: А может исходник выложишь? :rolleyes:

pax 14.10.2005 18:27

Вот что-то подобное (пишу прямо на форуме):
Код:

Type Weapon
 * Field Model%
 * Field Power%
 * Field Name$
 *;...
End Type

Dim Weapons.Weapon(CountWeapons%)
For I=1 to CountWeapons
 *Weapons.Weapon(I)= New Weapons
Next

;Здесь ты должен загрузить оружие, скрыть модели, задать параметры оружия и т.д.

;...

;Переменная содержащая текущее оружие
Global CurrentWeapon.Weapon=New Weapon

;Функция смены оружия
Function ChangeWeapon(WeaponIndex%)
 * If CurrentWeapon\Model% then FreeEntity(CurrentWeapon\Model%):CurrentWeapon\Model%=0
 * CurrentWeapon\Model%=CopyEntity(Weapons(WeaponIndex%)\Model%)
 * CurrentWeapon\Power%=Weapons(WeaponIndex%)\Power%
 * CurrentWeapon\Name$=Weapons(WeaponIndex%)\Name$
 *;...
End Function

Для получения параметров выбранного оружия используй: CurrentWeapon\Parameter

ZanoZa 14.10.2005 23:57

Хм... Ну да более понятно стало... :)

jimon 15.10.2005 08:45

to pax:
конешно создавать dim aa.bb хорошо
но помойму лутче создать обычный dim aa
и заносить туда handle обектов типа

или вообще несоздавать никаких там dimов, а работать прямо с типами
помойму так лутче выглядить и меньше памяти есть ;)

ZanoZa 15.10.2005 10:13

А ну ка поподробней!!!

jimon 15.10.2005 14:55

пишу опять прямо на форуме :))



Код:

type weapon
...
end type

dim we(10)

for create=0 to 9
w.weapon=new weapon
we(create)=handle(w)
next

global current_weapon

function changeweapon(weapon)
 *current_weapon=we(weapon)
end function

function update_weapons()
w.weapon=object.weapon(current_weapon)
.....
работа с оружием здесь
.....
end function

вот так
идея такова чтобы получать в update_weapons прямо w а не перебирать все обекты

можно конешно и так :
Код:

type weapon
field id
...
end type

for cr=0 to 10
w.weapon=new weapon
w\id=cr
next

global current_weapon

function changeweapon(weapon)
 *current_weapon=we(weapon)
end function

function update_weapons()
for w.weapon=next weapon
if w\id=current_weapon then
.....
работа с оружием здесь
.....
return 0
end if
next
end function


второй метод будет занимать чучуть меньше места в памяти но будет НА МНОГО раз медленее первого

я первый метод использую всегда
хотя я раньше использовал чтото типа второго метода и метода что предложил PAX

Guest 15.10.2005 15:07

Чё ставить вместо точек :)

jimon 15.10.2005 15:19

привязываеш оружие к модели игрока (в процессе создания типов оружия)
а в место точек обычно ставят проверку на выстрел

pax 15.10.2005 17:06

Цитата:

хотя я раньше использовал чтото типа второго метода и метода что предложил PAX
Ну я еще не писал стрелялок, а этот код я придумал прямо сходу :)

jimon 15.10.2005 17:35

я про метод dim aa.bb :))
его можно применить где вздумается

ZanoZa 16.10.2005 10:39

Блин :bad: может мне вам код выложить?
.............
Пытаюсь выложить код в архиве...
.............
Ни черта :bad: пишет: Вы не можете загружать такой тип файлов

alcosholik 16.10.2005 12:06

Если архив, то выкладывай в формате zip.

ZanoZa 16.10.2005 16:43

Вложений: 2
Ясно, хотя .rar лучше консервирует медиа файлы :)

ZanoZa 16.10.2005 22:09

Так как код то :) :) :)

jimon 16.10.2005 22:16

а что с ним надо зделать ? :))

KRIK 17.10.2005 15:24

И что этим кодом вы хотите сказать? Этот же (ну практически этот) код лежит в компьютерном журнале про Blitz3D.

ZanoZa 17.10.2005 16:05

Могли бы вы написать переключения между оружиями (лучше 3-мя) :)

ZanoZa 18.10.2005 20:07

Чё все умерли?ПОМОГИТЕ :'((

Lexa 19.10.2005 17:49

Ты не пробовал написать свою гаму по другому примеру
использу функции, хотяб одну, это удобней (вот)
потом вставиш свой аи и смену аружия и усё.

SubZer0 19.10.2005 18:07

Вложений: 2
Цитата:

Originally posted by ZanoZa@Oct 18 2005, 06:07 PM
Чё все умерли?ПОМОГИТЕ :'((
так... я смотрю тут никто тебе так и не помог.... ... попытаюсь я

вот пример переключения трех оружий, переключение правой кнопкой мыши...

ZanoZa 19.10.2005 20:58

СПАСИБО!!! :bravo: :bravo: :bravo:

ZanoZa 19.10.2005 20:59

Вы знаете...Вопросы ещё не закончились... :)

SubZer0 19.10.2005 22:21

Цитата:

Originally posted by ZanoZa@Oct 19 2005, 06:59 PM
Вы знаете...Вопросы ещё не закончились... :)
ответы тоже ;) ;)

ZanoZa 19.10.2005 23:25

Тогда ещё... как сделать чтобы текст не затормаживал игру :dontknow:
p.s. Если в моём коде добавить после Rendrea и Update мира строку hud ,то вы всё прекрасно увидете, гарантированно
:ok:

impersonalis 19.10.2005 23:46

Цитата:

Originally posted by ZanoZa@Oct 19 2005, 09:25 PM
Тогда ещё... как сделать чтобы текст не затормаживал игру :dontknow:
p.s. Если в моём коде добавить после Rendrea и Update мира строку hud ,то вы всё прекрасно увидете, гарантированно
:ok:

Заюзать бмп-шрифт. Хорошая либа для этого - задача нетривальная, и нормальной либы я пока не видел. Суть в том, что текст кэшируется, здесь:сохранятеся как картинка и далее выводится эта картинка.
Это ускоряет вывод любых повторяющихся 2д-команд.

Lexa 20.10.2005 00:39

ZanoZa
Извини я был не прав. Просто поторопился с ответом :unsure:

ZanoZa 20.10.2005 15:29

И где взять это?

ZanoZa 20.10.2005 16:56

Вложений: 2
БЛИН ТРАБЛА!
Сделал чтобы пушки по разному стреляли, и вышла лажа :wallbash:
первые 2 пушки нормально, третья не работает, а потом и все пушки не работают :
Код:

wallbash:
For k=1 To 1
 If weapon=0
spdbul=5
  sphere=CreateSphere()
  ScaleEntity sphere,0.1,0.1,0.1
  RotateEntity sphere,10,0,20
        ElseIf weapon=1
        spdbul=30
        sphere=CreateCube()
  ScaleEntity sphere,0.1,0.1,0.1
  RotateEntity sphere,10,0,20
        ElseIf weapon=2
        spdbul=3
        sphere=CreateCone()
  ScaleEntity sphere,0.1,0.1,0.1
  RotateEntity sphere,10,0,20
        EndIf
 If bul=0
  d.Dude=New Dude
  d\entity=CopyEntity( sphere )
  EntityColor d\entity,Rnd(255),Rnd(255),Rnd(255)
  ResetEntity d\entity
  PositionEntity d\entity,EntityX#(campiv,1),EntityY#(campiv)-0.3,EntityZ#(campiv,1)
  PlaySound shot
  RotateEntity d\entity,EntityPitch#(cam,1),EntityYaw#(campiv),0
  EntityType d\entity,enti
  Collisions enti,Typelevel,2,3
  Collisions enti,botar,2,2
  EndIf
 Next

spdbul=5 скорость стрельбы

Ещё код выкладываю

ZanoZa 22.10.2005 14:39

Так посидел я, посидел и понял что код переключения оружия( SubZer0 не обижайся ) не совершенен,
я не могу менять характеристики,модель оружия( а если и можно, то как-то запарно).
Короче помогите мне с переключением оружия плизззз!!! :'(( Выложите это в код!
У меня проэкт вянет!
p.s.Я вас наверно задрал уже :unsure:

alcosholik 22.10.2005 15:00

Цитата:

Originally posted by ZanoZa@Oct 22 2005, 11:39 AM
Короче помогите мне с переключением оружия плизззз!!! :'(( Выложите это в код!
У меня проэкт вянет!

Хм... Понимаешь, ты взялся за разработку серьезного проекта.

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

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

Если твой проект вянет, значит у тебя еще недостаточно знаний для его создания. Просто отложи его на некоторое время и займись разработкой какой-нибудь аркады (или на худой конец тетриса :) ).

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

Решать тебе, конечно, но тебе также следует принять к сведению вышенаписанное.

ZanoZa 22.10.2005 16:37

Так вот я про тоже друзьям говорю, а они 0 в программировании. :wallbash:
Я говорю давайте попроще, допустим гоночку(Как раз код есть готовый).
А они зациклились на шутере, мол "тогда без переключения оружия".
Я говорю "чё за лажа тогда", а они "ну и забей,все равно пробную версию делаем".
Я говорю "блин опыт нужен", :wallbash: они "да нууу...":mda:
Ещё бота надо делать:'(( ...Блин скорее разгоню я всех их, отсавлю пару человек-единомышленников, которые согласны чё угодно клепать.
Но опять же хотят оружия,все хотят оружия. И противников...
Короче я думаю на самом деле завязать шутер ,и браться за гонку :)
Как одобряете?

impersonalis 22.10.2005 17:40

Вообще гонка - это то же не 2 байта обнулить...

SubZer0 22.10.2005 17:53

Цитата:

Originally posted by ZanoZa@Oct 22 2005, 12:39 PM
Так посидел я, посидел и понял что код переключения оружия( SubZer0 не обижайся ) не совершенен,
я не могу менять характеристики,модель оружия( а если и можно, то как-то запарно).
Короче помогите мне с переключением оружия плизззз!!! :'(( Выложите это в код!
У меня проэкт вянет!
p.s.Я вас наверно задрал уже :unsure:

я только направил тебя на путь, как их переключать, как тебе там оно нужно в деталях ты поди решишь сам... :)

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

дак вот, а в те самые условия "If weapon=0 ... ElseIf weapon=1 ... ... endif" можно записать практически все, что захочешь... и цвет, и размер, и форму, и скорость, и убойную силу... :)

возьми вот этот код:
Код:

If bul=0
  d.Dude=New Dude
  d\entity=CopyEntity( sphere )
  EntityColor d\entity,Rnd(255),Rnd(255),Rnd(255)
  ResetEntity d\entity
  PositionEntity d\entity,EntityX#(campiv,1),EntityY#(campiv)-0.3,EntityZ#(campiv,1)
  PlaySound shot
  RotateEntity d\entity,EntityPitch#(cam,1),EntityYaw#(campiv),0
  EntityType d\entity,enti
  Collisions enti,Typelevel,2,3
  Collisions enti,botar,2,2
  EndIf

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

ЗЫ Я специально работу маленько недоделываю, чтоб стимулировать ваше логическое мышление... и тем самым провоцирую вас на дополнительно е программирование :rolleyes:

ZanoZa 22.10.2005 18:15

У меня есть уже готовый работающий код гоночки с гравитацией :)
Так что посоветуете делать FPS или Гонку? :dontknow:

KRIK 22.10.2005 18:49

Я не знаю, делай то, что считаешь более нужным и реальным.

axel186 22.10.2005 19:09

а мне кажется не так важно какой жанр игры ты хочешь сделать, ВСЁ ДАЁТ ОПЫТ!

jimon 22.10.2005 22:01

Цитата:

Вообще гонка - это то же не 2 байта обнулить...
сам уже на ето наехал
проблеммы с стабилизацией заноса :(

ZanoZa 25.10.2005 21:41

Цитата:

Originally posted by jimon@Oct 22 2005, 08:01 PM
Цитата:

Вообще гонка - это то же не 2 байта обнулить...
сам уже на ето наехал
проблеммы с стабилизацией заноса :(

Даже занос... Не у меня нестандартная гонка будет, тип пргать мона будет,наверняка стрелять.И всё это будет на разных планетах в космосе :))
p.s. Ещё хочу арену сделать

jimon 25.10.2005 21:46

ZanoZa желаю удачи

ZanoZa 26.10.2005 15:33

Цитата:

Originally posted by jimon@Oct 25 2005, 07:46 PM
ZanoZa желаю удачи
Тебе тоже :super:

ZanoZa 26.10.2005 15:41

Может кто нить помочь. :)
Типа едет тачка, она набирает скорость 100(speed#=100)
,вкл. блур.Если скорость усиливается, то блур увелич. :SOS:

Guest 26.10.2005 16:00

:)
Blur=speed/100
if blur<1 then Blur=0

ZanoZa 26.10.2005 16:52

blur-это размытость экрана

SubZer0 26.10.2005 17:22

Цитата:

Originally posted by Guest@Oct 26 2005, 02:00 PM
:)
Blur=speed/100
if blur<1 then Blur=0

достаточно будет объявить переменную Blur как целое число, " Blur%=0 " и просто написать "Blur=speed/100"... :)

ZanoZa 26.10.2005 20:59

Короче blur- это размытость экрана.Так вот как сделать чтобы при ускорении размытось увелич.,а при уменьшении скорости,уменьшалась :SOS: :SOS: :SOS:

SubZer0 26.10.2005 23:14

зависит от процедуры блюра... ты как размытость реализуешь??

если чтоб изменялась то типа

blur#=Speed*0.01
if blur<50 then blur=0

(как было написано выше)

:) :)

ZanoZa 26.10.2005 23:39

дело в том что я не могу запихать его даже в код :wallbash:

jimon 27.10.2005 00:17

ты представляеш как блюр делать ? :)

ZanoZa 27.10.2005 09:11

Нет. :'((

AnRee 27.10.2005 11:30

http://blitzetc.boolean.name/mblur.htm B)

ZanoZa 27.10.2005 14:21

Я в это неврубаюсь :'((

jimon 27.10.2005 16:24

а что именно ты непонимаеш ?

Diplomat 27.10.2005 16:57

ZanoZa, знаешь, делай лучше авиасимулятор: никаких блюров, никаких коллизий с землей. Летай себе- MoveEntity Samolet,0,0,10 - и никаких проблем. Самые простоые два жанра: авиасимы и тетрисы. Но тетрисы конечно сложнее. :rolleyes:

impersonalis 27.10.2005 17:24

Цитата:

Originally posted by Diplomat@Oct 27 2005, 02:57 PM
ZanoZa, знаешь, делай лучше авиасимулятор: никаких блюров, никаких коллизий с землей. Летай себе- MoveEntity Samolet,0,0,10 - и никаких проблем. Самые простоые два жанра: авиасимы и тетрисы. Но тетрисы конечно сложнее. :rolleyes:
Это аеродинамика то проста?
Да простейшей управление летающим объектом с нулевым качеством физики в разы сложнее простенкого экшена, имхо.
Тем более для хорошего сима.

jimon 27.10.2005 20:26

2imper diplomat мне давал его супер гениальную систему 'симуляции'
аркадная физика

ps. лутче авиасим делать на ode :)
ode лутчий imho

ZanoZa 27.10.2005 21:23

Вложений: 2
Нет гонку :o.Тем более как-то неприлично даже столько раз менять проэкт.
Я немогу присобачит блур в код :dontknow:
Выкладываю код...Не бейте за модель тачки и уровня :@

Diplomat 27.10.2005 23:23

Админы, сорри за оффтоп.

Цитата:

Это аеродинамика то проста?
|и далее по тексту|

Что ты так серьезно реагируешь на флуд? Шутка это. Была. Но явно не удалась. :)
Собственно, я в свое время пытался создать аэродинамическую модель для авиасима и в результате даже добился определенных практических результатов. Однако перейти от пусть даже несколько похожей на настоящую иммитации к полностью реальной физмодели, я так и не сумел.
То, что называется "хардкорные авиасимуляторы", т.е. игры, где ЛТХ и управление представленых в игре самолетов отображены полностью реалистично- наиболее сложный, неблагодарный и захватывающий для разработчика жанр. Таких игр сейчас практически нет: есть только военные тренажеры и, возможно, "ИЛ-2 Штурмовик".

Своим постом, который являлся просто добрым подтруниванием над ZanoZ-ом, я пытался показать, что каждый жанр, и тем более симуляторы [гонок], сложен и требует как определенного опыта программирования, так и представления о физических законах, управляющих движением моделируемых механизмов. Причем законы эти отличаются от физики кирпича на веревочке.

Вот. Типа так. В общих чертах. :P

P.S. ZanoZa, кажется, архив "Рейс.зип" убит.Я качал его два раза, но он так и не открылся мне...:dontknow:

Жека 28.10.2005 10:31

Цитата:

делай лучше авиасимулятор: никаких блюров, никаких коллизий с землей. Летай себе- MoveEntity Samolet,0,0,10 - и никаких проблем.
Эээ... я хотел сделать такую штуку ;)
Только с рассчетом как раз на блур, типа (с)"высокоскоростные полеты на кукурузнике". Плюс стрелять: ни зачем-то, ни в кого-то - просто стрелять!
Тока моделек нет, а как я без них ?!


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

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