Opengl is a weird place part 2
3:52
Opengl is a weird place
0:53
8 ай бұрын
odin tut 4 - arrays
5:53
11 ай бұрын
odin tut 3 - types
6:58
11 ай бұрын
Odin tut 2 - library import
5:28
11 ай бұрын
Odin tut 1 - basic syntax
5:39
11 ай бұрын
How to make a MMO part 3
12:21
Жыл бұрын
How to make an MMO part 4
4:36
Жыл бұрын
How to make an MMO part 2
13:18
Жыл бұрын
Odin setup tutorial
1:43
Жыл бұрын
A quick update on the engine
2:38
5 жыл бұрын
Game Engine show off devlog
5:16
5 жыл бұрын
pathfinder
2:32
5 жыл бұрын
My EMG Movie
0:42
6 жыл бұрын
Пікірлер
@redshepard5306
@redshepard5306 3 ай бұрын
thats really neat
@liamLoonietoons
@liamLoonietoons 3 ай бұрын
is that the electricity from your nerves, because if so thats really freaking cool
@10bokaj
@10bokaj 3 ай бұрын
it is
@10bokaj
@10bokaj 3 ай бұрын
Well to correct myself, it is the electricity from my muscles, which is controlled by the nerves (it kinda the same system, just bigger for the muscles)
@liamLoonietoons
@liamLoonietoons 3 ай бұрын
@@10bokaj thats insane, thanks for the confirmation.
@SmoothieGamesLambda
@SmoothieGamesLambda 4 ай бұрын
Would love to learn how you did this. Super cool!
@YippeePlopFork
@YippeePlopFork 5 ай бұрын
I think that different smoothing groups - by terrain type - would help. For example: grass should be the smoothest (so requires extra smoothing or a better smoothing algorithm) and rock was plenty smooth enough using marching cubes / should be rough / hard edges. I wouldn’t smooth things like trees using marching cubes but use a custom smoothing pass just for them. Perhaps three smoothing / marching cubes passes: 1 for grass, snow etc, one for rock and one for trees and bushes (or use meshes for trees)? Just an idea…
@JZGreenline
@JZGreenline 6 ай бұрын
thanks. What does the "make" keyword do?
@10bokaj
@10bokaj 6 ай бұрын
it is not really a keyword, it is more like a hidden function that initilized the type you pass it, It works for buildin odin types. Like arrays maps and such.
@10bokaj
@10bokaj 6 ай бұрын
It is an overloaded function so the arguments after the types changes dependent on the type. It can be a little confusing, but you quickly get the hang of it.
@DeadRabbitCanDance
@DeadRabbitCanDance 6 ай бұрын
Look very nice. Are you using a fill factor for each voxel direction? 6 values ​​in total? Or do you somehow cleverly store data for smoothing edges?
@10bokaj
@10bokaj 6 ай бұрын
I think the awnser is fill factor. I store a single float.
@brentknight9318
@brentknight9318 6 ай бұрын
Low frequency radars can detect the presence of stealth aircraft, but they cannot precisely locate them sufficiently to guide a surface to air missile.
@N_NY_M
@N_NY_M 7 ай бұрын
very cool
@ryzh6544
@ryzh6544 7 ай бұрын
Thank you Jakob!
@trashtrash2169
@trashtrash2169 8 ай бұрын
You should make the perspective really exagerated. It would become very clear what's supposed to be in front. I am not familiar with 3d programming, but does moving the mouse right just add +x to some rotation variable? Maybe it's an unexpected overflow bug that modulo could fix by limiting it to an expected range. I'm probably totally off base here, though.
@trashtrash2169
@trashtrash2169 8 ай бұрын
Like 36° = 396° but the program really likes to stay within the 360° range?
@10bokaj
@10bokaj 8 ай бұрын
It it solved but thanks
@OttogiMazik
@OttogiMazik 8 ай бұрын
Have similar behaviour, but as special wanted effect, by inversion of projection matrix : )
@theonewithoutidentity
@theonewithoutidentity 9 ай бұрын
Algorithm boosting comment!
@johannes4510
@johannes4510 10 ай бұрын
I like sticky cubes and also sticky rice
@nielsdaemen
@nielsdaemen 11 ай бұрын
Minecraft needs this!
@edhahaz
@edhahaz 11 ай бұрын
But how do you handle 50 trillion players in one area ? I would bet the only answer is more compute.
@10bokaj
@10bokaj 11 ай бұрын
you can't and you dont want to, since what should the client do? render 50 trillion players?
@platinumsun4632
@platinumsun4632 11 ай бұрын
So why would I make use of this Odin language anyways? Who created it?
@10bokaj
@10bokaj 11 ай бұрын
gingerbill made it, he has a talk about it. It is a replacement for c++, that compiles fast is easy to read and can do more with less features
@platinumsun4632
@platinumsun4632 11 ай бұрын
Replacement? Is it compatible? I am at a cross roads for occupation as I am still young, will it be usefull for me in the future if I end up going into a CS field?@@10bokaj
@gabrielkwong1878
@gabrielkwong1878 11 ай бұрын
Does anyone know the link to the star citizen video? I'd like to watch it I manually typed the link in and the video is not available anymore? Is there another way to go watch it? Also this is a great explanation series, is it possible to compile it to a playlist so that I may share it to others.
@10bokaj
@10bokaj 11 ай бұрын
kzbin.info/www/bejne/ioTdhoqiaddlqLc Works for me, I will put it in the description
@woofiewill
@woofiewill 11 ай бұрын
Thank you for your overview on some of the strategies.
@alaanvv
@alaanvv 11 ай бұрын
outlining the focused object would solve the problem
@crunchy7200
@crunchy7200 Жыл бұрын
cool concept, but to me it screams "collision and camera clipping issues". its kinda awesome to be able to sculpt voxel like that
@10bokaj
@10bokaj Жыл бұрын
camera cliping is not an issue when it is a first person game, collision is just handled by unity, those are not really issues that are diffucult to solve.
@crunchy7200
@crunchy7200 Жыл бұрын
@@10bokaj oh that's cool
@icebluscorpion
@icebluscorpion Жыл бұрын
The smoothing is retarded if you don't have precise control of it try to put that feature on the mouse wheel to get more precise control such that your can smooth and unsmooth with a clicking turn of the mouse wheel also the smoothing should be in discrete steps such that you can repeatedly set the right smoothness/angle to each cube that you want to smooth. 🤔. Then the root won't look like as if a giant took a big on on your house anymore 😂
@capability-snob
@capability-snob Жыл бұрын
So once you've determined who you need a client to communicate state changes to, the next trick is deciding how to commute events. How do you resolve inconsistencies quickly and fairly. I have seen games that resolve this with "Synchronisation Error!" and lock up. Not fun 😅 better to always assume network failures will happen and work that into gameplay somehow.
@XiaoMingXing
@XiaoMingXing Жыл бұрын
Reminds me of Roblox’s terrain except honestly better. Roblox doesn’t have that sticky property your terrain has, which is honestly pretty awesome
@bgoldpanda7265
@bgoldpanda7265 Жыл бұрын
KZbin compression is making it really hard to distinguish the surfaces in the cave lol.
@10bokaj
@10bokaj Жыл бұрын
Yep
@novarender_
@novarender_ Жыл бұрын
It would be great to have a separate tool for deforming vs. destroying voxels. It would stuck to have dents all over your base from accidental clicks! Another feature that would be quite useful is the ability to extrude in an opposite manner of deforming, but without placing another voxel, so it's easier to fine tune what you want quickly. Lastly, there needs to be some kind of precision controls which allows you to deform very slowly, as I saw you struggling in the video :) A more advanced engine could allow the user finer control over each vertex, which would fix the small ramps at the bottom of the door frame but may be out of scope of this project. Good luck!
@isaacbunsen5833
@isaacbunsen5833 Жыл бұрын
I think the nicest in-between would be to have a few different options. Primarily I would have a smooth state a cube state. By striking the smooth state you chip away the excess and reveal the cube shape. Optionally from there you could have some kind of block chiseling
@bazem
@bazem Жыл бұрын
I think you should have 2 different commands to remove a block, one where you subtract the size of the cube and another where you remove the entire block immediately.
@brynshannon6692
@brynshannon6692 Жыл бұрын
Were I to expand upon this for a game design, I would want the option to add or remove from a cube by percentage increments. Say, 5% at a time at minimum, but can go as far as 100%. This would allow for much more consistency and control, and you could apply the same thing to mining so that you can make sure you remove the exact amount of blocks (including fractions) you intended to.
@brynshannon6692
@brynshannon6692 Жыл бұрын
It would also be nice to be able to specify which faces of a block "stick" and which treat their surroundings as empty air. I'd give the player a handful of "templates" for selecting this, so they can apply those changes quickly and build efficiently. For example, setting all sides of a block to Unstick aside from the top and bottom would be great for making fences.
@misterk7_-
@misterk7_- Жыл бұрын
I really like this!
@betahunter
@betahunter Жыл бұрын
Is this a fellow Danish Man I wonder? :D
@jackatk
@jackatk Жыл бұрын
This is a really cool technology you developed! I don’t think it would fit well in a Minecraft-style game, but I can see it being really useful!
@benbencom
@benbencom Жыл бұрын
This video is making me realize how No Mans Sky works when you are editing terrain (c.f. "very hard to see what you're doing...")
@toothlessblue
@toothlessblue Жыл бұрын
I think something similar to this was implemented in the Carpenters Blocks mod for Minecraft
@10bokaj
@10bokaj Жыл бұрын
I doubt that
@jakezepeda1267
@jakezepeda1267 Жыл бұрын
Interesting
@fire-ballmc9741
@fire-ballmc9741 Жыл бұрын
its interesting how he always compares it to "other games" instead of just saying minecraft.
@LewaElite
@LewaElite Жыл бұрын
One weakness I'm noticing seems to be that it is very difficult for players to accurately match the volumes (states between full block and no block) of different blocks. For example, if a player has destroyed a terrain block and wants to restore the terrain to how it was before, it may be very difficult to make the new block be the exact same volume as the blocks surrounding it. While building, it would also be very desirable to be able to match the volumes of different specific blocks, like, for example, making sure the slope of a roof is neat and consistent, or making sure 2 windows have the same bevel around the rim. One intuitive solution could be to restrict the volume of a block to, say, 4 distinct levels instead of a continuous transition between full volume and zero volume. While this would reduce the total smoothness of the game, I don't think it would affect the general visual feel of the game too much, while it would also make editing nearly as intuitive and precise as it would be with regular cubes. If the smooth transition is important, a less invasive solution could be some kind of "eyedropper" system that allows players to copy the volume of 1 block to another. Another middle-ground could be to keep natural world generation and most means of editing terrain limited to distinct block volume levels as described before, but allow players the option to smoothly edit the volumes of blocks through some specific tool if they please. At any rate, this proof of concept seems like a very clever and cohesive approach to making the world more complex than simple cubes.
@MasterZeroFX
@MasterZeroFX Жыл бұрын
Cool Minecraft clone, yet another one.
@Niklas9999100
@Niklas9999100 Жыл бұрын
This looks very interesting, would it be okay if i tried to develop a full survival game based on this idea?
@volodymyrkilchenko
@volodymyrkilchenko Жыл бұрын
seems interesting but i still prefer the minecraft style
@dombo813
@dombo813 Жыл бұрын
It seems to me like the biggest challenge for these sorts of smoothing is that minecraft proved "graphics" dont actually matter all that much, people have no problem with cubes, so a game that does something like this really needs to find unique gameplay involving the use of smoothness.
@10bokaj
@10bokaj Жыл бұрын
Blocks are very intiutive to work with and is easy to for the computer to handle. It is a great combination, but for terrain I think it falls a little short.
@luna010
@luna010 Жыл бұрын
This is really neat. would love to see a minecraftlike survival game like this. It could add a lot of depth to resource management and building design. Eg maybe you would build a house with thinner walls to save resources but would would be more susceptible to explosions. Could also be adapted for water physics, so the total volume of water could be conserved while water flows between blocks. The ability to have multiple materials/“blocks” in a single voxel would lead to even more possibilities.
@10bokaj
@10bokaj Жыл бұрын
water is difficult, not impossiable just very difficult
@patrlim
@patrlim Жыл бұрын
looks cool
@wibiz9657
@wibiz9657 Жыл бұрын
Looks like sims 3 terrain editing
@10bokaj
@10bokaj Жыл бұрын
in what way?
@wibiz9657
@wibiz9657 Жыл бұрын
@@10bokaj Just the way the blocks can be decreased and lowered in a concave or the opposite way by using tiles. It's the same way it works in older sims games, where the terrain is on a grid. I don't know anything about this game as KZbin just recommended it to me, so I don't know the significance of it, it just reminds me of things I do know about.
@Cammymoop
@Cammymoop Жыл бұрын
this is really neat
@gasparliboreiro4572
@gasparliboreiro4572 Жыл бұрын
really neat
@Slash0mega
@Slash0mega Жыл бұрын
Man, wish i was able to make stuff like this. it would be cool to set it up with a item that will increase, decrease, or set the smoothness of a block.
@BirkinIdk
@BirkinIdk Жыл бұрын
This looks very interesting. I saw you other video on this and I subscribed to follow your progress. Looking forward to seeing more updates man, looks like you've put a lot of work into this!
@isaias-1713
@isaias-1713 Жыл бұрын
Hmm i think you can get way more configuration capacity with a visible percentage of compression and also the capacity to modify corners individually, perhaps a scroll bar can help or a standarized smoothing algorithm that stops at 10-20-30-40-50% or something like that
@SneedsFeeduckAndSeeduck
@SneedsFeeduckAndSeeduck Жыл бұрын
Prevent aimbotting by setting a maximum angular turn speed on players, also maybe a maximum angular turn acceleration/deceleration, decreasing accuracy based on turn speed, as well as applying deterministically random bullet spread retroactively in the next server tick (new seed every tick, so that it's completely unpredictable). Still doesn't prevent wall hacking, but at least you make hacks much less potent. It's more realistic anyway. Go ask someone who ever held a gun whether he can walk around while aiming down the sights without shaking the gun. absolute precision FPS games are unrealistic and create a completely false sense of what it means to use a weapon.
@SneedsFeeduckAndSeeduck
@SneedsFeeduckAndSeeduck Жыл бұрын
It's best to assume the player is running a completely customised version of the client application and therefore none of his inputs are trustworthy. Make rules for the legality of each action / input the client may be sending. Discard invalid inputs. Lots of anti-cheat stuff will usually break on linux machines anyway, falsely banning linux players even if they run unmodified versions of the game.
@10bokaj
@10bokaj Жыл бұрын
A maximum angular turn speed would disallow 360 no scopes, so that might not be a good idea. But if you know that your game is only played with a controller then yes, that could be a thing. On the "deterministically random bullet spread" I think you mean undeterministically. The realistic thing is a thing that is a per game thing, you might not what a realistic experience. On that note I think anti cheat is one of those rare cases where AI acctually makes sense as a way to mark suspects.
@SneedsFeeduckAndSeeduck
@SneedsFeeduckAndSeeduck Жыл бұрын
@@10bokaj no, deterministically random, but the seed for the randomness is published only in the following server tick. So it is unpredictable but deterministic, LOL. And 360° no-scopes are pretty cancerous IMO. I'd trade 360's for a level playing field, where controller players can compete with mouse players, who in turn can compete with aimbotters. I remember they even built special adapters for the controllers to also aimbot on those, or something like that. So there is even hardware for botting out there. And regarding realism: gotta keep it fun, yeah. But I think the trend of "games" has died, and instead people want to have a "toy" with which to play many different games. Similar to how WC3 was used for tower defense games, MOBA games, RTS games, etc. Especially for MMOs, I think people nowadays don't want to play another generic storyline / grindfest. They want an interactive toy that can be accessed by many people at once to create an experience of companionship and discovery. MMOs need to stop forcing the player into a specific type of game, and offer a broad range of options instead. If a single title isn't at least 3 different games in one toy, I think it fails as a toy and can only keep people involved long-term by using addicitive nudging, forcing players to submit to nonsensical grinding regiments, and degenerating into a constant dopamine source. Just like YT shorts, lol. People like playing with balls because you can play lots of games with them. With different rulesets and scenarios. And this freedom has died in video games a long while ago. MMOs always promise that kind of experience, but never deliver. Or they simply offer you something that's more like a bunch of formulas than a game, and you must grind to maximise gains. LOL sorry for the incoherent rant, it's 2AM.
@SneedsFeeduckAndSeeduck
@SneedsFeeduckAndSeeduck Жыл бұрын
I think I can clarify on the toy vs. game part, after some more thought: think of a deck of cards. That's not a game. That's a toy. And there are thousands of different games you can play with it. Each challenging in different ways. Stimulating different kinds of strategic thought.
@okiguessineedahandle
@okiguessineedahandle Жыл бұрын
@@10bokajMy experience with this idea is u have the game let it slide a couple of times if a player snaps over something like 50 degrees in a tick, but if multiple successive hits are snappy with way too much accuracy then u have a system intervene. IIrc Counter Strike used to actually softban peeps for this with the “vac auth error” requiring u to restart steam to keep playing, haven’t played in years so i don’t know if it still happens.