Jump to content

Marcousik's Creations Blog

Entries in this blog

Driving car experience with 4.6

That's what I obtained for driving experience with 4.6. For me it's ok, just the distance of the wheels to the cars are growing too much while getting speed. Sounds have to get upgraded too   I add a video that show car driving possibilities in the down-scaled world I want to create with an own scaled character controller. The idea is to obtain with this a bigger world lol So everything is under scaled, the car too. It's not GTA 6 but it's very ok for what I expect because I like when the car you drive is shaking on the road, as too much polished is not realistic enough, as you could not feel the ruggedness of the world you are playing in . I think the cars in gta 5 are definitvly too polished as you cannot reverse them for example, making the game a way too sanitized.

             

Marcousik

Marcousik

Test: Customizable NPC controller

Working out of this subject:   I tested a script for a simple "GoToPoint()" function for a customizable character controller for NPC. This may not be so good as the implemented LE character controller with classic navigation system but it could be promising to use it in open world (so not in much corridored dungeon game!) where the the NPC should crawl or swim or whatever do things as for example underscaled world (thats what I am actually interested in 😁) The NPCs are using an "intelligent" World:Pick() system to find their way. The positive things in this are: - No need nav mesh to be build / free moving system - dynamic way searching so removing a block may let the NPCs go through - swim, crawl, crouch with triggers should be no problem - NPC are not only following a prepared way but they can be thrown as Patrol, choosing randomize positions to go, inside an area. - Scale as you want - The system let the NPC make a little analyse out of the Pick Infos so the way should be a human-logical way   The negative point are: - The path will not be planned so far as allows the actually Navigation Leadwerks System so it is for sure not impossible that a NPC doesn't find the best way to go. This system does definiv not allow a NPC to "know" his way through the entire map. All NPCs are trying to find the best way from the position where they stay at the mooment, so never sure if/what they will find (no return of true/false that let you know the NPC found a way...) (even if this could be solved with "forcing" through a pivot where the way may be too complicated to find...) - The NPCs doen't move "round" but straight from point to point. - For sure more...? 🤔 Here is a little demo: Testing 13.08.2018 20_00_48.mp4    

Marcousik

Marcousik

Workshop car for LE4.5 - ready to drive

I worked today on publishing a version of the drivable car workshop item for Leadwerks 4.5 https://steamcommunity.com/sharedfiles/filedetails/?id=1440937059 free to use, works with the FPS player controller. Here is a demo:   enjoy!  

Marcousik

Marcousik

Smoothed car drive - Leadwerks 4.5

I'm just happy to get this work  here is a demo: This is actually better than driving in 4.3 because cars are now  able to jump or crash without experimenting crazy rotations or whatever  👍     Here is the script to make this:   > Here the values I used:       > And here what changed: Is written in dark: ------------------------------------- function Script:Start() -- [...........] -- Construit les amortisseurs: / suspensions
local n
local pos
    for n=0,3 do
        pos=self.entity:GetPosition(true)
        self.Axes[n]:SetMass(self.TireMass)
        self.Amortisseurs[n]=Joint:Slider(pos.x, pos.y, pos.z, 0,1,0, self.Axes[n], self.entity)         self.Amortisseurs[n]:EnableLimits()
        self.Amortisseurs[n]:SetLimits(-0.25/2,0.25/2)         self.Amortisseurs[n]:SetTargetAngle(-self.Amort)    --at the middle if 0
        self.Amortisseurs[n]:SetMotorSpeed(10000)    ------------- vitesse de la pompe/ suspensions speed
        self.Amortisseurs[n]:SetStrength(self.Force)    --defatul is 1000
        self.Amortisseurs[n]:EnableMotor()    

    end -- [...........]        -----  I removed the backward suspensions with 2* forces because this only depends on the positions of the suspensions on the chassis. ----- Making them symmetrical is ok to solve this.   ----------------------------------------
function Script:UpdatePhysics()
if self.MyCar==1 and InCar>0 then     
-- Traite la direction:    
local turning=0
    local direction=self.Volants[0]:GetAngle()     if window:KeyDown(Key.Left) then
        direction=direction-5 turning=-1
    elseif window:KeyDown(Key.Right) then
        direction=direction+5 turning=1
    elseif window:KeyDown(Key.Left)==false and window:KeyDown(Key.Right)== false then 
        if Math:Round(direction)>0 then direction=direction-5
        elseif Math:Round(direction)<0 then direction=direction+5
        end
    end
    self.Volants[0]:SetAngle(direction)
    self.Volants[1]:SetAngle(direction) -- Traite l'acceleration: local Gas=0
        if window:KeyDown(Key.Up) then
            Gas=1
            self.currspeed = self.currspeed + 10
            if self.currspeed>self.SpeedMax then
                self.currspeed=self.SpeedMax
            end
        
        elseif window:KeyDown(Key.Down) then
            Gas=-1
            self.currspeed = self.currspeed - 10
            if self.currspeed<-self.SpeedMax then
                self.currspeed=-self.SpeedMax
            end
        end         if Gas==0 then  self.currspeed=0
            for n=0,3 do
            self.Rouages[n]:DisableMotor()
            end
        else
            for n=0,3 do
            if self.Rouages[n]:MotorEnabled()==false then self.Rouages[n]:EnableMotor() end
            self.Rouages[n]:SetTargetAngle(self.Rouages[n]:GetAngle()+1000)             self.Rouages[n]:SetMotorSpeed(self.currspeed)
            self.Tires[n]:SetOmega(self.Tires[n]:GetOmega()*Vec3(5,5,5))   ---------  make the car go faster
            end
        end --Smoothing: if turning==0 then
    self.entity:SetOmega(self.entity:GetOmega()*Vec3(-1,-1,-1))
