• 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 long-time 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 G-buffers 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 per-section with stencil masking for no risk of overdraw).
      Now presently I am pondering ways of dealing with in-game camera displays (for an example think of the monitors from Half-Life 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 post-processing 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 G-Buffers.
      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!
    • By GytisDev
      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 path-finding 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 path-finding 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. 
      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.

      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.

      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?
  • Advertisement
  • Advertisement

Cube 2 or Panda3d

Recommended Posts

I am making a first person shooter, and I'm looking for an engine. The only things I require are:

  • The engine is very lightweight
  • Can handle high polygon counts, normalmapping

I first was looking into the Cube 2 engine, based on how fast it runs on my nine year old dell laptop. I don't care too much about the shader, so I would probably use vanilla Cube 2, however, I don't know if there are limitations in Cube 2. There are several forks such as Tesseract that look better, and support HDR, but run slower. Cube 2 itself doesn't seem to have too much documentation, however, the thing that made me want to use it was a game called Red Eclipse. It has much better graphics than the actual Cube 2 game, still runs maxed out on my nine year old laptop, and led me to believe that a game like the one I want to make is possible with Cube 2.

The other engine I'm looking into is Panda3d. It seems to have more documentation, however, I'm not entirely sure how lightweight it is. My philosophy with game engines is that if you have good models, textures, and rigging, you can make a game that looks really good. All of the game engines that I'm talking about have shaders that are good enough, water that looks fine, etc. My only problem is that I know that some older engines (such as goldsrc) have limits on how many objects, polygons, texture resolutions and such. Playing Red Eclipse in cube 2 engine made me assume that cube 2 is capable, but I'm pretty sure that Panda3d might look a little better (its much more active). I don't know, however, how lightweight it is. Could anyone who knows about either engine please weigh in on this subject?

Thanks so much

P.S. If you know any other game engines that suit my needs PLEASE tell me

Edited by fastcall22
Why is your post stuffed inside a table cell?

Share this post

Link to post
Share on other sites

In order to get a better response, you would need to indicate the target specifications for the machine your game will be running on, including graphics card (what pixel shader version does it run).

Also, how many polys are you looking to have on screen at any given time? You also should never render full polys at a distance, and can squeeze more frames by using low poly versions at (x) view distance.

Edited by Rutin

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement