Gladiators of the arena 1 Survival

Video about how Soldiers of a village defend their village.
https://www.youtube.com/watch?v=qeWC…ature=youtu.be

https://www.youtube.com/watch?v=kGwZAruaXVY&feature=youtu.be New video about aurelio the hunter

I watched the video you uploaded. I thought there was only battle in your game. But after seeing the video, I realized that I was wrong.
I think it is a good idea to have a variety of collection elements. It is also nice to be hunting bears with people and distinguishing between day and night.
It’s a good work. ^^

Oh thanks keehoon ahn but later on battle will be the strong dish, like 100 vs 100 battles with strategy ■■■■ too much room

Version of the game 0.975 released on steam Gladiators Of The Arena on Steam

If anyone wants a free copy pm me or leave a post or whatever and i send it :slight_smile:

Congratulations man!!! I hope to see my game also on steam soon!!!

You will don’t worry it’s easy as pie, i will help you in the process if you want.

Congratulations. ^^
Honestly I envy you a lot. I want to release my game soon. But there are too many things to do because of my greed. @_@;;;;;

hehe ok keehoo ahn

been watching this game develop.
congrats on finally having it ready to release :slight_smile:

can i ask how you are handling matchmaking, if you do?
cheers

I have not done match making

New blood screen done, with post process effects anyone would like a tutorial on how to do it?

Hello there!

WOW, it looks cool, congratulations!. I have done my blood screen entirely in Flash/Scaleform like I said before, however I do want this tutorial on how you have done it.

Cheers.

yours is cool to UDKUltimate :slight_smile: I have made mine with material editor and PPC.
cheers.
looking forward to play your game like I did with coldscooter.

Thanks bro, even thought it will take sometime for me to finish it, however, I will let everyone test this demo I am finishing soon, which I will upload here and on youtube.

Cheers :smiley:

https://www.youtube.com/watch?v=DXqpiCKH_qY Horse riding in Gladiators of the arena. classes involved here, I didn’t use vehicle because AI couldn’t do anything with it. so I made it be a pawn.



//-----------------------------------------------------------
//
//-----------------------------------------------------------
class GOTAMP2Horse extends pawn;

var() const DynamicLightEnvironmentComponent LightEnvironment;
//Body//
var(APVisual) const SkeletalMeshComponent MainBodyMesh;
//For getting touch event, to know if we are close enough
var(UsageVar) const CylinderComponent CylinderOfUsage;

var GOTAMP2Pawn GOTAPawnRidingHorse;
var GOTAMP2PlayerController ControllerRiding;

event PossessedBy(controller C, bool bVehicleTransition )
{
   super.PossessedBy( C, bVehicleTransition );

   //c.GoToState('PlayerHorseDriving');  needs a timer
   SetTimer(0.25,false,NameOf(SetPlayerDriving) );

   if( GOTAMP2PlayerController(C) != none)
   {
   ControllerRiding = GOTAMP2PlayerController(C);
   }
}

simulated function StartFire(byte fireModeNum)
{

`log("FROM GOTAMP2Horse starting fire");
GOTAPawnRidingHorse.StartFire(fireModeNum);



}

simulated function StopFire(byte fireModeNum)
{

`log("FROM GOTAMP2Horse stoping fire");
GOTAPawnRidingHorse.StopFire(fireModeNum);

}


function HandleCRidesHorse(controller ControllerRidingHorse, pawn pawnRidingHorse)
{
ControllerRidingHorse.UnPossess();
ControllerRidingHorse.Possess(self,false);
//self.MainBodyMesh.AttachComponentToSocket( pawnRidingHorse.mesh, 'RidingSocket'  ); //Caused a problem with the traces and it was not reliable
GOTAPawnRidingHorse = GOTAMP2Pawn( pawnRidingHorse );



 if(  GOTAMP2PlayerController( ControllerRidingHorse ) != none  )
 {
 GOTAMP2HUD( GOTAMP2PlayerController ( ControllerRidingHorse ).MyHUD ).GFxAS2MultiPurposeHUD.SetElementVisibleOrUnvisibleByNum(20, false);
 }




//PawnRidingHorse.mesh.SetScale3D( vect(0.5, 0.5, 0.5) );

 pawnRidingHorse.SetCollision( True, false);
 //pawnRidingHorse.bCollideWorld = true;
 pawnRidingHorse.SetBase(none);
 pawnRidingHorse.SetHardAttach(true);
 pawnRidingHorse.SetPhysics( PHYS_None );


 //if ( !bDriverIsVisible )
 //{
 // pawnRidingHorse.SetHidden(false);
 // pawnRidingHorse.SetLocation( Location );
 //}
 pawnRidingHorse.SetBase(self,,mesh, 'RidingSocket');
 `log("*****************FROM GOTAMP2Horse  Setting base");
 // need to set PHYS_None again, because SetBase() changes physics to PHYS_Falling
 pawnRidingHorse.SetPhysics( PHYS_None );

    GOTAMP2Pawn( pawnRidingHorse ).StartTogglingBlendPerBoneRepnotify( true, 0.5 );
    GOTAMP2Pawn( pawnRidingHorse ).StartChangingDifferentStanceIndex( 3 );
    GOTAMP2Pawn( pawnRidingHorse ).StartChangingPawnStancesListToRepnotify( 7, 0.5);

    GOTAMP2Pawn( pawnRidingHorse ).HorseRidden = self;
    GOTAMP2Pawn( pawnRidingHorse ).bRidingHorse = true;
}

function HandleCStopsRidesHorse(controller ControllerRidingHorse, pawn pawnRidingHorse)
{
//ControllerRidingHorse.UnPossess();
ControllerRidingHorse.Possess(pawnRidingHorse,false);
//pawnRidingHorse.mesh.DetachFromAny();
//GOTAMP2Pawn( pawnRidingHorse ).TorsoArmourSkeletalMesh.DetachFromAny();
//DetachDriver(pawnRidingHorse);
`log("FROM GOTAMP2Horse the horse driver is "@pawnRidingHorse);
pawnRidingHorse.SetCollision( true, true);
//pawnRidingHorse.ForceUpdateComponents();
GOTAMP2Pawn( pawnRidingHorse ).StartTogglingBlendPerBoneRepnotify( false, 0.5 );
GOTAMP2Pawn( pawnRidingHorse ).StartChangingDifferentStanceIndex( 0 );
GOTAMP2Pawn( pawnRidingHorse ).StartChangingPawnStancesListToRepnotify( 0, 0.5);
ControllerRidingHorse.SetRotation( ROT(0,0,0) );
//pawnRidingHorse.ReattachComponent(GOTAMP2Pawn( pawnRidingHorse ).mesh);
//pawnRidingHorse.ReattachComponent(GOTAMP2Pawn( pawnRidingHorse ).TorsoArmourSkeletalMesh);

SetTimer(2, false, nameOf( SetPawnRotation ));

//PawnRidingHorse.mesh.SetScale3D( vect(1, 1, 1) );
}

function SetPawnRotation()
{
    `log("FROM HOrse **************** "@GOTAPawnRidingHorse);
    GOTAPawnRidingHorse.SetRotation(ROT( 0,0,0 ) );
    GOTAPawnRidingHorse.Detach(self);
}



function SetPlayerDriving()
{

//GOTAMP2PlayerController(WorldInfo.game.GetALocalPlayerController()).GoToState('PlayerHorseDriving');

ControllerRiding.GoToState('PlayerHorseDriving');

}

event Touch( Actor Other, PrimitiveComponent OtherComp, vector HitLocation, vector HitNormal )
{

        if( GOTAMP2PlayerController( GOTAMP2Pawn( Other ).controller ) != none)
        {
        GOTAMP2HUD( GOTAMP2PlayerController ( GOTAMP2Pawn( Other ).controller ).MyHUD ).GFxAS2MultiPurposeHUD.SetElementVisibleOrUnvisibleByNum(20, true);
        GOTAMP2HUD( GOTAMP2PlayerController ( GOTAMP2Pawn( Other ).controller ).MyHUD ).GFxAS2MultiPurposeHUD.ChangeTheMessageOfUseMessage( "Press E to ride" );
        }
}


//Needs repairs
event UnTouch( Actor Other )
{

 if( Other == WorldInfo.game.GetALocalPlayerController().pawn )
 {
 GOTAMP2HUD( GOTAMP2PlayerController ( GOTAMP2Pawn( Other ).controller ).MyHUD ).GFxAS2MultiPurposeHUD.SetElementVisibleOrUnvisibleByNum(20, false);
 }

}




//Basically E key hit
exec simulated function Use()
{


`log("FROM GOTAMP2Horse using ");

HandleCStopsRidesHorse(controller, GOTAPawnRidingHorse);

}


