The Daily Click ::. Forums ::. Klik Coding Help ::. A.I. for Side-View Enemies
 

Post Reply  Post Oekaki 
 

Posted By Message

..:.Phox.:..



Registered
  18/02/2005
Points
  646

VIP MemberHero of TimeI like Aliens!Cardboard BoxAttention Getter
10th April, 2005 at 18:42:24 -

hello (again for the 32444402nd time)

This time I whant to learn how to make a A.I. for side-view enemies.

I want to know how to make them fall to the ground, run around, jump, atack me, and die.

How do I do it?

Step By Step help please.

 
Profile edited as it messed the layout of the site up.

Knudde (Shab)

Administrator
Crazy?

Registered
  31/01/2003
Points
  5125

Has Donated, Thank You!Clickzine StaffKlikCast StarVIP MemberGhostbuster!Dos Rules!I donated an open source project
10th April, 2005 at 18:46:15 -

This step by step thing isn't gonna help you, especially with something like AI, which can be very in depth. AI is best made when you yourself make the routines. Having said this, I believe an article would be of greater help to you, as there is no simple answer. There are many good articles on AI here, I'll search them out and find them for you.

 
Craps, I'm an old man!

Knudde (Shab)

Administrator
Crazy?

Registered
  31/01/2003
Points
  5125

Has Donated, Thank You!Clickzine StaffKlikCast StarVIP MemberGhostbuster!Dos Rules!I donated an open source project
10th April, 2005 at 19:04:16 -

http://www.create-games.com/article.asp?id=1154

Here's a pretty good one.

 
Craps, I'm an old man!

Knudde (Shab)

Administrator
Crazy?

Registered
  31/01/2003
Points
  5125

Has Donated, Thank You!Clickzine StaffKlikCast StarVIP MemberGhostbuster!Dos Rules!I donated an open source project
10th April, 2005 at 19:08:23 -

And Translated

----------------
CODING DA INTELIGÊNCIA ARTIFICIAL

Virá um momento na vida de cada codificador em que necessitarão codificar alguma inteligência artificial. Os inimigos necessitam fazer mais do que andam para a frente e para trás em um trajeto e disparam em um temporizador. Em um jogo do pong, você quererá seu oponente seguir a esfera, mas não sempre poder batê-la. Assim como você consegue este? O seguinte é alguns exemplos. Por favor a nota, aquela é de nenhuma maneira estas a única maneira codificar cada tipo particular. No fato, há mal sempre somente de sentido único fazer qualquer coisa.

Eu adicionei uma descrição sob cada evento ou o grupo dos eventos que explica o que é para. Que a maneira, você não é justa copí os eventos, você pode também compreender como trabalham e porque. Uma vez que você tem uma compreensão boa dos eventos, você pode alterá-los a seu gostar.

Enrole simplesmente para baixo até que você encontre o título que bold(realce) você está procurando. Se não estiver lá, o email mim ou C.C. envia-me e eu tentarei vir acima com algo para você. Alternativamente, copíe este artigo inteiro e cole-o em um notepad ou exprima-o o original para a referência futura.

Nb. Um X em vez de um o o começo de um condition/event indica que ' negue ' a linha.

Oponente De Pong

Isto cobre:
- movendo-se para interceptar a esfera
- prioridade do interception (quando houver mais de um objeto a parar, que um o processador central vai para)
- ateando fogo a um laser com possibilidade de inaccuracy

Você necessitará:
- a pá de CPU's (ajuste o ponto quente ao centro)
- a pá do jogador (outra vez, ajuste o ponto quente ao centro)
- a esfera (ajuste o ponto quente ao centro)
- um detetor sobre os pixels 3x3 grandes (ajuste o ponto quente ao centro)
- um laser para o jogador, e um laser para o processador central (para os certificados da prioridade do inaccuracy e do interception)
- um objeto para que o jogador proteja, colocado atrás de sua pá (para o certificado do inaccuracy)

