Pragma - A 3D multiplayer sandbox engine with Lua-integration, based on Vulkan and bullet physics
379 replies, posted
This is a project I've been working on over the course of the past couple of years now. First and foremost I'd like to emphasize: [b][highlight]This is a very early alpha, unless you're a modder, you most likely won't be getting anything out of this at this point![/b][/highlight]
[b]So, what is it?[/b]
It's a 3D multiplayer sandbox engine with extensive modding support. You can compare it to gmod if you want, but there are plenty of differences.
The engine is built from scratch, so I'm not bound to any of the infamous limitations and restrictions of the source engine. There's extensive lua-support and many things are kept similar to the source engine for conveniences sake.
It can be used in single- or multiplayer, maps can be created in hammer, and anyone with a bit of experience with the source engine should feel right at home.
Again, this is an alpha, so for the time being you can expect a lot of crashes, broken features, rendering issues, etc.
I will continue to work on it for a very long time, and I'd like to have some feedback, suggestions, etc. along the ride, which is my main reason for such an early release.
[b]Download[/b]
You can get the autoupdater/launcher from [URL=http://pragma-engine.com/download.php]here[/URL].
It will download all of the engine files into the same directory as the launcher when you check for updates for the first time. For more information, [URL=http://wiki.pragma-engine.com/index.php?title=Installation]check the wiki[/URL].
[b]Note:[/b] While the engine is technically 32bit-compatible, you can only get the x64 binaries for now (Only tested on Windows 10 and Ubuntu 14.04 LTS). If there is demand for the 32bit versions, I will compile them in the future.
[b]Special thanks to:[/b]
• [URL=http://steamcommunity.com/id/EthanTheGreatest101/][highlight]EthanTheGreat[/URL][/highlight] and [URL=http://steamcommunity.com/id/orenji/][highlight]orenii~[/highlight][/URL] for letting me test and debug on their systems
• [URL=http://steamcommunity.com/id/Blueberry_pie/][highlight]Blueberry_pie[/highlight][/URL] for permitting me to use his map, gm_fork, and [URL=http://steamcommunity.com/id/nyxanadu][highlight]Xanadu[/highlight][/URL] for his map, [URL=https://facepunch.com/showthread.php?t=1378406]gm_upstatespeedway[/URL]!
• [URL=http://steamcommunity.com/id/noteris/][highlight]Eris[/highlight][/URL] for feedback and frequently helping me with tests!
[b]Links[/b]
Forums: [url=https://forums.pragma-engine.com]https://forums.pragma-engine.com[/url]
Wiki: [url=http://wiki.pragma-engine.com]http://wiki.pragma-engine.com[/url]
Mods: [url=http://mods.pragma-engine.com]http://mods.pragma-engine.com[/url]
Steam Group: [url=http://steamcommunity.com/groups/pragmaengine]http://steamcommunity.com/groups/pragmaengine[/url]
Youtube: [url=https://www.youtube.com/channel/UCGJJGA9ATcLr4wc5OEHXIyA]https://www.youtube.com/channel/UCGJJGA9ATcLr4wc5OEHXIyA[/url]
Discord: [url=https://discord.gg/Ck5BcCz]https://discord.gg/Ck5BcCz[/URL]
[b]Media[/b]
There isn't a whole lot to show at this point, however [URL=http://steamcommunity.com/id/Blueberry_pie/]Blueberry_pie[/URL] generously gave me permission to use his map, [URL=https://facepunch.com/showthread.php?t=1421543]gm_fork[/URL], which should give you a general idea of the (admittedly simple for now) graphics:
[T]http://sciolyte.com/sharex/sciolyte_2017-01-17_20-49-55.jpg[/T] [URL=http://sciolyte.com/media/images/fork0013.jpg][IMG]http://sciolyte.com/media/images/fork0013_t.jpg[/IMG][/URL] [URL=http://sciolyte.com/media/images/fork0015.jpg][IMG]http://sciolyte.com/media/images/fork0015_t.jpg[/IMG][/URL] [URL=http://sciolyte.com/media/images/fork0016.jpg][IMG]http://sciolyte.com/media/images/fork0016_t.jpg[/IMG][/URL] [URL=http://sciolyte.com/media/images/fork0017.jpg][IMG]http://sciolyte.com/media/images/fork0017_t.jpg[/IMG][/URL] [URL=http://sciolyte.com/media/images/fork0018.jpg][IMG]http://sciolyte.com/media/images/fork0018_t.jpg[/IMG][/URL] [URL=http://sciolyte.com/media/images/fork0019.jpg][IMG]http://sciolyte.com/media/images/fork0019_t.jpg[/IMG][/URL] [URL=http://sciolyte.com/sharex/2015-10-31_22-49-24.png][IMG]http://sciolyte.com/sharex/2015-10-31_22-49-24_t.jpg[/IMG][/URL] [IMG_THUMB]http://sciolyte.com/sharex/weave_2016-02-12_10-54-41.png[/IMG_THUMB] [IMG_THUMB]http://sciolyte.com/sharex/weave%202016-02-14%2015-47-34-950.jpg[/IMG_THUMB] [IMG_THUMB]http://sciolyte.com/sharex/sciolyte_2016-02-17_16-52-30.png[/IMG_THUMB]
[video]https://youtu.be/G1JvibPFnyE[/video]
[video]https://youtu.be/tb7U0xg6j-s[/video]
[video]https://youtu.be/tN5jpJ16d0A[/video]
[video]https://youtu.be/i8Kw70dpa60[/video]
[video]https://youtu.be/I8GUlUoDST4[/video]
[video]https://youtu.be/EIVL_KjZCR0[/video]
[video]https://youtu.be/S4Y5u1a2rmA[/video]
[video]https://youtu.be/KoXhFfZUspQ[/video]
[video]https://youtu.be/5kQ5bxssdO0[/video]
[video]https://youtu.be/SDwbsbDWB_0[/video]
[video]https://youtu.be/TJUJzb1X5_4[/video]
[video]https://youtu.be/mj_yk4lkgow[/video]
[video]https://youtu.be/RuJhmU3qfpw[/video]
[video]https://youtu.be/iE38Dd4zKS0[/video]
[b]FAQ[/b]
[b]Q:[/b] How can I create mods for this?
[b]A:[/b] [URL=http://wiki.pragma-engine.com]The wiki[/URL] should provide you with all the information you need. If not, let me know and I'll add it. If you want to publish your mod, you can upload it on [URL=http://mods.pragma-engine.com]http://mods.pragma-engine.com[/URL].
[b]Q:[/b] The game crashes when I do x / y doesn't work
[b]A:[/b] I can only fix problems if I know what to look for. If your game crashes, it should generate a minidump which you can [URL=mailto:mail@pragma-engine.com]send[/URL] to me via mail, if something doesn't work properly, please give me a detailed report of what you've tried to do/What you did to cause the issue.
[b]Q:[/b] What's the point of this? What's the "end-goal"?
[b]A:[/b] This is a hobby project, there currently is no "end-goal" for this, however I'm always open for suggestions and ideas. I have a long list of features I want to implement in the next couple of months, such as AI, vehicle physics, weapon support, proper multiplayer, etc. The order of what I'll do depends on the demand. My priorities for the near future will be the multiplayer-component and fixing whatever bugs and crashes people experience. It all mostly depends on what people's reaction to this is going to be.
[b]Q:[/b] Is there a console?
[b]A:[/b] Yes, you'll have to add "-console" to the startup parameters. Don't use "`", it's currently broken.
[b]Q:[/b] My game freezes when I try to launch it
[b]A:[/b] If you have Avast installed, try to update or disable it.
I'd like to know what you guys think, and how much general interest there is for something like this.
I'll be regularly checking this thread and the official forums, so feel free to post wherever you want and whatever comes to mind. :)
[QUOTE=Silverlan;48928818] Awesome Jazz [/QUOTE]
Experiencing this first hand meant a lot to me.
I can see a huge potential in this game-engine.
I maintain a decent 60FPS, rendering the entire map.
Performance is also pretty streamline.
Keep up the amazing work,
Silver.....
:rock:
If you baked me a Linux build I wouldn't mind to try it and tell you how well (if) it runs.
I can tell you upfront I won't have the time to try much deeper functionality regarding mapping or anything like that, though, but I am curious to try it out.
[QUOTE=Awesomecaek;48928945]If you baked me a Linux build I wouldn't mind to try it and tell you how well (if) it runs.[/QUOTE]
Thanks for the offer!
I'll try to get around to build it some time this week, chances are I'll have to make some minor code changes. (It's been a while since the last linux build)
I'll let you know once it's ready.
Is the engine based on anything? Or did you completely code it from scratch? If so in what language and what license do you plan to use for it, if any. Also what are the features of this 3d engine?
Anyways quite impressive either way.
I'd appreciate a mac build to test too if that's possible. Also, if you're looking for someone to do webdev stuff so you can focus on the game, [url=http://steamcommunity.com/id/adamdburton]let me know[/url] (i made coderhire, garrysmods.org, gmse).
How can a game not based on the source engine be able to use hammer?
Legit question, don't know much about the subject.
Hammer is using .BSP format aka Binary Space Partitioning.
Here a sample of a partial BSP file:
[CODE]
5642 5350 1400 0000 500b 0500 280b 0000
0000 0000 0000 0000 0c04 0000 1004 0000
0000 0000 0000 0000 5430 0000 8000 0000
0000 0000 0000 0000 901b 0000 340b 0000
0000 0000 0000 0000 340a 0500 1c01 0000
0000 0000 0000 0000 c426 0000 e007 0000
0000 0000 0000 0000 a42e 0000 b001 0000
0000 0000 0000 0000 f434 0000 382a 0000
[/CODE]
Everyone can implement BSP loader using VALVE's official wiki, they have documented this format:
[URL="https://developer.valvesoftware.com/wiki/Source_BSP_File_Format"]Source BSP File Format[/URL]
i was wondering if you were using BSP format because those screenshots look exactly like the source engine
the way you render everything makes it so similar looking. could just be the materials though. looks like a lot of the materials you are using are from the coast area in half-life 2
[QUOTE=StrawberryClock;48929003]How can a game not based on the source engine be able to use hammer?
Legit question, don't know much about the subject.[/QUOTE]
You have to configure Hammer to compile the map using Silverlan's tool (wlc.exe). It's a different engine, but it compiles the map differently from Source.
[url]http://wiki.sciolyte.com/index.php?title=Mapping[/url]
[QUOTE=protox;48928977]Is the engine based on anything? Or did you completely code it from scratch? If so in what language and what license do you plan to use for it, if any. Also what are the features of this 3d engine?[/QUOTE]
As the title suggests, I'm using OpenGL as the rendering API and bullet for the physics. Other than that, OpenAL Soft for sounds and some smaller libraries, that's about it.
It's programmed entirely in C++.
As for features, mostly just what you can find on the [URL=http://wiki.sciolyte.com/index.php?title=Main_Page]wiki[/URL], there's nothing groundbreaking or extraordinary about it as of yet.
[QUOTE=adamdburton;48928984]I'd appreciate a mac build to test too if that's possible. Also, if you're looking for someone to do webdev stuff so you can focus on the game, [url=http://steamcommunity.com/id/adamdburton]let me know[/url] (i made coderhire, garrysmods.org, gmse).[/QUOTE]
Sorry, but I've never developed for mac, and I don't even have access to one, so that's unlikely for the time being.
I might get back to you on that webdev offer however. The [URL=http://mods.sciolyte.com]modding hub[/URL] is already functionally complete, but I'm pretty useless with designs.
[QUOTE=StrawberryClock;48929003]How can a game not based on the source engine be able to use hammer?
Legit question, don't know much about the subject.[/QUOTE]
Thankfully hammer allows the use of custom compilers, so I wrote my own, which can easily be integrated:
[video]https://youtu.be/B__aAseskNo[/video]
(Weave was the old name of the engine)
I basically just parse the .vmf, and translate it into my binary format.
[QUOTE=69105;48929036]i was wondering if you were using BSP format because those screenshots look exactly like the source engine
the way you render everything makes it so similar looking. could just be the materials though. looks like a lot of the materials you are using are from the coast area in half-life 2[/QUOTE]
I'm not using the BSP-format, it looks most likely just so similar because of the textures.
Impressive, I might suss this out tomorrow.
Ok so... Can it currently do anything other than load Source maps?
As soon as the Wiki is updated with more information (shaders n' stuff), I'd love to mess around with mapping for your engine
This is cool as hell. Keep up the good work, I'll be following this.
This looks like a great place for the gmod building community to go after the inevitable destruction of functionality gmod's likely to bring if I'm reading this right
[QUOTE=damnatus;48931270]Ok so... Can it currently do anything other than load Source maps?[/QUOTE]
As I've said, unless you're a modder, not really.
As a modder it's already possible to create your own maps, entities, gamemodes, shaders, models, etc.
I'm working on it every day, so new features will be added continuously.
[QUOTE=Snickerdoodle;48932410]As soon as the Wiki is updated with more information (shaders n' stuff), I'd love to mess around with mapping for your engine[/QUOTE]
Just let me know what you'd like to know specifically, and I'll add it asap.
Also, many thanks to [URL=https://forums.sciolyte.com/memberlist.php?mode=viewprofile&u=62]Gedo789[/URL] for providing french translations!
Would I write a WMI file the same way I'd write a material for Valve textures?
[QUOTE=Snickerdoodle;48936075]Would I write a WMI file the same way I'd write a material for Valve textures?[/QUOTE]
The concept is the same, however the format is a bit different. For most textures you can just use:
[CODE]
"textured" // The shader to use
{
$texture diffusemap "concrete/forest_road001"
$texture normalmap "concrete/forest_road001_n"
}
[/CODE]
(The format is the same for all script-files: sound-scripts, dsp-scripts, physical materials, etc.)
Then just save it as a ".wmi" in the same way you would save a ".vmt". The actual textures have to be either in the .dds- or .png-format.
PNG should only be used for textures with very detailed transparency (e.g. for particle effects), for everything else, use .dds. There are .dds-plugins available for [URL=https://code.google.com/p/gimp-dds/]Gimp[/URL] and [URL=https://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop]Photoshop[/URL].
As for the compression, just use DXT1 for textures without any transparency, DXT3 for textures with simple transparency (Each pixel either fully transparent or fully opaque), DXT5 for smooth transparency. Also make sure to check "Generate Mipmaps" if that option is available.
"textured" is the default shader for models and world brushes. You can define your own, but that requires some knowledge of OpenGL and GLSL.
For displacements with blend textures, use the "displacement" shader and use "diffusemap" for texture 1 and "diffusemap2" for texture 2. Technically you can blend between 3 textures, but hammer only allows for 2.
If you want to use a texture for a particle effect, you'll have to use the "particle" shader instead, which also allows animated textures. You can read more about it on the [URL=http://wiki.sciolyte.com/index.php?title=Materials]wiki[/URL].
So theoretically, how well would this handle gmod-style building?
since you're not using pig disgusting BSP does that mean the game can support fuckhuge maps?
[QUOTE=BLOODGA$M;48950125]since you're not using pig disgusting BSP does that mean the game can support fuckhuge maps?[/QUOTE]
That would be awesome to know.
I can confirm fuckhuge maps are supported. And work fine.
[t]http://facepunch.gedo789.fr.nf/img/fp_sciolyte_huge1.png[/t]
[t]http://facepunch.gedo789.fr.nf/img/fp_sciolyte_huge2.png[/t]
[t]http://facepunch.gedo789.fr.nf/img/fp_sciolyte_huge3.png[/t]
Size:3276800x3276800
(3.276.800 = 2.457.600' ≈ 62,42Km)
Map for who want test it:[URL="http://facepunch.gedo789.fr.nf/downloads/zen_biggest.wld"]zen_biggest.wld[/URL]
Really hope this gets the attention it deserves. Would probably get me into mapping again now that some of the source restrictions that we had to deal with in GMod would go away. Keep it up man!
This is wonderful.
*.ogg support - you are god
Edit: Can't seem to get it running:
[T]http://i.imgur.com/aOnQUvQ.jpg[/T]
Win7, 64Bit. No dice.
[QUOTE=shadowboy303;48958145]Edit: Can't seem to get it running:
Win7, 64Bit. No dice.[/QUOTE]
What is your version of Sciolyte? The latest is v0.1.40
If not, make sure you clicked on "Check for updates" until it get to v0.1.40 then "Validate Files" once.
[T]http://i.imgur.com/iYGdLP1.jpg[/T]
All is well, apparently.
Did you change somethings in your parameters?
Nope, fresh install.
CRC32 your cengine.dll, for me it's 2EEB6A07. Check it.
Sorry, you need to Log In to post a reply to this thread.