Back to VVVVVV (V1.2.4)

Started by FIQ, May 28, 2012, 08:41:51 PM

Previous topic - Next topic

FIQ

The level's scripting is one big mess (part due to me, but mostly due to the scripting engine's very limited flexibility). If you're trying to figure out how I did a specific thing, I'm always open to answer stuff like that in PM. That way, we don't have to clutter this thread with that kind of stuff. Thank you in advance!

--------------------------------------------------------------------------------------------------------------------------

6 months has passed since Viridian and his crew left Dimension VVVVVV, and they are at their ship, when Vermilion suddenly goes missing. Soon, you get a communication signal from Dimension VVVVVV. Apparently Vermilion managed to teleport back there. But it's not empty of people anymore!
You find a person that calls himself Vita. Vita requests you to go and turn on devices that he calls "power sources", that provides power to a new Dimension Stability Generator, that finally will put an end to the always apparent danger of collapse of the dimension. This new version of the generator will not emit the signals from the old one that interferes to some ships (like D.S.S. Souleye).

Will you find all the power sources, and will the generator work? Play the level to know!

"... I am amazed by what has managed to be done in this level" - Blatch

"... This level is truly a masterpiece of levels" - Riosha

The levels feature 4+2 levels, and an overworld.

Screenshots (from an old beta, things have changed very slightly since):













And an example of what I managed with scripts, possible to access by a code:



Note that the level features heavy use of internal scripting. If there's ever a new release of VVVVVV fixing this bug, this level will not work anymore.

FEATURES:
* A modified Dimension VVVVVV
* A new character
* A new story
* Something else than rescuing crewmates
* Trinkets! Woo!
* Internal scripting (the first level who did it that also works in 2.1!)
* Teleport system, like the one in the main game
* Levels are connected to an overworld, just like in the real game or 333333
* Some of the bugs in Dimension VVVVVV which carries over to this level was fixed (for example the music issue in 2.0)

CHANGELOG:
Version 1.2.4 released 2019-11-20:
* Fix teleportation not working correctly in some versions of VVVVVV
* The level has been changed to account for Ved features such as flag names, etc. (thanks, Info Teddy)

Version 1.2.3 released 2016-04-15 (658 downloads total):
* The Super Gravitron is no longer accessible under Invincibility Mode

Version 1.2.2 released 2013-06-17 (483 downloads total):
* Fixed completing the first part of the level unlocking Flip Mode
* Fixed typos: instable->unstable, (...) sound too well... -> (...) sound too good...
* Fixed a minor tiling error in Inversed Floors
* Moved T4 slightly to the right
* Decreased the amount of teleporters to get an extra challenge trinket from max 2 to max 1.

