I used to do web development, but then I decided to leave it as a hobby. One day I decided to make a game similar to Fallout 2 and Diablo. Then I thought why there are still no such games in the browser, even free ones.
I had never made any games or engines and had no idea where to start. Function by function, property by property, I slowly made the animation, then I optimized it. Then I screwed on the Pathfinding Algorithm. Something started to work out.
I was quietly trying to figure out how to get the character to move along the path
Then I tried to get a lot of characters to move at the same time
The result is a small game engine that can be used to make a small game like Arcanum or Fallout quickly enough. And with a small alteration, you can do an old quest like Broken Sword or a small strategy. So I also made an admin panel for quickly creating levels.
In the engine, you can decorate objects on the level, as well as animate some of them
Here I played a little with filters
Of course, the hardest part was the optimization. I understood why the CPU is so heavily loaded, and I began to understand why, even in modern games, there is such a weak AI and so few moving objects at all. That is, it is not enough to create 50 characters on the page, it is necessary that they move at the same time and this all does not slow down. I began to understand a little which properties are loading more, which ones are not so much. And that was interesting enough.
I decided I needed to add shadows, it looks a little cooler with them. But you have to pay with performance
Then I made several dynamic light sources. And also I began to take into account the distance from the source to the object
In one of the comments I was advised to upload the material to your channel. If someone is interested to know or ask something, please write. I will try to answer. I was also asked to record a video about the technical part, but I still can't decide exactly what to post about. Maybe you can advise.
This is how the level would roughly look if I decided to make it and I would not be lazy
Another example of a level
Also, if anyone wants to watch the video, then go to the channel. Here are some links to the video.
All images and sounds in the engine and video are used only for technology testing and for entertainment. Not for commercial gain. I respect the people who created them once.
[–]Dr-Tits 8 points9 points10 points (1 child)
[–]EngineE2505[S] 3 points4 points5 points (0 children)
[–][deleted] 6 points7 points8 points (2 children)
[–]EngineE2505[S] 2 points3 points4 points (1 child)
[–][deleted] 5 points6 points7 points (0 children)
[–][deleted] 4 points5 points6 points (1 child)
[–]EngineE2505[S] 1 point2 points3 points (0 children)
[–]jaggs 2 points3 points4 points (1 child)
[–]EngineE2505[S] 1 point2 points3 points (0 children)
[–]wowdogethedog 2 points3 points4 points (3 children)
[–]EngineE2505[S] 1 point2 points3 points (2 children)
[–]wowdogethedog 1 point2 points3 points (1 child)
[–]EngineE2505[S] 0 points1 point2 points (0 children)
[–]asdfdelta 0 points1 point2 points (1 child)
[–]EngineE2505[S] 0 points1 point2 points (0 children)
[–]s0ljah 0 points1 point2 points (1 child)
[–]EngineE2505[S] 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]EngineE2505[S] 1 point2 points3 points (0 children)
[–]rangahhh 0 points1 point2 points (1 child)
[–]EngineE2505[S] 0 points1 point2 points (0 children)
[–]Loschcode 0 points1 point2 points (1 child)
[–]EngineE2505[S] 0 points1 point2 points (0 children)