• Pragma - A 3D multiplayer sandbox engine with Lua-integration, based on Vulkan and bullet physics
    379 replies, posted
[QUOTE=RonanZer0;52054840]Would (or [I]will[/I]) a huge city map about the size of of City 17 in Half-Life 2, not counting canal areas, be possible without intense lag? I know there are basically no limits in this engine, but if GMod had no map/brush limit and I did the same thing, I'm sure performance would be dreadful. I'm guessing the main bottleneck, if it could fit in memory, would be the engine's visual optimization abilities.[/QUOTE] Honestly, I don't know. Once I'm done with the CHC++-implementation, larger maps should run fine as well though. [QUOTE=RonanZer0;52054840]Also, is there a way I can play Source maps that I don't have the original vmf file for? There are tons of maps I'd like to try.[/QUOTE] You'll have to [URL=https://developer.valvesoftware.com/wiki/Decompiling_Maps]decompile[/URL] them first. It's the only way, since most entities will have to be changed anyway. [QUOTE=RonanZer0;52056474]Following the Hammer Editor instructions results in no map file being generated and no success message.[/QUOTE] If you follow [URL=http://wiki.sciolyte.com/index.php?title=Mapping#Compiler]these instructions[/URL], it should work. Ignore the first line, drag and drop doesn't work anymore, and the video is out-dated. [EDITLINE]-[/EDITLINE] If that doesn't work, can you add me on steam? The steam-link on your profile doesn't seem to work.
That was it. I watched the video for instructions. And I tried to drag and drop.
Very high settings make the game crash. How do I display the framerate? Here's the crashdump. [url]https://files.tenrys.pw/2017/Apr/18ec.zip[/url]
Quick question: Are you the only one working on this, Silverlan?
[QUOTE=Tenrys;52058525]Very high settings make the game crash. How do I display the framerate? Here's the crashdump. [url]https://files.tenrys.pw/2017/Apr/18ec.zip[/url][/QUOTE] You can use "[i]cl_show_fps 1[/i]" in the console to display the framerate. In the new version you can use "[i]find <name>[/i]", or enter an invalid command in the console, and it'll show you the closest matches: [T]http://sciolyte.com/sharex/sciolyte_2017-04-06_18-49-24.png[/T] As for the crashes, there were some issues left with some Nvidia GPUs. Can you (or someone else who had crashes) give [URL=http://sciolyte.com/share/sciolyte_update_170406.zip]this[/URL] a try? That should fix that. [QUOTE=RileyGuy1000;52066625]Quick question: Are you the only one working on this, Silverlan?[/QUOTE] I am, yeah. [EDITLINE]-[/EDITLINE] I've published the performance updates since most problems should be resolved now. You can just use the launcher to get the latest version. Latest changelog: [CODE]Version 0.2.16 03 April 2017 - Added console commands "find", "cl_find", "render_draw_scene", "render_draw_sky", "render_draw_view", "render_draw_particles", "render_draw_glow", "render_draw_translucent", "render_clear_scene" and "render_clear_scene_color" - Added string.find_longest_common_substring - Added enum RENDERMODE_AUTO - Default entity render mode is now RENDERMODE_AUTO - If an unknown console command is entered, the console will now print the closest matches - Mouse movement, as well as +turn_left, +turn_right, +turn_up and +turn_down are not affected by framerate anymore 02 April 2017 - Added string.calc_levenshtein_distance and string.calc_levenshtein_similarity 01 April 2017 - Massively improved rendering performance 31 March 2017 - Added PhysCollisionObj:GetActivationState, PhysCollisionObj:SetActivationState, PhysShape:IsConvex, PhysShape:IsConvexHull, PhysShape:IsHeightField and PhysShape:IsTriangleShape - Added "physenv.ACTIVATION_STATE" enums - Added console command "debug_render_info" - Moved PhysRigidBody:Activate to PhysCollisionObj:Activate - Updated bullet to version 2.86.1 30 March 2017 - Added PhysCollisionObj:GetShape 28 March 2017 - Added console commands "cl_gpu_timer_queries_enabled" and "cl_gpu_timer_queries_dump" 24 March 2017 - Added console commands "cl_physics_simulation_enabled" and "sv_physics_simulation_enabled" - Updated bullet to version 2.83 23 March 2017 - Added openvr.set_hmd_view_enabled, openvr.is_hmd_view_enabled, openvr.can_render_scene, openvr.clear_last_submitted_frame, openvr.clear_skybox_override, openvr.compositor_bring_to_front, openvr.compositor_dump_images, openvr.compositor_go_to_back, openvr.force_interleaved_reprojection_on, openvr.force_reconnect_process, openvr.get_frame_time_remaining, openvr.is_fullscreen, openvr.should_app_render_with_low_resources, openvr.suspend_rendering, openvr.set_skybox_override, openvr.get_cumulative_stats, openvr.get_tracking_space and openvr.set_tracking_space - Added VR_COMPOSITOR_ERROR and VR_TRACKING_UNIVERSE_ORIGIN enums - Renamed VR_TRACKED_PROPERY_ERROR enums to "VR_TRACKED_PROPERTY_ERROR" - Moved all VR-enums into "openvr" library - Removed "VR_"-prefix from all openvr-enums 21 March 2017 - Sound- and Sound-Script-Files are now automatically reloaded when changed 20 March 2017 - Added error-model for entities with missing models - Fixed entity skins not being applied properly if entity model was changed 19 March 2017 - Material-, Texture-, Particle- and Shader-files are now automatically reloaded when changed [/CODE] [EDITLINE]-[/EDITLINE] Also added the Zombie Test-NPC to the modding hub: [url=http://mods.sciolyte.com/index.php?mode=upload&uploadid=e1b1d376ef5f0ca28bee357507fa3dd0][img]http://mods.sciolyte.com/download.php?uploadid=e1b1d376ef5f0ca28bee357507fa3dd0&output=image[/img][/url] [sp]Looks like facepunch doesn't like linked images, just right click on it -> new tab.[/sp] [EDITLINE]-[/EDITLINE] Would anyone like to see some specific tutorials? A weapon tutorial maybe?
[QUOTE=Silverlan;52067115]You can use "[i]cl_show_fps 1[/i]" in the console to display the framerate. In the new version you can use "[i]find <name>[/i]", or enter an invalid command in the console, and it'll show you the closest matches: [T]http://sciolyte.com/sharex/sciolyte_2017-04-06_18-49-24.png[/T] As for the crashes, there were some issues left with some Nvidia GPUs. Can you (or someone else who had crashes) give [URL=http://sciolyte.com/share/sciolyte_update_170406.zip]this[/URL] a try? That should fix that. I am, yeah. [EDITLINE]-[/EDITLINE] I've published the performance updates since most problems should be resolved now. You can just use the launcher to get the latest version. Latest changelog: [CODE]Version 0.2.16 03 April 2017 - Added console commands "find", "cl_find", "render_draw_scene", "render_draw_sky", "render_draw_view", "render_draw_particles", "render_draw_glow", "render_draw_translucent", "render_clear_scene" and "render_clear_scene_color" - Added string.find_longest_common_substring - Added enum RENDERMODE_AUTO - Default entity render mode is now RENDERMODE_AUTO - If an unknown console command is entered, the console will now print the closest matches - Mouse movement, as well as +turn_left, +turn_right, +turn_up and +turn_down are not affected by framerate anymore 02 April 2017 - Added string.calc_levenshtein_distance and string.calc_levenshtein_similarity 01 April 2017 - Massively improved rendering performance 31 March 2017 - Added PhysCollisionObj:GetActivationState, PhysCollisionObj:SetActivationState, PhysShape:IsConvex, PhysShape:IsConvexHull, PhysShape:IsHeightField and PhysShape:IsTriangleShape - Added "physenv.ACTIVATION_STATE" enums - Added console command "debug_render_info" - Moved PhysRigidBody:Activate to PhysCollisionObj:Activate - Updated bullet to version 2.86.1 30 March 2017 - Added PhysCollisionObj:GetShape 28 March 2017 - Added console commands "cl_gpu_timer_queries_enabled" and "cl_gpu_timer_queries_dump" 24 March 2017 - Added console commands "cl_physics_simulation_enabled" and "sv_physics_simulation_enabled" - Updated bullet to version 2.83 23 March 2017 - Added openvr.set_hmd_view_enabled, openvr.is_hmd_view_enabled, openvr.can_render_scene, openvr.clear_last_submitted_frame, openvr.clear_skybox_override, openvr.compositor_bring_to_front, openvr.compositor_dump_images, openvr.compositor_go_to_back, openvr.force_interleaved_reprojection_on, openvr.force_reconnect_process, openvr.get_frame_time_remaining, openvr.is_fullscreen, openvr.should_app_render_with_low_resources, openvr.suspend_rendering, openvr.set_skybox_override, openvr.get_cumulative_stats, openvr.get_tracking_space and openvr.set_tracking_space - Added VR_COMPOSITOR_ERROR and VR_TRACKING_UNIVERSE_ORIGIN enums - Renamed VR_TRACKED_PROPERY_ERROR enums to "VR_TRACKED_PROPERTY_ERROR" - Moved all VR-enums into "openvr" library - Removed "VR_"-prefix from all openvr-enums 21 March 2017 - Sound- and Sound-Script-Files are now automatically reloaded when changed 20 March 2017 - Added error-model for entities with missing models - Fixed entity skins not being applied properly if entity model was changed 19 March 2017 - Material-, Texture-, Particle- and Shader-files are now automatically reloaded when changed [/CODE] [EDITLINE]-[/EDITLINE] Also added the Zombie Test-NPC to the modding hub: [url=http://mods.sciolyte.com/index.php?mode=upload&uploadid=e1b1d376ef5f0ca28bee357507fa3dd0][img]http://mods.sciolyte.com/download.php?uploadid=e1b1d376ef5f0ca28bee357507fa3dd0&output=image[/img][/url] [sp]Looks like facepunch doesn't like linked images, just right click on it -> new tab.[/sp] [EDITLINE]-[/EDITLINE] Would anyone like to see some specific tutorials? A weapon tutorial maybe?[/QUOTE] Wow good job! As for you working alone, you should find some people willing to help out a bit, something like this sounds like it deserves at least more than 1 person working on it. Also, a weapon tutorial would be pretty cool, as well as how to do that spawn menu thing you did in one of those videos.
[QUOTE=RileyGuy1000;52075613]Also, a weapon tutorial would be pretty cool, as well as how to do that spawn menu thing you did in one of those videos.[/QUOTE] Update to the latest version, there's now an option for it in the controls menu: [T]http://sciolyte.com/sharex/sciolyte_2017-04-08_21-20-54.png[/T] [CODE]Sciolyte ChangeLog Version 0.2.16 08 April 2017 - Fixed gamemodes within addons not showing up in the game mode list when starting a new game - Addons can now define their own key controls in "menu.xml" - Fixed resource reloader not being able to catch changed files in newly created directories - Fixed crash when connected to a server and the server is changing the map 07 April 2017 - Added "Toggle third-person" option to control menu - Fixed vehicle wheels being spawned in the floor below vehicles - Fixed incorrect vehicle camera views - Removed Vehicle:SetFirstPersonCameraOffset, Vehicle:SetThirdPersonCameraOffset, Vehicle:GetFirstPersonCameraOffset, Vehicle:GetThirdPersonCameraOffset and Player:ResetObserverCameraOffset [/CODE]
[QUOTE=Silverlan;52076797]Update to the latest version, there's now an option for it in the controls menu: [T]http://sciolyte.com/sharex/sciolyte_2017-04-08_21-20-54.png[/T] [CODE]Sciolyte ChangeLog Version 0.2.16 08 April 2017 - Fixed gamemodes within addons not showing up in the game mode list when starting a new game - Addons can now define their own key controls in "menu.xml" - Fixed resource reloader not being able to catch changed files in newly created directories - Fixed crash when connected to a server and the server is changing the map 07 April 2017 - Added "Toggle third-person" option to control menu - Fixed vehicle wheels being spawned in the floor below vehicles - Fixed incorrect vehicle camera views - Removed Vehicle:SetFirstPersonCameraOffset, Vehicle:SetThirdPersonCameraOffset, Vehicle:GetFirstPersonCameraOffset, Vehicle:GetThirdPersonCameraOffset and Player:ResetObserverCameraOffset [/CODE][/QUOTE] Wow, whatever you've done this update seems to have fixed the mouse sensitivity issues as well. Nice! EDIT: Also, how do you reference entities by id's like you would in Garry's Mod? E.g. Entity(172) or _172 or something like that. Double EDIT: CHC++ seems to have borked as well, changing to it and trying to load a level crashes the game for me now.
[QUOTE=RileyGuy1000;52079967]Wow, whatever you've done this update seems to have fixed the mouse sensitivity issues as well. Nice![/QUOTE] ..I haven't changed anything about the mouse controls in the last few updates. [QUOTE=RileyGuy1000;52079967]EDIT: Also, how do you reference entities by id's like you would in Garry's Mod? E.g. Entity(172) or _172 or something like that.[/QUOTE] [URL=http://wiki.sciolyte.com/index.php?title=Ents_getbyindex]ents.get_by_index[/URL]. [QUOTE=RileyGuy1000;52079967]Double EDIT: CHC++ seems to have borked as well, changing to it and trying to load a level crashes the game for me now.[/QUOTE] CHC++ isn't fully implemented yet (and won't be for a while), just ignore it. (Set it to octree instead.) [EDITLINE]-[/EDITLINE] Particle effects have now support for 3D models: [video]https://youtu.be/Ged07h2gCW4[/video] Could also be used for stuff like grass and foliage.
[QUOTE=Silverlan;52080110]..I haven't changed anything about the mouse controls in the last few updates.[/QUOTE] Oh. Huh, well something seems to have spontaneously fixed the mouse sensitivity problems, at least for me.
Is this or will this ever be open source?
I've added support for controllers and joysticks! Up to 16 devices are supported with up to 250 buttons and 125 joystick axes each (I think that should cover all models :v:). I also wrote a short tutorial on keybindings [URL=http://wiki.sciolyte.com/index.php?title=InputDevices]here[/URL], which also explains how to make use of controllers and joysticks. Steam controllers are a bit special, because they require steamworks to make use of their features (And steamworks requires a game to be on steam). They should still work, albeit somewhat limited. Latest Changelog: [CODE]Sciolyte ChangeLog Version 0.2.20 15 April 2017 - Added "toggle" console command - Moved openal.set_distance_model and openal.get_distance_model to sound-library - Removed openal library - Removed "bindtoggle" console command - Fixed not being able to bind a key to multiple controls through the controls menu - Fixed key-bindings sometimes not being loaded properly on startup 14 April 2017 - Added enums cvar.FLAG_JOYSTICK_AXIS_CONTINUOUS and cvar.FLAG_JOYSTICK_AXIS_SINGLE - Added "console" library - Changed overloads for cvar.create_concommand - Renamed "timer" library to "time" - Renamed "timer.create" to "time.create_timer" and "timer.simple" to "time.create_simple_timer" - Moved cur_time, real_time, delta_time, server_time and frame_time to "time" library - Moved "print"-functions to "console" library - Moved enums into appropriate libraries and classes 13 April 2017 - Added Player:GetActionInputAxisMagnitude and Player:SetActionInputAxisMagnitude - Added console commands "cl_controller_enabled" and "cl_controller_axis_input_threshold" - Fixed cvar.run sometimes not working - Changed parameters for function callback in cvar.create_concommand 12 April 2017 - Added support for game controllers and joysticks - Added game callback "OnControllerInput" - Added input.get_controller_count, input.get_controller_name, input.get_joystick_axes and input.get_joystick_buttons - Added enums "input.KEY_SCRL_UP", "input.KEY_SCRL_DOWN", "input.KEY_MOUSE_BUTTON_1" to "input.KEY_MOUSE_BUTTON_9", "input.JOYSTICK_0_KEY_START" to "input.JOYSTICK_9_KEY_START" and "input.JOYSTICK_0_AXIS_START" to "input.JOYSTICK_9_AXIS_START" - Moved "GLFW" enums to "input" library - Renamed "GLFW" enums 11 April 2017 - Added Entity:AttachParticleSystem - Removed opengl library and enums - Removed classes "GLFrameBuffer", "GLTexture" and "GLDataBlock" - Weapons spawned on the floor now have physics - Updated GLFW to version 3.2.1 10 April 2017 - Added util.create_giblet, Player:IsInFirstPersonMode, Weapon:IsInFirstPersonMode, Player:AddAmmo, Player:RemoveAmmo, ParticleSystem:IsValid and ents.get_null - Added classes "GibletCreateInfo" and "BulletInfo" - Added weapon hook "OnPickedUp" - Added entity hooks "OnPhysicsInitialized" and "OnPhysicsDestroyed" - Added "initial_angular_velocity" particle initializer - Changed overloads for Entity:FireBullets and util.fire_bullets - Renamed enum COLLISIONMASK_WEAPON to COLLISIONMASK_ITEM - Fixed .png-textures not being loaded properly - Fixed ents.find_in_aabb not being implemented - Fixed crash when enemies tried to navigate on maps without a navigation mesh 09 April 2017 - Added particle system renderer "model" and operator "physics_model" - Fixed particle shadows not being rendered [/CODE] [QUOTE=RileyGuy1000;52085509]Is this or will this ever be open source?[/QUOTE] Nope, and rather unlikely for the time being, sorry.
Finally got around to writing a tutorial on how to create weapons: [url]http://wiki.sciolyte.com/index.php?title=Tutorial_weapon[/url] [video]https://youtu.be/wACMXMkY8yg[/video] Full addon from the tutorial available here: [url=http://mods.sciolyte.com/index.php?mode=upload&uploadid=cfbd4710b6b81100d3a7579cd80eac8f][img]http://mods.sciolyte.com/download.php?uploadid=cfbd4710b6b81100d3a7579cd80e ac8f&output=image[/img][/url] [sp]Right click, new tab[/sp]
Currently working on some water effects. [IMG]http://sciolyte.com/sharex/sciolyte_2017-04-20_13-18-31.jpg[/IMG] Think it came out pretty well already :v:. No under-water effects or physics yet, that'll be next. [EDITLINE]-[/EDITLINE] [T]http://sciolyte.com/sharex/sciolyte_2017-04-20_19-58-05.png[/T]
Those water effects are so good it makes the rest look really bland and outdated no offence haha
A really important addition would be some sort of AO for intersecting geometry, otherwise everything in the shadows are shaded the same and depth can be hard to see.
difference between this game and gmod?
Splish splash. [HD]https://youtu.be/YMHO86yhF4o[/HD] Buoyancy doesn't work with the waves yet (That'll be next) and I'm not sure how to get water effects that work well with the waves. One step at a time... [QUOTE=Canary;52133020]Those water effects are so good it makes the rest look really bland and outdated no offence haha[/QUOTE] That's mostly due to the textures, it would look bland with those in any engine. :v: [QUOTE=Shirky;52133515]A really important addition would be some sort of AO for intersecting geometry, otherwise everything in the shadows are shaded the same and depth can be hard to see.[/QUOTE] I might mess around with AO once I'm done with the water.
Fantastic Silver, keep up the amazing work brother! I've seen this project come so far within the past couple of years. The shaders look more and more realistic everytime! Different adaptations make it look greater by each snapshot/video. If anyone hasn't said it already, Thank you for making Sciolyte, and your support! Silverlan is the best game engineer I know.
Man, every time I look at this project it just keeps getting more and more polished little by little. Keep up the awesome work! One of my friends wasn't so impressed though, he said "I could accomplish this in a week with OpenGL". Don't worry though, I still think this is an amazing project.
[HD]https://youtu.be/EkYCrhLrB18[/HD] I haven't done any optimization yet, so the performance is pretty abysmal. Hard part's done though, just need to put the final touches to it.
[QUOTE=Shirky;52133515]A really important addition would be some sort of AO for intersecting geometry, otherwise everything in the shadows are shaded the same and depth can be hard to see.[/QUOTE] I took some time to implement SSAO. [T]http://sciolyte.com/sharex/sciolyte_2017-05-08_12-18-39.jpg[/T] [T]http://sciolyte.com/sharex/sciolyte_2017-05-08_12-18-57.png[/T] (Before and after.) Not exactly realistic, but it does look somewhat better I think. Still need to tweak the parameters.
Looks a lot better in my opinion. Do you have any sort of depth buffer you can work with? It currently just kind of looks like some sort of stencil/outline on the geometry rather than taking into consideration its depth.
[QUOTE=Shirky;52201325]Looks a lot better in my opinion. Do you have any sort of depth buffer you can work with? It currently just kind of looks like some sort of stencil/outline on the geometry rather than taking into consideration its depth.[/QUOTE] I had to add a pre-render pass for the depth (Since I'm using forward-rendering), but yeah, it already uses the depth buffer (No stencils involved). I played around with the parameters some more, and I think the result is fairly decent: [T]http://sciolyte.com/sharex/sciolyte_2017-05-08_15-39-56.jpg[/T] [T]http://sciolyte.com/sharex/sciolyte_2017-05-08_15-40-54.jpg[/T] [T]http://sciolyte.com/sharex/dust_ssao.gif[/T] [T]http://sciolyte.com/sharex/dust_ssao2.gif[/T] [T]http://sciolyte.com/sharex/dust_ssao3.gif[/T] The squares at the top of the second image are: position buffer (camera space), normal buffer (camera space), depth buffer, ssao buffer and the final blurred ssao buffer. On a different node: If the game attempts to load a missing model, and a hl2-model exists at the search path with the same name, it will now be automatically converted and loaded. Basically means you don't even need to do any conversion yourself anymore (For most models at least).
You can also optimize the position buffer away (you only need depth and screen space position to get camera space positions).
I was bored, so I added some plane clipping for physics objects (work in progress, still need to fill the holes after clipping): [video]https://youtu.be/0Mvb5U09F74[/video] Also, some minor water updates: [T]http://sciolyte.com/sharex/sciolyte_2017-05-12_22-54-40.jpg[/T] [T]http://sciolyte.com/sharex/sciolyte_2017-05-12_22-51-39.png[/T] [QUOTE=JWki;52211709]You can also optimize the position buffer away (you only need depth and screen space position to get camera space positions).[/QUOTE] I'm aware of that, but the overhead for the position buffer is minimal, and I might need it in the future.
Haven't been very motivated lately, so there's not much new stuff. I've been messing around a bit with chromium: [video]https://youtu.be/YDBjV6S2RX8[/video] I might make it multiplayer-compatible, so you could watch videos with other players. I've also revamped the entire sound-system and added some new features while I was at it. There's now support for MP3 (patents have finally expired), FLAC and Opus sounds, as well as sound-streaming and some other stuff. Currently working on steam audio support as a side-project.
So is this like a source port for the Source engine? (For anyone who doesn't know what a sourceport is, it's essentially a program that ports source code to a new engine (usually with the purpose of making it compadible with newer PCs, fixing bugs and removing certain limits), for example what GZDoom does for Doom 2).
[QUOTE=McDoomington;52311080]So is this like a source port for the Source engine? (For anyone who doesn't know what a sourceport is, it's essentially a program that ports source code to a new engine (usually with the purpose of making it compadible with newer PCs, fixing bugs and removing certain limits), for example what GZDoom does for Doom 2).[/QUOTE] Not exactly, I think a more appropriate term is a clone of the Source Engine, but then again it appears to be a fully custom engine. The only thing making it related to Source is the ease at which assets such as models and maps can be ported over.
[QUOTE=McDoomington;52311080]So is this like a source port for the Source engine? (For anyone who doesn't know what a sourceport is, it's essentially a program that ports source code to a new engine (usually with the purpose of making it compadible with newer PCs, fixing bugs and removing certain limits), for example what GZDoom does for Doom 2).[/QUOTE] No, this has nothing to do with the source engine (Aside from the fact that my engine supports some of source's file formats). I wrote the engine from scratch, no code from source was used.
Sorry, you need to Log In to post a reply to this thread.