
Advertisement

Popular Tags

Popular Now

Advertisement

Similar Content

By Kai Keeper
I finished this game a while ago, now I'm trying to make an introduction video before I put it on Steam, looking for feedback.
I have already got some feedback from other people, and this is what they felt or some of the things I think the video doesn't do a good job: 1. I don't understand the core concept of the game. I think another video that explains the core concept of this game would be better.
2. I feel that the video was too long, it showed way too many features.
If you feel the same way, please let me know. If you have any other suggestions/feedback please don't hold back.

By fgp069
Hi there, this is my first time posting, but have been a longtime lurker in this community. I am currently developing a 3D game engine using a deferred renderer and OpenGL.
I have successfully implemented recursive portals (and mirrors) in my engine utilizing the stencil buffer to mask out regions of the screen. This solution is very favorable as I am able to have dozens of separate views drawn at once without needing to worry about requiring multiple Gbuffers for each individual (sub)view. I also benefit with being able to perform post processing effects over all views, only needing to apply them over what is visible (one pass persection with stencil masking for no risk of overdraw).
Now presently I am pondering ways of dealing with ingame camera displays (for an example think of the monitors from HalfLife 2). In the past I've handled these by rendering from the camera's perspective onto separate render target, and then in the final shading pass applying it as a texture. However I was greatly disappointed with the performance and the inability to combine with postprocessing effects (or at least the way I do presently with portals). Another concern being that I wish to have scenes containing several unique camera screens at once (such as a security CCTV room), without needing to worry about the associated vram usage of having several GBuffers.
I wanted to ask more experienced members of this community if it would be possible to handle them in a similar fashion as I do with portals, but with the difference being for them to be transformed so they take on the appearance of a flat 2D surface. Would anybody with a more comprehensive understanding of matrix maths be able to tell me if this idea is feasible or not, and if so could come up with a possible solution?
I hope all this makes enough sense. Any possible insight would be greatly appreciated!
Thanks!

By GytisDev
Hello,
me and few friends are developing simple city building game with unity for a school project, think something like Banished but much simpler. I was tasked to create the pathfinding for the game so I mostly followed this tutorial series up to episode 5. Then we created simple working system for cutting trees. The problem is that the pathfinding is working like 90% of the time, then it get stuck randomly then there's clearly a way to the objective (tree). I tried looking for some pattern when it happens but can't find anything. So basically I need any tips for how I should approach this problem.
Use this image to visualize the problem.

By FFA702
I've been working on a small 3D game maker app for a while, but it's now shaping up to be a full fledged (albeit simple) all integrated 3d engine. I think it's promising in the sense that I've built the App I would want to use, and I can see people (mainly beginners) using it for a lot of applications. It has no name yet. I don't plan on making it open source or selling it. I'm just considering setting up a small website with some documentation and a download link.
What kind of license would I join with the tool given that:
I want people to be able to use it freely
I want to be completely free of responsibility
I want to prevent people from removing, let's say (hypothetically, not sure how I'd go about this yet), a small banner advertising my software at startup from the application the software would produce
The tool was developed in visual studio community 2017, using C# and a single external library, openTK
Is there anything else I should think about ? Perhaps when naming it ?
EDIT: Also, what about, let's say, a logo, or a design pattern (Artistically speaking) I would use throughout the program and the documentation to make it easily recognizable. How would I go about protecting that ?
Thanks guys

By Orella
I'm having problems rotating GameObjects in my engine. I'm trying to rotate in 2 ways.
I'm using MathGeoLib to calculate maths in the engine.
First way: Rotates correctly around axis but if I want to rotate back, if I don't do it following the inverse order then rotation doesn't work properly.
e.g:
Rotate X axis 50 degrees, Rotate Y axis 30 degrees > Rotate Y axis 50 degrees, Rotate X axis 30 degrees. Works.
Rotate X axis 50 degrees, Rotate Y axis 30 degrees > Rotate X axis 50 degrees, Rotate Y axis 30 degrees. Doesn't.
Code:
void ComponentTransform::SetRotation(float3 euler_rotation) { float3 diff = euler_rotation  editor_rotation; editor_rotation = euler_rotation; math::Quat mod = math::Quat::FromEulerXYZ(diff.x * DEGTORAD, diff.y * DEGTORAD, diff.z * DEGTORAD); quat_rotation = quat_rotation * mod; UpdateMatrix(); } Second way: Starts rotating good around axis but after rotating some times, then it stops to rotate correctly around axis, but if I rotate it back regardless of the rotation order it works, not like the first way.
Code:
void ComponentTransform::SetRotation(float3 euler_rotation) { editor_rotation = euler_rotation; quat_rotation = math::Quat::FromEulerXYZ(euler_rotation.x * DEGTORAD, euler_rotation.y * DEGTORAD, euler_rotation.z * DEGTORAD); UpdateMatrix(); }
Rest of code:
#define DEGTORAD 0.0174532925199432957f void ComponentTransform::UpdateMatrix() { if (!this>GetGameObject()>IsParent()) { //Get parent transform component ComponentTransform* parent_transform = (ComponentTransform*)this>GetGameObject()>GetParent()>GetComponent(Component::CompTransform); //Create matrix from position, rotation(quaternion) and scale transform_matrix = math::float4x4::FromTRS(position, quat_rotation, scale); //Multiply the object transform by parent transform transform_matrix = parent_transform>transform_matrix * transform_matrix; //If object have childs, call this function in childs objects for (std::list<GameObject*>::iterator it = this>GetGameObject()>childs.begin(); it != this>GetGameObject()>childs.end(); it++) { ComponentTransform* child_transform = (ComponentTransform*)(*it)>GetComponent(Component::CompTransform); child_transform>UpdateMatrix(); } } else { //Create matrix from position, rotation(quaternion) and scale transform_matrix = math::float4x4::FromTRS(position, quat_rotation, scale); //If object have childs, call this function in childs objects for (std::list<GameObject*>::iterator it = this>GetGameObject()>childs.begin(); it != this>GetGameObject()>childs.end(); it++) { ComponentTransform* child_transform = (ComponentTransform*)(*it)>GetComponent(Component::CompTransform); child_transform>UpdateMatrix(); } } } MathGeoLib: Quat MUST_USE_RESULT Quat::FromEulerXYZ(float x, float y, float z) { return (Quat::RotateX(x) * Quat::RotateY(y) * Quat::RotateZ(z)).Normalized(); } Quat MUST_USE_RESULT Quat::RotateX(float angle) { return Quat(float3(1,0,0), angle); } Quat MUST_USE_RESULT Quat::RotateY(float angle) { return Quat(float3(0,1,0), angle); } Quat MUST_USE_RESULT Quat::RotateZ(float angle) { return Quat(float3(0,0,1), angle); } Quat(const float3 &rotationAxis, float rotationAngleRadians) { SetFromAxisAngle(rotationAxis, rotationAngleRadians); } void Quat::SetFromAxisAngle(const float3 &axis, float angle) { assume1(axis.IsNormalized(), axis); assume1(MATH_NS::IsFinite(angle), angle); float sinz, cosz; SinCos(angle*0.5f, sinz, cosz); x = axis.x * sinz; y = axis.y * sinz; z = axis.z * sinz; w = cosz; } Any help?
Thanks.


Advertisement