![John Ivess](/img/default-banner.jpg)
- 65
- 366 572
John Ivess
United States
Registrace 13. 07. 2014
I am here to help others make their dreams come true, always learning in the meantime.
Hey there! I'm a game developer, pixel artist, and entrepreneur. My goal is to help others grow and reach their stars.
On this channel, I make gamedev-themed content, such as devlogs and Godot tutorials, and pixel art.
Hey there! I'm a game developer, pixel artist, and entrepreneur. My goal is to help others grow and reach their stars.
On this channel, I make gamedev-themed content, such as devlogs and Godot tutorials, and pixel art.
WonderLocked — Release Trailer
Play now at: ivess.itch.io/wonderlocked
A wizard trapped in perilous depths, you must wield unique spells fueled by your movement to battle through hordes of magical enemies on your quest to freedom. With each wand possessing a unique ability, you can approach every fight with a new tactic and style; and with each level crafted with great love and detail, you are more than welcome to study every corner and uncover the secrets waiting for you.
Can you conquer the dungeons and earn your release? Prepare for a run full of magic, challenge, and action.
---
WonderLocked was developed in 7 weeks as a midterm project for Full Sail University by Ivan "John Ivess" Shyika, Ethan Brunswick, and Taetem Brock, under the guidance of professors Mr. Rod Moye and Mr. John O'Leske.
Music used in the trailer - "Heart of Warrior" by Andrew Sitkov.
A wizard trapped in perilous depths, you must wield unique spells fueled by your movement to battle through hordes of magical enemies on your quest to freedom. With each wand possessing a unique ability, you can approach every fight with a new tactic and style; and with each level crafted with great love and detail, you are more than welcome to study every corner and uncover the secrets waiting for you.
Can you conquer the dungeons and earn your release? Prepare for a run full of magic, challenge, and action.
---
WonderLocked was developed in 7 weeks as a midterm project for Full Sail University by Ivan "John Ivess" Shyika, Ethan Brunswick, and Taetem Brock, under the guidance of professors Mr. Rod Moye and Mr. John O'Leske.
Music used in the trailer - "Heart of Warrior" by Andrew Sitkov.
zhlédnutí: 452
Video
Zombie Carnage Release Trailer
zhlédnutí 1,3KPřed 2 lety
After one month of work, my game Zombie Carnage is now complete and released! Download the game at: ivess.itch.io/zombie-carnage Source code: github.com/IvessJohn/unreal-zombiecarnage The game was made with Unreal Engine 5. 🎓 LEVEL UP YOUR PRODUCTIVITY: Check out my Your Perfect Workflow: 10 tips: improveyourworkflow.gogodotjam.com/ 🤙 REACH OUT TO ME: Subscribe to my newsletter: improveyourwork...
Why Did I Have to Cancel My Game?
zhlédnutí 2,5KPřed 2 lety
It has been a good time, but everything comes to an end. Bid your farewell to Barking Irons! 🤠 📅 Try Sunsama - my beloved daily planner app for scheduling my day: get.sunsama.com/a/john 🎮 Play Barking Irons at: itch.io: ivess.itch.io/barking-irons gotm.io: gotm.io/john-ivess/barking-irons 🎓 LEVEL-UP YOUR PRODUCTIVITY: Check out my Your Perfect Workflow: 10 tips: improveyourworkflow.gogodotjam.c...
Interactive Tilemap in Godot IN 5 MINUTES
zhlédnutí 32KPřed 2 lety
GITHUB REPO: github.com/IvessJohn/godot-interactive-tilemaps-tutorial Tilemaps in Godot are all right, but sometimes you need to go a little extra and make the tiles more interactive than what you're given. In this video, I will teach you to make such interactive tiles. Thanks to Analog Studios for providing art for this tutorial: analogstudios_ 🎓 LEVEL-UP YOUR PRODUCTIVITY: Check o...
ACCELERATION and FRICTION in Under 5 Minutes
zhlédnutí 9KPřed 2 lety
GITHUB REPO: github.com/IvessJohn/godot-acceleration-and-friction-2D PASTEBIN CODE: pastebin.com/bQQHFsfD Jungle Asset Pack by Jesse Munguia (@Jsf23Art): jesse-m.itch.io/jungle-pack 🎓 LEVEL-UP YOUR PRODUCTIVITY: Check out my Your Perfect Workflow: 10 tips: improveyourworkflow.gogodotjam.com/ 📅 TIME MANAGEMENT: Try Sunsama - my beloved daily planner app for scheduling my day: get.sunsama.com/a/j...
How I Developed a Sandbox Game in 7 Days
zhlédnutí 4,3KPřed 2 lety
🎮 PLAY THE GAME: ivess.itch.io/santas-village-builder 📅 Try Sunsama - my beloved daily planner app for scheduling my day: get.sunsama.com/a/john 🎓 LEVEL-UP YOUR PRODUCTIVITY: Check out my Your Perfect Workflow: 10 tips: improveyourworkflow.gogodotjam.com/ 🤙 REACH OUT TO ME: Subscribe to my newsletter: improveyourworkflow.gogodotjam.com/ Twitter: ivess_john 💪 MY PRODUCTS: My games an...
In the Mind of an Artist | Art Deviation Jam #4 (ft. DaNKeL137, Ota Jaider, JGM)
zhlédnutí 324Před 2 lety
Everybody is capable of creating something. With these videos where 4 artists draw something on a given concept in just one hour, I want to inspire you to dare to try what you wanted to do, even imperfectly. Don't be afraid to be inspired and recreate. Don't be afraid to fail. Just do it. The guys: @dankel317 - czcams.com/users/DannySilencer JGM - i_justgm_i Ota Jaider - twitter....
Make a TILESET in 2 minutes for Godot with Tilesetter [#GoGodotJam]
zhlédnutí 19KPřed 2 lety
GIHUB REPO: github.com/IvessJohn/tilesetter-with-godot-tutorial Making tilesets can be a lot of work: drawing, exporting, setting up. However, it doesn't have to be - Tilesetter can do that in an instant, saving you hours of work! In this tutorial, I will teach you how to use it with Godot. Tilesetter: www.tilesetter.org/ This video is not sponsored by Tilesetter. 🎓 LEVEL-UP YOUR PRODUCTIVITY: ...
Randomly Variate Textures in Godot - 2 METHODS [#GoGodotJam]
zhlédnutí 3,2KPřed 2 lety
GITHUB REPO: github.com/IvessJohn/godot-texture-variation-tutorial Diversity in your game is crucial to immerse the player in the world - but how can you do it conveniently do it in Godot? In this tutorial, I will teach you to implement texture variation for your own game. 🎓 LEVEL-UP YOUR PRODUCTIVITY: Check out my Your Perfect Workflow: 10 tips: improveyourworkflow.gogodotjam.com/ 📅 TIME MANAG...
Don't Let Feature Creep Kill Your Game. #GoGodotJam
zhlédnutí 486Před 2 lety
Try Sunsama - my beloved daily planner app for scheduling my day: get.sunsama.com/a/john Feature Creep is often the reason of overpromised and underdelivered products. In this video, I wanted to talk about it: express my own thoughts, propose ways to avoid your game's demise, and tell about my own experience with it. 🎓 LEVEL-UP YOUR PRODUCTIVITY: Check out my Your Perfect Workflow: 10 tips: imp...
How to PLAN Gamedev like a PRO (and anything else really) #GoGodotJam
zhlédnutí 1,8KPřed 2 lety
Try Sunsama - my beloved daily planner app for scheduling my day: get.sunsama.com/a/john Planning is essential for success, and gamedev is not an exception in this regard. In this video, I want to share with you my suggestions based on my own experience with planning, and I invite you to join me in these deliberations! 🎓 LEVEL-UP YOUR PRODUCTIVITY: Check out my Your Perfect Workflow: 10 tips: i...
I Almost ABANDONED My Game Because of This
zhlédnutí 611Před 2 lety
Click get.sunsama.com/a/john to get a free 2-week-long Sunsama trial and start scheduling your routine like a pro. No card required. It has been over two months since the last time I published something about Barking Irons. But the project is not dead, and it comes with a lot of news and insights! Fighting feature creep, exploring new tools, and overhauling the game's systems - all about that i...
GAME PAUSE in Godot IN UNDER 4 MINUTES
zhlédnutí 5KPřed 2 lety
GITHUB REPO: github.com/IvessJohn/game-pause-godot3-tutorial PASTEBIN CODE: pastebin.com/arHLW2UE Slowing down the game is ok, but what about pausing it completely? With this tutorial, learn about pausing in Godot and all of its peculiarities! Might be useful for making in-game menus, isn't it? 🎓 LEVEL-UP YOUR PRODUCTIVITY: Check out my Your Perfect Workflow: 10 tips: improveyourworkflow.gogodo...
The Imagination of Artists | Art Deviation Jam #3 (ft. Ghostbit, nkoder, Kaishido)
zhlédnutí 377Před 2 lety
The Imagination of Artists | Art Deviation Jam #3 (ft. Ghostbit, nkoder, Kaishido)
Add SLOWMO to Your Godot Game in UNDER 7 MINUTES
zhlédnutí 6KPřed 2 lety
Add SLOWMO to Your Godot Game in UNDER 7 MINUTES
Make a 2D TURRET in Godot In UNDER 5 MINUTES
zhlédnutí 14KPřed 2 lety
Make a 2D TURRET in Godot In UNDER 5 MINUTES
Random Events and New Textures for my Wild West Game!
zhlédnutí 445Před 3 lety
Random Events and New Textures for my Wild West Game!
The Imagination of Artists | Art Deviation Jam #2 (ft. bitbrain, MetRiko, Riptide)
zhlédnutí 469Před 3 lety
The Imagination of Artists | Art Deviation Jam #2 (ft. bitbrain, MetRiko, Riptide)
Barking Irons is CONTINUED! | Devlog #1
zhlédnutí 608Před 3 lety
Barking Irons is CONTINUED! | Devlog #1
What's in the mind of 4 artists? | Art Deviation Jam #1 (ft. Artindi, spoonsweet, Kaishido)
zhlédnutí 473Před 3 lety
What's in the mind of 4 artists? | Art Deviation Jam #1 (ft. Artindi, spoonsweet, Kaishido)
Soundtrack Player IN 5 MINUTES | Godot Tutorials
zhlédnutí 2KPřed 3 lety
Soundtrack Player IN 5 MINUTES | Godot Tutorials
How I Developed Barking Irons (Wild West Shooter)
zhlédnutí 848Před 3 lety
How I Developed Barking Irons (Wild West Shooter)
Healthbars (Combat Essentials in Godot | P8)
zhlédnutí 3,1KPřed 3 lety
Healthbars (Combat Essentials in Godot | P8)
How I Started with Godot and Why You Should Too | #GoGodotJam
zhlédnutí 4,4KPřed 3 lety
How I Started with Godot and Why You Should Too | #GoGodotJam
Damage Indicator (Combat Essentials in Godot | P7)
zhlédnutí 8KPřed 3 lety
Damage Indicator (Combat Essentials in Godot | P7)
for godot 4 extends Node2D @export var SPEED: float = 30.0 @export var FRICTION: float = 15.0 var shift_direction: Vector2 = Vector2.ZERO @onready var label = $Label func _ready(): shift_direction = Vector2(randf_range(-1, 1), randf_range(-1, 1)).normalized() func _process(delta): global_position += SPEED * shift_direction * delta SPEED = max(SPEED - FRICTION * delta, 0) float = smoother interpretations, uses decimal numbers int = precise pixel movements, uses whole numbers. randf_range, has more internal functionality and improvements in godot 4 and is the new standard. rand_range is viable. majority of the time now when it comes to calculating movements/speed/friction and entities in motion. you now use; move_and_slide()
does this work in godot 4
This is honestly awful. I should have just read the documentation.
Турель отслеживает игрока, но не стреляет и не печатает пиу-пиу. Делал точно по уроку с учетом 4-й версии
I hope there would be a way to make sonic-based tiles with it?
Sorry to necro a bit. But as I'm working with the code, hoped you might be able to help :) I've got the player working and all that jazz in the game. However the major issue is when I hit the next button to move on to next scene, it successfully changes scenes - buuuuut doesn't stop the prior soundtrack playing. Which then turns into the distorted mess as they play over one another. Any assistance you could render would be greatly appreciated.
Please, tutorial turret in spaceship 2d
I got it to unpause when directly unpausing game with get_tree().paused = false, instead of using set_deferred("paused", "false") which waits for next frame(there is no next frame when paused)
in godot 4 change: export(Array, Resource) var items_list: Array = [] to @export var items_list: Array[Resource] = []
Using Godot 4.2.2 This does not work at all for me. Doesnt do a thing, never pauses. I also set process.mode to Always. Doesnt do a single thing.
try searching for a tutorial on the same thing, this guy is using 3.2.2
SloWmo by Battlemode is fire!
Loved your tutorial man, thank you so much for the help! even 3 years after it was released
Regarding the inheritance of enemy, can you have it so there is multiple types of enemy_base without further inheriting from that?
Thanks man for this tutorial , I was tired of searching for a problem in audio but you came and fixed it I appreciate you keep going 🔥
Thank you!
what is that last symbol in 28 line turret
I am currently trying to update the hp_max to something different for the enemy and I get the error invalid set index max_value (on base: 'Nil') with value of type 'int'. This occurs in function func set_hp_max on line healthBar.max_value = hp_max. Please help anyone. Thank you!
I came up with a simpler way to cancel jump: If not is_on_floor() and not Input . Is_action_pressed ("jump") →|velocity . y -= gravity * 2 It makes gravity double when you release the jump button and it worked for me
How can you make enemies pause but keep the dialogue going?
for anyone watching this is 2024 and using a newer version of Godot, if you are running into a problem declaring your variables, try this instead: extends Resource class_name RandomItem @export var VALUE: String = "" @export var PICK_CHANCE: int = 1 @export var can_be_picked: bool = true
also change the export(Array, Resources) var items_list: Array =[] with @export var items_list: Array = []
@@WJMcCartney its actually @export var items_list: Array[Resource] = []
Круто, я б такое не смог сделалать!❤
haha i'm like number 666
For those coming across this tutorial now: the export code at the beginning will cause an error. the fix is to leave the variable declaration as is but delete the part that says "export(Array, Texture)".
❤❤
Hi! Your videos are really interesting and ı need some help in my GODOT game. Can you help me 🥹 and how can ı contact you?
Very aesthetic design😍 The game looks dynamic and interesting, I'm going to play it✨
"Doom but you're a wizard" fukcing rules as a concept for a game
DOOM and Hexen were some of the game's inspirations indeed :)
Banger
Nice, always cool to see a release of a game. Great work! :)
Thank you, man!
Ik godot 4 changed the variables. @export var number: int = 5 Im currently using export range for species variation of stats @export_range (1, 100) var Name: int Im trying to add personality integers as well is it possible to add to children levels for Base --> Species --> individual with nature? or am I mistaken?
Hey, great video, i am having problems converting this code to GODOT 4.0. In EntityBase.gd(*) my code outputs errors for all of the @export(int) var's, there are two error types recorded, 1: Annotation "@export" requires at most 0 arguments, but 1 were given. 2: Expected end of statement after variable declaration, found "Identifier" instead.
Man, I love the way you speak and the tutorial is super simple and easy. Very good content
Thank you so much! This was super helpful
شكرا جزيلا بكل لغات لم اجت الحل في محتوى العربي بشكل صحيح ❤ ساقوم بتجربته عندما اعود للمنزل
I learnt a lot seriously every time I see it i always learn something new ❤❤❤
in godot 4 still working, thx!
Thank you so much this is so much efficient ❤
Thank you ❤
Fellas! This still works in Godot 4 if anyone is wondering, but the way the sounds are removed from the scene broke a little bit. Here's the fixed code, it took a bit of trial and error but turns out you only need to add one more thing. extends Node func play_sfx(sound: AudioStream, parent: Node): var stream = AudioStreamPlayer.new() stream.stream = sound stream.connect("finished", Callable(stream, "queue_free")) parent.add_child(stream) stream.play()
In Godot 4 you don't need code anymore, there's a built-in solution. You can control the max polyphony of the sound and it will overlap with itself.
@@StefanGhioci oooh i didn't know that! tysm video's still useful to make a nice all encompassing audio controller imo
So, they removed sound from scenes? i tried every method, play(), autoplay = true, anything!, tutorials, but the audio i want to play doesn't play?? It's a 3D scene and i want something to play after I triggered something else, but it doesnt, the script is correct but no sound is there
@@AzureOtter Bro can you help me? For me it says that it was previously freed.
@@fznnbu I believe I got that error myself, but I don't remember what fixed it. It was a while ago now, sorry :(
thanks, mate
Thank you for sharing you knowledge, going to start today!
Great video man, everyone else overcomplicated this, your code made way more sense to me, even if it was for godot 3
for some reason my thing keeps messing up one sheet has 5 frames and the other has 4 and i guess they both need 5 or they mess up?
Nice video! Can you make an updated version for this in 3D for Godot?
I couldn't understand why my custom classes weren't picking up their parents child nodes! Scene -> New *INHERITED* scene was the magic I was missing! Thanks so much for that!
Is there an updated version of this for Godot 4?
You have to tweak the synthase a bit, nothing too hard just google it, I'm also learning with this guide
How to scale image from tileMap?
Thank you very much for sharing your knowledge! Excellent tutorial! The Eternal bless you!
Dude, this was really very good. Thanks so much.
Thank you. This bit of code helped me destroy my projectile, which I was having trouble with. if hitbox.is_in_group("Projectile"): hitbox.destroy(). Now onto the next problem. Connecting emit_signal between two different scenes (player and enemy)