![mel0ndev](/img/default-banner.jpg)
- 6
- 51 071
mel0ndev
เข้าร่วมเมื่อ 6 ก.ค. 2012
devlogs. zig. raylib. gamdev.
get in contact: mel0ndev.contact@gmail.com
get in contact: mel0ndev.contact@gmail.com
game dev, but it takes me 1 month to add a basic feature because it's programmed from scratch
discord.com/invite/7MhfnbMmwe
Join the discord ^^^^
This month I worked on adding the bones to our building and gathering systems. Now, you can actually interact with the world as a player. The game still has a long way to go, but it's starting to take shape and every month it gets closer and closer to being playable.
Thanks for watching.
Join the discord ^^^^
This month I worked on adding the bones to our building and gathering systems. Now, you can actually interact with the world as a player. The game still has a long way to go, but it's starting to take shape and every month it gets closer and closer to being playable.
Thanks for watching.
มุมมอง: 10 854
วีดีโอ
I spent 30 days learning shaders to avoid drawing pixel art
มุมมอง 32Kหลายเดือนก่อน
join discord: discord.com/invite/7MhfnbMmwe I spent the entire month of June learning how to use and implement shaders in GLSL to give my game a much needed facelift. Elixir Punk still has a long way to go aesthetically before it's ready for release, but this is a nice step in the right direction towards finalizing a cohesive visual style. Let me know what you think. Thanks for watching.
I added CRAFTING to my indie tower defense game | Elixir Punk Devlog [2]
มุมมอง 4862 หลายเดือนก่อน
In this video, we add a basic crafting system to Elixir Punk. Videos are probably going to take longer to make now that we're getting into the weeds with creating systems, but I am aiming for one devlog at the end of the month. I hope you enjoy. Go support raylib and zig.
Making an inventory for my indie survival tower defense game | Elixir Punk Devlog [1]
มุมมอง 1.9K3 หลายเดือนก่อน
In this week's devlog, I make the inventory system for Elixir Punk, but not without first wanting to douse my keyboard in oil and light it on fire. I made a lot of mistakes trying to get fancy with optimization, but they backfired badly. In the end, the first solution I thought of turned out to be the best one. Enjoy!
Programming a game from scratch with Zig and Raylib | Elixir Punk Devlog [0]
มุมมอง 6K4 หลายเดือนก่อน
Ah yes, the infamous devlog index 0. Here, I introduce you to the game, why I'm using no engine, and a brief technical dive into some of the code. I'm planning to release these bi-weekly at the moment, so stay tuned for the next one. Lazy Flood Fill Algo: th-cam.com/video/YS0MTrjxGbM/w-d-xo.html
vim + solidity workflow for giga chads (based and redpilled)
มุมมอง 3832 ปีที่แล้ว
some absolute basics for using vim for maximum productivity. dump vscode and become a terminal chad
Hey the discord invite link shows expired so how can I join it?
ah, thanks for letting me know. I could have sworn I added the infinite timer, but I guess not. You can join here: discord.com/invite/7MhfnbMmwe
@@mel0ndev Thanks! ^^
self.melee_is_up = !self.melee_is_up?
ah yeah, I didn't even notice. I tend to use ternaries quite a bit so that's my go to, but yeah, that's a much simpler shorthand.
@@mel0ndev Yeah that's fair enough. Doesn't really make a difference in the long run, I'm just being pedantic. Really cool game btw, and the quality of your devlogs is miles above what I had expected!
@@tanmaybansal1634it's ok, bro, pedantic is good sometimes. And thanks, appreciate the kind words!
this is the way
amen, brother
So cool man! Can't wait to play it! On a side note: what linux distro do you use?
arch linux! wm is hyprland, bar is waybar. And thanks, I'm glad you like it!
What virtual desktog/TWM are you using?
And distro. Your rice looks sick!
hyprland! with waybar and colorscheme is catpuccin frappe, a classic combo. oh, and the terminal emulator is kitty, just in case.
Ugh...I wish someone would start game dev with Claude 3.5 sonnet.
song at 4:50?
7:34 too/ EDIT: FOUND - th-cam.com/video/YQtNuLsqg2E/w-d-xo.html
a banger for sure
My best advice is to set like goals like in this video. The like goal should be like 1k
That IS gorgeous
Great work 🔥
What does “doing a swinging animation with animating” even mean?
without* animating, referring to pixel art. That could have been more clear lol. I am lazy and animating is hard and if I do it will probably look shit unless I spend a lot more time than I had, so I cut corners where I could.
I personally despise game engines, at one point I made a 2d procedural generation + building demo, using SDL, I've also done some opengl, but my preferred practices are not exactly ideal, I do find 2D a LOT easier to make engineless/from scratch games than 3d and personally it is easier to implement 2d things without using an engine than with one.
absolutely agree that 2d is much easier engineless. Too many abstractions in an engine that are meant to be as general as possible, but you don't end up using most of them. Much easier to roll you own in most cases, and when it isn't practical, you can still use libraries. use what you want, do what you want, no need to sort through settings you're never going to use
I completely agree is so much fun once you created some basic tool yourself aswell.
i love seeing zig get attention, based as hell doing this from scratch
thank you sir! Love zig so I gotta put it out there.
Hold up so we ain't talking bout the goals?
So it's just Minecraft Fortnite.
less minecraft, more terraria style progress (actually very heavily inspired by the terraria progress, w/ bosses, multiple ores spawning at certain points of the game only, and a hardmode). and kind of fortnite style building I guess? no elements of a battle royale tho.
@@mel0ndevhey what game is that at 0:10?!
@@kennytrenOutpath. It's on steam and it's a banger
can you create a tutorial from scratch on how to setup zig + raylib environment. and maybe show how to properly build the exe after
there's lots of examples online already, but if you join the discord I'm more than happy to help out w/ setup. It's actually pretty straight forward
let's go zig game dev!
You can't add bangers to the soundtrack and not link to them
haha I will see if I can find them for you, they all come from a future funk copyright free playlist tho
lets all love raylib.
love how easy it is to use and learn, makes everything so much quicker to implement
Reminds me of Mindustry in a good way
Just checked it out after a few others said the same thing, lots of overlap! Very good looking game, will def have to pick it up at some point
Its similar to mindustry, maybe you could use that as a reference for the controls and enemy pathfinding. Anyways, good luck, don't give up, and don't go hollow.
Second person to mention that game, I'll definitely be checking it out. Thanks for the suggestion, my man.
prithee be careful
I really liked this video, and just to mention it, I feel like the base idea of your game is a bit similar to Mindustry, maybe you can take some ideas from that game. Good luck!
Oh interesting, I haven't heard of it but I will be checking it out. Always down to yoink features if they work better than what I have.
Neat!
This is amazing. Watching this series is so inspiring. But where in the hell do you learn all this stuff. I've made two very mediocre (at best) games in the past as school projects using Unity, so I've never had to think about the underlying stuff. The idea of making my own game from scratch has haunted me for years. I've made countless prototypes, read books, watched tutorials. However, when I get to a point where I have a box reacting to WASD inputs, I don't know what to do next. I'm never sure about how future-proof my code is and most of the time it just ends up being an unoptimized mess with me having 0 clue how to optimize it. Did you learn all this at school? Are you learning as you progress with the project? Do you have any resources you'd recommend?
I'm glad you're inspired! And no, I didn't even start programming until I left school, I was a bit of a late bloomer in that regard. You don't need any formal education, just the time and energy to read lots of code from people implementing things in different ways. The majority of code that I write for this project is fairly basic and will have to optimized later, but that's ok with me. I worry about getting a basic implementation that works first, and then I can optimize it later if needed. A lot of things I've never implemented before take a while to figure out, but sitting down and figuring out how to do something you haven't done before is a learnable skill, and once you do it enough times, you'll realize you can figure anything out given enough time. It just takes time. I would highly recommend raylib for learning games programming, it's a really great tool for getting more low level without having to deal with OpenGl or Vulkan yourself. Good luck! I hope you'll let me know when you've made something cool!
@@mel0ndev Thank you for such a detailed response. I remember I attempted to do some OpenGL in C in the past, only to just get the application window to open and abandon the project, lol. I'll give raylib a shot. And also, that kinda leads me to another question, if you don't mind. When starting a project, I usually set myself a reasonable goal and I break that goal into smaller goals, and as I pick out one of those smaller goals and start working on it, I realize that that goal has to be broken into smaller goals again and once I truly realize how much there is to learn/do, I drop the whole project. Do you ever get overwhelmed when working on a project and if so, how do you deal with it?
Perhaps in the past when I was younger, but breaking things down into small, manageable tasks is just how you accomplish big goals. Games take time, and so if you can break it down into very small things you can do day by day, the progress quickly stacks up. This game has been in progress for the last almost year, on and off, and it will probably be another year before the full release or longer. I think if you try to understand that taking things day by day is 1) how you improve and 2) the only way to actually make progress on a large project, you can really start to make headway on some larger goals. You've already got a good start by breaking things down, now comes the fun part of actually doing it and slowly but surely marching the goal post towards the finish line. Perhaps some smaller scoped projects might be good to get a feel for things, but if you have a project idea you desperately want to see come to light, by all means go for it. Hope this helps!
@@mel0ndev Motivating as hell, man. Thank you, jumping on my project right now lmao. Can't wait to play your game on release.
hi! cool project, good luck! also, what's the color scheme in your code editor?
it's called catpuccin, the middle one, I believe the name is "frappe", but if you go on the catpuccin site you should find it
@@mel0ndev thank you :3
Should def learn to draw ✍️
oh yes, I will need to at some point!
Progress! Keep it up!
thanks! appreciate it, man.
I would make the item display on the mouse and not the player. Still display the item for animations though. Also the way you made tiles and other objects work is horrifying and if you could unexplain it for me that would be great!
lmfaoooo yeah try working with it. The item gets displayed when the player holds shift to ender build mode, do you mean just display it always on the mouse? That might be better actually...
@@mel0ndev Ima be honest I wasn't paying much attention and just kinda assumed it was as long as you were holding the item that it would get rendered in front of you. The item only being displayed in build mode makes it quite a bit better for me but I'm still not crazy about how it looks, maybe you could try rotating the item towards the mouse??? But it might be better to just set it aside for now and come up with exactly how it would look later. 9:58 looks like a much more pressing problem to fix than this. Also, make sure you actually make a working version of the game before polishing it too much as you never really know what mechanics and towers you're going to keep or throw away until you can actually test them. Then again, squares and circles with no cool effects don't make good devlog material.
@@codinghuman9954oh nah don't worry, I don't think it was featured very prominently in the video. And yeah, definitely gonna focus on tower mechanics over polish, but getting a feel for how people react to things currently is still valuable.
I click these logs as soon as I see them :). Its honestly so inspiring!
hey, thanks a bunch! so cool to hear you say that
I've recently been learning shaders myself, to avoid excessive amounts of pixelart-- My big project right now, is a PC98-styled game, and it requires 7 differently scaled copies of each art asset., at a 640x480 resolution. To avoid a ton of manual cleanup, I've switched over to using vectors, with a rasterizer, and a simple shader to handle flood-filling the shapes.
flood fill is a nice idea, love it.
thing seems a little too random, depending on what your game is about i would consider having the tree density a little more consistent, with road, or trails and open space, and i hope the default zoom gonna be a little closer
it's procedurally generated! Tree density will be tweaked as development continues, but as far as roads or trails, those will be up to the player to construct however they see fit
Great vid my advice is can you zoom in
yep, doing it in the next video! thanks for the feedback
what is that based pixel art editor ??
it's called libresprite, a free fork of the very popular aesprite.
@@mel0ndev thanks
add cloud shadows
this is actually a planned feature in the lighting system, along with a bunch of other stuff
I actually do this a lot whenever someone asks me about games and game development I tell them to start with the mother of it all aka "OpenGL" and mainly shaders cause if you can get a shading engine running you have like 50% of the graphics done, I usually tell them also to make their own shader IDE more points if they can give it a 2D boxish blender like shader editor
it was a very useful learning experience for sure, helps get a better grasp on the graphics pipeline
You could have still used an array for your inventory. Just have a fixed length of 100 or whatever max you want and store the current capacity of 10. When the player upgrades their inventory you increase the capacity
yeah, absolutely, that would have worked perfectly. One thing I didn't mention (because I'm bad at making videos still) is that the upgraded inventory idea came from a long list of rpg type features where you could upgrade parts of your character over time, including inventory space, but I decided to nix this whole idea to simplify scope. Chests/backpacks will be more in line with the current scope of the game and simplify things quite a bit for me. and also past me is retarded, so he didn't think of that.
also to fix texture bleeding you cah either clamp the texture, either add a one pixel padding in the atlas, either use bindless textures and have a different texture per tile
just watched your video on bindless texture actually, it will help a lot later I am sure. Clamping didn't really work out like I'd hoped, so I added a pixel buffer for now, thanks for the good suggestions.
yo that's a cool thumbnail 👍 the game is of course also very cool looking good stuff
no waaaay, big fan of your content! and thanks, means a lot coming from you
in fact you are learning art.
shhhhhh, don't tell anyone tho
idk if anyone else has mentioned it, but personally i would add shadows for a quick visual boost, that might also help tying everything together, but i'm no expert on this artsyle, thats just something i feel is missing. also a pet peeve of mine is pixel graphic games that do sub pixel movement. makes the pixel art feel forced. but that might just be me.
yes, shadows are a must. The current plan is to add in a lighting system in another month or two, along with the day/night cycle.
Your priorities are inverted. Braid had no art implemented until the month before its release. Source: The creator of the game Gameplay can be refined and polished without focusing on the art
as much as I would love to do that, unfortunately this is youtube, where thumbnails and visuals are king. Braid was created in a different time and landscape and under different circumstances. I want the aesthetics in this game to be an iterative process, and the more eyes and feedback I get early on, the better I can shape the way the game looks/feels visually as I progress further into development. I understand your point, though, and it's a good one. However, I am relying mostly on these videos as my sole form of marketing, so the better the game looks earlier on, the easier it is to get people to click. Hope that makes sense, there is a rhyme and reason to doing it 'backwards'.
i see zig, i like. i've been building a vampires survivor clone in zig after having jumped around from engine to engine for years and never liking what i've used. zig + raylib has been an absolute joy to work with.
I could not agree with you more if you paid me. It feels so damn good.
Solid results! Shaders for pixel art tend to be pretty limited, but you can get a lot from downsampling higher resolution shader effects and styling them to suit pixel art rules. I think you'll probably benefit from a bit more tree and terrain variety. Particles are a great touch, and you can make some bee or butterfly particles. A bit of vignette or edge fogglow can help the visuals pop a little bit. Some emissive textures, especially in any caves would look great.
thanks! I was also thinking butterflies/birds would be good later on, still lots to do in terms of gameplay, but trees and more biome work are all planned for the future. I'm not sold on the art style of the game quite yet, so I am avoiding committing too much time to drawing more sprites, but I do agree with you, the biome is quite empty at this point. Also, solid suggestions on post processiong shaders, I too was thinking vignette, but I don't really have any other ideas, besides maybe bloom when I implement lighting, so id you have other ideas lmk. I would like to set up a post processing shader pass when I have enough ideas.
I tried shaders. I just don't get them yet. Good luck! Good old parralax shadowns and other tricks are fine for me now lol.
definitely a shift in thinking to go from cpu programs to gpu programs. Biggest thing for me was wrapping my head around how to pass data between the two to get things that I already had cpu side into the gpu. I didn't really go into it in the video, but there was a solid week of banging my head against the keyboard before I finally had the "aha" moment and kind of understood how the basics worked. Keep trying, you will get it eventually, they are not that bad once you get the hang of it!
Based programmer refuses to do art Godspeed
lmao, glad someone appreciates it
Everytime you said you changed stuff with the water I couldn't really tell a difference either you change it to slightly or its because the camera is super zoomed out I have to squint when I watch your game. I would advice you to have the viewport a bit more zoomed in so the players can enjoy all the effects you have made 😊
haha the old water was just a solid color! Maybe I didn't make a clear enough distinction between the old water tiles and the experimental shader I teased at the end of my last video. You are also not the first one to mention the viewport, so thanks for the input. I do think while it looks fine on an actual screen, when put onto youtube, it doesn't scale as well, which means that I do need to scale it up when recording/uploading. In game you can zoom in and out to your heart's desire. I'll definitely be more conscious of that when recording clips for the next devlog, so thanks!
The shader looks nice on the water, and I like your overall colors they go together nicely but I think they're lacking a little bit of contrast. I recommend adding either a more green/turquoise color of a different shade to the water and possibly to the green areas as well to not only add some contrast with the color pop, but also maintain unity. Maybe that's not quite the right color choice, probably experimenting is a good idea, but as is everything is roughly the same value so it blends together a little too well and lacks definition. A good rule of thumb is to push shadow colors towards the cooler side (if green shift the hue towards cyan or blue, if an orangey warm red, shift the hue towards a cooler red that's closer to magenta), and for highlights color shift towards warm because the sun gives off a warm sort of yellow look. That makes the art stand out more/feel more dynamic and like it has depth and three dimensionality with very little changes. Your color palette right now is very much on the warm side, with warm greens and pinks, and the range of values on the trees is very nice, so just a small adjustment in the shadow colors (by color shifting towards blue) I think will make a huge difference, while the water just needs a little bit more contrast through adding another value to help it stand out and feel like it has depth (currently the shader you added is difficult to see because of lack of shade variety). I hope this advice makes sense and is helpful to you :)
thank you for the suggestions! I believe someone else also suggested shifting the colors for highlights and shadows, I will definitely be taking that into account as I continue experimenting with the sprites.
dude I do the same thing you do every time. I go to implement a feature and try to over complicate or over optimize it (I try to use one for loop instead of two for a three length array, as if it matters) , and then it takes a whole day instead of an hour to implement.
it's such a time sink. Unless you've implemented it before or know some base level optimizations (A algo is better than B) it's better just to do it the simplest way you can and then optimize later. Sometimes you just gotta relearn that lesson tho lol.
Listen, this is greatly beside the point but I had to pause at 2:43. Obviously you did external research (which is important) but ChatGPT is an LLM, not an encyclopedia. If you rely on it to get information and especially to set your trajectory for research you're gonna get burned hard the second you ask it for something outside of your realm of knowledge that you can't sus out inaccuracies. The software company I work for and the academic department we have a contract with both have using it as a "professional" tool as grounds for probational measures, and it's just the kind of thing you'll get laughed at for using in the first place. Seeing that kind of thing immediately makes me dismiss any information or perspective someone offers because if it's informed by something like that then any inaccuracies don't even come from a place of fundamental misunderstanding, just one of inaccuracy.
FINALLY someone who is using zig, im familiar with rust and i have been trying to find some videos which use zig for more complex projects rather than the simple api, cli, etc. Thank you for making this video and just a small favour but if you have any creators in mind who also heavily use zig or even rust for their projects please please tell me!
hey! yeah zig is actually in a really great spot right now, despite not even being a 1.0 release yet. As far as creators go, I'm afraid zig is few and far between, though there is a guy called quantum developer who is writing a voxel game in zig atm, and the primeagen is also writing a game in zig on stream right now. for rust, my favorite is tantan, who is (also) writing a voxel engine. Hope you find one that you like!