middlethought

Level Maker
  • Content count

    21
  • Joined

  • Last visited

Community Reputation

42 Excellent

6 Followers

About middlethought

  • Rank
    Member
  1. Hello! The developer of Soundodger, onemrbean, is once again streaming Soundodger, this time for charity! Donations go to St. Jude Children's Research Hospital, and he's taking in submissions for levels, so please send in your best! And, tune in sometime this Sunday, May 21st, at onemrbean's Twitch, and check Bean's Twitter to see when the stream starts. I'll try to remember to update this post if a timeslot is mentioned.
  2. ████████▀▀░░░░░░░░░░░░░░░░░░░▀▀███████ ██████▀░░░░░░░░░░░░░░░░░░░░░░░░░▀██████ █████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████ ████░░░░░▄▄▄▄▄▄▄░░░░░░░░▄▄▄▄▄▄░░░░░████ ████░░▄██████████░░░░░░██▀░░░▀██▄░░████ ████░░███████████░░░░░░█▄░░▀░░▄██░░████ █████░░▀▀███████░░░██░░░██▄▄▄█▀▀░░█████ ██████░░░░░░▄▄▀░░░████░░░▀▄▄░░░░░██████ █████░░░░░█▄░░░░░░▀▀▀▀░░░░░░░█▄░░░█████ █████░░░▀▀█░█▀▄▄▄▄▄▄▄▄▄▄▄▄▄▀██▀▀░░█████ ██████░░░░░▀█▄░░█░░█░░░█░░█▄▀░░░░██▀▀▀▀ ▀░░░▀██▄░░░░░░▀▀█▄▄█▄▄▄█▄▀▀░░░░▄█▀░░░▄▄ ▄▄▄░░░▀▀██▄▄▄▄░░░░░░░░░░░░▄▄▄███░░░▄██▄ ██████▄▄░░▀█████▀█████▀██████▀▀░░▄█████ ██████████▄░░▀▀█▄░░░░░▄██▀▀▀░▄▄▄███▀▄██ █░░░░░░░░▀▄░▄███▄    ▄
  3. Hi

    welcome af
    I would say this level is good, but far from perfect and a more critical eye when making it could have produced quite a fantastic level. While you made some interesting original patterns in this level, they were mostly negated by how many times you repeated them, which ended up making them feel quite boring. In addition you used streams in places where you should not, or rather used them in places where enough individual bullets would've looked much better (it would've also required more effort, oh well.) You also didn't seem to make one part symmetrical, which would've been a simple matter of playing, correcting an enemy, and that being the end of it. In the end, I think the major issue with this was not enough playtime on your end, both with this level and other levels like it so you had a better sense of level-feel. I would still like to imagine you're getting better, but parts of this worry me. Also for the love of god, stop typing posts like this. It's not wacky, cute or endearing, it just makes me feel like I'm reading a post by a preschooler. And Noxis isn't beating this, it's too difficult for him to care about. One Love Salvia and I'm out bitches
  4. Since hugs have only just been introduced, you can safely assume this idea is new. It's also good.
    This is the best level I've ever seen! I'm so surprised that this is your first level, because it turned out quite well! All the bullets were synced together extremely well, and the colour scheme was very unique and unlike anything I've ever seen before. I also like the song, mind letting me know where you find such good music? Cheers!
  5. This is perfect. Thank you so much for this.
  6. You came in too late to the Discord to be part of it. satin didn't go after anyone that was not part of it and consenting.
  7. Not the most challenging level, but one I think deserves a video and so I made it. Hope you enjoy!
  8. The developer of Soundodger, onemrbean (Michael Molinari), is taking submissions for user levels to play for his 3,000 Follower Special. Submit your level and relevant information here (you only get one to submit!): https://goo.gl/forms/EziH4a39ZRYaZOqk1 The special will be happening on this Sunday, November 13th, at https://www.twitch.tv/onemrbean
  9. I'm a fan of patterns that do something new with old stuff, and I can't recall anything that did something similar that homing bullet pattern. Everything else looks good as well.
  10. Very good level with a unique concept that's challenging. I hope now that this is out there more people attempt it, it deserves the attention.
  11. Took all of this into consideration, and modified my original post. Thanks for pointing it out!
  12. Since there hasn't been a written record detailing some of the minutia of Soundodger+, I thought I would document it here for all to see. In this I will talk about various cheats, exploits, helpful gameplay stuff and editor things. This will probably be overly detailed and wordy, so sorry about that. The Button Combinations You're Not Told About These are the most useful to know about before anything else, so you ought to know that... In any level, you can press the R key to immediately restart the level. You can use F4 and F5 to toggle between windowed and high-quality fullscreen or low-quality fullscreen respectively, but you can also use the F3 key to toggle between various window sizes (they go quite large!) On the title screen, (if you don't use a controller) you can press the C key to toggle off (and on) Controller Search which usually results in better performance. Alt+F4 will close the window, but not before bringing up a dialogue, which can hit Enter to avoid. (Useful if you crash the game or the user levels menu freeze.) Now for the cheats: enabling these will turn off Steam achievements. On the title screen... ...if you input the Konami code, that is ↑↑↓↓←→←→ba, you unlock all levels of the game immediately. If this works, you should see text at the bottom of the title screen saying "all levels unlocked! :O" (This code is also the only code that also works for the web version.) ... type out theperfectcrime which gives you 100% on unlocked levels (again, will not give you the Hyperdodger achievement, nor will it unlock Hyper Mode even if you have all levels unlocked). If successful you should see "100% on all unlocked levels! :O" ...type out youreonlychaetingyourself to obtain all hearts in all levels. Together with theperfectcrime, you can unlock Hyper Mode for a session. (Note that the misspelling is not a typo, the creator did not code the cheat correctly.) If successful you should see "all <3s collected :O" ... and you can type out clearstats on the title screen, but so far this doesn't seem to do anything. All of these cheat codes only last as long as you have the Soundodger+ window open, so when you close everything reverts back to normal. None of the progress you make will be saved after one of these cheats is enabled, so take care not to use it if you plan on progressing. The Soundodger Shrinking Swipe-Space Snafu (otherwise known as "middling", "twitching", "flicking", etc.) For a moment, I'd like to go over what happens when you perform a move that looks like this: To execute this, you simply need to move your mouse around very quickly. If you can get between any two points (and you're fast enough) you will have seemingly dodged through all of the bullets in your way. The common misconception attached to this is that your hitbox is stretching, thus allowing you to slip through the cracks of bullet patterns. This is actually possible because 30 FPS is slower than the human hand. As a result, using this technique can be inconsistent or extremely easy to pull off, depending on how many bullets are on the screen and thus how much lag is inhibiting the game's ability to update your player position. To repeat, no, your player hitbox is not getting smaller, it's only an animation. There are a couple of interesting consequences of this being a part of the game: the first is that, by far, the best input method to playing Soundodger+ is a tablet. This is because a tablet doesn't use velocity to track where the cursor goes, but rather uses the position of where you touch on the touchscreen to correspond to a location directly on the monitor. In layman's terms, this means that with a tablet it's possible to go from one location to another without any input delay; you will entirely miss all bullet hitboxes. The second interesting consequence is that 60 FPS is hot garbage in comparison to 30 FPS. Or to put it another way, it is much more difficult to pull off this technique with 60 FPS mode on, as the hitbox checking occurs twice as often as in 30 FPS mode. There are other reasons 60 FPS mode sucks, like 60 FPS mode causing some bullets to not enter the arena, such as the heart in the DLC level Venus, so I (sadly) recommend not using it, even if it looks better. A third is that, if you haven't, you should keep in mind that this exists when designing your own levels. An example of where this was not known was in the original game, where you could make the entire latter half of the hidden level Waves From Nothing a cakewalk: To cap this discussion off, I'd like to mention that it is entirely possible to complete all of the developer-made Soundodger+ levels without using this trick. That being said, it is incredibly helpful to know about should you be in a tricky situation with a 100% on the line. How Did You Make ______ With the Editor? This section will go over the moist tricks you can do in the editor that produce some weird looking stuff. I will inevitably miss some obvious stuff I should have covered, so if you have questions about how a technique was done in a level, you can ask I will let you know. First, basic stuff that doesn't require editing (and that includes what was added in the most recent update): You can add a heart bullet as seen in the advanced levels section by highlighting a bullet marker and pressing Ctrl+H. Keep in mind that this means a heart bullet is basically another bullet type and can be a burst, wave, normal, or what have you. It does not need to be a singular thing. Ctrl+P sets the level selection preview; while the editor locks this value from ~2%-~98%, it is possible to make the preview silent or some decimal by modifying XML data as talked about below Remember how you can delete a time warp/spin rate marker by dragging the marker above the timeline? If you press Ctrl+Z after doing so, you can easily get a high spin rate/time warp marker that you otherwise normally couldn't get. Enemies in weird orientations: simply don't use an enemy with any bullet marker and that enemy will never appear in the level. Every strange configuration of enemies has always been a result of a missing enemy For this second section, I'm going to point you in the direction of Notepad++, not because I think it's amazing or that it's THE BEST EDITOR; it just happens to be free, and is better than the standard Notepad option and is something that I'm aware of. It has a Find function and it formats XML data nicely, highlighting opening and closing tags so it's much easier to look at. For a lot of the weird stuff you see in Soundodger+, you need to do XML editing. This may sound daunting at first, but you only really need to keep track of numbers if you want to get the most out of your level-making experience. I'm going to assume at this point that you are using Notepad++, but everything past this point should look about the same no matter what you use. Some definitions; first, this section is what I will refer to as the level metadata: To briefly go over what all this means: nick is the filename that Soundodger+ has to read from when it loads the level enemies denotes the number of spinny shooty balls colors1-8 are the base-10 equivalents of the hexadecimal values you see in the editor itself title and artist are what you see on the level selection screen difficulty is the number of ○ you see on the level selection screen designer is u!!! x3 MP3Name is the MP3 file that is loaded both for the level and for the level selection screen. preview is the percentage point where the preview plays; this can be any number, and if it is >100, <0, or not a number no preview will play on the user levels selection screen. In addition to all that, there are three tags which are usually unseen unless added: containsHeart which is automatically set to "true" once you use Ctrl+H to insert a heart into a level, and denotes whether a heart is in a level on the level selection screen adv which is usually non-existent, but if is inserted and set to "true," will invert all the colours (in hexadecimal, the operation is #FFFFFF - #yourcolour) and add "-advanced-" underneath the artist name subtitle which does the same thing as the last part of the adv property except that you can make the "-advanced-" whatever you want it to be Now for those of you lacking some experimentation: More than 10 enemies in a level: set enemies in the level metadata to whatever number you want. It can't be a decimal or a negative number, and the editor and game tend to break for enemies >200, so those are your limits. The editor can't display more than 17 enemy boxes in a bullet marker, so anything higher than that will require you to do XML editing to make the most use of all your enemies. How do you get levels to sort in non-alphabetical order? If you're astute, you may have noticed that creators like Krazyman50 have ordered their level packs in a non-alphabetical order; this is done by changing the title and adding some character like Ω α or β at the start, which isn't supported by Soundodger+'s in-game alphabet (so it doesn't show up on the level select screen), but still has a value to sort by Insane difficulties: you can set the difficulty to any value >(-1) and <101, with some interesting formatting to match. Every 25 enemies will create a new row of ○, for a maximum of four rows of difficulty There was stuff that appeared at the far right when I played that one level? Because you can enter any text of any length into fields like title, artist, and designer, you can space it out so that text appears way on the other side of the screen, like Blü did for his level of Ghosts: I'm a really unpleasant person and I want to betray someone: Well, you're in luck because there just so happens to be a way to do that. For some reason, nick is not automatically whatever the XML filename is, so it is possible to use this as a redirect. Let me give you a hypothetical to illustrate: let's say you want to Rickroll someone, and decide to do this by using a level of Skrillex's Bangarang. Simply take the XML for Bangarang, and change it so the nick is the same as the filename for the Rickroll level. Now, the Bangarang level plays the Bangarang song on the level select screen and seems totally normal, but when you click it, it will play Rick Astley's Never Gonna Give You Up. This works best if the person in question doesn't notice that you've slipped in two levels instead of one because they have to play way too many levels for their weekly show, and hasn't read this guide. Next, a typical bullet marker: time is the point in the song when the bullet is fired; as far as I can tell, it's rounded to the nearest frame, so the bullet will fire at some interval of 0.033s shotType denotes whether the marker is a normal, wave, stream, or burst bulletType denotes what type of bullet is being fired, can be nrm, nrm2, homing, bubble, heart or anything else (error) aim can either be mid for a bullet that fires to the center or player for one that fires at a player offset0-1 is the bullet's offset, with 0 denoting initial and 1 being final angle0-1 denotes cone size, and can be set to any value speed0-1 is the bullet's speed amount0-1 denotes amount being fired In addition there are some specific attributes that only show up for certain shot/bullet types: [bulletType:homing] lifespan denotes the number of frames the homing bullet will follow you for. The easiest way to figure out how many seconds the value translates to is to divide lifespan by 30; likewise, multiplying the number of seconds you want a homey to follow you by 30 gives you the approximate number of frames. Setting this to zero essentialy makes the homing a normal. [shotType:stream] duration denotes the number of seconds a stream is active [shotType:wave] rows denotes the number of waves in your wave marker Now let's talk about some of those weird bullets: The Error Bullet: To use it, set bulletType to be anything other than nrm, nrm2, homing, bubble, or heart. The error bullet has a hitbox of a linear, and the animations of all bullets layered on top of one another, while having a consistent colour of the initialization value for all bullets, #001234. It creates red particles when it's destroyed and it uses the previous colour of whatever bullet was fired from an enemy last. Here it is in action: Directionless Bullets: Set offset or angle to an extremely high value. Bullets no longer point in the direction they travel, often creating disorientating messes. Works like a burst if you use the angle route on a stream. It is also possible to have organized waves of directionless bullets; an easy way to do this (as suggested by satindolphin052 below) is to have some large number that is divisible by 360 (ex. 3600000) and add the desired offset to it. It is important to note that offset will modify the bullet's direction less in these instances; changing angle almost always results in a burst-like spread. The first video shows something done with offset (a burst with angle 100) the second with angle: Homies: AKA homing bullets that never stop following you. Figure out how many seconds you want the homing bullet to follow you for, then multiply that value by 30 and sticking it into the lifespan attribute for the corresponding bullet marker. You can see this effect in Tokyo Skies. (It is possible to have a lifespan that exceeds the song's time, but you effectively draw out a level's ending silence for no reason... unless you're destined to have a duel with some homey.) Backwards Bullets: set speed to some negative number, and set offset to 180 + what your offset would've been if it wasn't backwards. These bullets will fire tail-end first, and work as expected when time warps are negative. An interesting side note is that if a homing bullet is set to a negative speed with some non-zero/negative lifespan, it will actually repel away from the player. (Sorry for the lack of an example, I am tired and my brain no do work good) Helix/DNA Strand Looking Thing: If you have a stream, and set angle0 to -100 and angle1 to +100, the result will be a kind of helix, as the cone size dips to zero and then back out again. It's hard to tell since they're player orientated, but you can sort of see it in action here (modified from Placid Acid to satindolphin052's suggestion) The Non-Bullet Bullet: In levels, you may have seen enemies light up, but no bullets fire out from them. This can be done by taking any bullet marker and setting its amount to be zero. (Typically done best with streams, but can be done with any marker.) This can be seen in a few of Blü's levels, but to see it put to great effect check out this one in particular: Finally, I'd like to go over a typical spinRate/timeWarp marker: time is the when the marker occurs enemies="0" is, as far as I can tell, an indicator to the game that the operation is for all enemies, and that it is a spinRate/timeWarp marker and not a typical bullet marker; removing this will break the game and cause that marker to not show up in the editor warpType specifies spinRate or timeWarp val is the value of the warp/spin Dealing with these kinds of markers is probably the most frustrating of all, as loading any of these in the editor tends to reset them or snap them to some value that the editor accepts. In addition, spin rate markers can be set to any value, but will truncate decimals, meaning anything before the decimal is what gets used by the game; this is regardless of whether you load the level into the editor or play the level directly. Time warps a bit more lenient; if loaded into the editor they snap to some value of ±0.5 (eg. 1.65 time warp snaps to 1.5), but if played, the time warp values do not change, and can be many decimal points smaller and higher than those available in the editor. The last important thing with spin rates and time warps is there must always be a spin rate value of 0 at time="0" and time="<insert song length>", as well as a time warp value of 1 at time="0" and time="<insert song length>". Without these, you will not be able to load the level into the editor, so modify your XML with caution. The Screen Clear: setting an extremely high/low time warp effectively moves all bullets off the screen, as seen here: A Note About Extremely Fast Spin Rates: the absolute fastest spin rate you can have is ±180. This is because anything larger than 180 is the same as having a spin rate of 360 - that value, but in the opposite direction. In addition, everything larger than 360 is redundant as well, as it would just be the remainder of that spin rate divided by 360. To reiterate, this is only some of what's been found through XML exploration. There's likely a lot more that's still possible but that requires a high amount of experimentation to find, and more that I've just forgotten about as I'm writing this. Again, if you need a gimmick explained from a level, feel free to ask. What is the Deal With Slow-Mo? You click a mouse, the whole game slows down, what. is up. with that? First, what is happening to the bullets and their speed? The speed of each bullet is recalculated as the current time warp times the bullet speed times the slow-mo time warp, which is 0.1. The direction of each bullet might become very skewed in this process, as Soundodger+ (or Flash in general) has a hard time correctly processing numbers that are very small. This is why when you come in and out of slow-mo, bullet patterns often look much different than when you play the game normally. In addition, the music is played at half speed; to put it another way, the orange line in the editor runs half as fast as it normally does, while bullets are still moving a tenth their intended speed. This equates to bullets being generated 5 times their usual rate, which can cause dense patterns to form quickly. Secondly, how do I lose score? You lose score every time a bullet exits the arena (it hits the outer wall) while you are still using slow-mo. The number of bullets lost is divided by the total bullet count up until that point to create a percentage loss. This means that you can use slow-mo without losing score, as long as you release slow-mo without letting bullets get destroyed! This is how you're meant to get the Winding Down achievement, by the way. While this information isn't necessary to play Soundodger+ regularly, I would like to do/see something interesting with the concept of slow-mo, i.e. make a level where the bullets are moving 10x faster than they should be and the music is playing 2x as fast meaning slow-mo becomes the intended way to complete the level, somehow. In Conclusion Man, this took way longer to write than I wanted it to. I might do a follow-up on this on some stuff about how auto-gen works, but this is all that I really wanted to cover. I apologize again for the essay-like post, and I hope this inspires you to continue to explore what you can do in Soundodger+!
  13. It was Krazy, he violated Muted Mic Club.