Jump to content
OGXbox.com

Meerjel01

Members
  • Posts

    150
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by Meerjel01

  1. 6 minutes ago, PRince404 said:

    Meerjel, What do you think of Renderware? Wouldn't it be better to just use an existing Engine that was catered for that specific generation?

    https://archive.org/details/renderwaregraphics3.7sdkandstudio2.01

    https://github.com/Smooth-E/install-renderware

    I know you're enjoying making one from scratch but I think you can should make that engine for modern system rather than for an old 6 Gen system.

    I could use Renderware but I've done a lot of progress on my engine already. I don't know if it'll be a waste if I quit with it. But on other hand I can use it for my Series S games since Unity is dying.

    So Renderware works as it should now? Then I can use that.

  2. Hello. The Grendel Engine (In A Creation) has had a lot of development done with the first NPC programmed in. Now it should follow a path.

    I'm currently stuck in thoughts about my engine's pathfinding which is gonna be an A* system. My plan is to use a connection system for optimization but are stuck on how to implement it. The nodes are scattered around the level and are connected via links to visible and nearby nodes and it creates a path for the NPC to follow from the nearest node (From the NPC) to the point that is nearest the end node. Then when close enough the NPC moves straight to the point (Instead of the end node's own position). This tutorial gave me some insight on it but I need to convert it to use D3DXVECTOR3 coordinates instead.

    Anyone has anything to say to help me here? It's needed for now.

     

    Meerjel01

    • Like 1
  3. My thoughts was that I would tell people to wait with the pirating until it's no longer payable and hope people would respect it or try make it a law and call free copies of the game stealing.

    An older idea was to put up a high enough donation pool to release the game and still get payed for making it.

    I could release it for free but I don't know if I'll get rewarded enough for it.

  4. The game, In A Creation, is still in my head and will continue development even if my Xbox Series S games are of higher priority.

    image.thumb.png.56736f9c388f04b6e4972abcb38352d0.png

     

    Currently in question how to implement the A* system into the engine in an optimized way (Tho I still have an idea for how) and are about to add my first physics object into the game to check if it'll lag.

    I shouldn't use this topic anymore since it was a question if homebrew games can sell originally. But I'll reveal as little as possible anyway!

    • Like 1
  5. From my character collider code. Take a newDirection vector variable and use this for your triangles. (AABB character vs world triangle collision)

    D3DXVECTOR3 TriangleCollision(CTri triangle, D3DXVECTOR3 dir, D3DXVECTOR3 lastPos, D3DXVECTOR3 currentPos) {
    	D3DXVECTOR3 vNorm = GetNormal(triangle);
    	colliding = false;
    
    	triIsGround = false;
    	triIsCeiling = false;
    	triIsWall = false;
    
    	if(CPyhsics::TriangleIntersectAABB(boundingBox, triangle)) {
    	
    		colliding = true;
    
    		triIsGround = CPyhsics::GetGrounded(vNorm, D3DXVECTOR3(0, -1, 0), 0.5);
    		triIsCeiling = CPyhsics::GetGrounded(vNorm, D3DXVECTOR3(0, 1, 0), 0.5);
    		triIsWall = !triIsGround && !triIsCeiling;
    		
    		if(triIsGround)
    			grounded = true;
    
    		D3DXVECTOR3 tempV = NegateVector(vNorm);
    
    		tempV *= D3DXVec3Length(&MultiplyVector(dir, vNorm));
    		D3DXVECTOR3 wallDir = dir - tempV;
    
    		D3DXVECTOR3 closestPtn = CPyhsics::GetClosestPointOnTriangle(currentPos, triangle);
    
    		if(currentPos.y > closestPtn.y)
    			return dir;
    
    		D3DXVECTOR3 newPos = lastPos + wallDir;
    		
    		D3DXVECTOR3 newDir = newPos - lastPos;
    
    		return newDir;
    	}
    	return dir;
    }

    Call it without using + or - btw.

    • Like 1
  6. Know triangle collision? No? Here then!

    static bool AABBTriangleSAT (D3DXVECTOR3 testAxis, Caabb box, D3DXVECTOR3 v0, D3DXVECTOR3 v1, D3DXVECTOR3 v2) {
    	float p0, p1, p2;
    	p0 = D3DXVec3Dot(&v0, &testAxis);
    	p1 = D3DXVec3Dot(&v1, &testAxis);
    	p2 = D3DXVec3Dot(&v2, &testAxis);
    
    
    	float r = box.extents.x * abs(D3DXVec3Dot(&u0, &testAxis)) +
    		box.extents.y * abs(D3DXVec3Dot(&u1, &testAxis)) +
    		box.extents.z * abs(D3DXVec3Dot(&u2, &testAxis));
    
    	return max(-largest(p0, p1, p2), smallest(p0, p1, p2)) > r;
    }
    static bool TriangleIntersectAABB(Caabb box, CTri triangle) {
    	D3DXVECTOR3 v0 = triangle.p0;
    	D3DXVECTOR3 v1 = triangle.p1;
    	D3DXVECTOR3 v2 = triangle.p2;
    
    	v0 -= box.center;
    	v1 -= box.center;
    	v2 -= box.center;
    
    	D3DXVECTOR3 f0 = v1 - v0;
    	D3DXVECTOR3 f1 = v2 - v1;
    	D3DXVECTOR3 f2 = v0 - v2;
    
    		
    
    	D3DXVECTOR3 ax_u0_f0, ax_u0_f1, ax_u0_f2;
    	D3DXVECTOR3 ax_u1_f0, ax_u1_f1, ax_u1_f2;
    	D3DXVECTOR3 ax_u2_f0, ax_u2_f1, ax_u2_f2;
    
    	D3DXVec3Cross(&ax_u0_f0, &u0, &f0);
    	D3DXVec3Cross(&ax_u0_f1, &u0, &f1);
    	D3DXVec3Cross(&ax_u0_f2, &u0, &f2);
    	D3DXVec3Cross(&ax_u1_f0, &u1, &f0);
    	D3DXVec3Cross(&ax_u1_f1, &u1, &f1);
    	D3DXVec3Cross(&ax_u1_f2, &u1, &f2);
    	D3DXVec3Cross(&ax_u2_f0, &u2, &f0);
    	D3DXVec3Cross(&ax_u2_f1, &u2, &f1);
    	D3DXVec3Cross(&ax_u2_f2, &u2, &f2);
    
    	if(AABBTriangleSAT(ax_u0_f0, box, v0, v1, v2) || AABBTriangleSAT(ax_u0_f1, box, v0, v1, v2) || AABBTriangleSAT(ax_u0_f2, box, v0, v1, v2) ||
    			AABBTriangleSAT(ax_u1_f0, box, v0, v1, v2) || AABBTriangleSAT(ax_u1_f1, box, v0, v1, v2) || AABBTriangleSAT(ax_u1_f2, box, v0, v1, v2) ||
    			AABBTriangleSAT(ax_u2_f0, box, v0, v1, v2) || AABBTriangleSAT(ax_u2_f1, box, v0, v1, v2) || AABBTriangleSAT(ax_u2_f2, box, v0, v1, v2)) {
    			return false;
    		}
    
    	D3DXVECTOR3 triNormal = D3DXVECTOR3(0,0,0);
    	D3DXVec3Cross(&triNormal, &f0, &f1);
    
    	if(AABBTriangleSAT(u0, box, v0, v1, v2) || AABBTriangleSAT(u1, box, v0, v1, v2) || AABBTriangleSAT(u2, box, v0, v1, v2)) {
    		return false;
    	}
    
    	if(AABBTriangleSAT(triNormal, box, v0, v1, v2))
    		return false;
    
    
    	return true;
    }

    Collision response soon..

    • Like 1
  7. Well I can't teach by words but I can give code I guess.

    static bool PointIntersectAABB(D3DXVECTOR3 point, Caabb box)
    {
    	return (point.x > box.center.x - box.extents.x && point.x < box.center.x + box.extents.x
    		&& point.y > box.center.y - box.extents.y && point.y < box.center.y + box.extents.y
    		&& point.z > box.center.z - box.extents.z && point.z < box.center.z + box.extents.z);
    }
    static bool AABBIntersectAABB(Caabb box1, Caabb box2)
    {
    	return (abs(box1.center.x - box2.center.x) < (box1.extents.x + box2.extents.x)
    		&& abs(box1.center.y - box2.center.y) < (box1.extents.y + box2.extents.y)
    		&& abs(box1.center.z - box2.center.z) < (box1.extents.z + box2.extents.z));		
    }

    These are from my Physics functions class.

    • Like 1
  8. 4 minutes ago, antonic901 said:

    Maybe you could help me with XBMC rendering in some future. I will need to backport CBaseTexture class from Kodi to backport some features, but I have zero knowledge of DX8 and graphics. I tried blindly copy pasting but result of that was this:

    Screenshot_2023-08-20_23-02-28.png

    Screenshot_2023-08-20_23-02-52.png

    I'm not sure if I can help unless it's simple code. I'm also busy with my own projects so the chance is even smaller. Have you seen the website I've linked to in my XTL tutorial series?

  9. 11 minutes ago, antonic901 said:

    As @Marty said, if you know coding and especially 3D engines, do you a favor and learn Unity/Unreal Engine. Make your money on modern technologies and platforms and then you will have money for living and xbox hobby projects. That's what I'm doing. WEB development for living and XBMC coding in free time.

    It's okay for me even if I get little out of this cause I'm not planning on staying in the game industry my whole career. I want to be a cartoonist artist and make animations and comics. I only do games cause I feel like I need to finish my plans. Sorta getting it over with.

  10. 11 minutes ago, Bowlsnapper said:

    If people are willing to pay for the homebrew, I don't think MS really gives a shit anymore. It would have to be a good game though if you expect to make money! But I've seen that you can code, and your basic physics seemed pretty cool. I say go for it. If nothing else, it would be a fun project and would end up being very rewarding. I'd like to see what you can come up with and I like your enthusiasm! :)

    Yes mah man!

    Though how should I make it so people doesn't share the files around? I feel like I need the earnings for my work and this community is a bit of a "Take and send" group.

  11. I don't know if the array method I posted will work anymore cause of recent discoveries. So let's say that you need to call all texture files for the map from a file by text and put them in an array of DirectX textures. I'm sorry if I disappointed anyone but hopefully it's understandable.

    Still, I've did some progress.

    image.png.3915dec7f6bba1efe36b6d8f8c51ee01.png

    I've figured how to make a sprite system. Haven't tested animation yet but will eventually do that now when I've gotten this engine running properly.

Board Life Status


Board startup date: April 23, 2017 12:45:48
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.