DefaultProperties
{
   Begin Object class=DynamicLightEnvironmentComponent Name=MyLightEnvironment
       bSynthesizeSHLight=true
       bIsCharacterLightEnvironment=true
       bUseBooleanEnvironmentShadowing=false
    End Object
    Components.Add(MyLightEnvironment)
    LightEnvironment=MyLightEnvironment


  ///////// MAIN BODY ////////////////////////
  Begin Object class=SkeletalMeshComponent Name=MainBodyMeshComponent
    AnimTreeTemplate = AnimTree'MPGOTA2AnimTrees.AnselmusMPAnimTree'

      //General Mesh Properties
      bCacheAnimSequenceNodes=FALSE
      AlwaysLoadOnClient=true
      AlwaysLoadOnServer=true
      bOwnerNoSee=false
      CastShadow=true
      BlockRigidBody=TRUE
      bUpdateSkelWhenNotRendered=false
      bIgnoreControllersWhenNotRendered=TRUE
      bUpdateKinematicBonesFromAnimation=true
      bCastDynamicShadow=true
      RBChannel=RBCC_Untitled3
      RBCollideWithChannels=(Untitled3=true)
      LightEnvironment=MyLightEnvironment
      bOverrideAttachmentOwnerVisibility=true
      bAcceptsDynamicDecals=FALSE
      bHasPhysicsAssetInstance=true
      TickGroup=TG_PreAsyncWork
      MinDistFactorForKinematicUpdate=0
      bChartDistanceFactor=true
      RBDominanceGroup=20
      bUseOnePassLightingOnTranslucency=TRUE
      bPerBoneMotionBlur=true
      ScriptRigidBodyCollisionThreshold = 0.5;
      Translation=(Z=-76.0)
  End Object
  Components.Add(MainBodyMeshComponent)
  MainBodyMesh=MainBodyMeshComponent
  mesh = MainBodyMeshComponent
  AccelRate = 200;
  GroundSpeed = 1000;

  //This one it's for touching so you can enter the city
  begin object class=CylinderComponent Name=CompCollisionCylinder
  CollideActors = true;
  //BlockActors = true; //We don't necessarily need it, but it would block anyways.
  end object
  Components.Add(CompCollisionCylinder)
  CylinderOfUsage = CompCollisionCylinder

  bCanBeBaseForPawns=true


}
  

Player Controller Horse riding state




state PlayerHorseDriving extends PlayerWalking
{

 function ProcessMove(float DeltaTime, vector NewAccel, eDoubleClickDir DoubleClickMove, rotator DeltaRot)
 {
    Pawn.Acceleration = NewAccel;


 }

 /* Set the throttle, steering etc. for the vehicle based on the input provided
 function ProcessDrive(float InForward, float InStrafe, float InUp, bool InJump)
 {


 } */

 function PlayerMove( float DeltaTime )
 {
     local vector   X,Y,Z, NewAccel;
  local eDoubleClickDir DoubleClickMove;
  local rotator   OldRotation, NewRotation;
  local bool    bSaveJump;
        local float NewYaw;

  if( Pawn == None )
  {
   GotoState('Dead');
  }
  else
  {
   GetAxes(Pawn.Rotation,X,Y,Z);

   // Update acceleration.
   //NewAccel = pawn.Acceleration;

   NewAccel = PlayerInput.aForward*X;
   NewAccel.Z = 0;
   NewAccel = Pawn.AccelRate * Normal(NewAccel);

            if( VSize( pawn.velocity  ) > 200 )
            {
            NewAccel = NewAccel + (X * 100) ;
            }


            NewYaw = NewYaw + ( PlayerInput.aStrafe / 4 );

            NewRotation = Pawn.rotation;
            NewRotation.Yaw = NewRotation.Yaw + NewYaw;
            Pawn.SetRotation(NewRotation);

   if (IsLocalPlayerController())
   {
    AdjustPlayerWalkingMoveAccel(NewAccel);
   }

   DoubleClickMove = PlayerInput.CheckForDoubleClickMove( DeltaTime/WorldInfo.TimeDilation );

   // Update rotation.
   OldRotation = Rotation;
   UpdateRotation( DeltaTime );
   bDoubleJump = false;

   if( bPressedJump && Pawn.CannotJumpNow() )
   {
    bSaveJump = true;
    bPressedJump = false;
   }
   else
   {
    bSaveJump = false;
   }

   if( Role < ROLE_Authority ) // then save this move and replicate it
   {
    ReplicateMove(DeltaTime, NewAccel, DoubleClickMove, OldRotation - Rotation);
   }
   else
   {
    ProcessMove(DeltaTime, NewAccel, DoubleClickMove, OldRotation - Rotation);
   }
   bPressedJump = bSaveJump;
  }
 }


function UpdateRotation( float DeltaTime )
{
 local Rotator DeltaRot, ViewRotation;

 ViewRotation = Rotation;


 // Calculate Delta to be applied on ViewRotation
 DeltaRot.Yaw = PlayerInput.aTurn;
 DeltaRot.Pitch = PlayerInput.aLookUp;

 ProcessViewRotation( DeltaTime, ViewRotation, DeltaRot );
 SetRotation(ViewRotation);

 ViewShake( deltaTime );




}


}



new video out S҉E҉L҉L҉O҉U҉T҉ ҉A҉L҉E҉R҉T҉ Gladiators Of The Arena - YouTube new video of GOTA out. Comment and like : D

https://www.youtube.com/watch?v=awR1cpvRmvI&feature=youtu.be&fbclid=IwAR0Rfm_KC5e9u-41a_8QSDaKwImkR1xA7o-6-rDCIFTHtZjIrozmr62nbGg Here is a new video of our new character new animations, Shield sword made by Michal Arendt programming done by me and animations by Tobias Jessop and me.

I watched your game video well. ^^
If your game has a ponytail hairstyle female character, it would be better.

Gladiators Of The Arena 0991 Update Dev Blog Part #2 Throwable items. - YouTube Hey I could add a pony tail but I’m not sure about it hehehe , here a video about how you can throw any item.