Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411489 Posts in 69371 Topics- by 58428 Members - Latest Member: shelton786

April 24, 2024, 04:00:25 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsThe Ascender [August 2018 Revival]
Pages: 1 [2]
Print
Author Topic: The Ascender [August 2018 Revival]  (Read 2496 times)
Permafrost11
Level 0
**


[Sample Text]


View Profile
« Reply #20 on: June 14, 2018, 10:15:39 AM »

Finally some progress!



Bottom and front slope collision have been finished!  Giggle
Implementing collision for other slopes shouldn't be a problem, however wall collsions might be.

There's also a side effect of the collision code where you "leap" off the top of a slope. It's pretty fun actually, I'll probably keep it in the game as long as it isn't too unrealistic.

We'll just have to see how it goes.
Logged

Daywalker
Level 0
**



View Profile
« Reply #21 on: June 14, 2018, 05:14:28 PM »

Looks good
Logged

but a shadow of the past ..
Permafrost11
Level 0
**


[Sample Text]


View Profile
« Reply #22 on: June 15, 2018, 05:57:01 AM »

Just spent the morning tidying up player controls and movement so it's a lot smoother. Not can move strictly up and down on front slopes, but now you can move in all sorts of different directions  Well, hello there!. I now also have collision for back slopes implemented as well. Hopefully I'll finish up slope collisions by tonight and maybe wall collisions by tommorow. Then, I'll be free of having to program collision detection!  Coffee
Logged

Permafrost11
Level 0
**


[Sample Text]


View Profile
« Reply #23 on: June 15, 2018, 01:31:16 PM »

Slope collsions have been finished!!  Grin Grin
Logged

Permafrost11
Level 0
**


[Sample Text]


View Profile
« Reply #24 on: June 18, 2018, 04:23:28 AM »

So...it's been a busy weekend. In fact, most of my weekends are busy weekends, so...sorry for not getting anything done. I still need to work out one last issue with slope collisions and then I'll be able to move on to wall collisions.
Logged

Permafrost11
Level 0
**


[Sample Text]


View Profile
« Reply #25 on: June 18, 2018, 01:48:26 PM »

Aside from some inconsistences I need to fix and some general polish I need to add, collision detection has been finished!
Freaking finally. Not only that, but I also made the world 4x bigger.



And finally, I added some basic anti-aliasing, which helps to smooth out those sharp borders between blocks/chunks.

Hopefully now this devlog can start to get interesting.  Wink
Logged

Permafrost11
Level 0
**


[Sample Text]


View Profile
« Reply #26 on: June 21, 2018, 03:04:48 PM »

Alright, so this project is not dead, JSYK. I've been having to redo the 3D camera to get raycasting to work, and as a result, I need to redo some of the movement and collision detection code.
 Lips Sealed

Don't expect another update from me over the weekend, as I'll be away, but hopefully next week we'll see some more progress.
Logged

Permafrost11
Level 0
**


[Sample Text]


View Profile
« Reply #27 on: June 26, 2018, 01:55:30 PM »

So...I just got finished typing what should have been this blog post when the page decided to refresh itself, causing me to lose all of my precious typing work. Great.

Anyway, with the collision detection rewrite being (mostly) out of the way, I decided to spice up the otherwise quite boring and predictable terrain generation. Originally, the terrain was generated via a 2D simplex noise map with 2 octaves. This had the advantage of being fast, but the disadvantage of being boring. After reading this post from Notch's old blog, I switched the terrain generation to a 3D noise-based system. This was the immediate result:



A basic 3D simplex noise map generates a world of intricate caves as you can see here. I'll likely use this for the underground world's terrain generation. When I tweaked and added this to a flat and uninspiring 2D noisemap generation, I got some interesting results:



Adding another octave to the 3D octave generation results in more "realistic looking" stone structures:




This system has one fatal flaw: I have no idea how to remove the floating structures that are disconnected from the ground. I found that overhangs and interesting structures and mountains are often generated via a 3D noisemap that is carving a 2D noise-generated landscape. Here's an example of that happening with a 1D noise base and a 2D noise map.



The main issue with this is that the carvings that create the overhangs often look jarring and unnatural, however apparently linear interpolation helps to solve this problem. I'm going to be implementing a system where the base is 2D and the carvings are 3D.

Overall, world generation is fun. Smiley

Logged

Permafrost11
Level 0
**


[Sample Text]


View Profile
« Reply #28 on: June 27, 2018, 05:08:31 AM »

I think I've settled on a world generation algorithm that I'm happy with:











So here's how it works.
The world generated through a 3D Simplex Noise map with 3 octaves.

The first octave is general landscape
The second octave is landscape detail
The third octave is roughness

