Advertisement

Latest Algorithm Activity

For future reference, here's a paper which presents a DDA to visit each cell touched by a ray:

http://www.cse.yorku.ca/~amana/research/grid.pdf

8,612 views
Advertisement
enigma_dev
December 28, 2021 01:51 PM
DevBlog 10 - Making Dogfight AI Behavior Trees



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…

7,123 views

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…

13,571 views
Unity C# Field of View 2D Shadow Casting Algorithm

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…

4,211 views
Platform spawn system

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…
4,797 views

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…

4,857 views

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.

6,306 views
Intersecting ORCA lines finding non-optimal solution for fast units

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 …

3,926 views
grelf
March 25, 2020 10:47 AM
A simple way to generate limitless terrain in real time, in plain HTML5/JavaScript!

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…

5,920 views

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).

12,761 views
bdubreuil
January 11, 2020 05:48 PM
Image Recognition by Equilateral Encoding
Context

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 : …

6,166 views

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…

44,554 views
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 dynamic …

9,744 views

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), …

14,292 views

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…

5,568 views

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…

4,599 views

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…

5,059 views
Handling seams in lightmap atlas creation

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…

5,742 views
JeremyAlessi
October 31, 2019 05:16 PM

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…

4,124 views
JeremyAlessi
October 31, 2019 05:16 PM
PixelCast 9, Untitled Goose Game, Mode 7, and a Memory Leak!

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 -…

3,262 views
Bloom Artifacts when Scaling Blur pass

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…

4,336 views

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…

10,434 views
Inverse Lerp - a super useful yet often overlooked function

Lerp( a, b, t ) = value
InvLerp( a, b, value ) = t

 

  • lerp returns a blend between a and b, based on a fraction t
  • inverse lerp returns a fraction t, based on a value between a and b

 

 

Use case! ?

Say you want to control audio source volume based on distance

  • at 10…
70,561 views
gametable
October 18, 2019 11:28 PM
Tabletop Dots and Boxes has been released!

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 …

5,762 views
A Labyrinth Generation Algorithm

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 …

12,067 views
Generating World Maps: Fun With Voronoi Graphs (part 2)

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.

Part 1

 

Unexplored 2 is a roguelite action adventure game where the …

27,898 views
Tiles to Curves: Fun With Voronoi Graphs (part 1)

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…

46,950 views
GildedOctopusStudios
June 19, 2019 02:38 PM
Implementing SEO in Video Games

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…

2,961 views
Lyfe
May 31, 2019 07:37 PM
We're back! With Unity, compute shaders and some delicious metaballs

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…

9,351 views
8Observer8
March 25, 2019 10:42 PM
TDD and Simple Game Math

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:

C# and TypeScript are very similar. TS has: properties and g…

4,708 views
8Observer8
February 16, 2019 01:42 PM
Use UML Instead Of Flowcharts

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" -&…
4,580 views
Developing an Isometric Plugin for Unity3D

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.

Prologue

So, it wa…

16,043 views
jb-dev
January 12, 2019 08:32 PM
Weekly Updates #27 - Staring into the 深淵

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 a…

3,929 views
jb-dev
October 18, 2018 07:45 PM
Flexible Room Layout algorithm

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…

7,999 views
Gnollrunner
October 15, 2018 11:10 AM
Mountain Ranges

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 …

6,761 views
Gnollrunner
October 11, 2018 09:28 PM
Bumpy World

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 …

10,689 views
bdubreuil
October 02, 2018 03:35 PM
Navigation Mesh : Wall Collision Avoidance

Subscribe to our subreddit to get all the updates from the team!

Introduction

In 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 were…

12,758 views
bdubreuil
October 02, 2018 03:34 PM
Simple organic and brute force dungeon generation

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.…

16,641 views
bdubreuil
October 02, 2018 03:31 PM
Zone division

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…

9,234 views
Greedy Goblin
October 01, 2018 09:54 PM
Look what I found....

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)...

Read more

4,112 views
Gnollrunner
September 09, 2018 08:32 PM
First entry........

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…

6,320 views
jb-dev
August 04, 2018 06:22 PM
The power of the vector cross product, or how to make a realistic vision field

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…

5,715 views
bdubreuil
August 02, 2018 07:48 PM
Voxel Traversal Algorithm (Ray Casting)

For more information and updates about the game, which is a voxel colony simulation / survival, please subscribe to r/CheesyGames.

World Generation

This 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 there …

27,719 views
jb-dev
July 25, 2018 06:39 PM
BSP trees, or creating a randomly generated level

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…

6,925 views
Advertisement
Advertisement