Version 1.2.1 released 2013-02-18 (223 downloads total):
* Fixed a typo in the last dialog before the level ends
* Improved the dialog at the end to point out that the level will end immediately afterwards, and should you want to explore more, you're recommended to save
* Nerfed trinket challenges in Dimensional Tunnel
* Moved the DT challenge explanation terminal to the right side, to prevent users from accidentally skipping the first trinket (Riosha did this twice and I don't think it was intended)

Version 1.2 released 2013-02-16 (3 downloads total):
* Fixed clearing Platform Arena playing a flip sound effect instead of the level complete song in some cirumstances
* Fixed using TD resulting in "Level part completed! @ Life Factory" dialog if you had Potential for Anything activated in jukebox
* Altered the terminal in Crossway to give a more useful hint for 2.0 users.
* Made trinket locator usable for 2.0 users
* Made a room right of the trinket locator which you can use to check which trinkets you've found and which you miss currently
* Made the terminal in Crossway usable for 2.0 users
* Made a trinket room available before the end
* Made a TF pointing to the second dimensional tunnel (disabled before you complete the first phase of the level)
* Created a visible divot in Teleporter Divot
* Made *all* rooms in Dimensional Tunnel "wrap", there used to be a few rooms which didn't.
* Fixed a bug in which Vitellary (and possibly Vita) would disappear when choosing teleporter destination.
* Cheat code system. Codes are listed at the ship.
* Altered Into The Platform Arena slightly.
* Buffed Flip Training
* Nerfed Better Safe Than Sorry, Right?
* Fixed a typo in a roomname (Walk Agsint The Flow -> Walk Against The Flow)
* Placed checkpoints in DT (polar -> VVVVVV) at the trinket paths to make you walk less
* Placed several new checkpoints in the overworld to prevent dying in the few spots you can die at taking you to somewhere else far away
* Made a terminal at DT before the trinkets which comments a little on them, just for fun
* Made several script optimizations to account for hard limit of 500 scripts per level
* Fixed several typos
* Fixed a bug in the initial cutscene that made text boxes not show up correctly, and then crash VVVVVV if you button mash ACTION
* Removed an enemy in Easier Than it Looks to prevent dying by sheer (un)luck (this isn't a nerf in practice)
* Added persistent Vermilion at the ship, explaining the gravitron terminals.
* Added a 22nd trinket challenge -- complete the game (activate polar PS with 20 trinkets) and only ever activate destination teleporters in the hub personally 2 times

Version 1.1 released 2012-11-10 (86 downloads total):
* Fixed grammatical errors in "PS activated!" text
* Changed some internal scripts to use the "internal scripting w/o cutscenebars" method
* Trinket room! Yay!
* Jukebox terminals in secret area is reusable now
* The secret area now remembers which music it played last
* The jukebox at the end of the game will also remember what music it played last
* Fixed "Press ACTION to activate terminal" at the beginning
* Changed the background of the alternative path in Life Factory
* You can't die in Secret Area anymore (by enemies from Platform Arena)
* Terminals in Control Area that set destination is reusable now
* Fixed a major bug letting you get infinite trinkets
* Moved the terminals in the center "Control Area" to fix an occasional glitch
* Made a trinket more interesting. As this resulted in moving a trinket, and due to how VVVVVV handles entities in custom levels, this WILL break saves (unless you collected all, or no, trinkets)
* Made a place in overworld less frustrating

Version 1.0 released 2012-10-14:
* DIY VI Repair works. For sure this time! Really! I hope so...
* Saving in gravitrons works
* There's now a disclaimer in the ship about gravitron chaining
* There isn't random terminals missing in the ship anymore
* There's a little monologue right before ending the level to "justify" rescuing Victoria
* You cannot get the wrong music playing without editing the save file manually now. Eheheh... (Also, this "bug" exists in the main game in some places :3)
* Proper credits info
* The ship map coordinates is hidden until the ending now. Also hides the teleporter hub before you go there by yourself
* Made a very minor nerf to Spike Pit
* There isn't any obvious internal script trigger in the polar dimension entry anymore
* Fixed possibility to die in the secret area due to Inversed Floors being right above it (this wasn't supposed to be possible)
* Ship jukebox semi-works. I've yet to find out exactly how to light terminals manually, but you should at least be able to trigger them more than once now.
* Fixed VVVVVV 2.0 bug related to music stopping (mostly seen in time trial in the original game) affecting two of my internal scripts.
* Fixed a less brutal respawn if you manage to die after doing the first part of the dimension story without hitting a checkpoint.
* The locator now acknowledges the lack of a map in VVVVVV 2.0. I can't really do more than saying that 2.1 is recommended there, though...

Beta 2c released 2012-06-18:
* Fixed glitches related to the power source in the polar dimension
* You can now save at gravitrons you usually can't save at, w/o random bugs occurring
* Fixed easter egg glitching the plot

Beta 2b released 2012-06-15:
* Fixed a major bug that made it possible to skip Inversed Floors

Beta 2a released 2012-06-15:
* True ending
* Added new level - Inversed Floors
* Added "secret" area accessible after turning on every power source
* Added true ending (but the end is unfinished, you can go and clear the level now, but there's no dialogs at the "end" end!)
* Nerfed Platform Arena
* Added 4 new trinkets (2 in Inversed Floors, 2 in secret area)
* Added a new game at the end area (don't try to run the normal one, then the "special" one directly after it! I might remove it alltogether due to these bugs
* The whole dimension is filled now! Yay!

Beta 1b released 2012-05-28:
* Fixed major bug that made the game unwinnable if you chose Life Factory as your last level

Beta 1a released 2012-05-28:
* Added the whole level except for one level
* Nerfed Spike Pit
* Nerfed You Though It Was Easy?
* Nerfed Narrow Path

Fragment:
* First level, includes Life Factory

ToasterApocalypse

#1
I can't wait! I've been looking forward to this since the fragment.

Suspense kills. I have to find out what Vita looks like :o

LucasK

That looks nice! I can wait for it.   :)

FIQ

#3
Apparently I suck at estimations.
Anyway, the scripts are finally done!

A link is going up very soon (~10min), just doing a final playtesting of everything for myself to avoid major bugs!

EDIT: Found one, but it's fixed.

The beta is released!

Check the main post for the file

LucasK

Nice! Going to play it right now.

FIQ

Quote from: LucasK on June 09, 2012, 01:05:22 PM
Nice! Going to play it right now.
Read the first post again thanks, if the file is named "vvvvvv.zip", you'll have to download it again. Sorry!

ToasterApocalypse

#6
Now to go in and exploit EVERY
LAST
BUG

(If there's any.  :-X)

EDIT: Played, but not beaten.
I am horrible at navigating.

FIQ

Oh, by the way, to people who love the R button: It can break several parts of the level. I don't intend to fix anything related to it (actually, in 2.0, when you could use R in the main game, it glitched many parts of it as well). Just only use it if you get stuck in a platform (god, I don't understand why this happens anyway...)

ToasterApocalypse

Beat the game with 465 deaths, and ten trinkets.

Are you Terry or something, because that scripting blew my mind.

(And broke it. Seriously? You even got the gravitron in there.)

LucasK

True, The scripting in this level is just...geniously used.

FIQ

#10
Hehe, thanks.

When Stalefish first found out about a bug that could be utilized to access the internal scripting engine in 2.0 (which was fixed in 2.1), I played around with it.

I played around with the custom level parser, and stumbled upon a new way to do it entirely by mistake - and it even worked better than expected. I was able to trick the parser into believing that the following 5 lines (infinite in 2.1, but I wanted to make this level 2.0 compatible) would be a part of a say command, while it *actually* would be parsed directly by the internal engine, just as the normal game. Then, by abusing the internal text() command, I could change it into something that let me do this *indefinitely*.

I didn't decompile the game or anything, but I opened the binary in a text editor, to see how scripts looked in the normal game, and from that, and a lot of experimentation, I did this level.

There's probably some quirkiness in there, things that I did in the "wrong" way, but it worked!

About the gravitron, it was just a fun thing to implement, as it was accessible by a single command :P

You can open it up in a level editor and see for yourself how I did it.

ToasterApocalypse

Quote from: FIQ on June 09, 2012, 06:31:57 PM
Hehe, thanks.

When Stalefish first found out about a bug that could be utilized to access the internal scripting engine in 2.0 (which was fixed in 2.1), I played around with it.

I played around with the custom level parser, and stumbled upon a new way to do it entirely by mistake - and it even worked better than expected. I was able to trick the parser into believing that the following 5 lines (infinite in 2.1, but I wanted to make this level 2.0 compatible) would be a part of a say command, while it *actually* would be parsed directly by the internal engine, just as the normal game. Then, by abusing the text() command, I could change it into something that let me do this *indefinitely*.

I didn't decompile the game or anything, but I opened the binary in a text editor, to see how scripts looked in the normal game, and from that, and a lot of experimentation, I did this level.

There's probably some quirkiness in there, things that I did in the "wrong" way, but it worked!

About the gravitron, it was just a fun thing to implement, as it was accessible by a single command :P

You can open it up in a level editor and see for yourself how I did it.

I did open it, and looked at the gravitron script

but I don't know what script it was.

FIQ

It's named "gravitron".

I do however (as always) recommend against using any kind of internal scripting unless you know exactly what you're doing, AND, are aware that it might be patched sooner or later.

LucasK

OMG i copied the gravitron script into a level with just blank space to test it. And The Gravitron worked properly! That's cool!

FIQ

Quote from: ToasterApocolypse on June 09, 2012, 05:26:20 PM
Beat the game with 465 deaths, and ten trinkets.

Are you Terry or something, because that scripting blew my mind.

(And broke it. Seriously? You even got the gravitron in there.)
Which room was hardest?
That would be good information, because if the room you specify doesn't make sense for me, that might tell me that that room is too hard or things like that.