-
Posts
544 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Posts posted by martyj
-
-
@AggorJorn
Just in case it doesn't get resolved- 1
-
So with itch.io, gamejolt, and now Steam Direct, do you feel like game launcher is still useful, or should I focus on integrating itch.io or something?
I think it's useful. A large amount of our community wants to develop games for fun. They don't want to spend $100 to be able to share the game with friends.
Do you think charging a small amount for game launcher is a good idea, in order to increase the number of installs and get your games more exposure?
I don't think people paying for the game would increase exposure. How many of us own games on steam that we paid for, yet haven't even touched.- 1
-
Here is what I found so far:
for (int i = 0; i < this->world->terrain->CountVegetationLayers(); i++) { VegetationLayer* layer = this->world->terrain->GetVegetationLayer(i); std::string modelPath = layer->modelpath; if (modelPath.find("oak") != std::string::npos) { layer->Hide(); layer->SetVisibility(0, 0, false); layer->viewrange = 0; Model* model = Model::Load(modelPath); AABB aabb = world->aabb; std::vector<Mat4> instances; layer->GetInstancesInAABB(aabb, instances); for (int j = 0; j < instances.size(); j++) { Mat4 instance = instances[j]; Entity* copy = model->Copy(true, true); copy->SetMatrix(instance, true); copy->SetScale(instance.GetScale()); } } }
This hides the selected layer, and creates an object as expected. The problem is the scale is off.
layer->viewrange = 0; is the only thing that currently hides a layer.
For performance you can divide the world into different AABB regions. With a separate Entity object, you can assign a script or assign it to an Actor class. -
1 hour ago, Rick said:
See Josh's response a couple posts down.
That would be a good option as well.
The question is, how do we go about performing the action of "convert all instances in one section to regular models, and remove that area from the vegetation grid. "
If we convert all vegetation in an area into a model, could we, for performance reasons, change it back to vegetation? -
@Rick, then how does he apply the decal in the video?
You should be able to modify the placement map. It might require some OpenGL hackery. Update the texture used to show where the vegetation is, then update the GPU.
Have a look at Vegetation.h in the class VegetationLayer.
I think the following properties look promising.
Texture* instancetexture;
Texture* filtermap;
Texture* variationmap;
GLuint buffertexture;Also how does physics work with vegetation?
------------------
Edit:
In regards to physics the Vegetation.h shows this:
//----------------------------------------------------------
//Physics
//----------------------------------------------------------
NewtonMesh* newtonmesh;
NewtonDynamicsShape* instanceshape;
Surface* collisionsurface;
std::vector<int> indices;
std::vector<float> facenormals;
std::vector<float> vertexpositions;std::vector<int> collisionsurfaceindicecounts[32];
std::vector<int> collisionsurfaceindices[32];
std::vector<float> collisionsurfacevertices[32];
std::vector<Mat4> instances[32];
So a player can collide with up to 32 items? -
Well surly in that video Josh is having some sort of "Pick" option, using the Pick to figure out what position to apply a decal at.
I just want to know how I can see what vegetation the user is trying to interact with at a given camera view.
My ultimate goal is to then modify the vegetation layer to remove vegetation at that point, and replace it with an actual temporary entity.
Use the performance of vegetation + ease of implementation along with providing dynamic content. -
How can I select items in the vegetation layer for picking?
See this video for an example. -
I don't think you need to be having a CA file.
The CA file is basically a way to identify that a certificate has been verified through the certificate authority for a domain.
There are two parts to SSL encryption over HTTP.
The first is Domain verification.
The second is encryption.Domain Verification is through the use of Certificate Authorities
Operating systems include a bunch of certificate authority files from like GeoTrust, DigiCert, ect.
When you go to create an SSL certificate you use like GeoTrust or whoevever. They usually have domain verification to prove that you own leadwerks.com. That way not just anybody can create an SSL certificate on your domain.
GeoTrust will then issue you a SSL certificate based off of their CA private key.
Your SSL certificate is in two parts, a public key and a private key. You keep your private key a secret and hand out your public key.
When you visit say https://leadwerks.com, there is an SSL handshake which provides information about your public key, the ca to use, ect. Your browser will then look at the certificate authority to check if that public key really came from say GeoTrust or if your SSL certificate is lying.
This allows the "green" secure icon in the top of your browser stating, yes you are in fact visiting leadwerks.com instead of someone pretending to be. Look up bitsquating if you want to see attacks that can be done if this wasn't around.
The second part of SSL is pretty straight forward. Tom Scott on Youtube has some good videos on RSA encryption----
Now the self signed certificates.
Previously SSL certificates use to be super expensive. Like $50-$1200/year per domain name. Since GeoTrust paid Microsoft and Apple a ton of money to include their CA on their operating systems, they have to make some of it back, by charging you.
If you wanted free SSL certificates in the past you could create your own certificate authority file. Have users install it on their system, then you could verify domain names yourself, without having to pay someone to do it.
Currently if you want a free SSL certificate, LetsEncrypt is the best way to go IMO.
So you shouldn't have to deal with certificate authorities. You can have free SSL certificates.
-
Were you trying to publish your own certificate authority file?
I believe libcurl uses Window's CA list by default unless you wanted to self-sign your own SSL certificates.
-
The current version of Libcurl with Leadwerks on Windows doesn't support SSL.
The error I get from ERRORBUFFER is as follows: Protocol \"https\" not supported or disabled in libcurl -
That worked.
Thanks guys! -
4 minutes ago, jen said:
What's the collision model type? Poly mesh or Tri mesh collision models can't be moved.
The physics mesh is just a cube.
-
My code is basically as follows:
Entity* entity = this->GetEntity(); World* world = World::GetCurrent(); if (entity == NULL) { return; } if (world == NULL) { return; } float rx = Math::Random(2.0) - 1.0; float rz = Math::Random(2.0) - 1.0; Vec3 posit = entity->GetPosition(); posit.x += (5.0*rx); posit.z += (5.0*rz); posit.y = world->terrain->GetElevation(posit.x, posit.z)+.5; if (!entity->GoToPoint(posit, 2.5, 1.5)) { System::Print("Error moving"); return false; }
The Entity::GoToPoint returns False.
My Entity has SetNavigationMode(true); and the World has a valid Navigation Map
The Entity has a Physics Mode of Rigid Body,
Collision Type of Character,
Mass of 70kg
Why would this return false?
-
I think the main reason this hasn't been considered is nobody has produced a game needing anything close to this. 4096 map is really huge in size. Often times developers can split up their game maps into different maps without sacraficing game play.
Filling content for large maps requires a ton of time. -
Run this commend in terminal and I'll help you find the right driver.
lspci | grep Ethernet
You should see something similar to this:
01:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express
Linux drivers are really just kernel modules. They operate in /dev/ file path much like a file would with open, read, write commands, they also support ioctl commands for passing parameters and other use cases. Way less complicated than windows tbh.
- 1
-
Who is your current manufacturer? Drivers should be available on their website. Run lspci to see full ethernet info.
As far as PCI Express cards go, I'd recommend anything in the server space. Enterprise hardware has a better chance at working in Linux than consumer grade.
http://www.ebay.com/sch/i.html?_from=R40&_sacat=0&LH_BIN=1&_dcat=20318&Brand=Dell&_nkw=PCI+Express+ethernet&_sop=15You can change the brand if you want. Something IBM, HP, Dell would all work fine.
-
I assume you're wanting to do something like this?
-
@Shadmar, would you like me to host the files on https://martyj.net for you?
-
I have a bug report on this.
http://www.leadwerks.com/werkspace/topic/15587-enttiysetinput-doesnt-rotate-without-movment/
Original Bug Report
http://www.leadwerks.com/werkspace/topic/15442-setinput/
Here is how I solve it.
if (camMovementZ == 0 && camMovementX == 0) { camMovementZ = 0.001; // Not 0 but not enough to see camMovementX = 0.001; // Not 0 but not enough to see } this->playerModel->SetInput(cameraRotationY, camMovementZ, camMovementX);
-
Has anyone heard anything new about this? I'm hoping to start a greenlight campaign for my game in June/July.
-
@gamecreator
I believe Josh just queries the Steam for who is currently logged in. I don't think Josh is then verifying that the logged in user, is really who Steam says they are.
So anyone could potentially have an app running on the same local port as Steam does, that responds to the same calls, and fakes a logged in user. Without some sort of backend verification of tokens you can't really know if a user is who "Steam" says they are.
-
I guess Josh might be the only one who could answer the question.
Does Steamworks work off of local socket requests to the local computer?
Edit:
I found some info. Apparently after getting a user's CSteamId you can verify its authenticity https://partner.steamgames.com/documentation/auth
@Josh do you do this already? Or is this something I need to implement?
-
So I use leadwerks's Steam library for pulling the user information for who is playing the game.
I'm working on moving the player data from their local hard drive to pulling it down via a REST API. That way I can have high scores, and better persistence of data.
How secure is it to rely on the information coming from steam?
I'd like to eliminate the ability for users to have to register for my game to play it online. But is there a compromise to security for this ease of use? Can we trust that Leadwerks will tell us which Steam account is currently up accurately? How easy would this be to fake?
Thanks,
Marty
-
Just dropping this here:
RewriteEngine on RewriteCond %{SERVER_NAME} =leadwerks.com [OR] RewriteCond %{SERVER_NAME} =www.leadwerks.com RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
Water edge shows black at large distances
in Leadwerks Engine Bug Reports
Posted
When viewing the water edge at a large distance, the edge shows as black.
The camera distance is set as follows:
double y = (worldSize/2) * Math::Tan(this->camera->GetFOV()/2); this->camera->SetPosition(Vec3(0, y, 0));
Map Size is 2048