O método:
Para começar com, você quererá colocar para baixo tudo. Neste exemplo, o processador central será acima do alto, e o jogador será abaixo o fundo. Serão mover-se esquerdo e direito. Se suas pás estiverem nos lados esquerdos e direitos preferivelmente, substitua apenas todos os y e x nas instruções com seu oposto (mudança X do IE aos y e ao versa do visto), e certifique-se ajustar ' o mais grande do que ' e ' o menos do que ' as linhas baseadas sobre onde seu oponente do computador está.

* Anote por favor, eventos óbvios como fazer o salto da esfera quando bate uma pá ou o lado da tela não é incluído. Nem é um sistema marcar ou os eventos do jogador.

Alright, uma vez que você have.got tudo trague, você querem fazer o computador capaz de mover-se. Isso é o lugar aonde seu detetor vem dentro. Faça o seguinte evento:

Circunstâncias
o - Começo do nível
Eventos
o - Ajuste a posição do detetor a (0.0) da pá do processador central
o - Faça o detetor invisível

Este evento certificar-se-á de que o detetor está no ponto direito, assim que seu oponente não faz todas as coisas do wierd como o movimento travar para baixo a esfera. Também, esconde o detetor assim que olha como o processador central é mover-se de seu próprio acordo.

Circunstâncias
o - Sempre
Eventos
o - Ajuste a posição de X do detetor à posição de X da esfera

Isto fará o detetor seguir à esquerda e para a direita a esfera.

Circunstâncias
X - A pá do processador central está sobrepondo o detetor
Eventos
o - Ajuste a velocidade da pá do processador central a < mais lento do que a esfera, mas não demasiado. Aproximadamente 10 ou 15 unidades mais lentas >

Se a velocidade da pá do processador central for mais grande do que a esfera, a seguir o processador central será provavelmente demasiado rápido bater. Você quer o processador central poder faltar. Uma maneira boa de certificar-se isto pode acontecer deve fazer gradualmente a velocidade da esfera aumentar o tempo excedente, a palavra adiciona 1 para apressar cada 1-5 segundos ou assim.

Circunstâncias
o - A pá do processador central está sobrepondo o detetor
Eventos
o - Ajuste a velocidade da pá do processador central a 0

Isto faz o processador central parar quando está no ponto direito para bater a esfera.

Lá você tem-no. A pá do processador central mover-se-á agora para interceptar a esfera. A observação como quando a esfera estiver perto da borda, a pá do computador sairá da tela em parte? A pá do jogador quer mais do que provavelmente não ser permitida fazer isto, assim que você quererá parar também o CPU's. Isso é quando nós adicionamos o evento seguinte.

Circunstâncias
o - A posição X da pá do processador central é menos ou igual < à metade do comprimento do pixel da pá >
Eventos
o - Ajuste a velocidade da pá do processador central a 0

Circunstâncias
o - A posição X da pá do processador central é mais grande ou igual < a X no tamanho de tela - metade do comprimento do pixel da pá > (para o exemplo, as definições 640x480 usariam 640 - metade do comprimento do pixel da pá)
Eventos
o - Ajuste a velocidade da pá do processador central a 0

Isto fará o computador parar quando alcança as bordas da tela.

Para adicionar algum spice à mistura, em vez apenas de proteger seu lado da tela, você manda-lhe um objeto atrás proteger (por exemplo um cristal ou um bloco), e ambos os jogadores podem atear fogo a lasers no objeto em uma tentativa de destrui-la. Eu deixarei para fora o evento do laser do acendimento do jogador porque é óbvio como você pode o fazer. Também, neste jogo os lasers serão destruídos quando batem a pá de um oponente, assim que eu não adicionarei esse evento. Certifique-se que você tem dois objetos do laser, um a que o jogador ateia fogo, e um esse os fogos do computador. Se você não tiver o laser do seperate objeta para cada pá então que a destruirão provavelmente assim que for ateada fogo.

Antes que você comece, remova o seguinte evento que você adicionou mais cedo:

Circunstâncias
o - Sempre
Eventos
o - Ajuste a posição de X do detetor à posição de X da esfera

Isto é porque você não quer o computador seguir sempre apenas a esfera, ou você pode bater o que quer que está protegendo com um laser quando for ocupado com a esfera.

