• Pragma - A 3D multiplayer sandbox engine with Lua-integration, based on Vulkan and bullet physics
    379 replies, posted
[QUOTE=Tw1x4s;50902325]Thank you, I got the driver issue solved, but I still can't seem to launch it. When I try to launch it from launcher, nothing happens at all, it's not launching for me and there's no process in the task manager. I also tried manually launching the .exe as administrator, but no luck...[/QUOTE] When trying to launch the game I get this issue as well have you figured out what your problem was?
[QUOTE=cpone;50958051]When trying to launch the game I get this issue as well have you figured out what your problem was?[/QUOTE] His issue was that his GPU didn't support Vulkan after all. You can find a list of supported GPUs [URL=http://www.amd.com/en-gb/innovations/software-technologies/technologies-gaming/vulkan]here[/URL] for AMD, and [URL=https://developer.nvidia.com/vulkan-driver]here[/URL] for Nvidia, if it's listed there, it should work. What GPU do you have, and do you have the latest drivers installed?
[QUOTE=Silverlan;50958171]His issue was that his GPU didn't support Vulkan after all. You can find a list of supported GPUs [URL=http://www.amd.com/en-gb/innovations/software-technologies/technologies-gaming/vulkan]here[/URL] for AMD, and [URL=https://developer.nvidia.com/vulkan-driver]here[/URL] for Nvidia, if it's listed there, it should work. What GPU do you have, and do you have the latest drivers installed?[/QUOTE] Thanks for those links. It seems that my GPU isn't supported which is a shame.
When I go to the vehicle test map. My vehicle has no wheels. Also when you Use it. It positions the camera behind the vehicle, but I can still run around with the player. Once I use it again. My FOV on the player is set back behind their shoulder. Still wip or is it something on my end maybe?
[QUOTE=find me;50971507]When I go to the vehicle test map. My vehicle has no wheels. Also when you Use it. It positions the camera behind the vehicle, but I can still run around with the player. Once I use it again. My FOV on the player is set back behind their shoulder. Still wip or is it something on my end maybe?[/QUOTE] [t]https://gedo789.fr.nf/img/sciolyte_bug12.png[/t] WIP and is already reported since a good times by me: [url]http://forums.sciolyte.com/viewtopic.php?f=15&t=25[/url]
[QUOTE=find me;50971507]When I go to the vehicle test map. My vehicle has no wheels. Also when you Use it. It positions the camera behind the vehicle, but I can still run around with the player. Once I use it again. My FOV on the player is set back behind their shoulder. Still wip or is it something on my end maybe?[/QUOTE] That happened if the vehicle was spawned before the player. If you spawn it using "ent_create vhc_viperscout", it should be fine. Either way, it should work properly now with the latest version. Vehicles are still WIP, but you can play around with the vehicle settings. They're defined in "lua/vehicles/vhc_viperscout/init.lua" and documented on the [URL=http://wiki.sciolyte.com/index.php?title=Vehicle]wiki[/URL]. The changes won't apply to any existing vehicles, but you can spawn one with the new settings using: [CODE] lua_exec vehicles/vhc_viperscout/init.lua; lua_exec_cl vehicles/vhc_viperscout/cl_init.lua; ent_create vhc_viperscout[/CODE] Anyway, I've started working on another tool: [T]http://sciolyte.com/sharex/sciolyte_2016-08-30_13-24-26.png[/T] [T]http://sciolyte.com/sharex/sciolyte_2016-08-30_13-24-57.png[/T] [T]http://sciolyte.com/sharex/sciolyte_2016-08-30_13-25-15.png[/T] [T]http://sciolyte.com/sharex/sciolyte_2016-08-30_13-25-29.png[/T] [T]http://sciolyte.com/sharex/sciolyte_2016-08-30_13-25-59.png[/T] So far it's just a model viewer, but you'll be able to use it to import model assets a lot easier, without having to go through the compilation process. Latest Changelog: [CODE]Sciolyte ChangeLog Version 0.2.9 30 August 2016 - Added BaseCharacter:IsFrozen and BaseCharacter:SetFrozen - Added game callback "OnEntityCreated" - Fixed some vehicle data not being transmitted properly, if player spawned after vehicle - Fixed players being able to move their character while in a vehicle - Fixed camera being stuck in third-person mode, if player exited a vehicle in third-person 29 August 2016 - Added predefined color "Color.Clear" - Added VKRenderTarget:GetDepthTexture, VKCommandBuffer:Draw, VKCommandBuffer:DrawIndexed, VKCommandBuffer:BindIndexBuffer and VKCommandBuffer:BindVertexBuffer - Added members "VertexInput" and "DepthStencilState" for custom shaders - Added classes "ShaderBase" and "BaseShader" - Moved "ShaderTexturedBase3D:BeginDraw" to "Shader:BeginDraw" 28 August 2016 - Added classes "WITreeList", "WITreeListElement" and "WIProgressBar" - Added WITableRow:GetValue, WITable:GetRows and Camera:LookAt - Added new overload for ShaderDebug:Draw - Fixed Camera.Create reporting invalid arguments, even if they're correct 27 August 2016 - Added animation event enums - Added Material:GetName, Model:GetAnimationCount, Model:GetAttachmentCount, Model:GetAttachments, Model:LookupAttachment, Model:GetBlendControllerCount, Model:GetBlendControllers, Model:LookupBlendController, Model:GetAttachment, Model:GetBlendController and Model:GetMaterialCount - Added class "WIArrow" - Fixed lua-error related to Entity hook "HandleAnimationEvent" - Fixed excessive amounts of GPU memory being allocated for shaders 26 August 2016 - Added new overloads for VKCommandBuffer:BeginRenderPass and vulkan.create_render_target 25 August 2016 - Added game.load_model 24 August 2016 - Added game callback "OnFilesDropped" - Added WIDropDownMenu callback "OnOptionSelected" - Added game.open_dropped_file, WIDropDownMenu:GetOptionText, WIDropDownMenu:GetOptionValue, WIDropDownMenu:SetOptionText, WIDropDownMenu:SetOptionValue, WIDropDownMenu:ClearOptions and WIDropDownMenu:SelectOptionByText Version 0.2.8 23 August 2016 - Fixed crash from garbage collector when releasing vulkan resources using "Remove" method - Fixed File:ReadInt64 and File:ReadUInt64 throwing errors when called 22 August 2016 - Added Texture:GetVkTexture - Added new overload for Material:SetTexture - Fixed crash when calling engine.create_material - Fixed case where mouse click would affect wrong GUI element where several GUI elements with same parent were behind each other - Removed Texture:GetTextureID, Texture:GetGLTexture and Texture:GetSamplerID 21 August 2016 - Added Vertex:Copy, VertexWeight:Copy, Vectori:Copy, Vector2i:Copy and Vector4i:Copy - Added overload for game.draw_scene - Added classes "ShaderDebug" and "ShaderTexturedBase3D" 20 August 2016 - Added Entity:UpdateRenderBuffers, WIShape:InvertVertexPositions and WITexturedShape:InvertVertexUVCoordinates - Added new overload for vulkan.create_render_target - Fixed only the first callback of a type being called properly - Fixed FRENDER_ALL not being defined 19 August 2016 - Added VKCommandBuffer:BeginRenderPass, VKCommandBuffer:EndRenderPass, VKCommandBuffer:SetImageLayout and Shader:PushConstants - Added game hooks "PreRender" and "PostRender" - Added members "Topology", "PolygonMode", "DynamicStates" and "PushConstantRanges" for custom shaders - Fixed Model:GetMaterials returning materials individually instead of a table 18 August 2016 - Added game.get_render_scene, game.get_render_scene_camera, Shader:GenerateSwapDescriptorBuffer, VKBuffer:Flush, Color:ToVector, Color:ToVector4, VKCommandBuffer:SetDepthBias, VKCommandBuffer:SetLineWidth, VKCommandBuffer:SetScissor, VKCommandBuffer:SetViewport, DataStream:Seek, DataStream:Tell, DataStream:Resize, DataStream:Clear, Camera:Copy and Camera.Create - Added DataStream:WriteMat2, DataStream:WriteMat2x3, DataStream:WriteMat2x4, DataStream:WriteMat3x2, DataStream:WriteMat3, DataStream:WriteMat3x4, DataStream:WriteMat4x2, DataStream:WriteMat4x3, DataStream:WriteMat4, DataStream:WriteQuaternion, DataStream:WriteVector2i, DataStream:WriteVector3i, DataStream:WriteVector4i, DataStream:ReadMat2, DataStream:ReadMat2x3, DataStream:ReadMat2x4, DataStream:ReadMat3x2, DataStream:ReadMat3, DataStream:ReadMat3x4, DataStream:ReadMat4x2, DataStream:ReadMat4x3, DataStream:ReadMat4, DataStream:ReadQuaternion, DataStream:ReadVector2i, DataStream:ReadVector3i and DataStream:ReadVector4i - Added enums SIZEOF_MAT2, SIZEOF_MAT2X3, SIZEOF_MAT2X4, SIZEOF_MAT3X2, SIZEOF_MAT3, SIZEOF_MAT3X4, SIZEOF_MAT4X2, SIZEOF_MAT4X3, SIZEOF_MAT4, SIZEOF_VECTOR2I, SIZEOF_VECTOR3I, SIZEOF_VECTOR4I - Added new overload for DataStream:__init - Added Entity hook "OnPostRender" - Added classes "ShaderTexturedBase3D" and "VKSwapDescriptorBuffer" - Removed Entity:Render, Camera:IsValid and engine.create_camera[/CODE]
I really want to take a look at this game but it crashes with a terminal error. I think it has something to do with the Vulkan drivers. Is there a particular version that it requires?
[QUOTE=false prophet;50974209]I really want to take a look at this game but it crashes with a terminal error. I think it has something to do with the Vulkan drivers. Is there a particular version that it requires?[/QUOTE] Do you have an AMD card? There's a bug in their drivers right now, you can try this [URL=http://sciolyte.com/sharex/amd_shader_bug_fix.zip]work-around[/URL] (Don't use it if you have a Nvidia card!). Just extract it into the installation directory of the engine. Other than that, just make sure you're on the latest driver versions, and make sure your GPU is supported ([URL=http://www.amd.com/en-gb/innovations/software-technologies/technologies-gaming/vulkan]AMD[/URL], [URL=https://developer.nvidia.com/vulkan-driver]Nvidia[/URL]). If it generates a crashdump, you can [URL=mailto:mail@sciolyte.com]send it to me[/URL], and I'll take a look.
This looks insanely cool and promising, keep it up Any chance of adding some sort of weapon which lets you pick up objects and move them around, maybe even rotate and freeze them? Like some sort of physics manipulation gun?
I had gotten the vehicles to work, thank you. My favorite part was trying to haul my slow ass over an edge, then getting stuck on the frame.. I did change some of the settings around, was fun. I might play with it some more here soon. I would love to contribute maps and modeling projects once you get those accessories up and running. Love your work!
[edit] didn't fix it. I do have a crash dump, though. My computer is on the lower end, fx4100, AMD 7870
[HD]https://youtu.be/S4Y5u1a2rmA[/HD] Some minor progress. [QUOTE=Kamber56;50977629]Any chance of adding some sort of weapon which lets you pick up objects and move them around, maybe even rotate and freeze them? Like some sort of physics manipulation gun?[/QUOTE] I already have a prototype, although it was mostly just meant for testing. I suppose I could flesh it out a bit, I'll try to get around to that in the next few weeks. [QUOTE=find me;50977953]I had gotten the vehicles to work, thank you. My favorite part was trying to haul my slow ass over an edge, then getting stuck on the frame.. I did change some of the settings around, was fun. I might play with it some more here soon. I would love to contribute maps and modeling projects once you get those accessories up and running. Love your work![/QUOTE] Yeah, vehicle physics are a bit wonky. Haven't figured out what's going on with that yet.
Another small update on the model viewer: [HD]https://youtu.be/6HofY_qAhU4[/HD] You can simply drag and drop meshes and animations into the tool now. Only .smd-files are supported right now, but I'm planning to add support for other formats as well (such as .obj). The tools is written in Lua (Same as the level editor), so custom formats can be easily added later as well. I still need to add some actual editing features for the editor, but I'll try to get that done until the end of the week.
What about .fbx files?
I got a new graphics card with Vulkan support and when loading a map it either crashes and gives a crash dump or just closes completely. Here's the crash dump: [URL="https://mega.nz/#!oZchyR5C!ODjfjSLNzLvjwKLkx-lR3jFAbQ3qiBC9B2kH26dt1Ck"]Download[/URL]
[QUOTE=Grindigo;51029999]What about .fbx files?[/QUOTE] Added support for it, but there's still some UV and animation-related problems I haven't been able to solve. Anyway, some more update news: [URL=https://facepunch.com/member.php?u=495720]Xanadu[/URL] generously gave me permission to add his map [URL=https://facepunch.com/showthread.php?t=1378406]gm_updatespeedway[/URL] to the engine, so there's a proper vehicle map now: [t]http://sciolyte.com/sharex/sciolyte_2016-09-18_22-16-33_2.jpg[/t] [t]http://sciolyte.com/sharex/sciolyte_2016-09-18_22-17-01.jpg[/t] [t]http://sciolyte.com/sharex/sciolyte_2016-09-18_22-17-48.jpg[/t] I've also made a bunch of other improvements on the vehicles. They should behave more stable now (Still not perfect), and I've added some mounted turrets and some new particle effects: [t]http://sciolyte.com/sharex/Untitled.png[/t] [HD]https://youtu.be/5kQ5bxssdO0[/HD] All still WIP of course. Latest Changelog: [CODE]Sciolyte ChangeLog Version 0.2.10 18 September 2016 - Added NetPacket:WriteUniqueEntity, NetPacket:ReadUniqueEntity, Player:SetObserverTarget, Player:GetObserverTarget, Player:SetObserverOffset, Player:GetObserverOffset, Player:ResetObserverOffset, Player:IsObserverCameraLocked and Player:SetObserverCameraLocked - Added console command "thirdperson" - Added weapon_physgun entity - Improved vehicle collision stability on convex geometry - Fixed entities having an incorrect position offset if parented to another rotated entity - Fixed occasional artifacts at start of life-time of animated particles 17 September 2016 - Added env_smoke_trail and env_fire entities - Added Entity:Ignite, Entity:IsOnFire, Entity:IsIgnitable, Entity:Extinguish, Entity:SetIgnitable, Entity:GetCenter and util.create_explosion - Added Entity hooks "OnIgnite" and "OnExtinguish" - Added console command "+prop_menu" for sandbox gamemode - Added new overload for ParticleSystem:Stop - Fixed particle effects being visible through world geometry when anti-aliasing is enabled - Fixed particle effects twitching occasionally 16 September 2016 - Added Vector:Project, Vector2:Project, Vector4:Project, Vehicle:HasDriver, Vehicle:GetDriver, Vehicle:ClearDriver and util.create_muzzle_flash - Added prop_viperscout_turret, weapon_viperscout_turret and weapon_viperscout_turret_double entities - Added new overload for Quaternion:__init - Added Vehicle hook "OnCameraChanged" - Entity:SendNetEventTCP and Entity:SendNetEventUDP can now be called clientside - Entity hook "ReceiveNetEvent" is now available serverside - Fixed occasional crash when particle effects are being rendered 15 September 2016 - Added SurfaceMaterial:SetImpactParticleEffect, SurfaceMaterial:GetImpactParticleEffect, SurfaceMaterial:GetBulletImpactSound, SurfaceMaterial:SetBulletImpactSound, SurfaceMaterial:SetHardImpactSound, SurfaceMaterial:GetHardImpactSound, SurfaceMaterial:SetSoftImpactSound, SurfaceMaterial:GetSoftImpactSound, Vehicle:GetThirdPersonCameraOffset, Vehicle:SetThirdPersonCameraOffset and Player:GetViewPos - Added game.get_camera_position - Added entity hook "OnTakenDamage" - Added new overload for NetPacket:WriteEntity - Fixed "OnHealthChanged" entity hook not being called - Fixed entity eye offsets not being transmitted to client properly, if client spawned after entity 14 September 2016 - Added ParticleSystem:SetRemoveOnComplete, Entity:SendNetEventTCP and Entity:SendNetEventUDP - Added Weapon:PrimaryAttack, Weapon:SecondaryAttack, Weapon:Drop, Weapon:Deploy, Weapon:Reload, Weapon:Holster, Weapon:TertiaryAttack, Weapon:Attack4, Weapon:EndAttack, Weapon:EndPrimaryAttack, Weapon:EndSecondaryAttack, Weapon:SetOwner, ParticleSystem:GetRotation and ParticleSystem:SetRotation - Added members "tracer_radius", "tracer_color", "tracer_length", "tracer_speed", "tracer_material" and "tracer_bloom" to util_fire_bullets parameter - Added Entity hook "OnPostSpawn" - Renamed Weapon hooks "PrimaryAttack" to "OnPrimaryAttack", "SecondaryAttack" to "OnSecondaryAttack", "TertiaryAttack" to "OnTertiaryAttack", "Attack4" to "OnAttack4", "Drop" to "OnDrop", "Deploy" to "OnDeploy", "Reload" to "OnReload" and "Holster" to "OnHolster" - Changed "spread"-attribute for util.fire_bullets from Vector to EulerAngles and "force"-attribute from Vector to float - Removed Entity:SendNetEvent 13 September 2016 - Added new overload for ParticleSystem:SetNodeTarget - Added util.create_particle_tracer 12 September 2016 - Added new overloads for Entity:SendNetEvent 10 September 2016 - Added ConVar "cl_render_lod_bias" - Added LOD models for viperscout - Added new overloads for Vehicle:AddWheel - Added Entity hook "SetKeyValue" and "Input" - Added Vehicle:IsFirstPersonCameraEnabled, Vehicle:SetFirstPersonCameraEnabled, Vehicle:IsThirdPersonCameraEnabled and Vehicle:SetThirdPersonCameraEnabled - Fixed collision objects being placed at incorrect origins - Fixed LOD models not working - Fixed entity-bodygroups not being transmitted to clients, if client connected after entity was spawned 09 September 2016 - Added experimental gamemode "Sandbox" - Added map vhc_upstatespeedway - Added "Don't Cast Shadows"-spawnflag for light entities - Added vehicle hooks "OnDriverEntered" and "OnDriverExited" - Fixed crash when spawning entities inside "OnPlayerSpawned" gamemode hook - Fixed viewmodel and body being visible while in a vehicle - Fixed crash when calling ALSound:CallOnStateChanged 08 September 2016 - Fixed shadow flickering of directional light sources when looking straight down or up 07 September 2016 - Added material parameter "translucent" - Fixed ModelSubMesh:GetTangents and ModelSubMesh:GetBiTangents not returning anything - Fixed nodraw-geometry and geometry with invalid shaders casting shadows - Fixed shadow-artifacts on displacement geometry - Improved rendering for translucent objects 06 September 2016 - Added Model:LoadMaterials, Model:AddTexturePath, PhysCollisionObj:GetBounds, PhysCollisionObj:GetBoundingSphere and game.get_game_mode - Fixed gamemodes calling "init.lua" instead of "cl_init.lua" on clients - Fixed some .vmt blend-materials not being recognized as such - Fixed CSM shadow artifacts on AMD cards 05 September 2016 - Added CollisionMesh:GetVertexCount, ModelSubMesh:Optimize, File:Read, File:Write, Model:GetTextures and Model:GetTexturePaths - Fixed physenv.get_surface_material always returning nil if an integer index was passed as argument 04 September 2016 - Fixed compressed vtf-images unable to be loaded with some GPUs 03 September 2016 - Added Animation:GetFrames, Model:Copy, Model:Save, Model:GetVertexCount and Model:GetTriangleCount 02 September 2016 - Added Animation:GetActivity, Animation:SetActivity, Animation:GetActivityWeight, Animation:SetActivityWeight, Animation:GetFPS, Animation:SetFPS, Animation:GetFlags, Animation:SetFlags, Animation:AddFlags, Animation:RemoveFlags, Animation:AddFrame, Animation:GetDuration, Animation:GetBoneCount, Animation:GetFrameCount, Animation:AddEvent, Animation:GetEvents, Animation:GetFadeInTime, Animation:GetFadeOutTime and Animation:GetBlendController - Added FANIM-flags 01 September 2016 - Added new overloads for VKCommandBuffer:Draw and Entity:SetModel - Added Model:GetTextureGroupCount, Model:GetTextureGroups and Model:GetTextureGroup 31 August 2016 - Added ModelSubMesh:GetVertexBuffer, ModelSubMesh:GetVertexWeightBuffer, ModelSubMesh:GetAlphaBuffer and ModelSubMesh:GetIndexBuffer - Added members "BlendEnable" and "RasterizationState" for custom shaders - Moved shader member "PolygonMode" to "RasterizationState" - Lua-shaders are no longer included automatically - Fixed Model:GetHitboxBones returning table with indices starting at 0 [/CODE]
What made you choose Vulkan over bgfx?
My game crashes when I try to open the new map. I updated of course. There were a bunch of warnings in the console, I didn't really look at them. I can if it would help. Here is the crashdump it spit out. [url]http://www.filedropper.com/crashdump2016-09-1902-35-05[/url]
[QUOTE=cheesylard;51072580]What made you choose Vulkan over bgfx?[/QUOTE] Mostly two reasons why I don't use libraries like that: 1) The engine is a learning-experience for me, and I don't learn much if I use existing libraries that already do all the work for me 2) By creating my own implementation I have much more control (and a much better understanding of the system), and can add lua-support for lower-level stuff (=More modding-capabilities) [QUOTE=find me;51073276]My game crashes when I try to open the new map. I updated of course. There were a bunch of warnings in the console, I didn't really look at them. I can if it would help. Here is the crashdump it spit out. [url]http://www.filedropper.com/crashdump2016-09-1902-35-05[/url][/QUOTE] There's a bug with newer Nvidia cards right now when multi-sampling is enabled, try turning it off in the video settings before loading a map. [IMG]http://sciolyte.com/sharex/sciolyte_2016-09-19_11-45-02.png[/IMG] (Apply button is at the bottom of the scroll-panel). It might be a driver bug, I'll have to do more testing on that. Also, make sure to select the "sandbox"-gamemode, otherwise you might spawn outside of the map.
I didn't validate! Sorryy [editline]19th September 2016[/editline] It's working now.
[QUOTE=Silverlan;51073301]Mostly two reasons why I don't use libraries like that: 1) The engine is a learning-experience for me, and I don't learn much if I use existing libraries that already do all the work for me 2) By creating my own implementation I have much more control (and a much better understanding of the system), and can add lua-support for lower-level stuff (=More modding-capabilities)[/QUOTE] you'd do as much work in bgfx as you would in openGL. it uses shaders, VBOs, VAOs, etc
[QUOTE=cheesylard;51076132]you'd do as much work in bgfx as you would in openGL. it uses shaders, VBOs, VAOs, etc[/QUOTE] It'll still have a bigger overhead than if you work with OpenGL or Vulkan directly. And I doubt you have the same amount of freedom that you have when working with Vulkan. Anyway, I finally got around to implementing particle lighting effects and shadows: [HD]https://youtu.be/I8GUlUoDST4[/HD] Still some performance problems, but nothing that can't be dealt with.
Since I was working on shadows anyway, I've now also added proper shadows for transparent objects: [T]http://sciolyte.com/sharex/sciolyte_2016-09-24_22-26-52.png[/T] I've also started implementing bullet's soft-body physics, however that's... still a work-in-progress: [video]https://youtu.be/PO6sNKpmRfA[/video]
hows progress goin?
[QUOTE=Coffee123;51328092]hows progress goin?[/QUOTE] Haven't posted any news recently, since there didn't seem to be much interest anymore. Still making good progress though: [b]Implemented auto-reloading for lua-scripts[/b] (Don't even need to respawn entities): [video]https://youtu.be/Q29hPoXt1e4[/video] Auto-reloading also works when changing clientside lua-scripts on the server. When changed, they're automatically transmitted to all clients and then reloaded: [video]https://youtu.be/P4Dg1qbtCvc[/video] (Left is the server, middle the client and right the clientside script on the server.) I've revamped the entire resource system while I was at it: There are now two types of resources, required resources and streamed resources. Required resources are downloaded when a client connects to a server (=Client has to wait until they're finished), for example the map and the lua-scripts. Streamed resources are downloaded in the background, while the client can already play on the server (models, materials, textures, sounds, etc.), they're automatically loaded after each resource was fully downloaded. Since maps are much smaller than in source, you can basically join any server and start playing within a few seconds, even if you don't have any of the resources. All lua-files are also pre-compiled before being sent to clients, and stripped of all debug-information (variable names, etc.). That means it's not possible for clients to actually read clientside scripts (Unless they decompile them, but I haven't found a working decompiler for the Lua-version I'm using. Even then, it would mostly be a garbled mess.) All downloaded resources are placed in the 'downloads' directory: [T]http://sciolyte.com/sharex/explorer_2016-11-08_18-13-44.png[/T] Lua-files are special cases, they're placed in server-specific directories (Named after their IP), which are only mounted for the specific server you're joining. I still have some things up my sleeve for streaming models, but I'll show that off once it's done. [b]Improved ragdoll physics:[/b] [T]http://sciolyte.com/sharex/2016-10-31_19-32-05.gif[/T] [video]https://youtu.be/mdC4m9gR07I[/video] [b]AI[/b] This is my priority at the moment, the base NPC system already works. [T]http://sciolyte.com/sharex/sciolyte_2016-10-05_22-51-41.png[/T] It's based on a [URL=https://en.wikipedia.org/wiki/Behavior_tree_(artificial_intelligence,_robotics_a nd_control)]behavior tree system[/URL], not much to show off at the moment. Wiki: [URL=http://wiki.sciolyte.com/index.php?title=NPC]NPC[/URL], [URL=http://wiki.sciolyte.com/index.php?title=Ai]ai[/URL], [URL=http://wiki.sciolyte.com/index.php?title=AIBehaviorTask]AIBehaviorTask[/URL], [URL=http://wiki.sciolyte.com/index.php?title=AIMemory]AIMemory[/URL], [URL=http://wiki.sciolyte.com/index.php?title=AIMemoryFragment]AIMemoryFragment[/URL], [URL=http://wiki.sciolyte.com/index.php?title=AISchedule]AISchedule[/URL], [URL=http://wiki.sciolyte.com/index.php?title=AISquad]AISquad[/URL] Mostly just need to finish some minor stuff and write some tutorials. [b]Nav-Meshes[/b] (Auto-generated): [T]http://sciolyte.com/sharex/sciolyte_2016-10-01_10-54-35.png[/T] [b]Dynamic entity scaling[/b] (Visible meshes, physics and hitboxes): [T]http://sciolyte.com/sharex/2016-10-21_18-21-17.gif[/T] [T]http://sciolyte.com/sharex/sciolyte_2016-10-21_14-44-35.jpg[/T] [T]http://sciolyte.com/sharex/sciolyte_2016-10-21_14-43-20.jpg[/T] Some other minor random stuff: [b]Fixed 3D-Rendering of GUI elements[/b]: [T]http://sciolyte.com/sharex/sciolyte_2016-10-19_13-54-42.png[/T] [b]GUI Tooltips[/b]: [T]http://sciolyte.com/sharex/sciolyte_2016-10-22_17-33-20.png[/T] And a bunch of other stuff listed in the latest changelog: [CODE]Sciolyte ChangeLog Version 0.2.12 07 November 2016 - Added geometry.get_triangle_winding_order 05 November 2016 - Added Player:SendResource - Added new overload for resource.add_file - Revamped resource download system - Clientside lua-files, which are changed serverside, are now automatically transmitted and reloaded on all clients 04 November 2016 - Added enums "FSYS_SEARCH_ADDON" and "FSYS_SEARCH_RESOURCES" - Added resource.add_lua_file - Added auto-reloading for lua-scripts 03 November 2016 - Added NPC:HasPrimaryTarget 02 November 2016 - Added math.calc_hermite_spline_position 01 November 2016 - Added math.calc_hermite_spline Version 0.2.11 31 October 2016 - Added Entity:SetTimeScale, Entity:GetTimeScale and Entity:GetEffectiveTimeScale - Added game.set_time_scale and game.get_time_scale - Animations now blend between frames properly - Fixed animations not being in sync with the timescale, if the timescale is != 1 - Fixed particle effects not being affected by timescale - Fixed ragdoll rendering issues 30 October 2016 - Added Entity:GetNetworkedBool, Entity:GetNetworkedChar, Entity:GetNetworkedDouble, Entity:GetNetworkedFloat, Entity:GetNetworkedInt8, Entity:GetNetworkedInt16, Entity:GetNetworkedInt32, Entity:GetNetworkedInt64, Entity:GetNetworkedLongDouble, Entity:GetNetworkedString, Entity:GetNetworkedUInt8, Entity:GetNetworkedUInt16, Entity:GetNetworkedUInt32, Entity:GetNetworkedUInt64, Entity:GetNetworkedAngles, Entity:GetNetworkedColor, Entity:GetNetworkedVector, Entity:GetNetworkedVector2, Entity:GetNetworkedVector4, Entity:GetNetworkedEntity, Entity:GetNetworkedVariables, Entity:SetNetworkedBool, Entity:SetNetworkedChar, Entity:SetNetworkedDouble, Entity:SetNetworkedFloat, Entity:SetNetworkedInt8, Entity:SetNetworkedInt16, Entity:SetNetworkedInt32, Entity:SetNetworkedInt64, Entity:SetNetworkedLongDouble, Entity:SetNetworkedString, Entity:SetNetworkedUInt8, Entity:SetNetworkedUInt16, Entity:SetNetworkedUInt32, Entity:SetNetworkedUInt64, Entity:SetNetworkedAngles, Entity:SetNetworkedColor, Entity:SetNetworkedVector, Entity:SetNetworkedVector2, Entity:SetNetworkedVector4 and Entity:SetNetworkedEntity - Added entity callback "OnNetworkedVariableChanged" - Added gamemode hooks "OnGameInitialized" and "OnMapInitialized" - Added new overloads for sound.create, Entity:CreateSound and Entity:EmitSound - Fixed crash when creating text GUI-elements with width or height set to 0 - Fixed model normals not being affected by animations during rendering 29 October 2016 - Added Entity:FireBullets, Entity:GetMaxHealth and Entity:SetMaxHealth - Added Entity hook "OnFireBullets" - Added player callback "OnActiveWeaponChanged" - Added weapon callbacks "OnPrimaryClipSizeChanged", "OnSecondaryClipSizeChanged", "OnPrimaryAmmoTypeChanged" and "OnSecondaryAmmoTypeChanged" - Added console commands "turn_left", "turn_right", "turn_up", "turn_down" and "hurtme" - Player:GetWeapons, Player:GetActiveWeapon, Player:GetActionInput and Player:HasWeapon are now shared 23 October 2016 - Added class "WINumericEntry" - Removed WITextEntry:SetNumeric 22 October 2016 - Added WIElement:SetTooltip, WIElement:GetTooltip, WIElement:HasTooltip, WIElement:GetLeft, WIElement:GetTop, WIElement:GetRight, WIElement:GetBottom, WIElement:GetEndPos, Animation:GetEventCount, WIDropDownMenu:GetValue and gui.create_label - Added new overload for Animation:GetEvents - Added class "WIGridPanel" 21 October 2016 - Added Entity:GetScale and Entity:SetScale - Added console command "ent_scale" 20 October 2016 - Added WIElement:Draw and AISchedule:AddTask - Renamed hook BaseWIElement:Draw to BaseWIElement:OnDraw 19 October 2016 - Added Camera:GetRotation and debugrenderer.draw_text 18 October 2016 - Added game.get_light_color and game.get_sound_intensity - Added game callback "DrawScene" 17 October 2016 - Added Player:PrintMessage, BaseCharacter:GetGodMode and BaseCharacter:SetGodMode - Added "MESSAGE_TYPE" enums - Added console command "godmode" 15 October 2016 - Added NPC:IsEnemy, AIBehaviorTask:SetParameterBool, AIBehaviorTask:SetParameterInt, AIBehaviorTask:SetParameterFloat, AIBehaviorTask:SetParameterString, AIBehaviorTask:SetParameterEntity, AIBehaviorTask:SetParameterVector, AIBehaviorTask:SetParameterQuaternion and AIBehaviorTask:SetParameterEulerAngles - Added enums "HITGROUP_TAIL", "ACT_DIE" and "TASK_PLAY_SOUND" - Fixed crash when playing soundscripts serverside 14 October 2016 - Added Vector:GetPerpendicular - Added debugrenderer.draw_cone - Added new overloads for util.splash_damage - Fixed console command "lua_compile" not working 13 October 2016 - Added game callback "CalcViewOffset" - Added NPC:IsAIEnabled, NPC:SetAIEnabled, NPC:EnableAI, NPC:DisableAI, NPC:IsControllable, NPC:SetControllable, NPC:StartControl, NPC:EndControl, NPC:IsControlled, NPC:GetController and Player:ApplyViewRotationOffset - Added NPC hooks "OnControllerActionInput", "OnStartControl" and "OnEndControl" - Removed NPC:SetCanSee 11 October 2016 - Added NPC hook "OnSuspiciousSoundHeared" 10 October 2016 - Added Entity:GetCollisionRadius, ALSound:GetIntensity, ALSound:GetSource and ALSound:SetSource - NPCs now try to avoid obstructions in paths 09 October 2016 - Added NPC:IsMoving - Fixed animation not being reset on client properly, if reset on server while it was already playing - Fixed animation twitching occasionally while a NPC is moving 08 October 2016 - Added AISquad:GetMembers, BaseCharacter:GetNoTarget, BaseCharacter:SetNoTarget, NPC:GetHearingStrength, NPC:SetHearingStrength, AIMemoryFragment:GetLastTimeSensed and AISchedule:Copy - Added NPC hook "OnScheduleComplete" - Added console command "notarget" - Added enums "ACT_FLINCH_HEAD", "ACT_FLINCH_CHEST", "ACT_FLINCH_STOMACH", "ACT_FLINCH_LEFT_ARM", "ACT_FLINCH_RIGHT_ARM", "ACT_FLINCH_LEFT_LEG", "ACT_FLINCH_RIGHT_LEG", "ACT_FLINCH_PHYSICS", "ACT_FLINCH_GENERIC" and "TASK_MOVE_RANDOM" Version 0.2.10 07 October 2016 - Added NPC:SetCanSee, NPC:CanSee, NPC:CanHear, NPC:GetMemoryFragmentCount and NPC:GetPrimaryTarget - Added new overloads for NPC:GetMemory, NPC:PlayAnimation, NPC:PlayActivity and NPC:SetNPCState - Added NPC hooks "OnPrimaryTargetChanged", "OnNPCStateChanged", "OnTargetVisibilityLost", "OnTargetVisibilityReacquired", "OnMemoryGained", "OnMemoryLost" and "OnTargetAcquired" - Added enum ACT_ALERT - Added "SCHEDULE_PARAMETER_TYPE" enums - Removed NPC:CompleteTask and NPC:GetCurrentTask 06 October 2016 - Added classes "AIBehaviorTask" and "BaseAIBehaviorTask" - Added NPC hook "SelectSchedule" - Added "ai.BEHAVIOR_TASK_TYPE", "ai.BEHAVIOR_TASK_RESULT", "ai.BEHAVIOR_SELECTOR_TYPE" and "ai.TASK" enums - Moved "DISPOSITION" enums to "ai.DISPOSITION" and "NPC_STATE" to "ai.NPC_STATE" 05 October 2016 - Added AISchedule:GetRootTask, AISchedule:Cancel, AISchedule:SetParameterBool, AISchedule:SetParameterInt, AISchedule:SetParameterFloat, AISchedule:SetParameterString, AISchedule:SetParameterEntity, AISchedule:SetParameterVector, AISchedule:SetParameterQuaternion, AISchedule:SetParameterEulerAngles, AISchedule:GetParameterBool, AISchedule:GetParameterInt, AISchedule:GetParameterFloat, AISchedule:GetParameterString, AISchedule:GetParameterEntity, AISchedule:GetParameterVector, AISchedule:GetParameterQuaternion, AISchedule:GetParameterEulerAngles, AISchedule:GetParameterType, ai.register_task and ai.create_task - Removed AISchedule:AddTask 04 October 2016 - Removed class "AITask" 03 October 2016 - Added classes "Faction", "AISquad", "AIMemory" and "AIMemoryFragment" - Added ai.register_faction, ai.get_factions, ai.find_faction_by_name, NPC:SetRelationship, NPC:GetMaxViewDistance, NPC:SetMaxViewDistance, NPC:SetMaxViewAngle, NPC:GetMaxViewAngle, NPC:GetNPCState, NPC:GetSquad, NPC:ClearRelationship, NPC:GetDisposition, NPC:GetCurrentSchedule, NPC:GetCurrentTask, NPC:CompleteTask, NPC:GetMemory, NPC:Memorize, NPC:Forget, NPC:ClearMemory, NPC:IsInMemory, NPC:IsInViewCone, NPC:GetMemoryDuration, NPC:SetMemoryDuration, NPC:SetWalkSpeed, NPC:SetRunSpeed, NPC:GetWalkSpeed and NPC:GetRunSpeed - Added "DISPOSITION" and "NPC_STATE" enums 01 October 2016 - Added console command "debug_ai_navigation" - Fixed crash when using "debug_nav_show_meshes", "debug_nav_path_start" and "debug_nav_path_end" console commands 30 September 2016 - Added console command "cl_render_shadow_quality" - Added graphics presets - Added entity callback "OnModelMaterialsLoaded" - Fixed crash when trying to change multisampling from enabled to disabled while ingame - Fixed conversion from stereo sounds to mono resulting in errors in some cases 27 September 2016 - Added LODs for displacement geometry - Improved performance with lit scenes 26 September 2016 - Added Entity:GetLastMoveTime - Added console commands "cl_render_shadow_dynamic", "cl_render_shadow_update_frequency", "cl_render_shadow_pssm_update_frequency_offset" and "cl_render_particle_quality" - Renamed console command "render_csm_cascade_count" to "cl_render_shadow_pssm_split_count" 25 September 2016 - Added Entity:SetCastShadows, Entity:GetCastShadows, Entity:GetPhysicsType, Entity:IsStatic and Entity:IsDynamic - Improved shadows for transparent world objects - Fixed rare crash when pressing GUI buttons - Fixed crash when disabling shadows 24 September 2016 - Added console commands "give_weapon" and "give_ammo" - Added material parameter "alpha_discard_threshold" - Fixed frequent changes to light sources resulting in flickering - Fixed transparency issues when transparent objects are overlapping 23 September 2016 - Added class "PhysSoftBody" - Added PhysCollisionObj:IsRigidBody, PhysCollisionObj:IsGhostObject, PhysCollisionObj:IsSoftBody, PhysShape:GetBounds and PhysObj:GetBounds - Added enum PHYSICSTYPE_SOFTBODY - Implemented soft-body physics 22 September 2016 - Added particle lighting and shadow effects for beam particles - Added Patreon-Logo - Fully implemented Entity:Ignite 21 September 2016 - Added particle lighting and shadow effects - Added particle attribute "cast_shadows" 20 September 2016 - Added new overloads for Entity:Ignite - Added new parameters to Entity hook "OnIgnite" - Added enum DAMAGETYPE_IGNITE - Added SoundScript-sound attributes "mode" and "max_distance" 19 September 2016 - Fixed crash when disconnecting from a map with vehicles - Fixed ragdoll bones having odd orientations when a ragdoll was created while the entity was mid-animation - Updated Vulkan API to version 1.0.26.0 [/CODE]
can you by any chance make GMOD addons work with your game? if its possible?
[QUOTE=Coffee123;51348951]can you by any chance make GMOD addons work with your game? if its possible?[/QUOTE] Not gonna happen. The point is to improve on things that in my opinion weren't handled well in gmod (due to engine limitations and other reasons), not create a 1:1 clone (That would completely defeat the point). Either way, you can do almost everything with this engine that you can also do with gmod, so porting most addons should be possible without too much of a hassle. I'll try to get the AI-stuff out of the way within the next two months, then I'll start writing some tutorials.
Does it have support for c operators? I will try to port some addons for fun! Have you though about steam greenlight?
[QUOTE=gonzalolog;51366484]Does it have support for c operators? I will try to port some addons for fun![/QUOTE] Standard Lua (5.3) syntax only. If you want to port something, [URL=steam://friends/add/76561197967919092]add me on steam[/URL], I'll probably have to explain a few things (And the wiki is still lacking). [QUOTE=gonzalolog;51366484]Have you though about steam greenlight?[/QUOTE] It's a bit early for that, maybe in a few months. (I'd at least like to get the AI system done first) Some more changes to the resource system: If a client is missing a model, the server will transmit the model file to the client in the background. In the meantime, the server will also send a rough mesh collection to the client (Since downloading the model might take a few minutes), so the client has an idea of what the model looks like, before he has fully received it: [T]http://sciolyte.com/sharex/sciolyte_2016-11-13_20-11-15.png[/T] There's a similar system in place for materials, but it's still wip.
Awesome! Keep up good work :)
Sorry, you need to Log In to post a reply to this thread.