else self.entity:SetOmega(0,turning*Gas,0) end     self.Axes[0]:SetOmega(self.Axes[0]:GetOmega()*Vec3(-1,-1,-1))
    self.Axes[1]:SetOmega(self.Axes[1]:GetOmega()*Vec3(-1,-1,-1))
    self.Axes[2]:SetOmega(self.Axes[2]:GetOmega()*Vec3(-1,-1,-1))
    self.Axes[3]:SetOmega(self.Axes[3]:GetOmega()*Vec3(-1,-1,-1))     self.Axes[0]:SetVelocity(self.Axes[0]:GetVelocity()*Vec3(1,0.5,1))
    self.Axes[1]:SetVelocity(self.Axes[1]:GetVelocity()*Vec3(1,0.5,1))
    self.Axes[2]:SetVelocity(self.Axes[2]:GetVelocity()*Vec3(1,0.5,1))
    self.Axes[3]:SetVelocity(self.Axes[3]:GetVelocity()*Vec3(1,0.5,1))
-- fake wheels update:
    
        self.Wheels[0]:SetMatrix(self.Tires[0]:GetMatrix())
        self.Wheels[1]:SetMatrix(self.Tires[1]:GetMatrix())
        self.Wheels[2]:SetMatrix(self.Tires[2]:GetMatrix())
        self.Wheels[3]:SetMatrix(self.Tires[3]:GetMatrix())         self.Wheels[0]:SetPosition(self.PosWheels[0]+Vec3(0,self.Amortisseurs[0]:GetAngle()/6,0))
        self.Wheels[1]:SetPosition(self.PosWheels[1]+Vec3(0,self.Amortisseurs[1]:GetAngle()/6,0))
        self.Wheels[2]:SetPosition(self.PosWheels[2]+Vec3(0,self.Amortisseurs[2]:GetAngle()/6,0))
        self.Wheels[3]:SetPosition(self.PosWheels[3]+Vec3(0,self.Amortisseurs[3]:GetAngle()/6,0))
end  

Marcousik

Marcousik

Fun driving in Leadwerks 4.5

Little demo I made about driving in Leadwerks 4.5 with "self-made" vehicle (well the model is not from me) How to make ? -> https://www.leadwerks.com/community/blogs/entry/2216-simple-car-improved/  enjoy!    

Marcousik

Marcousik

About the day night cycle

Hey I know you can use for this the nice shader of Shadmar, but now if you want to try something else, This is somewhat like you can obtain if you use a big light sphere rounding around the player. I speed up the cycle quicker for the video to see all the day/night. I used the directional light rotation for the shadows, the color of the sky-sphere for the colorourfull effect and the color of the directional light for the luminosity, getting the no shadow night light. Clouds/rain has been hidden to see better. Here is a demo:  

Marcousik

Marcousik

Rainy weather in forest - performance test LE 4.3

I'm happy with this because I spent a long time in testing how to make rain without slowing the game too much. I wanted the rain to have "splash" effect on the ground and to stop correctly as the player could stay under a roof or hides under a big stone etc etc.. I got big problems with collision testing and very low performances when using the shaped vegetation tool. Now that's fine, because I do not use the collision anymore, saving much performances. Here is a little demo:   Here is a bit longer one with 2 rainfalls:   Hope you enjoy !

Marcousik

Marcousik

10 Min. relaxing and artistic moment with LE

Here I want to present what the "Tower game" is doing becoming ! I got the idea to make a relaxing puzzle 3D game where the player will have to find/build/assemble different elements to discover arts. Here a picture I found that inspired me this: Now, I made a little demo video for this, I found the experience somewhat meditative, looking at this floating colorfull infinite world and listening to the sounds. You can turn the music off and listen at your own or just let it plays as it is. I hope you enjoy ! (Music from Flaer and Bliss)  

Marcousik

Marcousik

Water everywhere

This is a simplified change of this workshop item (so credits go there!) https://www.leadwerks.com/workshopitem?tags=Material&queryType=1&fileType=0&fileid=699303085 A few changes I did: 1) the water.mat:     changed Diffuse color (64,64,64,64) + refraction shader 2) The script, simplified, like this: Add this script to a box, cylinder, what you want...With the water material up there added. And here the result sorry Footsteps sounds don't matched..

Marcousik

Marcousik

New game Idea

Random generated world with towers. I'm not sure what this will be, something like managing how to get and interact with them.  

Marcousik

Marcousik

New Project Idea

I'm trying to build a beautiful open world on map size 2048, where the player will have the possibility to play as a Street vendor, transporting and selling goods through the world. The world should be an unhabitable zone. Unless you have a shield. You will have manage your reccources between buying and re-selling goods, develop yourself with better vehicles, develop a little shopping industry, little bit enigm or fight to provide the shield.

Marcousik

Marcousik

New open world

The last creation I did in a few hours, with Leadwerks, very satisfying performances, love building new atmosphere:      

Marcousik

Marcousik

×