Tumgik
#NSSS 1.1.12
dirt-piper · 7 days
Text
Just Around the Corner...
Tumblr media
I've been waiting to say this for a very, very long time:
1.1.12 is almost here.
...Kinda. It's nearly ready for playtesting. I've got one last feature to smooth over and then it'll go out to the testers for feedback. Once the testers are happy with it (and I'm happy with what the testers are happy with), then we'll test multiplayer for a bit - and then it's time for full release.
It's been a looooooong time since NSSS last got a major update - September of 2021, to be exact. Sure, there have been tweaks and patches since then, but even then it's been over a year since 1.1.11_111-1. NSSS has been at version 1.1.11 for three years now - about half as long as NSSS has existed, period.
I'd like to think of 1.1.12 as the beginning of a return to form - wayyy back when NSSS first started, Vulpovile and I were releasing updates once every two weeks. I doubt I can maintain that pace, but at the very least I can avoid any more multi-year update droughts.
I've already got ideas lined up for 1.1.13, 1.1.14, 1.1.15, etc... - many of which I've been daydreaming about for years! I really want to finally sit down and work on these ideas, and make them reality once and for all.
There's a couple other things I'm hoping to polish up. First off - the website. I put it up a few months ago but it's been sitting semi-finished for a while now. The other day I finally dug up my FTP login credentials to actually upload the NSSS multimc instance and server jar there so I could fix the broken download links in the original forum post. Sorry for letting them sit broken for so long - I was very busy with IRL work. I'm going to be fleshing the website out a bit more soon - maybe I'll even get the in-browser applet working!
The launcher is also getting renewed attention. I figured out Oauth a while ago (so you can actually log in to microsoft accounts with it - yippee!) but was struggling to deal with https connections in older versions of Java. I think I've figured out a solution that's workable, so the launcher should finally be ready soon - here's hoping!
Lastly, the forums. Yes, there are official NSSS forums - but the URL has been somewhat hidden for a while now. I've been having trouble getting the phpBB theming to look the way I like it - if anyone has any experience with phpBB themes, please reach out! The increasing futility of trying to present information on discord has made it clear to me that it's for the best if most NSSS-related discussion were to happen on an actual public-facing website rather than a glorified IRC chatroom. The discord will still exist - but it will no longer be forced to do the triple-duty of "information repository", "public forum", and "community chat".
Let's see how much of this I can get done before 2030...
-DirtPiper
4 notes · View notes
Text
NSSS Alpha 1.1.11_111-1
A patch has been released to 1.1.11!  1.1.12 is still on the way, but since it has been taking so long I decided to backport a few bug fixes and optimizations from 1.1.12 that I felt were critical. The following changes have been made:
* Fixed Sounds playing incorrectly on Big-Endian systems * Fixed newer versions of Java crashing due to using different sorting methods * Fixed appearance of slim skins * Attempted to fix the chunk stutter bug * Optimized block ID detection, so things such as random ticks run much faster now * Drastically improved responsiveness in multiplayer * Opening the ‘Extra Video Settings’ menu no longer kills your FPS if your monitor supports a ton of display modes
In addition, NSSS now supports (and runs pretty well on) PowerPC Macs! You’ll be able to play it on them soon with an updated version of the official NSSS launcher.
2 notes · View notes
dirt-piper · 3 months
Text
Rain Check.
Tumblr media
With my Writer's block for NSSS cleared, I've taken some time to think about the path moving forward.
I really want to release more updates to NSSS, but, for now, that means putting a major, promised aspect of 1.1.12 on ice.
Seasons, and all the other goodies I've been cooking up for the next update, will still be coming. But the weather system will be put on hold, at least for a while.
Weather has been the last major part of 1.1.12 that I've been hung up on for a while now, and every time I try to finish the implementation I encounter some major bug that's a pain to quash and all the wind gets taken out of my sails. It's holding me back from finishing the rest of the update, and it's holding me back from starting work on other work that I want to do on NSSS.
So, what can you expect?
Hopefully, more frequent teasers of what's still confirmed of 1.1.12 - Seasons, mostly, but there's a few more seecrets in there ;)
The weather system, particularly dynamic weather, is still a major part of my vision for the future of NSSS - it will still, absolutely, come, but it will be in its own, smaller update, not bundled in with a smorgasbord of other goodies.
Once 1.1.12 is out - which may be a while yet - then 1.1.13 will be arriving much, much sooner. And 1.1.14, and 1.1.15 - and so on. I'd like to return NSSS to a more frequent update cycle - nowhere near has fast as 1.1.3 - 1.1.7, but fast enough that I can push an update, listen for feedback, and then fix or improve things with the next release. A little, often - like firing a steam locomotive.
Novelty is only fun for so long - I won't know for certain if the changes that I make are good ones until I can examine them in the long run. It seems that 1.1.11 ended off on good footing - people are still enjoying it 2 years later - but there's bugs and problems that have materialized over that time which really ought to be smoothed out. It's time to fix 1.1.11_111-1... and I'm all out of ones.
There are also going to be some changes to the patreon. Stuff like playtesting access will probably get removed as a tier perk - I'd like to generalize the patreon from "support my work on NSSS!" to just "support my work!", which will be NSSS in addition to other things. Whatever happens, anyone who has ever gotten a custom name color or cape or particle effect will keep it in perpetuity - they're meant to signify a 'thank you' for throwing money at me, after all! Every dollar, euro, pound, zloty, real, and lira is appreciated.
I need to tidy up the website a bit as well, and the forums are still an unusable mess - if someone knows phpbb theming inside and out and is willing to pitch in, let me know!
-DirtPiper
3 notes · View notes
dirt-piper · 4 months
Text
Removing a Block.
From NSSS, to be specific.
Previously, most of the delays and pauses in NSSS's development were caused by other responsibilities - college, work, health, etc.
However, while these things are still contributing somewhat to NSSS's slow development pace, there is a new (and pernicious) factor that has been preventing me from so much as opening eclipse to work on the game.
Writer's block.
For the longest time I didn't even know why I had it, or even that I had it. I would keep opening eclipse, loading up some class file that I knew needed tweaking, and just... stare. I knew, essentially, what I needed to do. I knew how I would do it. But, for some reason, I just didn't do it. After a while I couldn't even get to the point of opening eclipse anymore. I attributed this to general busy-ness - I volunteer a lot of man-hours to a computer history museum, and this eats up quite a bit of my free time.
But then, when I took breaks from the volunteer work, and had all the time I needed to dig in to NSSS, I still just... couldn't.
What made this most frustrating was that NSSS still constantly occupied my thoughts - what I'd change, what I'd add, how this should look, how that should sound, how the launcher should work, what will be in the update after the update after next - all the time. My head was constantly bursting with ideas, but I just couldn't find the motivation to actually make them materialize.
Maybe it was because 1.1.12 was in feature freeze, and I was still banging my head against the cloud logic... but that didn't explain nearly enough.
Anyways, a user who had been playing NSSS since it was barely even 6 months old had reached out to me several months ago about possibly making some original music for the game. We chatted a bit about the general feel/tone/instrumentation said music should have, and then parted ways. This was about 10 months ago.
Well, last week they shot me a DM with one of the tracks they had been working on. NSSS was at the very bottom of my mind that day, but I decided to listen to it anyways.
The song was perfect. It was melancholy, soothing, and exciting, it sounded just like "minecraft alpha", it felt familiar and yet brand new, and it was exactly what I felt NSSS should have. And, as I wrote out my full thoughts to them as feedback (I'll spare you the full 10 paragraphs I wrote), it finally clicked for me why I wanted to make NSSS in the first place.
Previously, I always thought I had wanted to make NSSS because I wanted to fulfill my childhood fantasies, or to make a better minecraft than minecraft, or to polish the game as it was in 2010 and move it in a different direction.
But these are all closer to whats than whys.
Imagine returning to your family home and walking into your room and seeing it, not the way you left it, but exactly as it was when you were in elementary school, and there are toys strewn about the floor that you didn't even remember you had until that instant when you saw them again, and everything that was going through your mind, every tiny short-term memory that was in your head that day - what you ate for lunch, what you had to do at school the next day, what time Spongebob was gonna be on - are all just dumped right into the front of your conscious mind as if they'd never left.
But you're an adult. You're a different person. You can look at these things with a different perspective, see things that kid you never possibly could have. And that's never happened before. Like you've been handed a key to your own memories and told "go wild."
The past has been made brand new again. These aren't just dusty old memories that bounce around in your head, slowly getting distorted and thinned out over time. It's the very context that made those memories in the first place, and you're free to keep going from there, knowing what you know now, being the person that you are now.
This, above everything else, is what I have always wanted from NSSS. It's the mentality that has driven me to be so interested in history, period - it's why I volunteer at the museum, it's why I spent nearly a decade of my life archiving media from a certain other block game, and it's why I insist on using antiquated, obsolete tech for what it was intended for, rather than just letting it sit on a shelf looking pretty. I want to make the past brand new again.
After all, 'the past' is just a funny name we use to refer to the parts of the present that have already happened. There's no reason why it can't happen all over again.
To some extent, this is not an uncommon view - the term 'Nostalgia' exists for a reason. But 'Nostalgia', in my opinion, has the connotation of a biased, selective view of the past. It cherry-picks bits and pieces, either because they were remembered more positively, or because they are cheaper or easier to reproduce. A P.T. Cruiser may have 'vintage-y' styling, but it does not make the past brand new - it's too distorted and half-assed.
A few weeks ago I was hanging out with some friends when someone pointed out that Good Burger had gotten a sequel. I had never seen the original before, so we all watched it. Despite having never seen the film, everything about it - the set design, the acting, the fashion, the soundtrack - were extremely familiar to me, as though I had seen it a hundred thousand times before, but it was still brand new to me. And I enjoyed it! It was a goofy, somewhat contrived 90's movie with an only-somewhat-leaky plot and memorable characters.
Then, immediately after, we watched Good Burger 2 and I felt almost nothing. Part of that was because I frankly thought the film kinda sucked - the lessons Dexter learnt in the first film having been ultimately forgotten served to detract from his original character arc, for one - but the original movie was no paragon of writing either, so why did it get such a free pass from me?
Good Burger, despite my never having seen it before, managed to still seem familiar to me because, as a movie made in 1997, it had all the key qualities to slot right in as a movie I plausibly could have watched hundreds of times as a child. Good Burger 2, though clearly intended to capitalize on the 'nostalgia' that other people my age would have had for the original, completely missed the ball in that regard. It was no longer familiar, and thus, every other flaw in the writing, plot, etc. no longer got a free pass from me. It was no longer a 1997 movie with a 1997 movie's plot, it was a 2022 movie with half of a 1997 movie's plot and half of a 2022 movie's plot - it was half-assed. It, like a P.T. Cruiser, couldn't decide whether to be from the past or from the present and ended up in a weird, uncanny worst-of-both-worlds.
I've always been keen to be true to the historical context of whatever historic artifact I'm using - whether it be a typewriter, SGI workstation, palm pilot, or, in NSSS's case, an indie game from 2010 written in Java. It's why I develop NSSS using period tools and constraints - I use an old version of eclipse, maintain strict compliance with Java 5 (which came out in 2004), optimize the game for hardware that is now 20+ years old, built the entire website in .jsp, modeled the wiki after minepedia as it was in September of 2010, etc.
Because I'm not just doing this all to nostalgia-trip, I'm doing this to drag the past back into the present for us all to experience again. It's not going to be exactly as it was in 2010 - I do still want NSSS to be its own thing beyond just minecraft alpha 1.1.2_01 with bugfixes and QoL improvements - but it will be both familiar and new. It will have been made exactly as it would (and could) have been made back in 2010. And you can sit down and play it, and feel just as you did 14 years ago, not just in that you're playing the game as it was back then, but that you're playing a new game just as it was new back then.
As I put it in the discord server last year:
"I want to see someone who first played minecraft 13 years ago, back when they were young and wide-eyed and had never seen a game like it before, someone who got addicted and spent a solid week doing nothing but eat sleep & play, someone who almost pissed themself with fear the first time they got eviscerated by a creeper, someone who woke up their parents in the middle of the night shouting with glee when they found their first diamond, someone who fell in love with the game as it was then and stuck with it as it grew with them, changing and evolving and morphing just as they did, through beta and release and their highschool graduation and their first car and the combat update and the nether update and their first apartment when they finally let minecraft sit dormant on their PC for over a year, when they just lost the last remnants of the spark they had, and they don't even care enough to know why they fell out of love -
I want that person to play NSSS, shake off the cobwebs in their brain as they try to pull out the memories that have become faded and warped with time, just enough that they've forgotten just what this game did to them when they were younger, just enough that they expect the same old experience that they've grown more and more unenthused about over the years -
And I want them to get eviscerated by a creeper for the first time in 8 years and fucking shit their pants."
-DirtPiper
9 notes · View notes
dirt-piper · 11 months
Text
Where’s the next NSSS update?
The last patch to NSSS came out 3 months ago, and the last major update - 1.1.11 - nearly 2 years ago. Where the hell is 1.1.12? Or the new launcher? Or the website, the wiki, the forums, and trailers???
Let’s tackle these one-by-one:
1.1.12
This is the single most ambitious update NSSS has ever had, which is saying a lot since 1.1.11 was also a ‘most ambitious update NSSS has ever had’. But it’s true! The two main features of this update - weather and seasons - have both required a ton a work in both design and implementation to make a reality. Seasons are now pretty much done, but weather is proving to still be an irritant. A large portion of that is due to how I’ve decided to implement it - based directly off of an ancient post to r/Minecraft by AbouBenAdhem suggesting a dynamic cloud system as opposed to Minecraft’s static bitmap. Notch thought the idea was wicked cool - and I do as well - but ended up passing it by.
When he did finally implement weather in Beta 1.5, it was a somewhat rudimentary system where the entire world would experience the same weather at the same time - if it was precipitating in one place, it was precipitating everywhere. The weather itself is also fairly boring - rain doesn’t sound particularly interesting (the sound effect is essentially just white noise), and the most gameplay-effecting phenomenon is thunderstorms, which (just barely) make the surface dark enough for hostile mobs to spawn during the day and can spawn lightning bolts, which can start fires. The challenge of thunderstorms is, of course, made totally moot by the fact that the player can skip them using a bed.
I don’t like the weather system we ended up with, and to my knowledge that’s a fairly common perspective. “Better weather” mods have existed for Minecraft since weather itself, but the design angle I have always thought had the most potential gameplay value was to couple it to a dynamic cloud system much like the one AbouBenAdheim had suggested back in 2010 - where the weather could be just as interesting as the infinite, procedural world itself.
A good portion of the delay in finishing this new weather system is the amount of times I have gone back to the drawing board. An attempt might end up being too slow, or too janky, or not interesting enough, or just flat-out doesn’t work. It’s been a major effort trying to get a system like this to fit neatly into Minecraft’s existing codebase and structure - a fair amount of shimming and shaving has been needed, though thankfully with each failed attempt some more useful shims have been added to make the next attempt a bit smoother. I believe I’m currently on implementation number 5.
But the biggest portion of the delay has been life. I can’t really afford to work on NSSS full-time (though I wish I could!) - the money I’m making off of patreon, while deeply appreciated, isn’t quite enough for me to be able to justify pouring all my time into this. And even if I could, I’ve been consistently interrupted by various health emergencies - in the past year alone I’ve had  to deal with bone bruises on both my feet, COVID, Appendicitis, and C. Diff. Aside from the health emergencies, I have other obligations - I work as a museum docent/restorer, a martial arts instructor, and I have tons of other projects that command various quantities of my time. Life is also responsible to a large degree for all of the other following delays:
New Launcher
The last update to the official NSSS launcher came out so long ago that I don’t even care enough to check - 3 years ago? Maybe even 4 by now? It was so long now that the Microsoft account migration was announced, began, and ended during the timespan since the last update. With the end of Mojang accounts, it is no longer even possible to log in with the old launcher. As such, I’ve been hacking away at adding support for Microsoft accounts to the new launcher using Oauth, which has been nothing short of a nightmare.
Tumblr media
The actual documentation on interfacing with this API is fairly comprehensive, but the problem lays in the encryption side of things. Pretty much half the point of the NSSS launcher is to be able to run the game on legacy operating systems - operating systems that are so old that no other launcher available today will run on them, despite Minecraft itself having been available on them back in the day. A large part of this is down to Java’s security support - the oldest version of Java that any version of Minecraft (every version up to release 1.8 or so, really) will run on is Java 5, which will run on Windows 9x, OS X 10.4, Solaris, etc. - but Java 5 lacks support for TLSv1.3 encryption, which is what Microsoft’s API absolutely totally 100% requires you to use if you want to interact with it. The oldest version of Java that natively supports TLSv1.3 is Java 8, which, while it still has fairly wide OS support, does not have the same legacy outreach as does Java 5.
So why not cram TLSv1.3 into Java 5?
Well, you can! Tons of companies are still maintaining massive, mission-critical codebases that they can’t easily update to modern versions of Java, so the need emerged for a third-party, pure Java library to handle more modern encryption methods - and thus one was made, called Bouncy Castle. Bouncy Castle does everything I need - the problem is I have no clue how to use it.
This is apparently a common problem - most of my google searches for “how do I do [X] with Bouncy Castle” turn up with results saying “you can, but there’s no documentation on how”. What I’m trying to do is so simple it baffles me how hard it is to get working - from what I have found this fix ought to be literally two lines of code to add the Bouncy Castle security provider to the list Java uses when making https connections, but so far nothing has been anywhere near that easy. I had briefly broken down and started using a proxy endpoint that Vulpovile wrote in PHP to strip all the encryption out of the GET and POST requests I was making, and I did manage to get logging in to work flawlessly with that system, but I scrapped it because it just felt too sketchy. The launcher will be released the instant I can figure this out - and if you do comprehend Bouncy Castle, then dear god please tell me what the hell to do.
The Website
This is mostly done, to be honest. I just need to get around to upgrading my hosting plan so I can set up Apache Tomcat. Once it’s up, you’ll see it here. Be wary that playing the game in-browser will take a while to be ready -  applets are not my forte.
The Wiki
This is getting there! I recruited some folks to help get the wiki set up based on archives of Minepedia as it was in September and October of 2010, with NSSS-specific features and fact-checking sprinkled throughout. Most of the block articles are done, and you can check out our progress here.
The Forums
These are a bit of a mess, at the moment. I’ve been wanting to set up a proper dedicated forum for NSSS for a while now - the discord server is not adequate as a centralized place for discussion, and discord honestly kinda sucks at things like distributing mods and world downloads and discussing basically anything more than one topic at a time. The forum will be phpBB, just like the original Minecraft one, though I am having difficulty in getting a theme set up that looks (and works) right. Once the forums are done then the discord server will still remain, albeit with far fewer channels - everything that is currently a ‘discord forum’ will get archived.
Now you’re all caught up! Stay tuned for some more ramblings here about game design and junk.
-DirtPiper
2 notes · View notes