- Видео 27
- Просмотров 106 798
Joshulties
США
Добавлен 19 окт 2014
Hello! My name is Joshulties, and I'm an indie game developer. I upload videos of the game project I'm currently working on.
Enemy Infighting | Oneirality | Godot Top-Down Shooter
Been a while since I've actually uploaded a video. But I've made some noticeable progress on Oneirality!
The Influence ability acts much like Enrage from BioShock, where enemies will target another enemy only if there are others in sight. It won't work if it's just you and one enemy. I made a lot of changes to the enemy class and how damage is passed in order to get this to be where it is.
Other things that I've added that you may notice is sound effects for the bullet casings. During combat, it won't be noticeable because of all the gunfire, but it's quite nice when you finish the last enemy with a shotgun and you can hear the shell bouncing on the ground.
#Oneirality #godot #gamedev #indie...
The Influence ability acts much like Enrage from BioShock, where enemies will target another enemy only if there are others in sight. It won't work if it's just you and one enemy. I made a lot of changes to the enemy class and how damage is passed in order to get this to be where it is.
Other things that I've added that you may notice is sound effects for the bullet casings. During combat, it won't be noticeable because of all the gunfire, but it's quite nice when you finish the last enemy with a shotgun and you can hear the shell bouncing on the ground.
#Oneirality #godot #gamedev #indie...
Просмотров: 701
Видео
Crumb System + Enemy Evasion | Oneirality | Godot Top-Down Shooter
Просмотров 7488 месяцев назад
One of the top feedback points that I got from my demo was for enemies to lose track of the player, so that they could reenter stealth. Previously, if the player got spotted, the enemy would always know where the player is. With this new system, the enemy can still chase the player while also giving the player a chance to evade the enemy. I made a community post stating that I would use a timer...
Oneirality | Demo Reveal Trailer
Просмотров 1,2 тыс.9 месяцев назад
Play the public demo here: joshulties.itch.io/oneirality Oneirality is a top-down shooter with elements of exploration and resource management set in a city underneath the surface, taking heavy influences from BioShock. [Credits] "Satiate", "Satiate - only strings" Kevin MacLeod (incompetech.com), Licensed under Creative Commons: By Attribution 4.0 License (creativecommons.org/licenses/by/4.0/)
Brown Out Ability | Top-Down Shooter "Oneira" | Godot
Просмотров 850Год назад
While developing levels, I came across an issue that there were plenty of lights and very little ways for the player to adopt a stealthy way of playing to either avoid combat, or to preserve supplies. I also wanted more than three abilities in the game, so I figured why not solve them both by creating Brown Out. #gamedev #godot
Shop with Gold and Shards | Top-Down Shooter "Oneira" | Godot
Просмотров 589Год назад
While I was creating the itch.io page for Blowback, I worked on creating a shop for Oneira where the player can purchase supplies and abilities. Originally, all items could be purchased with shards (rare collectibles that can be found hidden throughout the level or as drops from strong enemies,) but after getting feedback, I decided to add gold as currency; shards are now used for buying abilit...
BLOWBACK | Post-Release Trailer
Просмотров 737Год назад
Blowback is an arcade arena-shooter with an emphasis on tactical enemies. Within an tightly enclosed room, your enemies will take cover to avoid being shot at. Use visibility to your advantage to flank around enemies. Download now on Itch.io : joshulties.itch.io/blowback [Credits] "Undaunted" Kevin MacLeod (incompetech.com) Licensed under Creative Commons: By Attribution 4.0 License creativecom...
Current Progress | Arena Shooter "Blowback" | Godot
Просмотров 230Год назад
Blowback is very close to being released, and it's going to be a free game that can be downloaded on itch.io. Of course, there are things that I need to do before that can happen, such as: - Reload SFX for the laser rifle, rocket launcher and auto-mine - Disable the titlescreen menu when player clicks retry on the gameover menu (alternatively, I could just leave it as is) - Walking animations f...
New Weapons + Particles | Arena Shooter "Blowback" | Godot
Просмотров 387Год назад
Still focusing on implementing the bare necessities for this project. So far, a rocket launcher and a hitscan laser sniper rifle has been added to the game. They're meant to be weapons that you get in the later waves since they can generally kill enemies in one hit. #gamedev #godot
Flamethrower + New Explosion SFX | Top-Down Shooter "Oneira" | Godot
Просмотров 2,2 тыс.Год назад
For a while I had some difficulty working on this weapon-mainly the sound. I originally thought it would be more difficult implementing it because I would have to design a way for the weapon to realize that the player is no longer shooting, and for it to stop playing a looping SFX. Luckily, I'm able to use my game's current sound system without having to change anything. It is possible to give ...
Wave System WIP + New Enemies | Arena Shooter "Blowback" Godot v3.5.1
Просмотров 331Год назад
This is my arena shooter, Project Blowback. It's the same one from my bouncing bullet casings shader and my cover system video. I haven't really worked on it a lot since the last video, having only added laser attachments, two new enemies, and a script that manages spawning enemies and progressing the wave. The gunfire sound effects were taken from HL2 and CS:GO. They're just placeholder since ...
2D Sprite Stacked Character Tutorial | Godot v3.5.1
Просмотров 32 тыс.Год назад
Here is the requested video tutorial on how I made a 2D procedurally animated character. In concept, it is quite easy to do, but what was mainly difficult was the coding; I'm hoping that this video serves to help remove that difficulty for anyone wanting to create something similar to this. I made a community post about it a while ago, but I'll say it again here: I was quite disappointed with O...
Dynamic Drops from Boxes | Godot Top-Down Shooter "Oneira"
Просмотров 380Год назад
It's been a long time since I've posted anything about this project, but that's mainly because I'm working on the levels for the game; kind of don't want to spoil anything about that as that ruins the mystery and exploration side of it. I created boxes to populate the level and, after destroying all of them, I realized that they should drop items for the player. At first, they drop any random i...
Enemies Take Cover - Godot Arena Shooter
Просмотров 742Год назад
I wanted to experiment with enemies that felt like they were tactical. That lead me to create enemies that can take cover when under fire, and only remember the player's last known location as opposed to knowing exactly where they are. I'm happy with the results here, and I hope to implement them into my main project. I also want to give an honorable thanks to @teiple9038. They released a demo ...
New Additions | Godot 2D Proc-Anim Project
Просмотров 3 тыс.Год назад
Seeing as how my '2D Procedural Animation Test' video is my most watched video, I decided to work on it to make it more of a game… I also wanted to take a little break from working on Oneira. The idea behind this game is to be a lot more slow-paced and tense, hence why the player is slow, recoil forcing the player to be patient, and ammunition being scarce. New additions that have been added: N...
Keys and Doors - Godot Top Down Shooter "Oneira"
Просмотров 1,1 тыс.Год назад
A shorter video compared to what I usually post, but that's mainly because there's not a lot to it-it's straight up just a key and a locked door. This addition, along with the boulders, are meant to act as an obstacle for the player. However, it isn't the only thing I've worked on since my last "Oneira" video. Other things I've worked on behind the scenes are: • Revamping the ability icons • Ch...
2D Procedural Animation Test - Godot (No Sound)
Просмотров 47 тыс.Год назад
2D Procedural Animation Test - Godot (No Sound)
Destructible Boulders - Godot Top-Down Shooter "Oneira"
Просмотров 942Год назад
Destructible Boulders - Godot Top-Down Shooter "Oneira"
Bouncing Bullet Shells - Godot Particle Shader Test
Просмотров 3,3 тыс.2 года назад
Bouncing Bullet Shells - Godot Particle Shader Test
New Combat Showcase - Godot Top-Down Shooter "Oneira"
Просмотров 4,3 тыс.2 года назад
New Combat Showcase - Godot Top-Down Shooter "Oneira"
Improving Combat for my Top-Down Shooter - "Oneira" Devlog 1
Просмотров 1 тыс.2 года назад
Improving Combat for my Top-Down Shooter - "Oneira" Devlog 1
Save File WIP - Godot "Oneira" Gameplay Testing
Просмотров 2282 года назад
Save File WIP - Godot "Oneira" Gameplay Testing
Missile Dodging - Godot Top-Down Dog-Fighting Side Project
Просмотров 3522 года назад
Missile Dodging - Godot Top-Down Dog-Fighting Side Project
Godot Top-Down Dog-Fighting Side Project
Просмотров 1122 года назад
Godot Top-Down Dog-Fighting Side Project
DEATHLOOP-inspired Explosive Gas - Godot "Oneira" Gameplay Testing
Просмотров 2752 года назад
DEATHLOOP-inspired Explosive Gas - Godot "Oneira" Gameplay Testing
Smoke Particles - Godot "Oneira" Gameplay Testing
Просмотров 7672 года назад
Smoke Particles - Godot "Oneira" Gameplay Testing
Hi! can you please explain how you achieved this effect for the arm sprite? Did you write a shader?
No shader was used for the pixelated arm. In Godot project settings, go to Display and scroll down to set Stretch mode to Viewport.
This reminds me a lot of the flash game "The Last Stand: Union City"
I wonder how about the slope?
very helpful thanks
Is there a tutorial on this?
There is. ruclips.net/video/N75-72giCPo/видео.html
I played the demo today and it was awesome Best part of it was the vibe Wish you success ❤
se ve bien👍 el fondo es de katana zero xd
"Oneira" like Dreams?
Yeah
hey anyone know what software this guy use to make the animation?
I use GraphicsGale for making the sprites
@@Joshulties thanks
Hi can you give me some light on a 3d character? I thought doing this on a CharacterBody3D would be equivalent, but it isn't 😥 I am trying to do a game the same format as Akatori (2d sprite on a 3d world) func aim() -> void: var mouse_position = get_viewport().get_mouse_position() flip_sprite(mouse_position.x < global_position.x) var arm_rotation = arm_front.rotation.z var aim_2d = Vector2(aim_pivot.global_position.x, aim_pivot.global_position.y) if mouse_position.x < global_position.x: arm_front.rotation.z = lerp_angle(arm_rotation, -(aim_2d - mouse_position).angle(), 0.1) else: arm_front.rotation.z = lerp_angle(arm_rotation, (mouse_position - aim_2d).angle(), 0.1)
I'm sorry, I can't help you with that because I've never worked in 3d with godot -- not even sprite3d node
@@Joshulties Me neither 😅but anyhow thank you for the tutorial, for sprite2d it works like a charm ❤
Thank you. Really needed this I had a project going on.
Wait can you pull it off at super low pep like in the beginning of this video? Because then I feel that's kinda op. Honestly I feel the amount it takes is already super low for something that powerful.
Tbh I have it as a cost of 35 / 100 because I felt like it wasn't consistently good. Enemies affected target a random enemy within sight and will revert back to the player once that target is dead. If the target is low health, then the enemy still targets the player before the player could even get away. Though now that I'm looking back and being able to focus on one enemy to take out the others, you may be right. I've increased the cost to 50 now so it's at most two uses per pill.
@@Joshulties alright, but at the beginning, what happened there, you casted it with only like 3/100
@@k.w.6626 Similar to BioShock, the player can still use their ability even if the amount of energy they have is less than the cost to use it. That means if an ability costs the entire bar, they can still use it as long as the bar isn't empty. I will be looking to change that; I'm thinking it will use up the rest of the bar, auto use a pill, then use the remaining amount of the cost.
@@Joshulties won't it be annoying if they don't want to waste a pill on that? What if they were saving the pill and wanted to use it later and since the bar isn't an exact number visually it would be almost impossible to tell sometimes if you have enough. Wouldn't it be better to force them to budget it instead?
@@k.w.6626 By budget it do you mean not performing the ability if the amount of energy is less than the cost?
man thes enemy ai is perfect dawg KEEP UP>:D
Great video, but I ran into one problem. In my project the hand rotate completely static. I mean, in your video, when you move the cursor, the pixels on your hand also move but this does not happen in my project. What could be the problem?
Do you mean how the arm looks pixelated when it rotates? If that's what you're referring to, then it's an option in the project settings. (Project Settings > Display > Window > Stretch Mode > Viewport) Also set aspect to anything other than ignore.
@@Joshulties Yes, that's what I mean. I already have such settings, but it doesn't help
@@podlivichKmK The only thing I can think of is that the resolution size of your game is large to the point that the pixel are small. In my project, I have the window length and width set to 274x154, but I'm not sure if that'll help.
The voices
those are just voxels with extra steps, lol
0:08 thank you for the warning, I could have blinded myself
You coded the arm like magic bro!!
pixel-art women (I approve)
Hey please tutorial please please
I replied to your initial comment as best as I could on what the video went over. I won't be making a tutorial on this since editing videos takes too much time, and this doesn't even work as intended. Sorry.
How to make it
I followed a video going over particle shaders, but it's been a while so I'm unable to find it. Basically create a particle2d where the particle falls down. Then there's an option to turn it into a shader from its existing options. Add variable called Bound and a new function: vec2 apply_bound(float y_in, vec2 vel){ if(y_in > bound){ if(abs(vel.y) < 20.0){ vel.y = 0.0; }else{ vel.y = -0.75 * abs(vel.y); } vel.x = 0.0; } return vel; }
So, I was struggling with my own attempt at this because of the atan2 functions for a while. My biggest gripe is trying to tie the animated sprite 2d to the origin of the collision shape 2d for the player in godot regardless of animation change. What I actually did was animate the sprite stacks outside of godot and then upload and either boolian check the visibility on the sprite2ds that I want seen when animating. So long as the collision box isn't impeded, outta sight outta mind.
this game looks so polished you need more views! i subbed
hey man. this is very well done. I am desperate for this, please tell me how you set up the particle system so you can emit the shell particle whenever you have a gun shot while the previous shells are still alive. please help me with this
Each instance of the particle is a Particle2d with a single child that is the AnimationPlayer2D. Set the particle to the desired effect with onshot enabled, and in the animation player, create an animation sets emitting to true at the start and has autostart enabled. The animation should last as long as the particle and has call_method for queue_free at the end. That is essentially how I instance all particles.
@Joshulties so each shell is a separate node? well I thought they are all in the same system
@@GameDevGeeks Each particle is separate. The only system there is is a script to preload references and a function to create them at a position. Since Godot has good garbage disposal and the scope of my projects aren't that expensive memory wise, there's no need for object pooling. (There's plenty of videos that go into specifics if you want to know more.)
@Joshulties well, imagine a mini gun that shoots 3000 bullets per minute, 3d shells being ejected. that's a lot of graphical load, I don't want memory and cpu load too. thanks for replying anyway, BTW I didn't know Godot was particularly good at GC.
@@GameDevGeeks I make 2D games with Godot, so I can't really say much for anything 3D, sorry.
This is super cool! I'm currently working on a project myself where I want to achiev this shell bounciness. May I ask, how you did that? Did you use a particular shader? ^^
There wasn't any particular shader that I used as I was following a tutorial about particle shaders in godot. I can't remember what it was, but basically after setting the options and doing "create shader from options" or something similar, I added a bound variable and a function, where if global_position.y > bound: velocity *= -0.75 That way it bounces. But as seen in the video, all instances of the particle that use the shader share the same bound.
Hey how do the arms rotate but the pixels stay on the grid?
In godot project settings, set stretch mode to 'viewport' and below that to 'keep'
@@JoshultiesOmg Is it really that easy to make pixel perfect? I've tried so far in vain.
Hi, I have been trying to replecate this effect. I have used the same sprites as you, but when I change the strectch mode to viewport, it becomes pixelated, but the pixels are very small. Do you know how can I fix this?
Below stretch mode set to "keep", or set the window resolution.
@@Joshulties it is on keep and my window resolution is 960 by 540
@@fajnial Decrease the resolution size more. I think this project had a resolution of around 320 x 160
@@Joshulties is we are talking about viewport width and hight it's same as in your project : 320 by 180. I have checed all the procject settings and they seem the same.
@@fajnial What about the test width and test height? Set it to something high. That's probably the only thing I can think of that's causing your game's window to be small. If that doesn't fix it, I don't know how else to help.
How do I make this in godot 4.2.1
There are some minor differences between Godot 3 and 4, but ultimately the concept/idea doesn't change much. I'd suggest that you follow along the video but look up the Godot 4 documentation for what parts of Godot 3 have been replaced. (i.e. KinematicBody2D -> CharacterBody2D, adding @ before onready and export variables, etc.)
@@Joshulties Thanks man, you the best.
this is some solid AI improvements
Hello, how do you get the shells to stay on the floor with a particle node? Do you have any script?
So in this video, I was using a custom particle shader with the particle2D node (I think,) and it's been quite a while so I can't remember the specifics. But the basics of how a particle doesn't go below a certain point is by having a variable called 'bound' that indicates the y-level that a particle can't go below. I went through and found the exact function that handles this: vec2 apply_bound(float y_in, vec2 vel){ if(y_in > bound){ if(abs(vel.y) < 20.0){ vel.y = 0.0; }else{ vel.y = -0.75 * abs(vel.y); } vel.x = 0.0; } return vel; } Note: Because of the problem seen in this video, I'd suggest not using a particle shader, but instead a node like KinematicBody2D (or CharacterBody2D in Godot 4) to simulate physics particles.
The game looks incredible, I congratulate you, how do you change the weapon animation? Do you use a spritesheet of different drawings and finally do you use animation player or animation sprite? greetings !
I use a single sprite sheet for each weapon, and the animation player node.
@@Joshulties Just the weapon or does it include the character?
@@Lordpiw1 A sprite sheet just for weapons. I usually separate a sprite sheet for each type of object unless they're similar enough and don't have more than 2 sprites.
Hi, thanks for the video. i have a question : is it possible to do the same for animation? I have an animation where a man draws a bow, and I want the animation to rotate depending on the cursor position.
Hey, sorry for the late reply. I havrn't done it before, but that is definitely possible. What you'd have to do is have separate animations for each arm that, when played together, would draw the bow back. Also you'd need to make sure that the arms are in the right direction so the hands are where they should be in the animation.
Thanks for the reference article, it was very helpful!
Good to know that I've helped!
Awesome, I think that it is a big step in the right direction.
iji sound fills me with determination.