Circunstâncias
o - O número do laser do jogador é mais grande de 0
o - A posição de Y do laser do jogador é menos ou igual à posição de Y da esfera
o - A posição de Y do laser do jogador é mais grande do que a posição de Y da pá do processador central
Eventos
o - Ajuste a posição de X do detetor à posição de X do laser do jogador

Isto faz o processador central remar o movimento interceptar o laser se for mais perto dele do que a esfera, e o laser não é atrás dele.

Circunstâncias
o - O número do laser do jogador é mais grande de 0
o - A posição de Y da esfera é menos ou igual à posição de Y do laser do jogador
o - A posição de Y da esfera é mais grande do que a posição de Y da pá do processador central
Eventos
o - Ajuste a posição de X do detetor à posição de X da esfera

Este for o oposto ao último evento, fazendo o processador central vai para a esfera quando a esfera mais próxima.

Circunstâncias
o - O número do laser do jogador é mais grande de 0
o - A posição de Y do laser do jogador é mais grande ou igual à posição de Y da esfera
o - A posição de Y da esfera é menos do que a posição de Y da pá do processador central
Eventos
o - Ajuste a posição de X do detetor à posição de X do laser do jogador

Este evento significa que se a esfera for atrás da pá, então o processador central irá para o laser.

Circunstâncias
o - O número do laser do jogador é mais grande de 0
o - A posição de Y da esfera é mais grande ou igual à posição de Y do laser do jogador
o - A posição de Y do laser do jogador é menos do que a posição de Y da pá do processador central
Eventos
o - Ajuste a posição de X do detetor à posição de X da esfera

O oposto do último evento. O processador central irá para a esfera se o laser for atrás dele (não pode começar o laser se for atrás dele).

Circunstâncias
o - O número do laser do jogador iguala 0
o - A posição de Y da esfera é mais grande do que a posição de Y da pá do processador central
Eventos
o - Ajuste a posição de X do detetor à posição de X da esfera

Isto significa que quando não há nenhum laser ateado fogo do jogador, o processador central irá para a esfera (tão por muito tempo como não é atrás dele).

Aquele é todos os eventos necessitados fazer o processador central começar a esfera e o laser. Mas que acontece quando você quer o computador atear fogo para trás? Você não o quer ter a exatidão mortal (a menos que está na modalidade dura). Deixe-nos dizer que você o quer poder faltar, como todo o oponente real. Para fazer isto, adicione os seguintes eventos:

Circunstâncias
o - A bandeira interna 0 da pá do processador central está DESLIGADA
o - A bandeira interna 1 da pá do processador central está DESLIGADA
Eventos
o - Valor alterable ajustado A da pá do processador central a random(200)

Circunstâncias
o - A bandeira interna 0 da pá do processador central é SOBRE
Eventos
o - Adicione 1 ao valor alterable B da pá do processador central

Estes eventos determinam a taxa do acendimento do processador central. Para fazer o processador central atacar mais provavelmente, diminua o número aleatório no primeiro evento. Para fazê-lo mais menos provavelmente, aumente-o.

Circunstâncias
o - O valor alterable A da pá do processador central iguala 1
Eventos
o - Valor alterable ajustado A da pá do processador central a 0
o - Bandeira interna ajustada 1 da pá do processador central a SOBRE
o - Ajuste a posição de X do detetor a ((posição de X de Object+ protegido jogador random(40)) - 20)

Para uma variação mais grande da falta, aumente o número aleatório. Certifique-se que o número sublinhado é metade do aleatório.

Circunstâncias
o - A bandeira interna 1 da pá do processador central é SOBRE
o - A pá do processador central está sobrepondo o detetor
Eventos
o - Bandeira interna ajustada 1 da pá do processador central a FORA
o - Bandeira interna ajustada 0 da pá do processador central a SOBRE
o - Tenha o laser do processador central do fogo da pá do processador central para baixo na velocidade < de sua escolha >

Quando todas as exigências da taxa do acendimento são encontradas com e o processador central ' apontou ', ateará fogo.

Circunstâncias
o - O valor alterable B da pá do processador central iguala 200
Eventos
o - Valor alterable ajustado B da pá do processador central a 0
o - Bandeira interna ajustada 0 da pá do processador central a FORA

