OpenArena Message Boards

id Tech 3 => cgame/game/ui => Topic started by: fromhell on March 05, 2016, 10:36:57 PM



Title: Monsters
Post by: fromhell on March 05, 2016, 10:36:57 PM
Hi again!!! I wanna try making some sort of simple monsters implementation, because we know the FOSS fps scene has a shortage of singleplayer/coop games and it's probably possible to have OA fill this gap somewhat a little more without altering the core arena gameplay.

but here's my catch
- no The Dark Conjuction code, even though that's open source, it's under the restrictive Q3A SDK license
- no hacked up bot code

Monsters I want to make:

- a weak punch monster
- a weak projectile monster
- a weak explode monster or barrel
- a medium projectile monster
- a strong big smash monster
- a weak flying monster
- a weak swimming monster

AI i want to make:
- run to player
- no "smart AI" like strafing and crouching.
- pretty much Quake AI, which is literally "see/hear/get damaged by enemy, then run to enemy fire at enemy in range"

Gametypes:
- Singleplayer
- coop
- DMSP (like Cube etc. uses any map as an invasion waves kind of thing)


Title: Re: Monsters
Post by: Gig on March 06, 2016, 04:27:09 AM
Interesting... will it be a Mod?

Will it have a "story" to follow, like "the dark conjunction" (DO NOT LINK) h t t p s : / / openarena . wikia . com/wiki/ModCompat/The_Dark_Conjunction or will it be something more similar to the two extra modes of "hunt" q3 mod (DO NOT LINK) h t t p s : / / openarena . wikia . com/wiki/ModCompat/Hunt ?
That "dmsp" thing seems something similar to the "stu" mode of "hunt".

Gig from cell phone.


Title: Re: Monsters
Post by: sago007 on March 06, 2016, 05:03:25 AM
It sounds great.

I am not completly sure about the bot code. I believe a little roaming would be a good thing.

I would recommend starting with a proof of concept with just "a weak punch monster" to see how it works.


Title: Re: Monsters
Post by: fromhell on March 07, 2016, 02:33:31 AM
So far i've:

- imitating quake behavior, made doors with wait -1 stay open, for doors that are opened switches (or potential other uses......like breaking glass :) )
- converted a few Open Quartz monster MDLs to MD3 to serve as placeholders
- made monster_puncher just an entity that displays models/monster/puncher/tris.md3
- made monster_army, monster_dog, monster_knight alias monster_puncher to get my broken oblige test map useful



Title: Re: Monsters
Post by: Gig on March 07, 2016, 04:57:41 AM
Cool!  :) Please provide us a test mod when possible!


Title: Re: Monsters
Post by: fromhell on March 07, 2016, 06:41:54 AM
They can be shot and gibbed now


Monsters are being devved here btw
https://github.com/OpenArena/leixperimental/commits/master


I think it could be data driven, with the server defining the monsters by reading .cfg files i.e. scripts/zombietree.monster or models/monsters/zombietree/monster.cfg where health/score/size/variousmovementspeeds/behavior can be defined



Title: Re: Monsters
Post by: fromhell on March 08, 2016, 07:46:50 PM
Can't seem to have function pointers in structs on QVMs so far,, so can't  make the typical sight/melee/attack/walk/death/etc pointers quake and quake2 monsters use, so i'll have to figure out some workaround



Title: Re: Monsters
Post by: Gig on March 09, 2016, 02:42:49 AM
Maybe taking a look to The Dark Conjunction code may give you some hint?
I'm not saying to copy-paste their source code... just to figure out how they managed this thing, in general.


Title: Re: Monsters
Post by: asmanel on March 10, 2016, 07:59:27 PM

Monsters I want to make:

- a weak punch monster
- a weak projectile monster
- a weak explode monster or barrel
- a medium projectile monster
- a strong big smash monster
- a weak flying monster
- a weak swimming monster

What happen if the swimming monster try to follow you outside from water or if an other monster try to follow you in water ?

This evoke me several monster ideas I had for a game (to exploit this idea (http://cubeengine.com/forum.php?action=display_thread&thread_id=2706)) :
- a monster that run at an average speed but swim twice faster
- several monsters that can't swim but can walk in water as if there were no water (except they can have an other speed in water)
- a monster able to fly but not swim (if it go in water, it sink but can walk in, like the previous ones)
- other flying monsters, that can swim or can't enter in the water
- a floating monster (a boat robot or something like)
- a monster that alway jump when it move
- monsters that can't move (mainly turrets but also a boss; some of them can be pushed an others can't move at all)
- swimming monsters (they can't leave water)

Gametypes:
- Singleplayer
- coop
- DMSP (like Cube etc. uses any map as an invasion waves kind of thing)

I suggest also add DMcoop.