Can we consider AI-assisted game designing as a part of PCG?
I am currently working on a review paper related to Procedural Content Generation. When I was reading research papers, I came up with AI-assisted game design as a different topic from the PCG. The term PCG refers to using algorithms to create content, either semi-automatically or automatically. AI-assisted game design also aids designers in creating game content such as levels, items, and so on. So, can it also be considered a component of PCG, especially since there is a sub-field of PCG called mixed-initiative/Co-creation?
Please note that I'm a beginner in this field.
https://redd.it/18r6d8n
@proceduralgeneration
I am currently working on a review paper related to Procedural Content Generation. When I was reading research papers, I came up with AI-assisted game design as a different topic from the PCG. The term PCG refers to using algorithms to create content, either semi-automatically or automatically. AI-assisted game design also aids designers in creating game content such as levels, items, and so on. So, can it also be considered a component of PCG, especially since there is a sub-field of PCG called mixed-initiative/Co-creation?
Please note that I'm a beginner in this field.
https://redd.it/18r6d8n
@proceduralgeneration
Reddit
From the proceduralgeneration community on Reddit
Explore this post and more from the proceduralgeneration community
developed an algorithm for a very large starmap that supports aggregations quickly.
https://www.krisztianpinter.name/starmap2
https://redd.it/18veok1
@proceduralgeneration
https://www.krisztianpinter.name/starmap2
https://redd.it/18veok1
@proceduralgeneration
Reddit
From the proceduralgeneration community on Reddit: developed an algorithm for a very large starmap that supports aggregations quickly.
Posted by pint - 9 votes and no comments
How to make Camera Frustum Inside Houdini
https://youtu.be/4Z26y6Yn43o
https://redd.it/18uh5hg
@proceduralgeneration
https://youtu.be/4Z26y6Yn43o
https://redd.it/18uh5hg
@proceduralgeneration
YouTube
How to make Camera Frustum Inside Houdini | Camera Culling | Houdini Tutorial
This Houdini Tutorial is a must-watch! We'll cover everything that how to create a camera frustum.
Hope You Like it.
Like, Share, and Subscribe.
Website - http://www.fxguru.in/
LinkedIn - https://www.linkedin.com/in/malik-831a8827b/
Discord - https://…
Hope You Like it.
Like, Share, and Subscribe.
Website - http://www.fxguru.in/
LinkedIn - https://www.linkedin.com/in/malik-831a8827b/
Discord - https://…
How could you create very abstract and ever-changing terrain?
I've been experimenting with procedurally generated terrain in Roblox, specifically with modifying 3D Perlin noise. While I've managed to create a variety of terrains, from abstract to realistic, I'm facing a challenge.
The issue is that the generated terrain tends to look quite similar across the map due to the inherent characteristics of Perlin noise. I'm on a quest to achieve something more extraordinary – a terrain that becomes increasingly bizarre and otherworldly the further you travel, almost like stepping into another dimension. Something that always looks different and unique.
Is it simply a matter of adding more noise layers, with varying levels of amplitude and frequency, or are there other methods to break away from the Perlin noise predictability and achieve that mind-bending, alien, or and almost inter dimensional effect?
https://redd.it/18tu9y3
@proceduralgeneration
I've been experimenting with procedurally generated terrain in Roblox, specifically with modifying 3D Perlin noise. While I've managed to create a variety of terrains, from abstract to realistic, I'm facing a challenge.
The issue is that the generated terrain tends to look quite similar across the map due to the inherent characteristics of Perlin noise. I'm on a quest to achieve something more extraordinary – a terrain that becomes increasingly bizarre and otherworldly the further you travel, almost like stepping into another dimension. Something that always looks different and unique.
Is it simply a matter of adding more noise layers, with varying levels of amplitude and frequency, or are there other methods to break away from the Perlin noise predictability and achieve that mind-bending, alien, or and almost inter dimensional effect?
https://redd.it/18tu9y3
@proceduralgeneration
Reddit
From the proceduralgeneration community on Reddit
Explore this post and more from the proceduralgeneration community
Around The World, Part 9: Climate - determining Köppen climate classes of procgen worlds (and of Earth)
https://frozenfractal.com/blog/2023/12/29/around-the-world-9-climates/
https://redd.it/18ti5af
@proceduralgeneration
https://frozenfractal.com/blog/2023/12/29/around-the-world-9-climates/
https://redd.it/18ti5af
@proceduralgeneration
Frozenfractal
Around The World, Part 9: Climate
Last time, I described how I’m generating different weather patterns based on the season. That data is already useful for the game, to decide the weather at one particular place and time, but it’s also essential when figuring out the local biome, which is…
This media is not supported in your browser
VIEW IN TELEGRAM
Realistic Ocean Simulation Week 10: Generated normal maps and ocean mesh. Currently, running DFT with 16284 distinct frequencies (Small amount).
https://redd.it/18t48no
@proceduralgeneration
https://redd.it/18t48no
@proceduralgeneration
Houdini | Procedural Tool to Art Direct Your Instances With VEX! (Part 3)
https://youtu.be/yGjSP7CGioM
https://redd.it/18thi5v
@proceduralgeneration
https://youtu.be/yGjSP7CGioM
https://redd.it/18thi5v
@proceduralgeneration
YouTube
Houdini VEX | Procedural Tool to Art Direct Your Instances! (Part 3)
Returning to a previous post, I've taken the initiative to develop an enhanced Toolset that enables efficient Art Directing of Instances, applicable across multiple shots in a production sequence by reusing variations of any caches. My aim was to develop…
Games with a lot of procedural content
Hi! Is any games that generates a lot of content procedurally? Not only map or dungeons. I mean random/procedural NPCs, divines, mythology, lore, quests, races, etc.
I know, Dwarf Fortress and Wizards and Warlords can do some of that.
https://redd.it/18w5h0j
@proceduralgeneration
Hi! Is any games that generates a lot of content procedurally? Not only map or dungeons. I mean random/procedural NPCs, divines, mythology, lore, quests, races, etc.
I know, Dwarf Fortress and Wizards and Warlords can do some of that.
https://redd.it/18w5h0j
@proceduralgeneration
Reddit
From the proceduralgeneration community on Reddit
Explore this post and more from the proceduralgeneration community
O Christmas Tree Synth Version
https://youtube.com/watch?v=Pe7Cda695jE&si=XTX6kUqRu5sZ05md
https://redd.it/18t4mtp
@proceduralgeneration
https://youtube.com/watch?v=Pe7Cda695jE&si=XTX6kUqRu5sZ05md
https://redd.it/18t4mtp
@proceduralgeneration
YouTube
O Christmas Tree Synth Version
One of my favorite Christmas carols, synthesized with my two Moogs, Mother32 and DFAM.
#moog #synth #synthesizer #christmas #carol #mother32 #dfam
#moog #synth #synthesizer #christmas #carol #mother32 #dfam
What algorithm would work best for rigid stepped elevations, while having smooth portions.
Wow, that's a long title! But it basically describes exactly what I'm looking for. I had previously been using fractal noise with octaves in order to create terrain, and this worked very well for things such as large "relatively smooth / flat" areas of land mass.
However I am wondering what algorithm would work best to incorporate rocky formations or ridges on top of these smooth portions. Sort of like a step elevation.
Below are a few pictures which represent what I'm attempting to achieve. Thanks for your time! :)
​
Ridges and a sort of \\"step\\" elevation
Rocky Formations, etc...
https://redd.it/18sljn1
@proceduralgeneration
Wow, that's a long title! But it basically describes exactly what I'm looking for. I had previously been using fractal noise with octaves in order to create terrain, and this worked very well for things such as large "relatively smooth / flat" areas of land mass.
However I am wondering what algorithm would work best to incorporate rocky formations or ridges on top of these smooth portions. Sort of like a step elevation.
Below are a few pictures which represent what I'm attempting to achieve. Thanks for your time! :)
​
Ridges and a sort of \\"step\\" elevation
Rocky Formations, etc...
https://redd.it/18sljn1
@proceduralgeneration
Voxel Game it features produceral world generation!
https://youtu.be/Ur4dUX2YoFg
https://redd.it/18wbd46
@proceduralgeneration
https://youtu.be/Ur4dUX2YoFg
https://redd.it/18wbd46
@proceduralgeneration
YouTube
I'm Releasing my Voxel Game as Early Access!
You can download the voxel game on Patreon! there are 2 posts. one is for the full version and the second is the free access version.
After some feedback, game will be full access for everyone for next release. Cheers!
Patreon: https://patreon.com/_rey
Follow…
After some feedback, game will be full access for everyone for next release. Cheers!
Patreon: https://patreon.com/_rey
Follow…
more voronoi trouble...why are some cell walls not extending to their circumcenter?
if you have seen some of my other posts, you know i am working on developing a voronoi based city using threejs. I am taking a different approach now, utilizing the [delaunator npm package](https://github.com/mapbox/delaunator) to detect circumcenters, and then connect them to form the cell walls.
i have spent all day trying to figure out why some of these walls are not reaching their end points (see image below)
https://preview.redd.it/lhfb5807jy8c1.png?width=1615&format=png&auto=webp&s=f0a5e33b4731558ba6ca69fe4916d3a04cd003e7
here is my script. any ideas what is causing this problem? thank you
import Delaunator from "delaunator";
import * as THREE from "three";
import { _math } from "../_/math";
export const getVertexData = (x: number, y: number) => {
const gridSize = 100; //500?
const roadWidth = 5;
const currentGrid = [Math.floor(x / gridSize), Math.floor(y / gridSize)];
var points = [];
for (let ix = currentGrid[0] - 1; ix <= currentGrid[0] + 1; ix++) {
for (let iy = currentGrid[1] - 1; iy <= currentGrid[1] + 1; iy++) {
var pointX = _math.seed_rand(ix + "X" + iy);
var pointY = _math.seed_rand(ix + "Y" + iy);
var point = new THREE.Vector3(
(ix + pointX) * gridSize,
(iy + pointY) * gridSize,
0
);
points.push(point);
}
}
var currentVertex = new THREE.Vector3(x, y, 0);
const delaunay = Delaunator.from(points.map((point) => [point.x, point.y]));
const circumcenters = [];
for (let i = 0; i < delaunay.triangles.length; i += 3) {
const a = points[delaunay.triangles[i]];
const b = points[delaunay.triangles[i + 1]];
const c = points[delaunay.triangles[i + 2]];
const ad = a.x * a.x + a.y * a.y;
const bd = b.x * b.x + b.y * b.y;
const cd = c.x * c.x + c.y * c.y;
const D = 2 * (a.x * (b.y - c.y) + b.x * (c.y - a.y) + c.x * (a.y - b.y));
const circumcenter = new THREE.Vector3(
(1 / D) * (ad * (b.y - c.y) + bd * (c.y - a.y) + cd * (a.y - b.y)),
(1 / D) * (ad * (c.x - b.x) + bd * (a.x - c.x) + cd * (b.x - a.x)),
0
);
circumcenters.push(circumcenter);
}
const voronoiWalls = [];
for (let i = 0; i < delaunay.halfedges.length; i++) {
const edge = delaunay.halfedges[i];
if (edge !== -1) {
const v1 = circumcenters[Math.floor(i / 3)];
const v2 = circumcenters[Math.floor(edge / 3)];
if (v1 && v2) voronoiWalls.push(new THREE.Line3(v1, v2));
}
}
for (let i = 0; i < voronoiWalls.length; i++) {
var closestPoint = new THREE.Vector3(0, 0, 0);
voronoiWalls[i].closestPointToPoint(currentVertex, true, closestPoint);
if (currentVertex.distanceTo(closestPoint) <= roadWidth) return "road";
}
return "block";
};
Edit: i have confirmed that the circumcenters are in the correct spots. i think this may have something to do with the voronoiWall calculations...having a bit of trouble understanding the delaunator plugin. Here are the docs i've been trying to follow: [https://mapbox.github.io/delaunator/#incoming-edge-index](https://mapbox.github.io/delaunator/#incoming-edge-index)
https://redd.it/18sk7jv
@proceduralgeneration
if you have seen some of my other posts, you know i am working on developing a voronoi based city using threejs. I am taking a different approach now, utilizing the [delaunator npm package](https://github.com/mapbox/delaunator) to detect circumcenters, and then connect them to form the cell walls.
i have spent all day trying to figure out why some of these walls are not reaching their end points (see image below)
https://preview.redd.it/lhfb5807jy8c1.png?width=1615&format=png&auto=webp&s=f0a5e33b4731558ba6ca69fe4916d3a04cd003e7
here is my script. any ideas what is causing this problem? thank you
import Delaunator from "delaunator";
import * as THREE from "three";
import { _math } from "../_/math";
export const getVertexData = (x: number, y: number) => {
const gridSize = 100; //500?
const roadWidth = 5;
const currentGrid = [Math.floor(x / gridSize), Math.floor(y / gridSize)];
var points = [];
for (let ix = currentGrid[0] - 1; ix <= currentGrid[0] + 1; ix++) {
for (let iy = currentGrid[1] - 1; iy <= currentGrid[1] + 1; iy++) {
var pointX = _math.seed_rand(ix + "X" + iy);
var pointY = _math.seed_rand(ix + "Y" + iy);
var point = new THREE.Vector3(
(ix + pointX) * gridSize,
(iy + pointY) * gridSize,
0
);
points.push(point);
}
}
var currentVertex = new THREE.Vector3(x, y, 0);
const delaunay = Delaunator.from(points.map((point) => [point.x, point.y]));
const circumcenters = [];
for (let i = 0; i < delaunay.triangles.length; i += 3) {
const a = points[delaunay.triangles[i]];
const b = points[delaunay.triangles[i + 1]];
const c = points[delaunay.triangles[i + 2]];
const ad = a.x * a.x + a.y * a.y;
const bd = b.x * b.x + b.y * b.y;
const cd = c.x * c.x + c.y * c.y;
const D = 2 * (a.x * (b.y - c.y) + b.x * (c.y - a.y) + c.x * (a.y - b.y));
const circumcenter = new THREE.Vector3(
(1 / D) * (ad * (b.y - c.y) + bd * (c.y - a.y) + cd * (a.y - b.y)),
(1 / D) * (ad * (c.x - b.x) + bd * (a.x - c.x) + cd * (b.x - a.x)),
0
);
circumcenters.push(circumcenter);
}
const voronoiWalls = [];
for (let i = 0; i < delaunay.halfedges.length; i++) {
const edge = delaunay.halfedges[i];
if (edge !== -1) {
const v1 = circumcenters[Math.floor(i / 3)];
const v2 = circumcenters[Math.floor(edge / 3)];
if (v1 && v2) voronoiWalls.push(new THREE.Line3(v1, v2));
}
}
for (let i = 0; i < voronoiWalls.length; i++) {
var closestPoint = new THREE.Vector3(0, 0, 0);
voronoiWalls[i].closestPointToPoint(currentVertex, true, closestPoint);
if (currentVertex.distanceTo(closestPoint) <= roadWidth) return "road";
}
return "block";
};
Edit: i have confirmed that the circumcenters are in the correct spots. i think this may have something to do with the voronoiWall calculations...having a bit of trouble understanding the delaunator plugin. Here are the docs i've been trying to follow: [https://mapbox.github.io/delaunator/#incoming-edge-index](https://mapbox.github.io/delaunator/#incoming-edge-index)
https://redd.it/18sk7jv
@proceduralgeneration
GitHub
GitHub - mapbox/delaunator: An incredibly fast JavaScript library for Delaunay triangulation of 2D points
An incredibly fast JavaScript library for Delaunay triangulation of 2D points - mapbox/delaunator
Nightmare creatures (wip)
https://www.reddit.com/gallery/18whch5
https://redd.it/18whdqo
@proceduralgeneration
https://www.reddit.com/gallery/18whch5
https://redd.it/18whdqo
@proceduralgeneration
I have been working on a procgen dungeon maker and I have no idea what I am doing.
I am not exactly sure what I am doing wrong. Wvwry time I think I am getting close, my logic in the code just goes bonkers. It always overlaps no matter what I do! The rooms always overlap each other. I'm aware this is a learning curve kind of thing. Does anyone have a good tutorial/guide for the coding algorithm needed for procgen to work with room prefabs and specific door locations per room?
https://redd.it/18wnoju
@proceduralgeneration
I am not exactly sure what I am doing wrong. Wvwry time I think I am getting close, my logic in the code just goes bonkers. It always overlaps no matter what I do! The rooms always overlap each other. I'm aware this is a learning curve kind of thing. Does anyone have a good tutorial/guide for the coding algorithm needed for procgen to work with room prefabs and specific door locations per room?
https://redd.it/18wnoju
@proceduralgeneration
Reddit
From the proceduralgeneration community on Reddit
Explore this post and more from the proceduralgeneration community
My Proc-Gen Industrial Pipework Experiments
https://forums.apparance.uk/t/industrial-pipework/158
https://redd.it/18wn8yn
@proceduralgeneration
https://forums.apparance.uk/t/industrial-pipework/158
https://redd.it/18wn8yn
@proceduralgeneration
Apparance Forums
Industrial Pipework
I’d like to share some info on the procedural pipework I’ve been working on. This stems from a desire to start building complicated industrial facilities that a game idea I have will need. I’ll go into some of the details below, and then in another thread…
Around The World, Part 10: Fixing the climate - Making deserts go away and come back again
https://frozenfractal.com/blog/2024/1/2/around-the-world-10-fixing-the-climate/
https://redd.it/18womd1
@proceduralgeneration
https://frozenfractal.com/blog/2024/1/2/around-the-world-10-fixing-the-climate/
https://redd.it/18womd1
@proceduralgeneration
Frozenfractal
Around The World, Part 10: Fixing the climate
The previous post ended with a cliffhanger: how would we get rid of all the arid zones (pink) in the Köppen climate classification? An alternating game of spot-the-difference and whack-a-mole ensues.