Determina o tempo onde mínimo o processador central pode esperar antes dela ateia fogo a outra disparou. Aumente os 200 para uma espera mais longa, e diminua-os para mais curta.

Lá é. O processador central mover-se-á agora para parar seus lasers e a esfera, e atear-se-á fogo também em seu objeto protegido, com uma possibilidade de apontar pobre.

- isto concli a seção oponente de Pong -

Inimigo De Platformer

Isto cobre:
- variação do movimento
- evitando ataques
- armas múltiplas

Você necessitará:
- seu motor da plataforma assim que o jogador podem mover-se e testar os eventos (download um da C.C. se você não puder os fazer você mesmo)
- um inimigo (com animations parados, andando e ducking)
- uma bala do jogador
- uma bala inimiga
- um grenade inimigo
- ' um objeto do detetor da vista ' para seu inimigo (um círculo aproximadamente dos pixels 5x5 grandes)
- ' um marcador deixado ' e ' um marcador direito ' (usado colocar para fora do limite do movimento do inimigo)

O método:
Esta seção supõe que você have.got seu motor da plataforma classificado para fora, e o jogador pode mover-se, andar em plataformas, etc.. Certifique-se que o inimigo está estando em uma plataforma, e se coloque o assim que seus pés estão estando na plataforma. Coloque ' o marcador esquerdo ' de modo que sua borda direita esteja na borda esquerda do plaftorm. Faça o oposto com ' o marcador direito '. Nesta seção, o inimigo não tem a gravidade e não tem preferivelmente ' saltando um movimento da esfera '. Ajuste seu sentido inicial a diretamente à esquerda ou para a direita. Você quererá a plataforma do inimigo ser ao menos suficientemente longa para que faça exame de aproximadamente 3-5 segundos para viajar a plataforma inteira. Comece com o seguinte:

Circunstâncias
o - O inimigo colide com o marcador esquerdo
Eventos
o - Ajuste o sentido do inimigo à DIREITA

Circunstâncias
o - O inimigo colide com o marcador direito
Eventos
o - Ajuste o sentido do inimigo à ESQUERDA

Isto fará os marcadores esquerdos e direitos o limite para o movimento do seu inimigo. Quando toca em um, vai a outra maneira. Com este você pode usar os mesmos tempos múltiplos inimigos no nível, mas enlatam cada patrulha um a área feita sob medida diferente.

Circunstâncias
o - Cada 00'20
Eventos
o - Tenha o detetor inimigo da vista do tiro na velocidade 50 (em seu sentido atual)

Circunstâncias
o - O número do detetor da vista é mais grande de 0
Eventos
o - Adicione 1 ao valor alterable A do detetor da vista

Circunstâncias
o - O valor alterable A do detetor da vista iguala 10
Eventos
o - Destrua o detetor da vista

Os eventos acima farão anticipar inimigo dele, até alguma escala. Para aumentar sua escala visual, aumente o número alterable do valor A no terceiro evento. Inversa, diminua-o para fazer a escala visual mais curta.

Circunstâncias
o - O detetor da vista colide com o jogador
o - A bandeira interna 0 do inimigo está DESLIGADA
Eventos
o - Bandeira interna ajustada 0 do inimigo a SOBRE

A bandeira interna 0 do inimigo será sua consciência. Se estiver ciente de sua presença, será SOBRE. If.not, estará DESLIGADA.

Circunstâncias
o - O detetor da vista colide com o jogador
o - A bandeira interna 0 do inimigo é SOBRE
Eventos
o - Valor alterable ajustado A do inimigo a 0

Circunstâncias
o - A bandeira interna 0 do inimigo é SOBRE
Eventos
o - Adicione 1 ao valor alterable A do inimigo

Circunstâncias
o - Valor alterable A dos iguais 20 do inimigo
Eventos
o - Valor alterable ajustado A do inimigo a 0
o - Bandeira interna ajustada 0 do inimigo a FORA

Os eventos acima fazem a consciência do inimigo desaparecer se não o vir por um quando. Para fazer isto ' quando ' mais por muito tempo, aumente os 20 no terceiro evento. Para fazê-lo mais curto, diminua-o.

