Tumgik
Text
Getting back to FNaF dev
0 notes
nemisdevilishkitchen · 7 months
Text
Mini Custom Night - How I Feel 3 Months Later
Well it's been quite some time, yeah? The break I took was nice but I had felt as though there were still some no brainer things I needed to add to the game, you can read the changelog here as I won't be going over it in this post. I'm still very proud of this project despite everything. I've learned a lot. I've been self reflecting a lot lately and I think that making things is humbling. A lot of the time it's hard to keep my ego in check, that I could do something so much better if I just had xyz reason or opportunity. If I was in that position I'd just knock it out of the park. The truth of the matter is that it's easy to look at something and realize it's faults and upon realizing those faults you feel a sense of superiority. That it's just so easy to see the issue and you must be special for being able to and that had you been there you wouldn't have fucked up in the ways they did.
My head was deeply up my own ass when I started this project. It ended up being a very long and humbling journey, one that I'm still on, and I feel like I'm on my way to being a better person after it. The thing is that I had the power of hindsight when I went into this. Knowing the issues of a project can only come up once one has familiarized themselves with it. It wasn't that the initial person was just doing a bad job or didn't know, it's just that they were learning along with us. Creating art is like a game of telephone where you're berated and mocked for messing up. When you do something for the first time without any guidance or some list of things to fix or check off, you are alone and the future of what you decide to do is totally up to you.
Once I started to do things that FNaF games generally weren't able to or have done before, it was a lot harder to get things done. I had put myself into the same position as many others before me as I entered a new field of the unknown. I could no longer piggyback off the idea of being able to do something better because now I had to lay down the foundation and groundwork. In publishing this work I have made myself vulnerable to the same mockery and ignorance that I had subjected other art to, not realizing the difficulties and just how much really does go into leading the way for others.
I had to crawl so people who decide to take after me will be able to walk as many others before me have done for me. I believe this is the cycle that art goes through. Discovery, refinement and then rediscovery. This isn't to suck myself off or anything, my project really is bad. There's a lot I can do to improve. I may continue to improve it here and there in my free time but it will set down a foundation which others will be able to learn from, the good and the bad. My bad project has value because it still gives an idea of something greater, an idea people can build from and an idea that acts as a cautionary tale to not do exactly as I did.
I'm still going to continue to work on myself and the way I approach art in general. Trying to be more considerate and appreciative. To finally let go of my ego and to not be afraid to show weakness and vulnerability. To let my bad art be out there because I enjoy doing it and because I enjoy the progress I make. So I can continue to gain more appreciation for those around me.
I heard this story once from a friend and I'm not sure if it's their original story or not but it goes something like this,
This guy reads this newspaper everyday from this guy he hates the writing of. He constantly critiques and mocks the work and yet at the end of the day, the bad writer is the better one. Whereas the critic never put themselves out there and flexed their ability to create, the one being criticized was creating and learning with each misstep.
Reject the fear of failure and embrace the possibility of improvement.
2 notes · View notes
nemisdevilishkitchen · 10 months
Text
Mini Custom Night Devlog #4: The Not Final Chapter
Tumblr media
Oh wow there’s actually a main menu now.
Hey everyone, it’s been a little over the week since the last devlog/update (at least on Tumblr, I’ve said a bit more on Newgrounds). This blog is gonna contain framework optimizations, bug fixes, additions and lots of system changes so if any of that sounds interesting to you, keep reading.
Keep reading
1 note · View note
nemisdevilishkitchen · 10 months
Text
Mini Custom Night Devlog #3.5
Not a huge update since I’m really gonna take my break now after this but drumroll You can now play the game comfortably from your web browser: https://www.newgrounds.com/portal/view/890365 https://nemisune.itch.io/mini-custom-night-alpha-release
0 notes
nemisdevilishkitchen · 10 months
Text
Mini Custom Night Devlog #3: It’s Time For Playtesting/Finally Open Sourcing It
I have a confession to make. I’m bad at Ultimate Custom Night. I’m not always going to be the best at finding bugs in games with a lot of mechanics. Which is why I’m asking for YOU guys to help in testing this project.
I’m Fucking Tired
I’ve been grinding out this project for weeks and at this point I just want a break for a bit. Take some time to draw and just not sit at a computer so long. I haven’t played Street Fighter 6 since I started kicking it into overdrive again. So the plan is to let this out, have people test and give feedback and after a week or so I’ll go back to working on it but hopefully less obsessively.
This Is Not For The Weak Willed
All things considered, as a FNaF framework, it’s basically almost all there. The main thing it lacks is polish which will come with time but as for having something to look at to get inspiration for making your own FNaF games, you can definitely use this. This is a FRAMEWORK for CLASSIC STYLED FNAF GAMES. There’s nothing in here about making your dream visual novel or anything like that. In order to use this, you WILL need some level of ingenuity. But also NOT EVERYTHING IN THE FILES IS FINISHED. Some functions like disabling the flashlight or even the temperature changing during the night isn’t there yet as it wasn’t a priority. It will come soon though.
Godot Engine is obviously required and the number one thing you need to know is that researching is vital. I didn’t get here by moping and whining about what I can and can’t do. I scoured forums, asked questions and threw my head at the wall until I got results. Funny thing is the fact that everything here still isn’t perfect. But it’s a first project and it’s one that I’m willing to share with others so they too can throw themselves into something new to sharpen their skills.
That being said, my Discord is simply “nemisune”, as is my Twitter. If there’s any assistance needed, hit me up. I don’t mind.
RELEASE
For now, you can find the project here on Github. This has both a download to the exe to run the game and the source code included. Go wild :).
Do note that this build only includes
Freddy
Chica
Foxy
Balloon Boy
Jalloon Jill
Toy Bonnie
Toy Chica
Whatever mechanics are needed to have them function properly.
(No, I will not be making an Android release anytime soon since I don’t have an Android phone. A linux release is in the cards though!)
If you’d like to support me in order to help commission other people to help with visuals and the eventual addition of new content, please refer to my KoFi page.
1 note · View note
nemisdevilishkitchen · 10 months
Text
Open Custom Night Devlog #2: Mini Custom Night
So there’s been some notable downsizing, as you can see below:
Tumblr media
So what’s that all about huh? And what’s with the “mini” custom night? Well I’m glad you asked. If you didn’t then fuck you I’m gonna say it anyways in the rest of this blog if you’re interested.
Proper Loading Added
Tumblr media
Temporary loading screen visualized above
Due to the nature of how Ultimate Custom Night worked, everything relating to the gameplay was loaded at once on a single frame. This is why when you press go there’s such a significant amount of time you need to wait to start playing even if you have one or no animatronics enabled. Because of this, I needed to remove animatronics from the main scene and into their own scenes. It might make you wonder how this works since some animatronics rely on being in specific places in the office or in cameras.
MAKING INDEPENDENT CHARACTER SCENES
So the thing is that when I create a new character scene, I add an image of either the office or camera they’re supposed to be on and use that as a reference. Freddy for example has an animation with him going down the hall. I get his sprites and make an animated sprite object that contains them. I just put them in the default animation and make it run at 0FPS so it doesn’t move. I then use an animation player object to keyframe the sprites for ANOTHER animation.
Tumblr media
And so since this animation is 1FPS and has a speed scale of zero (it doesn’t move on it’s own), I get Freddy’s current progress value, floor it after dividing it by 100 and take that number to tell Freddy what frame of his animation he should go to.
func updateChar(): var animPhase = floor(progress/100) animation.seek(animPhase) if progress >= 400 && Global.ldoor == true: Audio.blockedDoor() progress = 0 animation.seek(0) laughChance()
AI IMPROVEMENTS
AI has also been notably improved and optimized. It’s not perfect and not every character I implemented has them yet but it’s a work in progress. There isn’t a TON to say here but it is something that’s actively being worked on alongside everything else.
WHAT IS MINI CUSTOM NIGHT
Alright so I’m finally going to explain what “Mini Custom Night” is. UCN is a big game. Well, big relative to FNaF and Clickteam standards. 50 characters is a lot. That’s the problem. 50 characters. UCN was so held up on bringing in everyone that it never stopped to consider if they should bring in everyone. There’s a lot of just garbage in UCN alongside just clones. I’ve decided to not add everything from UCN and rather hone my focus to adding in characters that I think will help people grasp the engine. Basically, if it’s a fully original mechanic, it’ll be added. If it’s some offshoot or mechanic that’s low effort, it won’t be there.
That being said, this means that OCN, which I’ll now be calling MCN won’t be getting a release for just a bit longer. Due to me not adding everything from UCN in, the idea I had of releasing characters in waves won’t really work out. The characters I’ve decided to keep are,
The Puppet
Golden Freddy
Phantom Mangle
Phantom Freddy
Fredbear
Pigpatch
Scrap Baby
Lefty
All of these guys combined make a roster of 18! Actually, I’m not including Toy Freddy. Fuck that guy. The roster consists of 17. Buuut to make it an even number I’ll add in Withered Bonnie for the culture.
IN CONCLUSION
Progress is going steady and it should be done in the coming weeks. There’s a lot of things that are brand new that I can’t wait to add to the game. Things that’ll work as a sort of prototype/test to my own game that I’ll be developing after this that I’m in the planning phase of currently!
Thanks for reading the post, if you wanna help me eat and or get help from other people to work on the game, consider donating to my ko-fi!
I’ll catch you guys later.
- Nemi
0 notes
nemisdevilishkitchen · 10 months
Text
Working on two really good friends
Tumblr media Tumblr media
0 notes
nemisdevilishkitchen · 10 months
Text
Open Custom Night Devlog #1: After A Year, I’m Really Doing It This Time
Oh boy I have a lot I wanna say and rant about after working on this for such a long time. 
WHY AM I REMAKING UCN?
Tumblr media
Screenshot of the main scene of Open Custom Night as of writing.
I really dislike Clickteam Fusion 2.5. When I was a wee lad I saw FNaF and wanted to make my own video games. I was inspired! So I spent the next 4 years of my life learning it. Huge mistake. CTF2.5 isn’t built for really doing any sort of complex games that might require multiple global objects or things of that nature. It’s very very limited. Not only that but it’s like 300 dollars for the full edition. Like no man fuck that. I decided that in order to prevent other kids from wasting their time learning such a dumb engine that’s hard to pirate and unreasonably expensive, I would remake UCN for it to act as an open source fangame template.
BUILDING THE AI
Tumblr media
Scuffed photo showing Toy Bonnie in the office
So when I was first figuring out how to make AI for FNaF games, like back when I was on Clickteam, I came up with this: (rng.randi_range(2/(Global.animatronic), 4/(Global.animatronic)) And it works fine. Except... it doesn’t go from 1-20, it went from 0.01 to 0.20. I found later that this gave super wild results as some characters wouldn’t be able to move for upwards of 300 seconds on level 1 which is just downright silly. I then changed it to 0.11-0.30. As of now, it works just fine. I can change the range depending on the animatronic along with whatever specific calculations they may need.
This has a few implications. Whereas there is a small chance of animatronics failing movement opportunities repeatedly keeping them in place for long periods of time, this new AI calculation for some characters will guarantee that they will ALWAYS move within a specific time range.
MAKING ANIMATRONIC MECHANICS AND BEHAVIORS
Freddy was quite easy to get going as was Chica. A bit of a stumper for a moment was Toy Bonnie and Toy Chica. At first, I just had them go into your office until they reached a hard coordinate and if the mask wasn’t on in time, they would kill you. This movement was also scripted in the code itself. This worked but it was just a tad cumbersome. I decided to update this to have them move to a coordinate object that I could freely move around without needing to update the code to. But their movement would continue to be scripted. It wasn’t until recently I realized that I have animation tools in Godot which means that I can now animate this process!
Tumblr media Tumblr media
A look at Toy Bonnie’s keyframed animation along with his sprites are shown
I basically did the same for Toy Chica and the rest was history! BB and JJ are pretty unremarkable although they were both annoying to do as well. I also used these new animation tricks on them.
Tumblr media
Demon spawns getting ready to strike
Mangle wasn’t too bad to program- at first. She required a new system to be added, the vent snare system. To be fully frank, I’m not quite sure how the map was animated in UCN. Did he update position manually for each phase she moved in depending on the path? Maybe? I hope not. What I did is that I animated out his path with keyframes and then for each time his timer ran out, his phase was updated and that also updated what frame of the animation he was on.
Tumblr media Tumblr media
A look at the animation and Mangle’s code.
The main thing towards the end is that I wasn’t quite sure how to make it so Mangle knew which snare was active. I could’ve probably made some code about it but I wanted to try something a bit outside of the box. Mangle has raycasts attached to her. When those raycasts come into contact with an area collision shape, he’ll check if it’s specifically a snare or the “freedom” object. If it’s a snare, she’ll go back to the start and decide on what path he wants to take to get back to you. If she touches the freedom object, she’ll find herself in your office.
Tumblr media
“Just hangin’ out!”
Before I move to the next bit I want it to be clear that I wasted like 30 minutes to an hour on trying to fix a bug with Mangle’s vent animations not playing properly. The way that I set it up is that everytime their phase is updated, the animation player will seek a certain point in the animation that corresponds with this. Since the animation was set to 1FPS, that means that phase 1 will go to frame one and so on. But I didn’t change the other animations to 1FPS. So that caused some uhhh. Issues. Haha.
A NEW PERSPECTIVE?
Give love and kisses to this handsome fellow. Without this guy I wouldn’t have the proper office effect quite yet. For some reason, in Clickteam, this effect lags games hard. It seems to be much more optimized in Godot. Due to this, there may not need to be any performance settings for a while. I’ll likely still have to include them anyways but man it’s nice to get some good frames.
MISCELLANEOUS CHANGES TOO SMALL FOR SECTIONS
Destroying animatronics: In order to save on resources when running the game during a hectic night, animatronics are straight up destroyed on the start of the night when their AI is set to zero. This means that they’ll all still be loaded and checked through at the start of a night however so this is mostly for long term performance. A way to load in ONLY the necessary animatronics at the start of the night to help performance in general is being looked into.
Dynamic audio: Some audio within the game now changes volume automatically depending on where it’s located. Previously I believe this was done by hand via code (something like, if in office, set the volume of music box to 0). Now due to the new engine, the game will handle this by itself without any coding being needed.
Music box additions: “Metal Scratchin’ (Sonic Rush)” has been added to the lineup of music that can be chosen at random.
WRAPPING UP
While I disagree with Scott’s political views and morals, working on this project has made me sympathize with him more as a game dev. If you wondered why a lot of the UCN enemies feel like random garbage, there are two reasons
Game design reasons. There would be way too much mental stack and stress from each animatronic having a counter that requires multiple steps.
Making some of these systems really fucking suck and it’s easier to make clones of characters or guys who don’t really do much.
Even though I’m not making a brand new game, some of the changes I’ve implemented bring out inherent changes in how UCN functions which means the design of the game has also severely changed. This is on top of whatever liberties I’m taking as well. Game development is hard man. But it doesn’t need to be perfect. It just needs to be a good template. This likely will not be a 100% recreation of UCN down to it’s easter eggs and extras but it’ll give new devs an idea!
Thanks for reading all of this if you even did! I’m gonna try to keep updating this as much as possible.
- Nemi
2 notes · View notes