00:00
00:00
ImmanentDeath
Keeper of the Lunar Lighthouse.

Joined on 12/29/17

Level:
12
Exp Points:
1,445 / 1,600
Exp Rank:
46,319
Vote Power:
5.40 votes
Rank:
Civilian
Global Rank:
> 100,000
Blams:
0
Saves:
24
B/P Bonus:
0%
Whistle:
Normal
Trophies:
1
Medals:
240
Supporter:
2y 5m 19d

ImmanentDeath's News

Posted by ImmanentDeath - September 28th, 2023


iu_1088327_6694842.png


I want to talk about two of my games. The first is Quantron’s Game, which I’ve finally finished and just released after, well… 5 months. After I said it’d take 3 weeks. It took so long that the next Ludum Dare is starting now.


The second game is The Legend of Quintavius. This is also the explanation post I said I’d write. Will it be coherent and well-organized?


…No. TL;DR, I still don’t know what I’m doing.


My original plan for Quantron’s Game was to jam for 3 weeks straight and make a bigger game for Ludum Dare Extra that I could in just a weekend, as I’ve said before. But that plan evolved into a series of potential backup plans as I began to see the errors of my ways. I started this project even though I knew I’d be away from home for a week, thinking I’d have far more free time to work on it than I actually did. Then I got my work schedule, and I had to go to work for 6 days straight right before my time away. So I thought maybe I could still make half of the game for the jam, maybe the first 2 worlds, and release the other half in a content update sometime later. But ultimately I was only able to release just one… level. And it wasn’t even finished.


Needless to say, I overscoped. I can’t believe I fell into this trap, even after making over 10 other games. I truly cannot fathom how I thought I’d make this in 3 weeks.


For this game, instead of experimenting with one or a few ideas, I designed it to be as cookie-cutter as possible, so obviously based on other games and genres, and I tried to simplify every mechanic as much as I could. Not just because I like them and wanted to explore them, but because I thought they’d be easier to program, and therefore viable for a jam.


Then I went and made an entire AI for the second player character to be able to play the game itself. And it isn’t even good enough to play alone. You have to help it.


5 worlds is a lot of content, and I really should’ve just cut most of it. If I had been on track to finish the game before the jam deadline, I would have forced myself to. But after I missed the deadline, and for this game in particular, I just couldn’t bring myself to remove all this stuff. And instead of scrapping a project and moving on like most probably smart game devs, I tend to decide that, at a certain point, I’m in too deep and can’t turn back now. So I do more work, and then I feel that way even more, yet the goal post seems to be moving farther away. It deeply upsets me that I seem unable to fully realize my vision, even if I try to course correct.


I think Fitzcarraldo from the Dictionary of Obscure Sorrows pretty much sums it up.


I guess it’s one of those artist problems, that you can’t ever make something exactly the way you imagined it. And at this point, I realize the jam was just an excuse for me to pursue this idea. It was never a jam-sized game to begin with.


For crying out loud, I composed not a single song, but a whole soundtrack. For a failed jam game.


Remember when I said I’d never call myself a musician? Well I want to retract that statement because that’s not what I meant. I now realize I don’t really like that viewpoint, and that it might even be a little hurtful. And I will not hesitate to reevaluate a viewpoint of mine if I learn this to be the case.


I am of the belief that if you make art, you’re an artist. Because that is what an artist is, by definition. What I meant to say is that I’m not a professional musician. It's not my career, not how I make a living, and I don’t plan on making it that. I’m an amateur musician, but still a musician nonetheless. The same is true for pixel art. I don’t even make it consistently, but I do make it. Sometimes. Thinking this way, it turns out I’m a lot of things, which isn’t surprising since I make games by myself. I just have a hard time seeing myself as a professional… any of them.


I’m an artist with impostor syndrome who hates his own art. But while that isn’t really new around here, it isn’t much of an exaggeration. I’m proud of every game I’ve made, but lately I’ve been finding myself frustrated with the process.


Reaper and Sleeper are a lot like the 2 vastly different mindsets I have right now. One of them wants to eradicate every flaw, every deadly glitch, and make the world perfect, a task that we all know is impossible. The other wants to abandon the whole thing, to shut it down and start over, and to try again a different way or with something else entirely.


It’s about my inability to vanquish my own creation. I care so much about my games that I can’t let these things go, and at the same time I feel like I have to just get it over with and release something broken if I ever want to be done with it. And I know there'll be people who won't read any of this (not that I blame them) and then shit on the game because of how many bugs there are, and I am sorry but I’m not going to fix all of them. I don’t think I can. I will still try, but the game is jank on a fundamental level, and I have to move on at some point.


No game has suffered more from this struggle in my head than that ever-infamous “one game I’m making.”


After I graduated and went looking for a job in the industry, I found it rather difficult. I began to think I was simply not capable of doing the things that I earned a degree doing. So I began the year of 2022 planning to focus on something else, to finally finish The Legend of Quintavius. But everything slowed down after I had to get a day job. So I started making some hard decisions.


For a long time, I had stubbornly wanted to make the dragon sprite myself. But I recently decided it would be more practical to commission someone far more experienced in the art of drawing dragons, someone who could do it far better than I ever would have.


I also released the game unfinished and called it open beta. It’s important to get your game in the hands of players, because it will never really be finished. You can’t make it perfect, and there’s always something more you could do. It’s why scope is such a big deal. But I also released early because I figured it’d be helpful to know what bugs would actually bother people. Yet to this day, my google form still has 0 responses. I have no feedback. It’s just the fact of the matter that, without cold hard criticism, I can’t get an objective look at my work. No, I haven’t really been properly marketing this game lately, but I did try to.


I decided that I'm not going to fix most of what I considered to be bugs, for that reason and many others. It’s just not worth it. Of course I’m not allowing any game-breaking glitches, but if the archer gets stuck under a rock, or runs off into the wilderness and gets swarmed by orcs, that’s not a bug. That’s a feature. I talked about this more in another devlog, about how the fog of war makes the game more realistic, its characters more like real people, even if it isn’t great game design. At the very least, if I can inform players of every known bug, that helps.


The gameplay is just an ambitious idea I had 4 years ago. What really matters is the experience itself.


It’s a labor of love, a carefully crafted work of art, a world and characters that I truly care about. Every game I make is a fan game of something, and this one is a fan game of the entire fantasy genre, of stories like Lord of the Rings and Eragon. And what started as the second game I’ve ever made became the biggest game I’ve ever made. Part of me believes that it could be successful, reach new audiences, maybe even form its own community. I already have ideas for potential sequels. It’s one of my greatest achievements, and I’ll never regret making it. I’ve given as much of my soul as I could to it, and it’s never enough for my own insurmountable standards. I’ve given up on it several times. Part of me thinks this game has been a failure the whole time, that I should just get it done and move on without regard for quality, or not even do that and just cancel it, because it was never going to go anywhere and nobody cares about it. I feel like I don’t care enough about it, that I didn’t work hard enough or that I wasn’t smart enough. I’ve been wasting my life on it. I’ve been questioning whether I even want to do this anymore.


‎ㅤ


Why am I still doing this? This isn’t a hobby anymore, if it ever even was. I don’t make games for fun. Sometimes it is and sometimes it isn’t. But I don’t make them for money, either. It would be nice if games could pay for my existence fees, but it still seems far from a viable career. And that was never my main reason anyway.


I make games because I have to. Because it’s the only thing I can do. The only thing I do, at all. I am compelled by something to create. Any time I’m not making games, I’m thinking about them while I do something else, or nothing at all. It’s what I decided to go to college for. It’s what I have a degree in, what I accrued student debt for. In case you were starting to wonder, I’m not going anywhere, because there’s nowhere else for me to go. If there’s anything I’m to do, it’s this. Nothing else is more difficult for me, but nothing else is for me. It’s the only purpose I’ve ever had.


Every game I make has a story. Every game I make is part of one big story. That’s why I couldn’t stop myself from making Quantron’s Game, why I refused to give up on it even though it drove me crazy. It connects every single game I’ve ever made. It shows how everything is part of just one universe, and how it was always meant to become something so much more, a larger story that I no longer feel I will ever be able to tell by making games.


I’m not giving up because it’s difficult, I started in the first place and I’m still going, because it’s difficult. That’s why all my games are so hard, because otherwise I feel like they’re not worth playing. And that’s one thing in particular I’ve been trying to figure out, too. How do I design a game that’s both fun and easy AND still challenging, that’s rewarding to play instead of just rewarding to beat?


But I feel like I’ve reached the limit to what I can do by myself. That’s why I asked for help with the dragon. And there are even bigger games I would love to make, games that I know I could never make alone. I have thought about how I might put together a team, but that’s a whole other set of challenges that I don’t think I’m ready for right now.


So what am I going to do? Or rather, try to do? Because I haven’t been following through on my plans. I’m tired of saying I’ll do something and then beating myself up for not being able to do it.


Well, I want to return to The Legend of Quintavius, and I will not start making another game until it’s finished. And instead of banging my head against the wall trying to solve bugs, I’ll take a more artistic approach and focus on refining the story, visuals, and music, one last time. Hopefully this means I’ll be able to meet the approximate deadline I have in mind, but I still won't say when that is because I don’t really trust myself anymore.


It will be the last big web game I make for the foreseeable future. I just don’t have enough time to keep making them at this rate anymore, not without stressing myself out.


I still want to make games sometimes. After all, I know more about this field than any other. But they have to be either tiny, simple web games made during a weekend, like for a game jam, or a single large project with no deadlines that I work on every now and then, for fun or maybe to sell eventually. But these medium-sized experiments just aren’t feasible.


Instead, I’m going to focus on doing something completely different. I’ve been reevaluating how I might tell more of my tall tale in a much easier medium. Because it doesn’t have to be just games. Stories come in all shapes and sizes. And for my next story that I’ve been itching to tell for years, one I originally planned to be a game, I think I found an even better way to create it.


But I won’t make any promises. I can’t make any promises. Because I put all the skill points I had in game development, and while a few of them will transition over to this new idea, there’s a lot more I’ll need to learn.


I feel bad for venting, but maybe you relate to some of these things. If so, then I just hope this is something you needed to hear.


Here’s a more positive look at the Quantron’s Game situation. Maybe the one level I did end up releasing for Ludum Dare 53 was enough for a game jam after all. Something that explores the idea and gets it in people’s hands. That’s the whole point. It doesn’t have to work, it’s just a neat little thing that I made.


Thank you for reading.


3

Posted by ImmanentDeath - September 16th, 2023


iu_1078418_6694842.png


Posted by ImmanentDeath - July 13th, 2023



Posted by ImmanentDeath - June 22nd, 2023


iu_1001977_6694842.png


Since there's no deadline for this game anymore, I'm taking as much time as I need. My goal now is just "as soon as possible."


I tried to design it with only what would be needed in mind, but even then in retrospect it was definitely overscoped. Lesson learned.


Posted by ImmanentDeath - May 28th, 2023


Secret project coming soon, and then I swear I'll finish Quantron's Game.


iu_981587_6694842.png


2

Posted by ImmanentDeath - May 18th, 2023


iu_973943_6694842.png


Well I did say that this game might be late because life is happening and boy it sure did happen. This game is nowhere near as finished as I hoped it would be. So I’ve put together what I have and released it as unfinished, so I can play Ludum Dare games before rating ends. Sorry about the wait, things just didn’t go as planned.


There isn’t much here, just one level and some basic mechanics, and a few bugs of course. But I am still going to finish this game as soon as I can. But I also have another secret project that will probably be released first, because I just can’t work on one thing at a time.


Here's the Ludum Dare page.


2

Posted by ImmanentDeath - April 30th, 2023


iu_960088_6694842.png


1

Posted by ImmanentDeath - April 27th, 2023


iu_958239_6694842.png


I want to make a game that has existed for years in my head and in my notes as an ambiguous, ever-changing concept until recently, when I came up with a plan for how I could make it in just a few weeks for Ludum Dare.


This means I’ll be submitting it in the Extra category (honestly I might not even make that deadline because life is happening). I may try to release a demo or “part 1” of sorts so I can play and rate some other games.


And even though Extra doesn’t use ratings yet, I’m still opting out of some categories anyway because some of the assets I’ll make will be similar to assets I’ve made before. I still want to make new and original things, derivatives and iterations. I just want to keep it fair. (there is one graphic from my first Ludum Dare game that I’m just gonna put in this game as it is, because there’s no reason to make a new version of it)


As for the theme, depending on what it will be, it might already fit my game, or I could add something that uses the theme, or I might just ignore it and opt out of that category, too. It would be neat if I could make it fit, but I already know what game I want to make.


I’ll be sure to explain all this in the game’s description, too, so everyone knows I am not causing problems on purpose. But I wouldn’t be doing all this if it wasn’t to make a really cool thing. I just have way too much visceral creativity bottled up inside. It's not always useful, especially with big projects I’m supposed to be working on instead, like that one game I'm making.


3

Posted by ImmanentDeath - January 24th, 2023


iu_877209_6694842.gif


Well I can hardly believe it but I managed to finish Subpixel in time for Pixel Day. It was so last minute, I made that background above the day of, shortly before I published the game. Two games in one month, and both of them were too close to the deadline.


But now I can finally talk about how I made this game, because I used a lot of weird tricks to achieve the visual effects, and I had to do a lot of *gasp* M A T H to program the gravity mechanic. Maybe if you’re having trouble figuring out how that works, this post will help you understand it. (I really tried to make this game not hard…)


How gravity works


Most scenes have an invisible boundary between one direction of gravity and another. They can be horizontal, vertical, or diagonal boundaries. Some scenes have 4-way gravity with four diagonal lines around a center point the player falls towards (or away from). Here are some examples, showing the boundaries and directions of gravity.


iu_877204_6694842.png


When you cross a vertical or horizontal boundary, gravity reverses. It was simple to program; in the middle example above, I just check if the Y position of the player is less than or greater than the Y coordinate the boundary is at. There are also some scenes where you fall away from this line instead of towards it, and others where the direction of gravity is perpendicular to the line.


When you cross a diagonal boundary, gravity “rotates” by 90 degrees, and I had to do more complicated math to calculate if the player’s position is on one side of the boundary or the other. The equations for these lines are just y = x, or y = -x. So in the example on the left, I check if the player’s X position is greater than their Y position. In other words, are they farther to the right than they are down? (in Stencyl the coordinates start with 0, 0 at the top left, so as Y increases it goes down instead of up.)


Then I have to offset it by where the boundary is, since it usually doesn’t start at 0, 0. And for y = -x, I have to somehow reverse the player’s X position by making it negative and then adding the screen width. I don’t fully get it, but it works.


It’s one of those cases in math and programming where figuring out something that seems simple at first is actually super complicated, and can be more confusing than it feels like it should be. But I think I got something that feels somewhat intuitive to play.


False tiles and warping


The other mechanics in this game are much simpler. Starting in the caves, some tiles will be fake and you can move through them. And later on, you’ll find invisible tiles that you still collide with. They’re just a copy of the tileset with no collision shapes, and transparent tiles with collision shapes.


iu_877203_6694842.png


Warping is also simpler than it sounds. Usually when you cross one edge of the screen, you reappear at the opposite edge. But sometimes you won’t end up exactly across from where you were. In this example, the arrows point to where you’ll warp to.


iu_877205_6694842.png


Normal warping is easy to code. For example, if the X position of the player is less than 0 (the left edge of the screen), I just set their X position to what the length of the screen width is (that’s the right edge). But I couldn’t figure out a smart way to do the weird warping where I break that rule, not in time for Pixel Day. So I just put individual checks in every scene, which is messy but it works.


How I made the visuals


The original idea was a game with onebit graphics where the colored pixels would constantly hue-shift, creating a rainbow effect. I decided to deviate from actual onebit and added another darker color, just because I thought it looked better. It gave the graphics depth and shading, and made the onebit style look flat in comparison. So that’s why Subpixel is “onebit-inspired.”


But I also came up with another, way more ridiculous excuse that I like to call…


⋆ ★ Q U A N T U M  O N E B I T ★ ⋆


…where every pixel on the screen is either on, off, or both at the same time at any given moment. In other words, they’re either black, colored, or colored at 50% opacity. This idea was so fascinating to me that I was looking for any opportunity to make a game with this visual style, and Pixel Day turned out to be perfect for it.


So how did I make this work in a game? Stencyl is a great engine, but it’s not without its quirks. And if I were to constantly apply effects to everything on-screen, surely that would cause catastrophic damage to my already traumatized computer. So I have to use as few objects (called “actors” in Stencyl) as possible.


The player, shooting stars and twinkling stars, the pause menu, and some text on the title screen are all actors. They’re tinted with the current color, and some of them also have an additional black outline actor behind them that doesn’t get the effect.


But everything else you see in a scene is a tile. The ground of course, but also the sky, and even the title on the title screen. I imported those entire images as tilesets instead of backgrounds, because they all have to be on the same layer, and here’s why.


iu_877206_6694842.png


Every pixel in a tile that would be colored is transparent in the image file. Then the color goes on a separate layer behind the tiles. So if I had a normal background behind the tiled ground, or if I had more than one tile in the same place but on different layers, the black pixels would overlap the transparent pixels and cover up the colors.


Also, I tried just setting the background color, but that caused a massive memory leak to constantly hue-shift. So instead I created a single pixel “actor” that’s literally just a 1x1 pixel, stretched it to the entire screen width and height, and then applied the color effect to it.


iu_877207_6694842.gif


The result is indeed very cool in my opinion. But then while I was experimenting with the graphics, I got an even better idea.


Subpixels


iu_877208_6694842.png


That screenshot isn’t yellow (*Vsauce music plays*). Instead, if you zoom in far enough, every “pixel” is actually a 3x3 square of pixels with red on the left, green in the middle, and blue on the right.


These are called subpixels, and basically every computer screen has them. They use the additive RGB color model where, in the screenshot above, the red and green subpixels are on, and the blue subpixels are off. The red and green light combines to appear yellow.


I figured out that I can just draw 3 red pixels in a vertical line, then 3 more green ones next to it, and 3 more blue ones next to that, and when you zoom out it works the exact same way. So every pixel is really made of 9 pixels in a 3x3 square, and the game is three times higher resolution than it looks. And simulating these subpixels using pixels that are in reality also made of subpixels creates this really cool visual effect.


To make them appear to change color, I replaced the hue-shifting pixel actor behind the tiles with 3 repeating backgrounds for each of the 3 colors; red, green, and blue. Then instead of applying a tint effect, I change the opacity of each color. In the above screenshot, red and green are both at 100% opacity, and blue is at 0%. For actors like the player, they’re actually made of 3 individual actors each red, green, and blue that change opacity the same way.


iu_877210_6694842.png


It’s honestly one of the coolest things ever. And it makes me want to make more pixel art using this style, because this is only 1% of my power. Imagine if I used a palette of more than three colors. There are so many more ways I could explore this idea.