Circunstâncias
o - A bandeira interna 0 do inimigo é SOBRE
Eventos
o - Ajuste a velocidade do inimigo a 0

Circunstâncias
o - A bandeira interna 0 do inimigo está DESLIGADA
Eventos
o - Ajuste a velocidade do inimigo < a sua escolha - o que velocidade você quer o inimigo andar >

Isto faz o batente inimigo quando está ciente de sua presença. Quando não é, andará simplesmente

Tente seu nível para fora agora. Você observará que se você saltar na frente do inimigo, parará. Se você sair de sua maneira, continuará andando uma vez que seu período da consciência está acima. Agora nós far-lhe-emos o tiro em você. Os eventos da colisão da bala não serão cobertos, nem o lives/health do jogador. Você pode fazer estes você mesmo.

Circunstâncias
o - A bandeira interna 0 do inimigo é SOBRE
o - Valor alterable B dos iguais 0 do inimigo
Eventos
o - Valor alterable ajustado B do inimigo a 20
o - Tenha a bala inimiga do tiro inimigo na velocidade < o que apropriado para seu jogo >

Circunstâncias
o - O valor alterable B do inimigo é mais grande de 0
Eventos
o - Subtraia 1 do valor alterable B do inimigo

O inimigo disparará em você quando o vê. Também, tem uma taxa do acendimento de 20. Para fazer sua taxa do acendimento mais lenta, aumente os 20 no primeiro evento. Para fazê-lo mais rápido, diminua-o. Você quererá provavelmente adicionar um efeito sadio para sua arma.

Agora se você testar o nível para fora, você observará que o inimigo disparará continuamente em você quando sabe que você está lá. Que se nós o quisermos lançar assim frequentemente um grenade cada? Eu não cobrirei os eventos do trajectory do grenade, ou o grenade explode eventos.

Circunstâncias
o - A bandeira interna 0 do inimigo é SOBRE
o - Valor alterable C dos iguais 0 do inimigo
Eventos
o - Valor alterable ajustado C do inimigo a 40

Circunstâncias
o - O valor alterable C do inimigo é mais grande de 0
Eventos
o - Subtraia 1 do valor alterable C do inimigo

Circunstâncias
o - A bandeira interna 0 do inimigo é SOBRE
o - Valor alterable C dos iguais 1 do inimigo
Eventos
o - Valor alterable ajustado C do inimigo a 0
o - Críe o grenade do inimigo em (0.0) (se você não pode programar o trajectory, o mandam simplesmente disparar n. Isto, entretanto, olhará muito gay. Você não joga um grenade em uma linha perfeitamente reta envía)

Circunstâncias
o - A bandeira interna 0 do inimigo está DESLIGADA
Eventos
o - Valor alterable ajustado C do inimigo a 0

Os primeiros três eventos determinam jogar real do grenade e a taxa do fogo para jogar. Para fazer a taxa do fogo mais lenta, aumente os 40 no primeiro evento. Para fazê-lo mais rápido, diminua-o. O evento final cancela o processo jogando do grenade quando o inimigo perde a consciência de sua presença. Como indicado antes, você necessitará fazer seu próprio evento para o grenade que explode, ou se estiver em um temporizador, etc..

Agora em que você testa seu nível, você observará que faz não somente o movimento inimigo ao redor, vê o e o tiro em você, mas lançará ocasionalmente um grenade. Você não tem que ter um grenade, obviamente... ele era justo um exemplo. Você poderia mandar o inimigo ativar um protetor ou colocar uma mina da terra no lugar do outro evento.

A última parte desta seção discutirá fazer o inimigo evita seus ataques. Obviamente, você não o quererá duck cada ataque que você faz. Os seguintes eventos mostram como fazer-lhe ataques do pato somente se é revestimentos você.

Circunstâncias
o - A bandeira interna 0 do inimigo é SOBRE
o - O número da bala do jogador é mais grande de 0
Eventos
o - Mude o animation do inimigo a CROUCHING
o - Ajuste a bandeira interna 2 do inimigo a SOBRE

