Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1412429 Posts in 69792 Topics- by 58711 Members - Latest Member: MCHIGM

February 19, 2025, 01:48:03 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsBase Engine
Pages: [1]
Print
Author Topic: Base Engine  (Read 4253 times)
bukajkarovd
Level 0
**


View Profile
« on: August 04, 2024, 01:17:43 AM »

Hello, Smiley

I have been working for about 4 months on my own game engine, created using C++ and OPENGL. My goal is to create a usable game engine for developing my games. I am currently working on the graphics part.

video:



Currently, my "Base Engine" can: create objects, set textures, alternate textures and their colors, transparent objects, fog when the player is far from the object, skybox, dynamic lights, set which objects the lights will affect, render each object in a different FOV . Furthermore, it can easily support 2D images (but it needs significant improvement).

 I'm working on: model loader (I'm writing my own Grin), multithreading and shadows.
Logged
bukajkarovd
Level 0
**


View Profile
« Reply #1 on: August 04, 2024, 09:10:31 AM »

I ran into an interesting problem today...

I have a function in the shader code that calculates the fog. I'm sending parameters for the fog to the function. Well, when I sent 2 uniform floats to the shader and subtracted them at the input of the function, everything worked, but only on NVIDIA graphics cards. The moment I turned on the engine on my laptop (it has an amd radeon card) the engine scene got stuck in a white window... After updating all the drivers, nothing changed, as expected Smiley. But the moment I performed the given calculation outside the function and then continued to use the resulting float as normal in that function, everything was fixed.
Logged
ThemsAllTook
Administrator
Level 10
******



View Profile WWW
« Reply #2 on: August 05, 2024, 05:50:42 AM »

I had something similar happen not too long ago, and I tracked it down to a call in one of my shaders to smoothstep(), where the second parameter value was less than or equal to the first one. On some hardware this was fine, but on some it gave completely unexpected results. Turns out this is undefined behavior, and some graphics drivers had an acceptable-looking fallback in that case while others didn't. Gotta read the specs carefully to make sure you're staying within the bounds of defined behavior.

Shader bugs can happen for other reasons too, but that's the first thing I'd check!
Logged

bukajkarovd
Level 0
**


View Profile
« Reply #3 on: August 05, 2024, 09:20:36 AM »

HI,

Today I worked on a small graphics demo (a small, short game) to test the functionality of my engine.
I think I could have it finished by the end of the week  Grin, maybe I'll release a short video of it.
Logged
bukajkarovd
Level 0
**


View Profile
« Reply #4 on: August 06, 2024, 11:05:44 AM »

Hello,

today I worked on the possibilities of using 1 texture with multiple images for multiple objects, this included texture offsets and redoing texture coordinates. So far so good, maybe today or tomorrow I will deliver some documentation Grin.
Logged
bukajkarovd
Level 0
**


View Profile
« Reply #5 on: August 08, 2024, 02:01:40 AM »

Hello,

during the last 4 days i programmed the possibility to use textures from a single file in pixel art style, it's not exactly that, i can't make textures, but at least it works somehow, even if it's not very visually appealing, it's just a new feature that i can to use.

video:





addendum: at the same time, you can really see the fog in practice, I don't know if it works in color, but hey, it's there... Grin Grin Grin

Logged
bukajkarovd
Level 0
**


View Profile
« Reply #6 on: August 23, 2024, 11:38:09 AM »

After 2 weeks hello Grin

I haven't had time to post updates in the last 2 weeks. But I finally have time, I wrote my own text renderer, which allows you to use your own fonts, which it accesses as a texture, so its use is trivial... Furthermore, I finally finished my own model loader, it is not perfect yet, e.g. everything in model has to be in 1 object, but it's the 1st feature of the version, so I don't mind that much.

Finally the video is here:




p.s. the model was originally supposed to be the model of the Central Island from Mafia 1 The City of Lost Heaven, but in the end, due to lack of time, I somehow pitched it and textured it in blender so that there was something to show. Grin
Logged
Schrompf
Level 10
*****

C++ professional, game dev sparetime


View Profile WWW
« Reply #7 on: August 23, 2024, 12:15:59 PM »