A Universe of Waves


So I have a game about how, fundamentally, everything you see on the screen is made of just three colors. Three slightly different wavelengths of light. And I also have a song for this game that (well, besides the percussion) is made of triangle waves and square waves with different pulse widths. But even with percussion, they’re all mechanical sound waves anyway.


It turns out there’s something even more fundamental than subpixels here, and it encompasses more than just the visuals. Just like how, in reality, quantum particles may actually be made from excited states in a field, or one-dimensional vibrating strings.


I will once again state that I am NOT an expert on these topics, and I am not qualified enough to be taken seriously. I just think it’s really cool. I’ve spent a lot of time watching Youtube videos and reading Wikipedia articles about these kinds of things, and they’re great inspiration. But I have no scientific education beyond high school, and I refuse to believe anyone who tells me I’m smart. I just make the pixels go brrr.


Some other silly quirks Subpixel has right now


Sometimes the player will face the wrong way as they move, usually when they switch to a non-downward direction of gravity. It might not be that hard to fix, but in the meantime you can moonwalk on the moon.


iu_877212_6694842.gif


Jazz_horse found this while she was testing the game. It happens when you cross a diagonal boundary and press and hold both the direction keys that are opposite both the directions of gravity (in this case, gravity is down and to the right, so I press left and up). There are several more places in the game where you can do this, too.


iu_877214_6694842.webp

(it doesn't seem like this gif is working, so here's a link to it)


Sometimes when you land on a corner that’s on a diagonal boundary, this happens. It’s a little tough to get out of it, you just have to keep trying to jump and move around. All I really have to do to fix this though is add a tile there, and there won’t be a corner to get stuck on.


I think that’s pretty much everything I wanted to say. I hope everyone had a great Pixel Day. It’s honestly hard for me to keep up with how many people are here that are way more talented than me. Maybe one day I’ll stop making everything for my games myself.


Tags:

7

Posted by ImmanentDeath - January 12th, 2023


iu_865504_6694842.webp


Well I didn’t think I could pull it off this time with how busy I’ve been lately, but I managed to make a Ludum Dare game for the jam. If you haven’t seen it yet, it’s a really hard and fast-paced hack ‘n’ slash called Reaper, where you fight creepers that can replicate similar copies of themselves, and drop health and power-ups.


Its release was down to the wire, with less than an hour before the deadline before I submitted it. And it was a rough start. Creepers were so buggy, they wouldn’t even replicate themselves at all like they were supposed to. I had also just grabbed the code for displaying score from another game, but I forgot to code pretty much everything else for it. And a lot of power-ups weren’t working correctly or at all.


Version 1.0.2 fixes all the major bugs I could find. Also, since 1.0.2, your high score is saved after a game over, but it’s not displayed anywhere so I still need to add that. I had just run out of time and couldn’t get to it.


Honestly, though, I really like this game. It was the perfect chance for me to put together some vague ideas that have been bouncing around my brain for years, and it’s also just really fun for me. It’s ridiculously hard. I really don’t try to make super hard games all the time, it just kinda happens. It was even harder at first because the player’s invincibility frames didn’t work, and I had to fix that. If anybody wants an easy mode, I could make one.


This was also a chance for me to make a remix of a theme that I’ve been wanting to develop further. Way back when I made Spaceblast, I wrote a song called Robot Alien Invasion, and it was one of those songs that was accidentally actually pretty good. It’s perfect for Reaper’s theme, but it only had one verse, just repeating itself throughout the song, and while I think that does work for it, it still wasn’t a complete song. I’m amazed that I managed to make what I feel is a big improvement in just a weekend.


Other than displaying high scores, Reaper is pretty much done. Now with Pixel Day less than two weeks away, I better get cracking on my next game because I just can’t help myself. This idea is just too good.


iu_865506_6694842.gif


iu_865505_6694842.png


Tags:

3