Circunstâncias
o - O número da bala do jogador iguala 0
o - A bandeira interna 2 do inimigo é SOBRE
Eventos
o - Seqüência do animation do restore para o inimigo
o - Bandeira interna ajustada 2 do inimigo a FORA

(você necessitará se certificar que o animation crouching é baixo bastante para que evite sua bala. Os ajustes estarão requeridos provavelmente, a menos que o inimigo for um blob e puder duck em um formulário pixel-elevado)

O inimigo duck os ataques que vêm nele quando está ciente de sua presença. Entretanto, você puder querê-lo ser incapaz de atear fogo quando no estado crouched. Se este for o caso, edite simplesmente os eventos que disparando você fêz para o inimigo e adicione a linha ' a bandeira interna 2 do inimigo está FORA DE ' às circunstâncias.

Se você gostar de ter o pato inimigo somente ocasionalmente, em vez de cada vez que é revestimentos você, tenha os seguintes eventos em vez dos dois acima:

Circunstâncias
o - A bandeira interna 0 do inimigo é SOBRE
o - O número da bala do jogador é mais grande de 0
Eventos
o - Valor alterable ajustado A da bala do jogador a random(5)+1

Circunstâncias
o - O valor alterable A da bala do jogador iguala 1
o - O número da bala do jogador é mais grande de 0
Eventos
o - Mude o animation do inimigo a CROUCHING
o - Ajuste a bandeira interna 2 do inimigo a SOBRE

Circunstâncias
o - O número da bala do jogador iguala 0
o - A bandeira interna 2 do inimigo é SOBRE
Eventos
o - Seqüência do animation do restore para o inimigo
o - Bandeira interna ajustada 2 do inimigo a FORA

Estes eventos dão ao inimigo um 1 na possibilidade 5 de ducking uma bala. Se você quiser mudar este, como um 1 em 10 chance, para o exemplo, mude os 5 no primeiro evento no número que você quer, por exemplo random(10)+1 far-lhe-á um 1 na possibilidade 10.

- isto concli a seção inimiga de Platformer -

Do Alto Oponentes Para baixo

Isto cobre:
- deteção e perseguição inimigas
- perda inimiga do interesse

Você necessitará:
- o caráter do jogador (ajuste o ponto quente no centro)
- um inimigo (ajuste o ponto quente no centro)
- diversos objetos ativos (invisíveis) para as finalidades pathfinding (explicadas mais tarde)

O método:
Este é fácil. Tudo que você tem que fazer deve colocar o jogador e o inimigo na tela. Dê a seu caráter do jogador o movimento de 8-directional (ou faça seus próprios) e dê ao inimigo um movimento saltando da esfera. Você quererá adicionar seus próprios eventos para fazer o inimigo faz mais do que salta ao redor como um pinball. Então, faça o seguinte:

Circunstâncias
o - Picareta uma do inimigo
o - A posição de Y do jogador é mais grande ou igual à posição de Y do inimigo - 80
o - A posição de Y do jogador é menos ou igual à posição de Y do inimigo + 80
o - A posição X do jogador é mais grande ou igual à posição de X do inimigo - 80
o - A posição X do jogador é menos ou igual à posição de X do inimigo + 80
Eventos
o - Bandeira interna ajustada 0 do inimigo a SOBRE
o - Valor alterable ajustado A do inimigo a 0

Circunstâncias
o - A bandeira interna 0 do inimigo é SOBRE
Eventos
o - Tenha o olhar inimigo em (0.0) relativo ao jogador
o - Adicione 1 ao valor alterable A do inimigo
o - Ajuste a velocidade do inimigo < a mais altamente do que o normal > (opcional)

Circunstâncias
o - Valor alterable A dos iguais 30 do inimigo
Eventos
o - Valor alterable ajustado A do inimigo a 0
o - Bandeira interna ajustada 0 do inimigo a FORA

Circunstâncias
o - A bandeira interna 0 do inimigo está DESLIGADA
Eventos
o - Tenha o olhar inimigo no sentido aleatório (tenha uma seta em todo)
o - Ajuste a velocidade do inimigo < ao normal > (se você incluiu o evento opcional)