It's nice to see you progressing.
Logged

Snake World, multiplayer worm eats stuff and grows DevLog
bukajkarovd
Level 0
**


View Profile
« Reply #8 on: August 24, 2024, 09:59:50 AM »

Hi, Smiley

today I reprogrammed the behavior of my object loader, so I can load even such complex objects.

I downloaded this exact model from LearOpenGL, there is a good tutorial on their website, but it's not very good for me, but this model worked for me. Grin

short vido there:


Logged
bukajkarovd
Level 0
**


View Profile
« Reply #9 on: October 18, 2024, 10:53:09 AM »

so, hi,

I don't really know what to say, but lately I've been programming quite a bit, but at the same time I haven't been able to do everything I want because of school, etc. Anyway, I added: specular mapping, redid the 2d part from the part, optimized the loading of objects and programmed myself my own buttons (as you can see in the menu), I also modified the behavior of the point lights, and I added at least a primitive normal map. I am currently dealing with optimization, multithreading and since I have my own object loader, I am programming my own tangent space, the shadows are still in the solution.

My good friend helped me with some models. Grin
By the way, I quite like the style and atmosphere of that pyramid.
That pyramid is a modified model from my last project: "sandbox_adventure" and a bunch of numbers.

Thank you so much for reading  Smiley

Vido:

Logged
Schrompf
Level 10
*****

C++ professional, game dev sparetime


View Profile WWW
« Reply #10 on: October 18, 2024, 12:16:27 PM »

Oh God, it won't stop turning!

He, nice. Normal Mapping. I salute you for doing your own tech.
Logged

Snake World, multiplayer worm eats stuff and grows DevLog
bukajkarovd
Level 0
**


View Profile
« Reply #11 on: October 29, 2024, 11:51:35 AM »

Hi Grin,

So, lately I've been working on:
I don't use normal textures now because I'm working on calculating tangent space so that the lights aren't broken, I added the ability to load model and texture data during the game so that I don't have to always create a new build during development. I redid the texts and created a basic cutscene system.

Again, a friend helped me with the models.
But at the moment I'm having big problems with finishing the shadows... There are a lot of tutorials on youtube and elsewhere, but none of them work. After hours of brainstorming, I already know how to do it, but it will probably take a long time before I finally manage to implement it.

Of course, video documentation must not be missing Smiley:



Logged
bukajkarovd
Level 0
**


View Profile
« Reply #12 on: December 25, 2024, 11:14:05 AM »

Hi,

I don't really know how to start, but after a long time my game engine is back, yesterday was Christmas Day in the Czech Republic, so I gave myself a break, but after a long time screaming into the monitor and endless hours of looking at the shader code and practically rewriting it, this is what came out.

I added optimized dynamic shadows for directional lights and spot lights, I have the code for shadows for point lights written out, but it's not functional yet. I have tangent space and the principle of animations ready, but that will probably be a long time.

My friend made the model, hopefully it will come in handy soon :D

As always video here:

Logged
bukajkarovd
Level 0
**


View Profile
« Reply #13 on: February 07, 2025, 05:37:09 AM »

hi Smiley

it's been a while since my last proof of my existence. Well, I've been working on the world editor for a long time. It can import objects, textures and projects created from it, for this I use files with the own extension .bewe (base engine world editor), it works like with old computers and floppy disks. I turn it on, insert a file for work and everything is written to it when I save the export buttons. I write everything very simply: number, label, (type): position etc. At the same time, most of the controls are redirected to the keyboard, where the user can influence the objects with shortcuts. The user can also delete objects (not shown in the video) and reset their individual properties (also not shown in the video).

I don't use any GUI library, so the texts and buttons are my work as always. I added to the buttons that they can, but don't have to, use only one texture for everything and they just offset it differently for each state.

As for the addition options, the user can add either models and textures, or triggers, or navigation points for the simplest form of artificial intelligence navigation.

video:




better quality video:




And now the important question, why the editor... I'm currently working on a project with a friend. But more on that later, when it's in a state where we have something to show.  Smiley

Yes and above all, good luck to everyone, strong internet and strong nerves in the new year 2025.
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic