- Видео 23
- Просмотров 1 283
Lumorsunil
Добавлен 26 окт 2024
Software engineer wanting to get more into game development.
Combat Part 1 - Side Scroller Action RPG Devlog #8
In this episode, we start to implement the combat system more, allowing the player to have health, be hurt and be defeated. We also draw the player health on the screen, and show a bunch of smaller improvements that was done in between videos.
Attributions:
Zig logo from: github.com/ziglang/logo
00:00:00 - Introduction
00:00:06 - Recap
00:00:52 - Inbetweeners
00:03:55 - Video topic
00:04:37 - Future ideas
00:07:54 - Player health
00:09:09 - Draw player health
00:10:08 - Health UI Component and System
00:27:08 - Debugging health UI
00:33:24 - Health UI working
00:33:42 - Player hurt
00:40:13 - Monster attack hitbox
00:45:55 - Player hurt state
00:47:50 - Debugging missing direction component
00:48:32 - Fix...
Attributions:
Zig logo from: github.com/ziglang/logo
00:00:00 - Introduction
00:00:06 - Recap
00:00:52 - Inbetweeners
00:03:55 - Video topic
00:04:37 - Future ideas
00:07:54 - Player health
00:09:09 - Draw player health
00:10:08 - Health UI Component and System
00:27:08 - Debugging health UI
00:33:24 - Health UI working
00:33:42 - Player hurt
00:40:13 - Monster attack hitbox
00:45:55 - Player hurt state
00:47:50 - Debugging missing direction component
00:48:32 - Fix...
Просмотров: 33
Видео
Deep, Dark Forest - Side Scroller Action RPG Devlog #7
Просмотров 3621 час назад
In this episode, we add a bit of atmosphere to the game by adding some level graphics as well as adding draw layer functionality and a bunch of other minor stuff. Attributions: Zig logo from: github.com/ziglang/logo 00:00:00 - Introduction 00:05:10 - DrawLayerComponent 00:07:06 - Adding layer support to draw system 00:15:10 - Debugging draw order 00:19:47 - Adding DrawLayerComponent to entities...
Damage, Health and Defeat - Side Scroller Action RPG Devlog #6
Просмотров 2214 дней назад
In this episode, we add hurt and death animations to the monster as well as a health and death system so that the player can defeat the monster in three hits. Attributions: Zig logo from: github.com/ziglang/logo 00:00:00 - Introduction 00:01:20 - Fix flicker issue 00:09:47 - Monster hurt animation 00:10:10 - Animation tool tour 00:12:23 - Creating the hurt animation 00:13:55 - Importing the hur...
Animation JSON - Side Scroller Action RPG Devlog #5
Просмотров 3414 дней назад
In this episode, we add support for importing animations via a json file that is exported from my animation tool. Attributions: Zig logo from: github.com/ziglang/logo 00:00 - Introduction 02:13 - Per frame duration scale 02:45 - Per frame origin vector 03:24 - New animation struct 13:07 - Changes to existing code 19:54 - Showing game 20:38 - Debugging origin 21:43 - Showing working origin
Player Attack - Side Scroller Action RPG Devlog #4
Просмотров 4414 дней назад
In this episode we add an attack animation to the player that can be triggered by an attack button. Attributions: Zig logo from: github.com/ziglang/logo 00:00 - Introduction 02:32 - Adding the attack animation 04:57 - Recording messup and testing first draft 06:15 - PlayerComponent code 07:21 - PlayerSystem code 08:32 - update code 08:42 - updateAnimations code 10:42 - handleInput code 12:24 - ...
Adding a monster! - Side Scroller Action RPG Devlog #3
Просмотров 4314 дней назад
In this episode we add a monster to the game, with idle and attack animations, monster AI state component and system, and the ability to attack the player when you get too close. Attributions: Zig logo from: github.com/ziglang/logo 00:00:00 - Introduction 00:02:43 - Preparing the load function 00:03:29 - initMonster function 00:04:25 - Adding monster spritesheet 00:07:34 - Adding RigidBody 00:1...
Friction and movement fine-tuning - Side Scroller Action RPG Devlog #2
Просмотров 5721 день назад
In this episode we add a hand-crafted friction to the player, we fine-tune parameters like gravity, movement, mass etc. and we also fix a bunch of issues along the way. Attributions: Zig logo from: github.com/ziglang/logo 00:00:00 - Introduction 00:00:20 - Tidying up the update function 00:02:02 - Explaining issues 00:02:27 - Adjusting gravity 00:06:35 - Friction discussion 00:11:41 - Collision...
Implementing animation system - Side Scroller Action RPG Devlog #1
Просмотров 6521 день назад
In this episode, we implement an animation system for the game, as well as fixing the walking animation of the player, implementing horizontal flip for the animation and we also discuss a couple of zig things like comptime, struct value copy and more! Attributions: Zig logo from: github.com/ziglang/logo 00:00:00 - Introduction 00:00:26 - Animation struct 00:05:20 - AnimationInstance struct 00:0...
Starting a new game dev project - Side Scroller Action RPG Devlog #0
Просмотров 25521 день назад
Join me as I start a new game dev project creating a Side Scroller RPG game with fantasy theme and fun things to materialize out of my own two programmer hands. Attributions: Zig logo from: github.com/ziglang/logo 00:00:00 - Introduction 00:01:18 - Game Design Discussion 00:05:03 - Implementation Discussion 00:12:27 - Creating the Zig Project 00:13:29 - build.zig 00:15:03 - Adding dependencies ...
Adding AI cars + music - Making a game with Zig + Raylib - Part 9
Просмотров 5421 день назад
In this episode we add AI cars into the game that drive around the city. Also bonus music implementation at the end! Attributions: Zig logo from: github.com/ziglang/logo 00:00 - Introduction 01:10 - Explaining waypoints 03:44 - Explaining three-way intersections 08:36 - Explaining precedence system 12:09 - Showing code for waypoints 13:59 - Showing CarAISystem code 24:24 - Demonstrating waypoin...
Making pedestrians smarter - Making a game with Zig + Raylib - Part 8
Просмотров 4128 дней назад
We are making the pedestrians not walk on the road and avoid the player car. Attributions: Zig logo from: github.com/ziglang/logo 00:00 - Introduction 00:56 - Demonstrating pedestrians on road issue 01:15 - Explaining how to keep pedestrians off the road 03:02 - Showing the code for pedestrians not on road 05:02 - Demonstrating pedestrian off the road solution 05:11 - Demonstrating issue with p...
Fixes after Game Engine Switch - Making a game with Zig + Raylib - Part 7
Просмотров 34Месяц назад
We are fixing the last bits and pieces to get back to where we were before we started the game engine switch. 00:00 - Introduction 01:10 - Fixing restart function 05:35 - Testing restart fix 06:38 - Fixing game over screen 08:05 - Fixing infinite customer spawn 09:40 - Enabling CustomerSystem and RandomWalkSystem 10:20 - Customer pushing car bug 11:04 - Implementing isSolid 12:45 - Invisible co...
Tagged Unions vs Interfaces - Making a game with Zig + Raylib - Part 6
Просмотров 83Месяц назад
I'm going through how and why to implement tagged unions and interfaces in Zig. I also go through a couple of the pros and cons of choosing between the two methods. I also go a little into how to make type constraints in the interface. 00:00 - Introduction 00:40 - Tagged Unions 05:06 - Interfaces 08:35 - Interface init function 11:30 - Defining an interface instance 13:37 - Interface type const...
Collision Algorithms FPS Difference - Making a game with Zig + Raylib - Part 5
Просмотров 46Месяц назад
We try out the new physics engine and compare the different collision detection algorithms to see how many collision bodies we can have. 00:00 - Introduction 00:58 - Brute Force, 92 bodies 01:48 - Sweep and Prune, 92 bodies 02:27 - Quad Tree, 92 bodies 03:45 - Brute Force, 242 bodies 04:40 - Sweep and Prune, 242 bodies 05:07 - Quad Tree, 242 bodies 05:37 - Brute Force, 542 bodies 06:02 - Sweep ...
Adapting to new Game Engine - Making a game with Zig + Raylib - Part 4
Просмотров 64Месяц назад
Adapting to new Game Engine - Making a game with Zig Raylib - Part 4
Quad-Tree in Zig Part 3 - Optimization
Просмотров 22Месяц назад
Quad-Tree in Zig Part 3 - Optimization
Quad-Tree in Zig Part 2 - Implementation
Просмотров 25Месяц назад
Quad-Tree in Zig Part 2 - Implementation
Quad-Tree in Zig Part 1 - Introduction
Просмотров 64Месяц назад
Quad-Tree in Zig Part 1 - Introduction
Making a game with Zig + Raylib - Part 3
Просмотров 582 месяца назад
Making a game with Zig Raylib - Part 3
Making a game with Zig + Raylib - Part 2
Просмотров 332 месяца назад
Making a game with Zig Raylib - Part 2
Making a game with Zig + Raylib - Part 1
Просмотров 1582 месяца назад
Making a game with Zig Raylib - Part 1
FIRST
FIIIIIIIIITST!! U GO MAN!
Something super interesting with your TUScene is that you could also inline the switch statement. That way you don't have to handle each tagged union case and it's even more maintainable. `inline else => |*s| s.update(rl.getFrameTime(), rl.getTime()),`
This is so easy that if for any reason the interface is not fast enough one could just write a small generation step in the build.zig to autogenerate all scenes as tagged unions and autogenerate the scene file.
That is very interesting, I will have to look into that, thanks!
I'm also creating a Quadtree for my game and was struggling a bit. It's nice to see how others have tackled the issue! I also haven't heard of sweep and prune but I'll definetly implement it, too. Thanks for the vid!
Good job. But looks like we need Zig++ for gamedev.
Thanks! Well yeah it would be nice with more features to make certain things less boilerplate, but I think it's definitely possible. What features would you like to see?
@Lumorsunil I wrote my comment more as a joke. I think Zig is an excellent programming language as it is. It's probably not worth reinventing another C++.
Haha sorry, you never know. Yeah I love Zig, even with the LSP being not really helpful sometimes, but Zig has really rekindled my passion for programming.
@Lumorsunil I'm happy for you! The most important thing is that what you do brings you joy.
¿Replace the array [MAXLINKS]?ecs.Entity with std.BoundedArray(ecs.Entity, MAX_LINKS) for WayPoint? Interesting fun project.
That's true that would remove a need for a bunch of the functions in the Waypoint struct, good catch!
Nice mini-CrazyTaxi clone, keep going! Good job.
Thanks! Haha didn't know there was a game called Crazy Taxi though :D