O primeiro evento determina o raio da visão do inimigo. No fato, o raio é a palavra errada, porque é um quadrado na realidade. Para começar um círculo, você necessitará dabble na função avançada da matemática. Alternativamente, se você tiver somente um inimigo, ou todos os inimigos são os objetos do seperate, você pode ter um objeto ativo circular segui-los e ter um evento da colisão em vez das dimensões. Os três eventos inferiores farão o inimigo perder o interesse se não puder o ver em um short quando. Para fazer este período mais longo, aumente os 30 no terceiro evento. Para fazê-lo mais curto, diminua-o.

UPDATE: Não se esqueça de incluir ' a picareta uma ' do evento, se não o jogo suporá que o inimigo na pergunta é primeiro que você colocou no campo jogando. Agradecimentos especiais a mikefarktard@hotmail.com para ajudar-me encontrar isto.

- isto concli a seção oponente do alto para baixo -

Você tem começado agora uma compreensão básica da inteligência artificial que programa, para o mais básico de tipos do jogo. No futuro eu posso fazer mais avançado, baseado na demanda.

Eu espero que este ajude ao menos a uma pessoa!

- Rick

 
Craps, I'm an old man!

Nuutti



Registered
  26/10/2003
Points
  1364
11th April, 2005 at 10:08:03 -

omg DDDDDDdd

 
P.S. sorry for my mangled english.

..:.Phox.:..



Registered
  18/02/2005
Points
  646

VIP MemberHero of TimeI like Aliens!Cardboard BoxAttention Getter
11th April, 2005 at 13:00:08 -

I DON'T WANT YOU GUYS TO TRANSLATE STUFF!!

IT'S ALL IN BRAZILIAN!!

Thanks for the article though.

I was born in canada and have no dificulty with reading!!!

I just sometimes don't know how to spell words right!

But ANYWAY

THANXXX

 
Profile edited as it messed the layout of the site up.

AndyUK

Mascot Maniac

Registered
  01/08/2002
Points
  14586

Game of the Week WinnerSecond GOTW AwardHas Donated, Thank You!VIP Member
11th April, 2005 at 15:18:57 -

Why was it translated?

anyway a simple answer would be to learn how to move the enemies using events, you can then choose what they do, like shoot at your character every 2 seconds and jump at random intervals, i guess i could make a tutorial for this, im that kinda guy.

 
.

AndyUK

Mascot Maniac

Registered
  01/08/2002
Points
  14586

Game of the Week WinnerSecond GOTW AwardHas Donated, Thank You!VIP Member
11th April, 2005 at 16:09:39 -

ive just submitted one to the downloads list, but here is the link

http://www.geocities.com/algamesuk/enemyai.zip

 
.

Assault Andy

Administrator
I make other people create vaporware

Registered
  29/07/2002
Points
  5686

Game of the Week WinnerVIP Member360 OwnerGOTM JUNE - 2009 - WINNER!GOTM FEB - 2010 - WINNER!	I donated an open source project
12th April, 2005 at 05:02:00 -

It was probabley just babelfished anyway.

 
Creator of Faerie Solitaire:
http://www.create-games.com/download.asp?id=7792
Also creator of ZDay20 and Dungeon Dash.
http://www.Jigxor.com
http://twitter.com/JigxorAndy

Knudde (Shab)

Administrator
Crazy?

Registered
  31/01/2003
Points
  5125

Has Donated, Thank You!Clickzine StaffKlikCast StarVIP MemberGhostbuster!Dos Rules!I donated an open source project
12th April, 2005 at 05:20:39 -

nope, used a better online translater.

 
Craps, I'm an old man!

David Newton (DavidN)

Invisible

Registered
  27/10/2002
Points
  8322

Honored Admin Alumnus
12th April, 2005 at 07:32:23 -

Don't they speak Portuguese in Brazil?

 
http://www.davidn.co.nr - Games, music, living in America

DeadmanDines

Best Article Writer

Registered
  27/04/2006
Points
  4758
12th April, 2005 at 10:22:08 -

There are two different types of Portuguese - European and Brazillian.

Apparently it's like the difference between British and American English. Various differences in words, pronunciation (most noticable to me is how the Portuguese go 'sh' a lot, and the Brazillians go 's'), etc. But I think your average Portuguese person can understand Brazillian, and vice versa.

