🎉 Celebrating 25 Years of GameDev.net! 🎉
Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!
Latest Algorithm Activity
For future reference, here's a paper which presents a DDA to visit each cell touched by a ray:
Using the behavior tree system I created (Previous Update), I have created an AI brain that lets fighter ships dog fight one another.
I've created several sub trees.
there are subtrees to evade.
subtrees to dogfight.
I ran into some performance issues during rapid state transitions in the behavior tree…
Given that progression (deeper underground, more precious ores, accumulated money, presumably also improved equipment, maybe other elements) seems the focus of the game, it should be a good starting point for designing ore distribution. Design objectives for the digging can be written down an…
Hello good people! I've been bashing my head against the wall for the past few days trying to figure out how to fix my code.
Link to code: https://hatebin.com/sewqnebmiy
If you're familiar with shadowcasting, I'm working with only 1 octet as of right now until I get it 100%.
Below photo: The checkere…
There are many ways to do this…I will tell you of one using: smoothstep
- I'm assuming that your screen Y coordinates go from 0 at the top down to MAXY at the bottom of your screen
- Let's assume that at the bottom of your screen i.e. at Y = MAXY you want 10 platforms and at the top i.e. at Y = 0 of your…
Hello.
I am working in a custom terrain renderer for RTS games as I'm a big fan of them and would like to roll my own little project one day.
Right now I'm tackling the issue of terrain LOD and terrain simplification and, to do so, I have been doing some research on how some of my favourite games mig…
EDIT: NVM I just looked at Terraia pics and my post was not helpful
Thanks for the constructive comment! @IADaveMark I agree. I mean, that's implied by the name. Rather than learn how to solve the problem myself, the machine will learn how.
Okay, I've found the problem, and it was written in the original paper, which I missed among all other papers apperantly… I mean, there were tons of papers about it, that for some reason I never thought of “What about the original research?”
Anyway, if anyone else wonders, it seems that, we are not …
This article explains in some detail how I generate terrain in The Forest (www.myforest.uk) as the player moves around. I discovered the techniques around 1980 when making games for a TRS-80 with only 16 kilobytes of memory available. In 2014 I began converting my old Z80 assembler to HTML5/JavaScr…
By the way, whenever you have two real numbers that are the cosine and the sine of a number, you can think of them as a single complex number, z = cos(a)+i*sin(a) == exp(i*a) == polar(1,a). You can then recover the angle by computing a = atan2(imag(z),real(z)) == real(-i*log(z)) == arg(z).
I recently started reading the book Artificial Intelligence for Humans, Volume 1: Fundamental Algorithms by Jeff Heaton. Upon finishing reading the chapter Normalizing Data, I decided to practice what I had just learnt to hopefully finally understand 100 % of a special algorithm : …
Bregma said:The SysV ABI is entirely irrelevant to the first point, as that is part of the C (and C++) language definition!Another part of the C language definition is that the generated code has to behave "as if" it were following the original code. One of the things that means in practice is th…
On 11/8/2019 at 7:40 PM, IADaveMark said:Didn't have time to read all the above responses, but a common use in many types of games is combining pathfinding and steering. With pathfinding, you are figuring your way through a world of fixed objects. Steering helps you avoid dynami…
One reason for avoiding the standard library implementations of things like sin/cos etc is that they're not guaranteed to give the same results independent of platform/compiler etc. If you implement them yourself using only IEEE 754 arithmetic on floats, or use a suitable library (e.g. fdlibm), …
Ok, thank you for your statements. From my research (no I'm not sitting here and waiting for people solve my problems ?) I came across some interesting posts that I want to share to all of you. Not just to not have to bookmark them by my own but someone might come across this post and finds them…
As you already pointed out, persiting anything to disk is time consuming and that is the reason why even AAA games don't do this. Nowdays the player is custom with having automatic progres saving systems and most players starting an old game even don't know about the concept of managing saves by…
The direction will help you figure out when it's hitting and when it's going away from each other.
If it's going away from each other, then you don't need to fix the position otherwise it will stick.
I am not sure that is a good way to HANDLE the collision, I just suggested how you can d…
Hello! I'm in the middle of a procedural texture system (for things like lightmaps, splatoon-style decal painting etc.) and I have an annoying artefact I don't seem to be able to get rid of.
I've been working through this ( https://www.flipcode.com/archives/Lightmap_Storage.shtml ) method of…
In episode 9, Jeremy discusses Untitiled Goose Game and a principle, that making games is like playing Apples-to-Apples with your "silly" friends. Jeremy also dives into Mode 7 again and discusses the significance of this line of code:
z = scale - ( Mathf.Cos( Mathf.Abs( distortMap.height / 2…
In episode 9, Jeremy discusses Untitiled Goose Game and a principle, that making games is like playing Apples-to-Apples with your "silly" friends. Jeremy also dives into Mode 7 again and discusses the significance of this line of code:
z = scale - ( Mathf.Cos( Mathf.Abs( distortMap.height / 2 -…
Hello, brace yourselves for yet another bloom question.
So I've got this bloom stuff going on where:
1. I'm downsampling the brightness of the image 1/2 of the previous with 1/2, 1/4, 1/8, and 1/16
a. Along the way, I'm filtering out stray bright pixels using the following shader…
Let me explain with a figure.
SLERP provides results between qa and qb on the unit sphere at equal distances (red dots).
LERP provides results between qa and qb on a straight line (blue dots), not on the sphere's surface.
NLERP corrigates this by normalizing the results, so that they are on t…
Hey GD.net community! We're excited to have joined and be whipping up a first blog post to announce release of our Dots and Boxes game. A little background about us, gametable.org. We're a non-revenue side project game site created by a few friends honing their game development skills. We don't …
This was for a Dungeon Explorer home project I was working on. When researching labyrinth, maze, or dungeon generation algorithms I found many that would create hub or tree-style dungeons, but none that would 'loop back' on themselves.
I created this algorithm with the intention of designers …
This is a blog about our development of Unexplored 2: The Wayfarer's Legacy. This game features state-of-the-art content generation, generative storytelling, emergent gameplay, adaptive music, and a vibrant art style.
Unexplored 2 is a roguelite action adventure game where the …
This is a blog about our development of Unexplored 2: The Wayfarer's Legacy. This game features state-of-the-art content generation, generative storytelling, emergent gameplay, adaptive music, and a vibrant art style.
The content generator of Unexplored 2 generates tile maps. Typical o…
So we all know Google and other search engines use a variety of optimization techniques. How does that apply to video games? Well the classic example is the shortest path problem. You want your AI whether it be enemies or NPC’s to take the shortest path to the player or some other goal. The way t…
It has been quite some time since we posted something. And it's true, for the most part we didn't really do much. Work on Lyfe just wasn't such a high priority as university for example. But we're back.
And with that we switched engines. To be fair, there wasn't much work we had to replicate. M…
In this Blog Entry I will translate examples from the tutorial Math for Game Developers from C++ to C# and TypeScript. I will add unit tests to the examples.
I use:
- NUnit and NSubstitute for C#
- Jasmine for TypeScript
C# and TypeScript are very similar. TS has: properties and g…
Updated: 2/15/2019
- added "if...else" Double Selection Statement
Visual Studio Enterprise 2015 has build in tool for creating UML Activity Diagrams. We can use this tool for creating flowcharts for describing algorithms.
Creating UML Activity Diagram:
- Select: "File" -> "New" -&…
It's a story on how to write a plugin for Unity Asset Store, take a crack at solving the well-known isometric problems in games, and make a little coffee money from that, and also to understand how expandable Unity editor is. Pictures, code, graphs and thoughts inside.
PrologueSo, it w…
Why hello there, and welcome to this 27th weekly update! I've been cooking up something literally game-changing (sorry for the pun).
Hang on tight and be careful not to fall, and let's get right to it!
Steppin'In my previous post, I've ended on a bit of a teaser. I've talked about …
While making a roguelike game, procedural generation have to be quick and yet intriguing enough for the generated level to be fun to just pick up and play.
There are many ways to generate and laying out procedurally generated rooms. In The Binding Of Isaac, for example, you have many differe…
For this entry we implemented the ubiquitous Ridged Multi-fractal function. It's not so interesting in and of itself, but it does highlight a few features that were included in our voxel engine. First as we mentioned, being a voxel engine, it supports full 3D geometry (caves, overhangs and so …
After a LOT of bug fixes, and some algorithm changes changes, our octree marching prisms algorithm is now in a much better state. We added a completely new way of determine chunk level transitions, but before discussing it we will first talk a bit more about our voxel octree.
Our octree is …
Subscribe to our subreddit to get all the updates from the team!
IntroductionIn our 3D game (miimii1205), we use a dynamically created navigation mesh to navigate onto a procedurally generated terrain. To do so, only the A* and string pulling algorithms wer…
Subscribe to our subreddit to get all the updates from the team!
Last month, I made a pretty simple dungeon generator algorithm. It's an organic brute force algorithm, in the sense that the rooms and corridors aren't carved into a grid and that it stops when an area doesn't fit in the graph.…
Subscribe to our subreddit to get all the updates from the team!
A friend and I are making a rogue-lite retro procedural game. As in many procedural rogue-lite games, it will have rooms to complete but also the notion of zones. The difference between a zone and a room is that a zone is open air whil…
Haha! Take a look what I uncovered the other day while digging through my books....
It even came with a good old floppy disk! (I couldn't even use it if I wanted to now)...
First a brief description of what we're trying to achieve. We're basically trying for a single shard MMO that will accommodate all players on a giant planet, say 2000 km radius. In order to achieve this we will need .... well .... a giant plant. This presents a problem since the classical way to…
In the previous iteration of our game, we decided to use an actual cone as a way to make an AI "see".
This implementation was hazardous, and it quickly became one of the hardest things to implement.
We eventually were able to code it all, but the result…
For more information and updates about the game, which is a voxel colony simulation / survival, please subscribe to r/CheesyGames.
World GenerationThis is a simple world made of chunks of 32³ voxels. The world itself is not static : as you can see on the top of the image, chunks only exist if ther…
So the game I'm working on is going to use rooms that are connected to each other by little holes, creating something somehow similar to "Binding of Isaac", but with organic room disposition rather than rooms placed on a grid with specific dimensions.
To do this, I needed to search for a goo…