Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1375222 Posts in 65096 Topics- by 57351 Members - Latest Member: SSoft_boi

April 07, 2020, 10:12:21 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)The happy programmer room
Pages: 1 ... 276 277 [278]
Print
Author Topic: The happy programmer room  (Read 550855 times)
Daid
Level 3
***



View Profile
« Reply #5540 on: November 20, 2019, 12:56:04 AM »

Not posting as image link, as this is a 70MB gif:
http://daid.eu/dump/record_193304_19112019.gif

But really happy with this result. It's dynamic voxel based terrain rendering. Right now this shows a single perlin noise. But I want to use this to build planets/asteroids of all kinds of shapes. Rendering and generation are very unoptimized. But it uses a dynamic octree to switch level of detail when you get closer/furter from different parts.
The cubes will be smoothed at some point.

I have been toying with large planet generation for a long time. And before I tried to do a sphere with heightmap, but never got the results I wanted.
Logged

Software engineer by trade. Game development by hobby.
The Tribute Of Legends Devlog Co-op zelda.
EmptyEpsilon Free Co-op multiplayer spaceship simulator
Schrompf
Level 7
**

C++ professional, game dev sparetime


View Profile WWW
« Reply #5541 on: November 20, 2019, 11:32:06 PM »

Very cool technology-wise, but unbearable to look at :-) The black'n'white voxels are probably painted like this for debugging purposes?
Logged

Snake World, multiplayer worm eats stuff and grows DevLog
Daid
Level 3
***



View Profile
« Reply #5542 on: November 21, 2019, 12:22:33 AM »

Very cool technology-wise, but unbearable to look at :-) The black'n'white voxels are probably painted like this for debugging purposes?
Yes. Those are just debug cubes. Eventually they will be properly smoothed, textured and shaded. The only reason I used the cube rendering is because I had some code for that laying around. So I didn't have to write custom mesh generation code yet, and could focus on the dynamic octree generation.
Logged

Software engineer by trade. Game development by hobby.
The Tribute Of Legends Devlog Co-op zelda.
EmptyEpsilon Free Co-op multiplayer spaceship simulator
diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #5543 on: November 26, 2019, 08:07:49 AM »

I needed a quick project to work on so I made a quick greeble implementation.



On the left a sphere with greeble, on the right a cube with greeble, at the lower center the greeble prefab that is being instantiated on every polygon. So for this first step all that it's doing is instantiating that model on every polygon with random height. I intend on having a pool of greeble pieces to choose from randomly. This is the simplest way to do this.

The challenge, for me, was to come up with a way to deform the greeble piece to fit the base polygon. It turned out ok. I used barycentric coordinates of the two triangles forming each quad, so the deformation is pretty wonky but for greeble it's perfect.

I'm quite happy with this! :D
Logged

Prinsessa
Level 10
*****


Ava Skoog


View Profile WWW
« Reply #5544 on: November 26, 2019, 08:08:49 AM »

Nice!
Logged

diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #5545 on: November 26, 2019, 09:22:44 AM »

Thanks :D Now I added 25 different basic greeble parts to choose from. Project successfully started and finished. I am not entirely sure whether this was time well spent yet lol. It was fun, and that matters.

A knot model all greebled up:


I am impressed with current computers' capacity to push triangles. Once everything is instantiated it renders at more than 100 fps, the same fps of an empty scene! Poly count really isn't a useful parameter these days. I imagine using a complex shader on all of these triangles would change the situation though.
Logged

gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #5546 on: November 27, 2019, 08:29:40 AM »

 Hand Any Key define current computer! is it intel gpu? is it geforce 705 ? Radeon R2? Mobile gpu like mali 400 mp not even 2?  Concerned

:cryingpu:  Cry Cry Cry Cry Cry
Logged

J64C
Level 0
**



View Profile
« Reply #5547 on: November 27, 2019, 11:29:22 PM »



Adding (deferred) lights and shadows to my engine and happy not just because it's working but because I fully understand what I'm doing this time and more or less figured it out myself (but still looked at tutorials to confirm I was doing it right). Matrices are truly amazing. WTF

(not done yet, so there are only shadows in a limited area around the character right now)

Very cool seeing people working on their own custom engines in this topic. Way too many awesome projects here to mention.

I actually started creating my own engine a few weeks back, using no external libraries other than the MIcrosoft SDK. I am taking a very modular approach and it is starting to come together nicely.

Will post screenshots when I have something worth looking at.
Logged
diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #5548 on: November 28, 2019, 06:04:53 AM »

Hand Any Key define current computer! is it intel gpu? is it geforce 705 ? Radeon R2? Mobile gpu like mali 400 mp not even 2?  Concerned

:cryingpu:  Cry Cry Cry Cry Cry


Ah yes, it is a decent gaming gpu. A Geforce 9xxx.
Anyway, I thought the startup of this greeble was taking too long because it was instancing a thousand objects but, it turns out, it was my incredibly inefficient MapQuads() function that goes through all triangles of the mesh pairing neighbors to define quads. I tried with a slightly bigger model and it took well over 20 minutes to complete the task. Without using quads the whole system crumbles, so I guess this isn't a very useful greeble system.

Very cool seeing people working on their own custom engines in this topic. Way too many awesome projects here to mention.

I actually started creating my own engine a few weeks back, using no external libraries other than the MIcrosoft SDK. I am taking a very modular approach and it is starting to come together nicely.

