Pragma - A work-in-progress multiplayer sandbox engine
155 replies, posted
I can't seem to register on the forums, returns this error after accepting the terms:
[t]http://i.imgur.com/tZppeNt.png[/t]
Also can't seem to run the VR mode properly, when activated it does start SteamVR, but nothing except the SteamVR interface appears in the Vive, anything I'm missing?
[QUOTE=afromana;52517700]
Also can't seem to run the VR mode properly, when activated it does start SteamVR, but nothing except the SteamVR interface appears in the Vive, anything I'm missing?[/QUOTE]
Silverlan worked with me on debugging the vive support. He got it mostly fixed except fir some lighting issues, but I expect that one of the upcoming updates will fix it
So, where are you with loading two maps at the same time?
[video]https://youtu.be/-JLCygPOzyg[/video]
I've also added a sandbox keybind which allows you to reorient yourself according to whatever ground you're on. If you're nowhere near any ground, you can reorient yourself freely, which might also be useful for spacebuild.
[QUOTE=Solomon;52520165]So, where are you with loading two maps at the same time?[/QUOTE]
[T]http://sciolyte.com/sharex/2017-07-30_18-53-17.gif[/T]
Damn, this looks like it is really coming alone well.
holy shit you've already got a better surf made :v:
How do you implement your gravity? Sphere's of influence to dictate where the player lands? Or actual gravity n-body physics? (In regard to the Surf video)
I'd love to help you with graphical UI's and stuff if you want, this has some really serious potential
You have [i]absolutely no idea[/i] how sad I am that I can't play this on my PC D':
[QUOTE=Silverlan;52522402]I've also added a sandbox keybind which allows you to reorient yourself according to whatever ground you're on. If you're nowhere near any ground, you can reorient yourself freely[/QUOTE]
So you could theoretically also remake Portal in Pragma?
[QUOTE=fruxodaily;52524289]I'd love to help you with graphical UI's and stuff if you want, this has some really serious potential[/QUOTE]
honestly, silverlan if you put this up on github and put a license you like on it it might work out well for you. you could still maintain much of the licensing and IP for yourself, but have an easier way to collect issues/bug reports and have community contributions rolled in through PRs. that being said, though, it can result in codebase fragmentation and style changes without strict guidelines. and testing PR's/contributions can be tough. So long as you don't let someone add stuff like [URL="https://github.com/prusa3d/Slic3r/blob/master/xs/src/libslic3r/TriangleMesh.cpp#L959"]this[/URL], though, you should be fine ;p
that being said, i can also totally understand staying closed source and doing your own thing. its a lot easier, in many ways. I'm biased because I've learnt so much from open source projects, and enjoy creating PRs to pay the learning opportunity back (so-to-speak)
[QUOTE=Quark:;52524716]You have [i]absolutely no idea[/i] how sad I am that I can't play this on my PC D':[/QUOTE]
Why's that? If its related to Vulkan support, [URL="https://www.khronos.org/blog/khronos-announces-the-vulkan-portability-initiative"]Khronos has some good news as of this morning[/URL] (tldr, new working group to create a "portable" Vulkan subset for all 3d-capable hardware)
I'm surprised Garry hasn't offered to hire you yet, tbh.
He'd be foolish not to, you're doing some really great work.
Someone requested a bone retargeting feature (Mapping a skeleton to a different (but similar) skeleton), so that's what I'm working on right now. So far I had, uh.. limited success.
[T]http://sciolyte.com/sharex/2017-07-31_21-38-25.gif[/T] [T]http://sciolyte.com/sharex/2017-07-31_22-02-48.gif[/T] [T]http://sciolyte.com/sharex/2017-07-31_22-06-06.gif[/T]
[sp]That's supposed to be the zombie idle animation[/sp]
[QUOTE=LoneWolf_Recon;52524207]How do you implement your gravity? Sphere's of influence to dictate where the player lands? Or actual gravity n-body physics? (In regard to the Surf video)[/QUOTE]
It's just a bunch of trigger entities placed at the end of the surf platforms, which change the activator's gravity direction.
[QUOTE=Quark:;52524716]You have [i]absolutely no idea[/i] how sad I am that I can't play this on my PC D':[/QUOTE]
Why, what's not working? What's your GPU?
[QUOTE=roachdaripper;52525321]So you could theoretically also remake Portal in Pragma?[/QUOTE]
Well, portal doesn't even do that. If you enter a portal in portal, you keep the same orientation as before.
I was thinking about implementing proper portals though, only thing missing would be the physics, no clue how difficult that would be though. (Gonna have to experiment.)
[QUOTE=paindoc;52525429]Why's that? If its related to Vulkan support, [URL="https://www.khronos.org/blog/khronos-announces-the-vulkan-portability-initiative"]Khronos has some good news as of this morning[/URL] (tldr, new working group to create a "portable" Vulkan subset for all 3d-capable hardware)[/QUOTE]
This could be amazing if it's going to run on the same Vulkan API!
[QUOTE=Silverlan;52526249]
This could be amazing if it's going to run on the same Vulkan API![/QUOTE]
The good news is that it looks like Khronos is rather determined to not spawn another OpenGL ES-type platform, and I certainly hope thats how it stays. Its a really neat concept - a mapping that looks like Vulkan from the front-end, but hooks into the best graphics API for the platform in question. I mean, it all sounds pretty great thus far.
Mind if I ask a few technical questions out of curiosity? I'd just be interested to hear how you approached certain problems (or would approach), if you've got the time to spare. Cool if you don't though. There's some really wild stuff you do with rendering that I'd love to understand a bit more and implement in my own project, especially since I haven't even seen much of it in professional projects. Let alone open source projects using Vulkan.
[editline]edited[/editline]
should probably take that to the other thread, though.
wow. this is like the perfect mix of meta mod from sven coop and garry's mod. really impressive work, silverlan.
Question, does this support Ambient Occlusion or the usage of Ambient Occlusion maps? The same for Roughness maps?
[QUOTE=paindoc;52526565]
Mind if I ask a few technical questions out of curiosity? I'd just be interested to hear how you approached certain problems (or would approach), if you've got the time to spare. Cool if you don't though. There's some really wild stuff you do with rendering that I'd love to understand a bit more and implement in my own project, especially since I haven't even seen much of it in professional projects. Let alone open source projects using Vulkan.[/QUOTE]
Sure, ask away! Preferably in the other thread though, as you've said.
[QUOTE=MenteR;52527342]wow. this is like the perfect mix of meta mod from sven coop and garry's mod. really impressive work, silverlan.[/QUOTE]
Thanks!
[QUOTE=E3245;52527612]Question, does this support Ambient Occlusion or the usage of Ambient Occlusion maps? The same for Roughness maps?[/QUOTE]
Not yet, but if you can provide me with an example model which uses these, I can implement it.
[QUOTE=Silverlan;52528355]Not yet, but if you can provide me with an example model which uses these, I can implement it.[/QUOTE]
Unfortunely, I don't have a Source ready model that uses AO or Roughness maps, just a bunch of raw models from another game.
[QUOTE=E3245;52529469]Unfortunely, I don't have a Source ready model that uses AO or Roughness maps, just a bunch of raw models from another game.[/QUOTE]
That's fine, I just need to be able to open them in 3ds max. [URL=mailto:florian.weischer@gmail.com]Send them to me[/URL], and I'll try to get around to it in the next few days.
this is incredible, ill be keeping a close eye on this!!
I still keep getting questions about map size, so I decided to record a video.
[video]https://youtu.be/Q5g53fpQ_RI[/video]
[sp]That's 24 full-sized gm_flatgrass maps next to each other (no portals involved). 1 gm_flatgrass takes up almost the entire available space in hammer.[/sp]
Anyway, I've reworked some parts of the networking library recently, which improves networking performance and fixes a bunch of networking bugs. Other than that I've mostly been working on bug-fixes, but I'll try to get back to working on the vehicle system again soon.
[QUOTE=Silverlan;52586388]I still keep getting questions about map size, so I decided to record a video.
[video]https://youtu.be/Q5g53fpQ_RI[/video]
[sp]That's 24 full-sized gm_flatgrass maps next to each other (no portals involved). 1 gm_flatgrass takes up almost the entire available space in hammer.[/sp]
Anyway, I've reworked some parts of the networking library recently, which improves networking performance and fixes a bunch of networking bugs. Other than that I've mostly been working on bug-fixes, but I'll try to get back to working on the vehicle system again soon.[/QUOTE]
I've been following your work on this engine for some time. It really seems like it will greatly expand the possibilities for mappers, scripters and builders who are used to the extremely limiting constraints of the source engine.
There's only a few suggestions I can come up with to expand the possibilities further:
-Have you considered making default equivalents of the go-to advanced building tools for Gmod (such as wiremod, advanced duplicator, [url=http://steamcommunity.com/sharedfiles/filedetails/?id=457478322]precision alignment[/url] or [url]easy precision[/url]) within your engine's sandbox gamemode? I know it's probably possible to make them using scripting, but having them available by default and properly integrated within the interface could ensure that they would be more widely used and available.
-A long time ago, back during the Gmod 13 beta, there was a gmod addon based around each player having their own pocket dimension. Essentially props and entities would be invisible to players who were not in the same 'dimension' as the one where the entity was created. This would have allowed server administrators and/or players to create their own sub-servers or sub-gamemodes with their own rules, interactive entities, etc. The only issue was that the visibility of constraints (such as ropes) cannot be toggled for individual players with just lua scripting in gmod. Having the ability to create pocket dimensions on a map where entities within a dimension are only visible to individual players contained within it would create many possibilities for players, scripters and gamemode creators.
-In the past, people have used lua scripting in gmod to [url=http://steamcommunity.com/sharedfiles/filedetails/?id=420325009&searchtext=mesh]create dynamic meshes[/url] and [url=https://facepunch.com/showthread.php?t=1272317]procedually generated terrain[/url]. However, their use has always been very limited due to the technical limitations of the source engine. Having an easier and more efficient way to implement these features may expand the potential for using them in regular play.
[QUOTE=Silverlan;52586388]I still keep getting questions about map size, so I decided to record a video.
[video]https://youtu.be/Q5g53fpQ_RI[/video]
[sp]That's 24 full-sized gm_flatgrass maps next to each other (no portals involved). 1 gm_flatgrass takes up almost the entire available space in hammer.[/sp]
Anyway, I've reworked some parts of the networking library recently, which improves networking performance and fixes a bunch of networking bugs. Other than that I've mostly been working on bug-fixes, but I'll try to get back to working on the vehicle system again soon.[/QUOTE]
Very nice.
About the skyboxes again; is it possible to have more dynamic skyboxes that aren't just a flat image? That is, can the skybox have terrain that gets closer, or further away, as the player gets closer or further away?
I'm not quite sure what I should focus primarily on next, so I've created a poll: [url]http://www.strawpoll.me/13732785[/url]
The "Experimental" stuff are things that I don't know whether they'll work out or not, I'll just have to try around for a bit.
Other ideas are welcome as well!
[QUOTE=Zyler;52586489]
-Have you considered making default equivalents of the go-to advanced building tools for Gmod (such as wiremod, advanced duplicator, [url=http://steamcommunity.com/sharedfiles/filedetails/?id=457478322]precision alignment[/url] or [url]easy precision[/url]) within your engine's sandbox gamemode? I know it's probably possible to make them using scripting, but having them available by default and properly integrated within the interface could ensure that they would be more widely used and available.[/QUOTE]
I've considered it (Never used wiremod though), depends mostly on whether people actually want that or not.
[QUOTE=Zyler;52586489]-A long time ago, back during the Gmod 13 beta, there was a gmod addon based around each player having their own pocket dimension. Essentially props and entities would be invisible to players who were not in the same 'dimension' as the one where the entity was created. This would have allowed server administrators and/or players to create their own sub-servers or sub-gamemodes with their own rules, interactive entities, etc. The only issue was that the visibility of constraints (such as ropes) cannot be toggled for individual players with just lua scripting in gmod. Having the ability to create pocket dimensions on a map where entities within a dimension are only visible to individual players contained within it would create many possibilities for players, scripters and gamemode creators.[/QUOTE]
Not sure how useful that would actually be, especially with the larger map sizes, but I've added it to the poll.
[QUOTE=Zyler;52586489]-In the past, people have used lua scripting in gmod to [url=http://steamcommunity.com/sharedfiles/filedetails/?id=420325009&searchtext=mesh]create dynamic meshes[/url] and [url=https://facepunch.com/showthread.php?t=1272317]procedually generated terrain[/url]. However, their use has always been very limited due to the technical limitations of the source engine. Having an easier and more efficient way to implement these features may expand the potential for using them in regular play.[/QUOTE]
I try to keep everything as dynamic as possible in pragma, including stuff like that.
Anything mesh-wise is handled through a model, and you have full access to that:
• [URL=https://wiki.pragma-engine.com/index.php?title=Model]Model[/URL]
• [URL=https://wiki.pragma-engine.com/index.php?title=ModelSubMesh]ModelSubMesh[/URL]
• [URL=https://wiki.pragma-engine.com/index.php?title=CollisionMesh]CollisionMesh[/URL]
You can create custom geometry (animations as well) fairly easily if you know what you're doing. Even the world is technically just a model (at least the static world geometry).
[CODE]
local ent = ents.get_world()
local mdl = ent:GetModel()
mdl:Save("world_model.wmd")
-- Spawn static world geometry a second timer, except smaller
local ent2 = ents.create("prop_static")
ent2:SetModel("world_model.wmd")
ent2:SetScale(0.1)
ent2:Spawn()
[/CODE]
The surf-spiral I used in one of the surf-videos was actually created through a Lua-script as well (Because I couldn't be bothered to figure out how to do that in hammer...):
[T]http://sciolyte.com/sharex/chrome_2017-08-18_13-20-11.png[/T]
[QUOTE=FlandersNed;52586570]
About the skyboxes again; is it possible to have more dynamic skyboxes that aren't just a flat image? That is, can the skybox have terrain that gets closer, or further away, as the player gets closer or further away?[/QUOTE]
You could just create a very large displacement outside of the skybox bounds, that should do the trick. I'm planning on adding dynamic effects such as clouds, a dynamic sun, dynamic weather, etc at some point, but it's not a priority.
This shit looks amazing, please keep working on it.
Dimensions combined with multiple map loading could be very powerful.
I can already see a system where players could take part in an instanced quest, which then loads a small map, places npcs and other quest objects, as well as the player, within their own "dimension" so that multiple players would be able to play the same quest without interfering.
stop it silverian you mad man
Not that it's entirely realistic, but imagine proper god damn spacebuild on a map that's 24 fucking flatgrasses big. That just makes me drool.
Now, my math skills aren't exactly top tier, but after doing some mathamagic that basically means you can go [DEL]5km[/DEL] (woops my math skills just died, if someone better could fill in the real count that'd be great) ish in any (non-diagonal) direction right?
[QUOTE=Silverlan;52586777]
You could just create a very large displacement outside of the skybox bounds, that should do the trick. [/QUOTE]
What about depth buffer issues at that scale? Unless you're doing something like a [URL="http://outerra.blogspot.com/2012/11/maximizing-depth-buffer-range-and.html"]logarithmic depth buffer[/URL].
Sorry, you need to Log In to post a reply to this thread.