One thing I struggled with throughout making this world generator was having a "solid" bottom layer and a "non-solid" top layer (in other words, I struggled with immense caves within the ground and spotted floating islands in the sky). I simply set the "density" value (which is the rarity of a block generating) to start incrementing after Y = 60, and to be pretty much impossible after Y = 120. (Note: the world height is 160). I'll start on the dirt/grass generation soon, don't worry.
 Wink
Logged

Permafrost11
Level 0
**


[Sample Text]


View Profile
« Reply #29 on: June 28, 2018, 05:17:49 PM »

BIG ANNOUNCEMENT

Development of The Ascender has been halted until further notice

This is due to two main reasons:
- A general lack of interest in the project, in light of what are (in my opinion) better ideas.
- Some game-crushing bugs that would require a huge restructuring of the entire project, setting it months behind schedule.

I may return to this project soon, but fixing it would require a lot of effort and time, and I think I'm just better off  restarting this project or starting on another project entirely.

I will see you all soon.
« Last Edit: June 29, 2018, 06:51:00 AM by Permafrost11 » Logged

Permafrost11
Level 0
**


[Sample Text]


View Profile
« Reply #30 on: August 22, 2018, 06:31:53 AM »

It's back


I'll have more information about the new Ascender in the coming days, but for now here's a list of all of the things I have completed on this project.

- Chunk Engine
- Player Movement
- Player Collision, Gravity, and Jumping
- Destroying Voxels

And I'm currently working on the inventory system, which I will go into more detail about later.
Logged

Permafrost11
Level 0
**


[Sample Text]


View Profile
« Reply #31 on: August 22, 2018, 03:21:19 PM »

The Inventory

Video:




Just finished the inventory today. Let me go through how it works.
There are 2 functions that the inventory has: Add and Remove.

Both are pretty self-explanitory in what their purposes are, but this is how they work.

The Add function loops through all of the slots of the inventory, and checking if there's a slot with the same ID as the item being added to the inventory (ex. a slot with grass for a grass block), and making sure that it's amount is no greater than 99.

If it finds a slot like that, the "amount" value for the slot gets incremented. However, if no slot that fits those requisites are found, then a new slot is assigned that ID and it's amount gets incremented.

If no slots are found...nothing happens, because I haven't implemented item drops yet.

The remove function is quite simpler, it checks if a slot has the ID of the block it wants to remove, and if it's amount is greater than the desired amount of that block to remove. If those conditions are met, the amount value of that slot gets removed.

There's a lot more to the inventory behind the scenes, but these functions are really all that matter, besides the "contains" and "avalible" bool checkers.  Shrug
Logged

Permafrost11
Level 0
**


[Sample Text]


View Profile
« Reply #32 on: August 23, 2018, 12:34:42 PM »

Voxel Highlights and Placement

Video:




My initial reaction to finishing this up was: "Yeesh, glad that's over"
I ran into so many issues involving resetting matrices, bad radian-degree conversions, and other nuisances while programming the highlight.

However, I managed to fix a pretty glaring issue that has existed since the second prototype of this game:
Z-fighting

Special thanks to Ikkir and ThemsAllTook on the discord for helping me identify what the name of the problem was, and pointing me to a stack overflow article that explained how if you use an extremely small near-clipping plane (like 0.0001, which is what I was using), the depth-buffer can get confused on which pixels are in front of others, causing stuff like this to happen:



Look closely at the hill, and you can see some bizarre clipping issues. This is more noticeable on the screenshot for my "I'm back" announcement, if you look at the distant hills. My near-plane for that image was 0.00001, and I have since switched to 0.1, which essentially allows the depth buffer to spread out more so to speak.

Anyway, that's all for today. After tomorrow I won't be posting for the majority of next week, as I'll be away on vacation.
I'll post some more stuff tomorrow hopefully, so stay tuned for that.
« Last Edit: August 24, 2018, 04:33:03 AM by Permafrost11 » Logged

Permafrost11
Level 0
**


[Sample Text]


View Profile
« Reply #33 on: September 01, 2018, 05:11:36 PM »

Hello again.
I'm back from vacation Smiley so progress on this game should continue smoothly.

Hotbar Equipping



I've been working on this system for a few days now, and I've finally got it to where I want it. Since school is starting soon for me, I won't have as much time to work on the project like before Sad

Anyways, the next thing for me to complete is resource spending. This shouldn't take too long, maybe until monday at the latest. My posts haven't been very technical at the moment, but they will soon, once I get into some more interesting ideas to work on.

That's all for now.
Logged

Pages: 1 [2]
Print
Jump to:  

Theme orange-lt created by panic