I'm just starting learning Portuguese at the moment, although I'll probs end up speaking the Brazillian form. I'd rather learn the European, to be honest, but there's less demand.

 
191 / 9999 * 7 + 191 * 7

DeadmanDines

Best Article Writer

Registered
  27/04/2006
Points
  4758
12th April, 2005 at 10:59:59 -

Anyway, back to the subject.

You're best tackling A.I. when you understand a LOT more about clicking. The key to AI (and anything else in my opinion) is asking 'what' before you ask 'how'.

What do you want your enemies to do?

If they're on a platform, should they be able to realise that you're on the level below and jump down to meet you? Do they hear you footsteps if you run/shoot/reload? Perhaps they have various degrees of alert - the less alert they are, the longer their reaction times are. If they've already been alerted (eg: they can hear you but they can't see you), then they're gonna react much quicker.

Do they pick up weapons/ammo/etc too?

Do they team up? If there are two enemies, one with a rapidfire gun and one with a slow but powerful one, maybe the faster shooter will run in first, giving cover for the slower-shooting guy behind him.

Do they hide behind boxes? If so, can they jump over the boxes and continue to chase you? If they know you're hiding behind a box, will they decide to shoot a grenade rather than wait for you to show your face again? Or if they have no grenade, will they try shooting the box apart (if the box is breakable)?

Will they lose interest? Or will they hunt you to the death?

If they're animals/monsters/zombies, what extrasensory powers do they have? Can they follow your scent? If you're injured, will they follow your trail of blood?

Do they have friendships? If you kill their buddy, will they go suicidal and try and avenge him? If you kill someone they hate, will they say a quick comment like "ah, I never liked you anyway".

Do they have to reload? If so, how about they seek cover, rather than just reloading whilst you're shooting at them? Maybe if they have 5 bullets, and the guy behind them has 50, then the guy with less ammo will move behind him so he can reload safely - then they switch positions again. This way the guy with the most ammo is always in front.

Also, maybe enemies can use health packs? If there are 3 enemies, and one is more seriously injured than the rest, he should be given the healthpack.


Once you've decided what you *want*, think about the code and decide whether it's feasible. I think virtually all of this is possible - but it may be too complicated to employ in one game. Still, it's worth experimenting. Maybe build a list of priorities - which of these features is most important? Which ones could your game do without?


As you get more used to clicking, it becomes almost like using a language. If your stomach rumbles, you know that you can convey this to another human being by saying "I'm hungry". It's the same with clicking. If you want to achieve something in click, you find yourself automatically coming up with ways it could be done.

 
191 / 9999 * 7 + 191 * 7

..:.Phox.:..



Registered
  18/02/2005
Points
  646

VIP MemberHero of TimeI like Aliens!Cardboard BoxAttention Getter
12th April, 2005 at 12:41:41 -

THANX!

I'm learning and loving too.

Yeah Brazilians talk Portuguese.

Not exactly the same but anyway I just don't like people to translate on translating sites cuz they only translate the words and not the real sense of the frase!

But anyway thanks!

I am now making the list of attributes, abilities that the enemies have and am trying to make them in code.

It's not that hard after all.

What still confuses me still is WHAT ARE VARIABLES, WHAT ARE THEY FOR? because you use them all the time to make gravity, right?

THANX


 
Profile edited as it messed the layout of the site up.

DeadmanDines

Best Article Writer

Registered
  27/04/2006
Points
  4758
14th April, 2005 at 06:36:07 -

A variable is basically a number that can change (or 'vary').

So the player's speed is a variable, because it's always changing.

For example, if we know that the player slows down at a rate of 2pps (pixels per second), and he's currently moving at a speed of 10pps, we can do this:

speed / decelleration = time

or literally:

12 / 2 = 6

This means it'll take 6 seconds for the player to slow down to a stop. If he's going at 20pps instead, you'd do:

20 / 2 = 10

So now it'll take 10 seconds. This is what happens when we change a variable.



 
191 / 9999 * 7 + 191 * 7
   

Post Reply



 



Advertisement

Worth A Click