The blog for Dr. Teranta's Antimatterator, a puzzle game!
Don't wanna be here? Send us removal request.
Text
"The collision has to happen first..."
I MIGHT have just fixed that problem I've been talking about for the past few posts. Still have to do more testing and make sure my fix didn't blow up something else where, but it's looking promising!
I was trying to figure out how to give the Antis a few frames of invulnerability after they change direction so the brief overlap with the Regs' hit boxes wouldn't trigger the fail state just because they happened to be following too closely behind.
This worked, but I later discovered had an unintended side effect of allowing the player to bypass the collision entirely by simply directing Antis INTO Regs. Since the whole concept of the game is "DON'T DO THAT," it meant I had basically traded one problem with close-following Regs for another.
I spent half the day trying to figure out how to get the Anti to detect if a Reg was directly behind it, thinking I could work that into the I-frame setup somehow. I did figure that first part out, but realized it was a complete waste of time because the "turning bug" only happens when the Anti, you know, TURNS.
If the Anti is moving UP, it is looking DOWN for an Reg and will detect it. But if it then turns LEFT, it instantly stops looking DOWN and begins looking RIGHT for the Reg. Since the Reg hasn't made that turn yet, it is still DOWN from the Anti, but the Anti isn't looking DOWN anymore because it is going LEFT, which means "behind" is RIGHT.
I had closed down Game Maker because I was ready to call it done for today, and sat there in my chair for a couple more minutes processing everything when I suddenly said a very specific phrase in my head:
"The collision has to actually happen first or the other part doesn't work... "
"The collision has to happen first..."
I was putting all this effort into figuring out a way to selectively stop or delay the collision from happening because the collision alone was the trigger for the fail state.
"The collision has to happen..."
But it doesn't have to trigger the fail state!
What if the initial collision instead triggered some kind of secondary process that could be interrupted or reset before actually activating the fail state? Like a countdown that starts the instant an Anti makes contact with a Reg, but resets if they break it before it hits zero? That could give the Anti enough time to complete a turn and move out of contact with the Reg behind it, but should no longer allow it to bypass the Reg by running directly into it!
ALL I HAD TO DO WAS GIVE THE ANTIS HIT POINTS.
Basically, an Anti has 3 HP, it ticks down by 1 for each frame the Anti is in hitbox contact with a Reg, and as soon as contact is broken it instantly regenerates to full. HP hitting zero is now the final trigger for the fail state.
This does make Anti/Reg collision a bit more forgiving all across the board, though. I may have to come up with some tighter level designs to compensate.
I really am running out of excuses to not work on this game. Not making any more promises, but I have a good feeling I just might get actually it done this year...
1 note
路
View note
Text
More unforeseen consequences...
Good news! I fixed that issue from the last post! The one where Regs following Antis too closely could unintentionally collide while making turns!
I had considered adding some kind of timer on the Antis to disable collision detection for a few frames immediately after touching an object that causes the direction to change. But I was worried that doing this would cause issues in certain situations. Such as going over one arrow that points directly into another arrow. Disabling collision after hitting the first arrow would cause it to ignore the next one. Or if an arrow was just too near a wall, the particle might end up going out of bounds!
Fortunately, a friend suggested a more targeted approach. Rather than disable collision entirely, I could set up a state that would specifically disable the fail trigger code of an Anti colliding with a Reg.
So now when an Anti goes over an arrow or bumps into a wall, it enters an invulnerability state for 5 frames, after which the state is turned back off and normal behavior resumes. And Regs now only trigger the fail state if they collide with an Anti AND that Anti is not in its invul state. This allows an Anti to make turns in any direction even while being directly followed by a Reg.
Unfortunately, it also allows for this:
Yeah. Somehow didn't account for that possibility.
The big question NOW is...
Do I try to fix this?
Or incorporate it into the level design as a feature?
#antimatterator#game development#game design#game maker#puzzle game#pixel art#wip#game maker studio#dr teranta
8 notes
路
View notes
Text
Classic problem.
Adding something new breaks something else.
It occurred to me that adding an animation for the particles entering the collector would extend the time between the last particle of a level being collected and the "win" condition triggering because the counter doesn't update until the last particle object is actually "destroyed", which now happens at the end of that animation. And because the win trigger is also responsible for pausing the Regs' movement, they can continue move for a brief moment while the animation for the last Anti plays out.
I thought, "What if a Reg was directly following the last Anti and collided with the collector while the Anti was still in its animation before being destroyed and counted to trigger the win?"
The answer? Exactly what I was afraid of. You would fail the level even if you technically won.
The EASY thing to do would be to simply design levels where this scenario doesn't happen. All I would need to do is make sure Regs are always at least one full tile away from the Antis, but I don't want to limit potential level designs.
So I actually fixed it. I just gave the Regs a couple more lines of code that check if there's only one Anti left, and if that Anti is in its "being collected" state, then immediately set the Reg's speed to 0.
Problem solved.
EXCEPT NOT REALLY BECAUSE APPARENTLY I *STILL* CAN'T HAVE THEM FOLLOW ANTIS TOO CLOSELY.
I can't BELIEVE in all the time I've spent finagling the hit boxes that I never thought to test if they'd overlap while making a bloody turn! So yeah, turns out if a Reg IS directly following an Anti, and the Anti makes a turn (either by going over an arrow or bumping into a wall), their hit boxes overlap and trigger a level fail.
And I can't adjust the hit boxes any more than I already have because doing THAT screws up collisions with everything else!
#antimatterator#game development#game design#game maker#puzzle game#wip#dr teranta#game maker studio#pixel art
3 notes
路
View notes
Text
I'm really happy with how this animation turned out, and a little annoyed that I rushed to capture that video before fixing the bug that was keeping it from playing properly.
So here's a blown-up render of just those sprites. I did fix that problem, by the way, so the full animation will play for every particle when they enter a collector. (Just a bit faster than this GIF. )
#antimatterator#game development#game design#game maker#puzzle game#wip#dr teranta#pixel art#game maker studio#animation
2 notes
路
View notes
Text
I'm starting to run out of excuses to not make the rest of the levels and call this blasted thing done already.
Added explanations for the tutorial levels. They only show up when the player enters the level and will not reappear after resetting a run.
Got another tracker working, so it can now tell if the player completed a level using fewer panels than provided. ("Less panels! Yay!" is just a placeholder and visual indicator that it's working properly.)
The counter for the related achievement will not actually update during the tutorial levels. (Because literally the first one demonstrates that it is possible.)
Fixed a bunch of layering issues.
Finally got an animation to play (mostly) correctly when an AM particle enters a collector.
Yeah, I've been wanting to have some kind of quick animation play when the particles enter a collector so they don't just blip out of existence, but for some reason that turned out to be annoyingly hard to figure out. I think it's partly because I was trying to give the animation to the collector object, and because it already had its "end of level" animation too, things got messy trying to add more to the mix.
Then, while I was doing those layering adjustments, it occurred to me that I could just do for the blue particles entering a collector what I did for red ones getting sucked into black holes. I even had four open frames on their sprite sheet because the antis don't have a "get sucked into a black hole" animation.
Then I ran into some issues getting the sprites to actually line up on the right spot while the animation played, but I eventually got that sorted. There's still some minor wonkiness that I THINK is happening because an anti enters a collector near the end of its animation loop, and the "gotcha" animation is starting at that same point in its animation. So I just need to find some way to make sure the whole animation plays every time, and not just sometimes.
I really am hoping to work on this game more consistently.
I'm thinking of implementing a totally in-game achievement system to make 100% sure all the trackers are working correctly, and have everything all set up for when I'm finally ready to pull the final lever and launch this thing onto Steam.
I swear on my compy's life that it WILL be done this year.
#game development#game maker#game design#antimatterator#animation#pixel art#game maker studio#puzzle game#dr teranta#wip
6 notes
路
View notes
Text
Some minor adjustments today.
Done:
Added the ability to skip the intro animation for the title screen by pressing the spacebar.
The invisible menu buttons that appear in the top left corner of the intro animation are disabled until they become visible.
Adjusted the placement of some text objects to better line up with graphics behind them.
Need to do:
Noticed that the zap effect for nanotubes is now appearing beneath the nanotubes instead of on top of them as intended. Need to figure out why this suddenly started happening.
Yeah, I spent a lot of time working on that introduction animation, but it was getting aggravating having to sit through it every time I wanted to adjust and test something down the line. I always planned to add this eventually, so I guess I annoyed myself into bumping it up the list.
1 note
路
View note
Text
New title screen complete!
First of all, I have an actual video update again. That hasn't happened in a while! Second: Game Maker Studio 2's sequence editor is an absolute (and LITERAL) game changer. This would have taken me HOURS to do with code, and definitely wouldn't have turned out half as good.
I mean, it still took me a good couple of hours because I had to figure out the sequence editor workflow, but now that I've got a handle on it I'm sure I could have put this together in maybe 20 minutes. It's basically the same animation timeline setup as After Effects or Blender, so it's pretty intuitive. It looks like there's a LOT you can do with it, and I've only just scratched the surface. While I look forward to unlocking the full power of the sequence editor in future projects, that surface scratching is really all I need for Antimatterator.
I may make some minor adjustments to this new title screen, but this is definitely the final version.
Oh yeah, I mentioned the original placeholder title "art" I used before making an actual title screen? And how I don't think it ever showed up in any of my update posts?
Here you go! Version 1!
I know I said it was "MSPaint-y," but I actually just threw it together directly in Game Maker's sprite editor. Same principle. It was faster, and I needed something to stand in for a title screen so I could get buttons working. I did also have some placeholder button sprites, but I overwrote them with the new ones, so they don't exist anymore. Picture flat purple rectangles with the words "start" and "exit" scribbled on them.
#antimatterator#game development#game maker#game design#pixel art#animation#game art#game maker studio#puzzle game#indie games
3 notes
路
View notes
Text
Title Screen V3
(Yes, it *is* version 3 if you count the scribbly, MSPaint-y placeholder as version 1. Did I ever show that one? I think I've mentioned it, but I don't know if it ever actually appeared in any of the videos I posted.)
Yep. Pretty much done at least as far as the actual pixel art goes. Looking forward to learning how Game Maker 2's sequence thing works, because it *looks* like it should make stuff like cutscenes and other animated bits a lot easier to make by not having to code so much.
That's a big thing I was worried about for future projects. I figured out how to make a basic dialogue system that works great for mostly static cutscenes, but I have no idea how well it would work for scenes where characters actually do things.
That being said, a simple camera movement from the top of this screen to the bottom, the monitor turning on, the title appearing across the top, and the buttons popping up somewhere. Should be complex enough to be good practice with the sequence editor, while simple enough to actually be easily doable.
We'll see how it works out.
#antimatterator#game development#game maker#puzzle game#game design#game art#game maker studio#pixel art
4 notes
路
View notes
Text
Small art update.
Yes, I'm procrastinating again. I was never 100% committed to the current title screen, so I've begun the process of redoing it. I do like the pixel Dr. T. I made for it, so I'd like to keep at least that. Thinking about putting him on the big screen there, but I was also thinking about putting the buttons on it, so I dunno.
This is just the render I plan to pixel over and add more details and animated bits. I like the idea of the bright screen glowing with darker, more dramatic lighting, but I'm not sure that will really fit with the brighter tone I've been going for.
I AM making (slow) progress on the levels, and I added a tutorial/hint system for the 5 I've got done. They're basically just the tutorial levels, so they explain the basic mechanics along with level elements as they are introduced, and also some less obvious tricks the player will need to make use of as the game progresses.
Very sorry if anyone's actually following and frustrated by how slowly this thing is coming along. Trust me, nobody is more frustrated than me.
#game development#game maker#game design#antimatterator#animation#3d model#3d render#blender#game art#game maker studio#dr teranta#puzzle game#adhd
2 notes
路
View notes
Text
Ugh. Don鈥檛 remind me that this blog-and thus the associated project- is 3 years old, Tumblr. I really didn鈥檛 need to know how long it took me to make this much progress on such a simple game.
0 notes
Text
Some new art and stuff!
Getting there! Seriously getting there! The last real thing I've been putting off is making a few scenes to go between each batch of levels. (Or maybe every couple of batches? Not sure how I want to space them out quite yet.)
Anyway. I've been working on a more interesting introduction scene, and I planned since the beginning to have it include an exterior shot of Dr. Teranta's laboratory. I have some concept sketches somewhere, but what I ended up doing to make the final version was make a model of it in Blender, and basically just paint over it in Aseprite.
I've actually done this for a few other sprites too. It's mostly larger ones where I find I've having trouble with getting the perspective right. I've always been better at smaller scale sprites like items and characters than bigger objects or non-tiled environments.
It's also how I made the lever for the level selection console, and the new letter buttons that I realize I haven't shown off yet. But yeah! The level selection screen is pretty much done, I guess. It now features a very simple explanatory diagram in case anyone has trouble understanding the layout.
I figured it'd be easy enough to figure out with maybe a minute of trial and error, but better safe than sorry. I made all the interactive parts big and brightly colored, so even clicking anything at random will always do *something.*
And no, I still haven't made all the levels yet. Or any beyond the ones I used for testing. I'm about 99% sure that's going to be the very last thing I do, but that level editor will make things much easier when I do get there.
OH YEAH. I also moved over to Game Maker Studio 2, and it didn't break anything. Lots of interesting and useful features to play with, and those potential issues with Steam I was worried about won't be a problem. (That's assuming they were even issues in the first place, since I didn't get to the point where they would have come up.)
#antimatterator#game development#game design#game maker#wip#pixel art#puzzle game#dr teranta#game art#3d model#blender#game maker studio
11 notes
路
View notes
Text
WOAH! A LEVEL MAKER!?
The game is pretty much at the point where all I have left to do aside from minor tweaks and adjustments is actually make 40 levels that hopefully make fun and interesting use of all the mechanics I've put together.
The thing is...while Game Maker's room editor is very easy to use, it's super tedious to actually test. You make the level (room), launch the game, wait for GM to build it, go through all the menus to select that level, test it, close the game, go back and adjust the level in the room editor if something didn't work, then repeat. And no, I can't just set the room to the first on the list for testing because the mechanics rely on persistent objects that are initialized in earlier rooms, and the game will crash if they aren't able to refer to these objects.
This would be a pain in the butt for making a *single* level, and an absolute nightmare making 40.
SOOOOoooooo...
I tried to put together a level maker, and it actually 85% works! This will make it much easier to build and test levels, then I can set them up in the room editor for the actual game as I get them nailed down.
We're getting there!
5 notes
路
View notes
Text
Achievement icons? Achievement icons!
A few, anyway. One thing I always get inordinately excited about when typing up an idea for a game is coming up with achievements. Something about stupid puns and potentially obscure references is just a lot of fun to me.
And now that Antimatterator has a functional saving system that I have since expanded to track various status across playtime, well that's only a stone's throw away from implementing achievements! I still don't know the first thing about Steam functionality, or if it will even be possible to do since I'm working in the "outdated" GameMaker Studio 1 engine, but I guess I'll cross that bridge if it still exists when I get to it.
Minimalist Magnetizer - Complete a level using fewer arrow panels than provided.
Atom Smasher- Cause a collision between the two particle types.
Gotta Keep 'Em Separated - Send a Regular Matter particle into the Antimatter collector
Failure Is Always An Option - Reset 100 simulations.
#antimatterator#game development#pixel art#game design#game maker#puzzle game#wip#antimatter#achievement#graphics
4 notes
路
View notes
Text
Antimatterator Version 0.0.9.3
Created a progress tracker that updates a counter as each level is completed for the first time.
Switched out the last placeholder graphics. "You did the thing" is now a fancy screen that comes down and says "Simulation Successful!"
OKAY, YEAH. SORRY. It probably looks like I haven't done anything with this project for almost a year, and it LOOKS like that because...I kind of haven't really done anything with this project for almost a year. (Besides open it, think about the annoying technical crap I still have to do, and just say "nooooope.")
Basically what I did today before jumping back in was make a big ol' list of all the stuff I still need to do in no particular order. I broke it all down into chunks! And I broke those chunks into smaller chunks! You know, like folks say you should do when you have a brain that doesn't want to do what you want to do!
IT REALLY WORKS!
I'm not going to promise more frequent updates, since like I said, I've basically got 98% of the graphics settled, so pretty much all that's left to do is code that mostly won't be visualized anywhere. But progress is progress, and I am WORKING ON IT.
4 notes
路
View notes
Text
Antimatterator Version 0.0.9.2
Added introduction scene with temporary dialogue for demonstration purposes.
Switched out placeholder title screen for real graphics.
Other stuff I did but didn't think was as big a deal as the dialogue and title screens, and is therefore not shown in the update video:
Removed Tumblr/Youtube watermarks from game levels.
Redesigned level control panel for the...fourth(?) time. It now occupies the bottom left corner of the level and no longer needs to be moved into or out of view.
Control panel redesign also fixed a bug where the buttons would not respond to player inputs if an arrow was directly behind them.
Minor visual improvements to level selection screen.
If you've followed my game development efforts on my main Tumblr, you may recall that getting even a very basic dialogue system to work has been one of my longest running uphill battles. Like finally figuring out how to use arrays to match up the nanotube entrances/exits, this breakthrough will have a HUGE impact on future projects.
I'm pretty sure there's only a few more little code things I need to do before I'm ready to bump that version number up into the second decimal, and I'm more motivated than ever to get this done, so FULL SPEED AHEAD.
#antimatterator#puzzle game#wip#game design#game development#game maker#pixel art#dr teranta#title screen
3 notes
路
View notes
Video
tumblr
Antimatterator Version 0.0.9.1
Added level names, numbers, and previews back to the selection screen.
Added transition effects for entering/restarting a level.
Minor graphics improvements. (Added small details to level selection console.)
Removed fast forward button from control panel due to speed changes causing collision glitches.
Minor off-screen changes for general cleanliness of each room.
The control panel now creates the buttons, removing the need to have them present off-screen before moving into proper position when the room loads. This would never be visible to a player, but makes the workspace less cluttered while making levels.
Can鈥檛 begin to tell you how excited I am that I was able to make this all work exactly the way I wanted it to. Mechanically speaking, it鈥檚 about 85% done. I have some ideas for how I might get that last blank screen to work, but it鈥檚 going to involve some slightly more complex code. I may just leave it blank for now and come back to it later.
I鈥檇 really like to get to work on an actual title screen, because that placeholder was funny for a while, but it鈥檚 getting to be a bit of an eyesore. So that might be my next main focus. I deserve to work on art for a while after getting all this code into a functional state.聽
Also I really never fully knew what I was doing with version numbering. I feel like 0.1.0 should be fully playable to a minimal degree, and I still have some basic stuff that needs to go in before that鈥檚 possible.
5 notes
路
View notes
Photo
Antimatterator Update 4/1/21
Forget puzzle games! Massive multiplayer combat is the hot new thing of the definitely not 5 years ago! I鈥檓 pretty sure I can throw together a bunch of premade assets and make something people will spend a lot of money on. How hard can it be?
Featuring:
Shiny polygonal characters! Pixel art is dead!
Lots and lots of guns and shooting!
Opportunities to spend more money!
Like a kajillion players all on the same map!聽
Literally nothing to do with the fact that the characters are atoms!
Me wishing I had a bigger audience so this joke would be a little funnier!
Early Access available soon!
#april fools#antimatterator#battle royale#fortnite#puzzle game#game development#joke#game design#game maker
6 notes
路
View notes