Will post screenshots when I have something worth looking at.

I agree! After years using Unity and complaining about it I started looking for replacements like Godot. But seeing Princessa's engine rise from the ground up is amazing! I am seriously considering giving that a shot. I tried that when I was a teenager and Unity was still a long time from existing, a million years ago, and gave up because I was not experienced enough. Maybe I could pull it off now.
Logged

Daid
Level 3
***



View Profile
« Reply #5549 on: November 28, 2019, 07:32:08 AM »

Anyway, I thought the startup of this greeble was taking too long because it was instancing a thousand objects but, it turns out, it was my incredibly inefficient MapQuads() function that goes through all triangles of the mesh pairing neighbors to define quads. I tried with a slightly bigger model and it took well over 20 minutes to complete the task.
Put the vertices in a hashmap and vertex-face relations with that. And you'll have speedy lookup of adjacent faces.
Something like this:
https://github.com/Ultimaker/CuraEngine/blob/master/src/mesh.cpp#L97
Logged

Software engineer by trade. Game development by hobby.
The Tribute Of Legends Devlog Co-op zelda.
EmptyEpsilon Free Co-op multiplayer spaceship simulator
Prinsessa
Level 10
*****


Ava Skoog


View Profile WWW
« Reply #5550 on: November 28, 2019, 07:37:27 AM »

It was fun, and that matters.

Yes!!

A knot model all greebled up:

Kiss

Very cool seeing people working on their own custom engines in this topic. Way too many awesome projects here to mention.

I actually started creating my own engine a few weeks back, using no external libraries other than the MIcrosoft SDK. I am taking a very modular approach and it is starting to come together nicely.

Will post screenshots when I have something worth looking at.

I agree! After years using Unity and complaining about it I started looking for replacements like Godot. But seeing Princessa's engine rise from the ground up is amazing! I am seriously considering giving that a shot. I tried that when I was a teenager and Unity was still a long time from existing, a million years ago, and gave up because I was not experienced enough. Maybe I could pull it off now.

Thanks, you two! It's a lot of fun, but definitely a huge time sink. People are usually right when they say "make games, not engines". But I'm finally there!! I just can't stop myself from engine work because I enjoy it too much.
Logged

diegzumillo
Level 10
*****


This avatar is so old I still have a some hair


View Profile WWW
« Reply #5551 on: November 28, 2019, 09:50:39 AM »

Anyway, I thought the startup of this greeble was taking too long because it was instancing a thousand objects but, it turns out, it was my incredibly inefficient MapQuads() function that goes through all triangles of the mesh pairing neighbors to define quads. I tried with a slightly bigger model and it took well over 20 minutes to complete the task.
Put the vertices in a hashmap and vertex-face relations with that. And you'll have speedy lookup of adjacent faces.
Something like this:
https://github.com/Ultimaker/CuraEngine/blob/master/src/mesh.cpp#L97

I'm not sure what you're suggesting. But my process sounds like it has the same idea. After the table is done everything is fast, it's the generation that takes too long for large meshes.
Logged

J64C
Level 0
**



View Profile
« Reply #5552 on: November 28, 2019, 01:01:35 PM »

Thanks, you two! It's a lot of fun, but definitely a huge time sink. People are usually right when they say "make games, not engines". But I'm finally there!! I just can't stop myself from engine work because I enjoy it too much.

I find I have way more fun coding bite sized chunks of challenging code, than making games as a whole. I think my attention span is ideal for making engines, as long as I document where I was up to, so I can pick it up again many months later. I like achieving seeing something new on the screen and then moving to the next thing challenge.

They say "don't make engines, make games" and I fully agree, if your intention is to release a game. But there are a select few who really love the discovery of how things work at the lowest level. For us, that is the most rewarding part.
Logged
Ordnas
Level 7
**



View Profile WWW
« Reply #5553 on: November 29, 2019, 02:02:16 AM »

I also thought that "make games, not engines" phrase was always true, but now having known more developers in my career I think that depends on the person  Smiley
Logged

Devlogs:

LittleTwig
Level 0
**


View Profile
« Reply #5554 on: November 29, 2019, 03:53:31 AM »

Well, the phrase "make games, not engines" is being misquoted all the time. It originated from https://geometrian.com/programming/tutorials/write-games-not-engines/ , but people just remember the title and not the content. It just says that you should make games alongside your engine, not instead.
Logged
Prinsessa
Level 10
*****


Ava Skoog


View Profile WWW
« Reply #5555 on: November 29, 2019, 04:26:09 AM »

That's definitely how I prefer to do it at least. Gomez I did start on the engine some time before the game this time but that was after learning from my last project that multi-platform cross-compiling is a PAIN and I wanted to solve it as early as possible and not have to spend weeks figuring out how to port stuff later. Now I've got a nice automagic toolchain that only needs small periodic updates as the engine grows!
« Last Edit: November 29, 2019, 04:35:46 AM by Prinsessa » Logged

InfiniteGamesDS
Level 0
**


It's mee!


View Profile WWW
« Reply #5556 on: December 06, 2019, 11:55:40 AM »


I made procedural colorful balls for my procedural playground horror game.. I love colors and 2.5D Lol   Gentleman



Wish you a good day!  Beer!
Logged

Pages: 1 ... 276 277 [278]
Print
Jump to:  

Theme orange-lt created by panic