Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - FIQ

#1
Someone was asking for this in a thread and the thread where I uploaded it seems to have disappeared.

So here it is, again.
#2
VVVVVV Levels / Tower of Lirpa (V1.0)
April 01, 2014, 08:52:41 AM
EDIT: Happy April Fools everyone!

Original post
------------------
Vermilion has gone missing, again!
Viridian has to venture into an unknown place where Vermilion said he was going, and find him. On the way, he stumbles upon a mysterious, long, tower, not unlike The Tower back in VVVVVV. Can you save Vermilion in the end? Play the level to find out!

This is a level that I've worked on in secret for a while. After looking through VVVVVV internals with a memory checker (if you don't know what this is - think gameshark or cheat engine). I discovered that a particular bit enables a scrolling level (The Tower, etc). I also noticed that this bit was very close to the flag range. As earlier found, you could set "flags" beyond the 0-99 range by flag(x,on) and thus modify other stuff in RAM. By doing some calculations, I attempted to set a towermode flag by this, and to my surprise, it worked!

Whoa, I had no idea this was even possible! --Terry

O_O --simonroth

what's so special about this? --Notch

Because The Tower uses a 3rd tileset with a very different tile structure, and the rooms in question can't have tileset 3 by default, I had to work with tileset 1 but use tileset 3 numbers. This makes the level look really weird for a split second in the tower, but it fixes itself very quickly. This way, I could create a tower level, and funnily enough, without a single line of internal scripting!

Download: http://home.fiq.se/vvvvvv/toweroflirpa/1.0.vvvvvv
#3
Hi. I've bought this game twice -- one time on Steam, one time as part of HIB android 5.

I wonder, would it be legal to get on hold of the old flash version from iPhone, extract the swf from it to get it to run on my N900? Because I have a feeling it wont be released to it officially...
#4
Super Hexagon / Nexus 7
March 05, 2013, 08:27:16 PM
I'm aware that Super Hexagon is unavailable for Nexus 7 due to "input lag". However, an earlier blog post (this one: http://distractionware.com/blog/2012/10/available-to-over-1290-devices/ ), Super Hexagon runs really well on Nexus 7. This is the flash version of it, though.

I'm confused now, how well does Super Hexagon really run on Nexus 7?
#6
VVVVVV Tech Support / Flip mode bug
February 24, 2013, 06:31:53 PM
Hi.
In case 2.1 will be continued on at one point of time, I just want to point out this.

Apparently, text headers (      -= HEADER =-       ) text boxes are corrected to be above the text boxes even in flip mode. However, it doesn't appear correctly -- the header is shown way above the text box instead of how it's supposed to be. Take for example the terminal describing the tower, which appears in the room at top left of the map. In flip mode, the "Research Notes" header appears way too high in flip mode compared to how it is outside of this mode.
#7
Super Hexagon / Steam for Linux is now released
February 15, 2013, 04:25:47 PM
Now that Steam for Linux is officially in a stable release, how about releasing Super Hexagon for it? :)
And having a working (steam version of) VVVVVV too would be neat!
#8
VVVVVV Tech Support / The anti-epilepsy setting...
February 14, 2013, 08:54:45 AM
While this is a good idea, it does give a false sense of security for people with issues, as the elephant or the no death throphy isn't altered correctly. If a stable 2.1 is released, consider fixing this (make it just plain white or something).
#9
VVVVVV Tech Support / Disable automatic pausing
February 04, 2013, 02:16:01 PM
Hi.
Is there a way to retain 2.0 pause behaviour? There are some (few but still) uses for it. Is there a way to retain it at all without starting up the 2.0 version?
#10
Super Hexagon / Arcade mode bugs
February 01, 2013, 09:43:29 PM
Hi.
Just pointing out, arcade mode highscore entering is quite buggy.
First, under Wine the letters get stuck all the time, however this seems to be Wine exclusive (it didn't do that under Windows), so that doesn't really count. However if you find a way to solve it, it would be cool (allthough Super Hexagon will probably be out for Linux once steam gets out of beta).

Now to the stuff which happened on Windows too..

* Pressing W let's you "escape" from the entering of name and back to the game. The next time you lose, you'll once again be prompted to enter highscore. If you manage to get a new score in the new run, the old score will be there under the name you left it.
* If you press escape during highscore entering and enter a new level, you'll still be in the "enter highscore" prompt. If you enter the score, it will be saved to the old level as expected (but it shouldn't allow you to leave this name entering really). However, if you under this case press W to "escape" from the name entering to this NEW level, once you lose you'll edit THIS level's Nth place's name (where N = where you placed on the OLD one). This allows you to do funny stuff like replacing the name Hexagon in Hyper Hexagonest by your own name (while keeping the 60s that it had) without really beating it. :P
#11
Hi.
I just opened my own level and found these, and god what a mess. Basically pretty much all of my entities looked like this:

            <edentity x="680" y="231" t="2" p1="8" p2="0" p3="0" p4="0" p5="320" p6="240">Try to walk left or right
            </edentity>
            <edentity x="686" y="231" t="2" p1="6" p2="0" p3="0" p4="0" p5="320" p6="240">when at the corners!
            </edentity>
            <edentity x="728" y="231" t="2" p1="6" p2="0" p3="0" p4="0" p5="320" p6="240">Try to walk left or right
            </edentity>
            <edentity x="648" y="231" t="2" p1="8" p2="0" p3="0" p4="0" p5="320" p6="240">when at the corners!
            </edentity>
            <edentity x="656" y="231" t="2" p1="8" p2="0" p3="0" p4="0" p5="320" p6="240">Try to walk left or right
            </edentity>
            <edentity x="664" y="231" t="2" p1="8" p2="0" p3="0" p4="0" p5="320" p6="240">when at the corners!
            </edentity>

Etc, etc, and other random text from stuff I didn't create (I found references to A New Dimension, Reactor Disaster, 333333 and more). I just want point out that whatever you do, DON'T DELETE THEM. VVVVVV basically seems to register text in whatever sense it feels like, and has a tendency to write text to entities which doesn't even have text normally, which gives the above effect. These are real entities which simply have text it shouldn't have. Don't remove them if you find it in the level as you remove your OWN entities if you do.

Just saying.
#12
VVVVVV / The 1.2 version on kongregate
December 11, 2012, 12:58:17 AM
Hi.
I noticed that you edited the Hexagon game on kongregate to link to the sequel, Super Hexagon.

Have you thought of doing something similar with the VVVVVV on kongregate - tell shortly that the 2.0 is also available and feature player levels and a level editor? I bought the kong version as support (2.0 was gifted to me) and to be able to play it w/o downloading anything, and I figure some people might be completely unaware of 2.x if they've only seen the 1.2 version on kongregate.
#13
Hi.
How about, for a final version 2.1 if it is released, build the custom level list when VVVVVV start up and then cache it? Currently it's created each time you press "play level" (or whatever the menu text is) and lags much if you have very many levels. Additionally it doesn't seem as it's cached, as it's always that slow.

I suggest building and storing the level list with name, if level has a save, and the file name in RAM on start-up, and then edit it each time you save a custom level (not rebuild it completely). I don't know how this is done currently, or how the VVVVVV code looks like but I think this would be a pretty simple task for much gain (way more smooth custom level menu).
#14
Super Hexagon / Demo version
November 12, 2012, 11:17:27 PM
Hi.
When you release Super Hexagon, please make a demo version (Include Hexagon or something). While this might not make any sense in your eyes, it's not because of the gameplay that I want such, but for checking if the application works properly, as Super Hexagon will be in C++ and the original in flash.

The same should really have been done to VVVVVV imo.
#15
VVVVVV / The Linux version of VVVVVV
November 09, 2012, 10:11:57 PM
Is it up on Steam for Linux yet?
#16
VVVVVV Tech Support / VVVVVV random music change
August 18, 2012, 04:59:08 PM
Hi. I've had VVVVVV on the main menu now for a day or so w/o playing it, when it suddenly changed its' music track from Presenting VVVVVV to Predestined Fate for some weird reason.

Version 2.0

How come? :o
#17
Super Hexagon / Kongregate availability
July 16, 2012, 08:08:41 PM
New forum :o
Can't wait until the release, have to try this one.

Just to ask - will it be available on Kongregate? I have some problems with paying things (I recently turned 18 and haven't gotten myself a proper fully-usable bank account..) and Kongregate allows me to do it through simply use my phone.
#18
Super Hexagon / Super Hexagon
July 03, 2012, 10:24:34 PM
I've followed this project with much interest, I love these kinds of games. :)

I played the original for a while, and this is just so much better.

I was concerned about it having a price however. Not that I don't want to pay Terry - I would gladly do it, but it felt a bit wrong for this game.. Maybe it's just me, and it isn't really my game. :P

What do you other people think about the look ofSuper Hexagon?
#19
VVVVVV Levels / Script commands index and hints
June 24, 2012, 10:16:04 PM
Hi. Even if PJBottomz is awesome and has already made a tutorial in the form of a VVVVVV level, I felt that it would probably be nice to have a list of the commands and the usage of them, and examples, and hints/tricks, and hard limits.

Link to PJBottomz level for those that want a nice pedagogic way of looking how to script: http://distractionware.com/forum/index.php?topic=450.0

This might or might not look over-complicated. If you feel like it is, please see the above link instead, to get started on scripting. This is just thought as a list of the commands, plus technical details, and some usage hints at the bottom.

And here it goes...

Quick info
Things in [] are optional and not required for the basic usage of a command. When | is used, it means either one thing or another ("A|B" means that it can be A or B).
I will not cover exploits.

Command Index
Commands in the current stable version - 2.0
* - Usage was updated in the 2.1 beta, see below for new usage. Note that 2.0 usage will always work in 2.1, but not the opposite!

say(N)*
Opens a gray text dialog of N lines. Text below the command will be part of the text dialog.
Variables:
N - a number between 1 and 5
Example:
say(3)
This is a test
using the say
command!

reply(N)*
Opens a cyan text dialog, positioned relatively to Viridian of N lines. Text below will be part of the text dialog.
Usage:
N - a number between 1 and 5
Example:
reply(2)
Hello!
This is a dialog

delay(N)
Delays further actions by N ingame ticks. To get an idea of how long a tick is - 30 ticks is *almost* 1 second (it's very slightly longer).
Usage:
N - a number 1 or more.
Example: delay(15)

destroy(warptokens|gravitylines)
Destroys every warp token, or every gravity line, on the screen.
Usage: none
Example: destroy(warptokens)

music(N)
Changes the music ingame to track N.
Usage:
N - a number between 0 and 11, which means the following:
0 - Silence (no music)
1 - Pushing onwards
2 - Positive force
3 - Potential for anything
4 - Passion for exploring
5 - Presenting VVVVVV
6 - Predestined fate
7 - Popular potpurri
8 - Pipe dream
9 - Pressure cooker
10 - Paced energy
11 - Piercing the sky
Example: music(4)

flash
Makes the screen white, shake, and play the flash sound effect.
Usage: none
Example: flash

happy*
Makes Viridian happy.
Usage: none
Example: happy

sad*
Makes Viridian sad.
Usage: none
Example: sad

flag(N,off|on)
Turns an ingame flag on or off.
Usage:
N - a number between 0 and 99 except for 67, see bottom of the thread
Example: flag(63,on)

ifflag(N,S)
If flag N is turned on, runs a script named S in case you have a script with that name.
Usage:
N - a number between 0 and 99 except for 67, see bottom of the thread
S - a script name
Example: ifflag(49,destroywarps)

iftrinkets(N,S)
If you have N (or more) trinkets, run the script S.
Usage:
N - a number between 0 and 20
S - a script name
Example: iftrinkets(20,foundalltrinkets)

iftrinketsless(N,S)
If you have less than N trinkets, run the script S.
This command doesn't work correctly at the moment. Don't use it!
Usage:
N - a number between 0 and 20
S - a script name
Example: iftrinketsless(20,findmoretrinkets)

Commands in the 2.1 beta
Changed commands
say(N[,C])
The optional usage here is to change the dialog color to something else than gray via C. Also, N can now be more than 5. The dialog will be positioned adjacant to any possible crewmate the room, or center otherwise.
Usage:
N - a number between 1 and 11
C - 1/viridian/cyan/player, 2/violet/pink/purple, 3/vitellary/yellow, 4/vermillion/red, 5/verdigris/green, 6/victoria/blue
Example:
say(2,violet)
This is a
purple dialog!

happy(C)
Makes a crewmate happy.
Usage:
C - a crewmate's name or all/everyone/everybody
Example:
happy(violet)

sad(C)
Makes a crewmate sad.
Usage:
C - a crewmate's name or all/everyone/everybody
Example:
sad(vitellary)

New commands
map(on|off)
Turns the ingame map on or off (in which NO SIGNAL is showed). In 2.1, the default is on, but in 2.0, maps is never used.
Usage: none
Example: map(off)

squeak(on|off|C)
Turns the squeaking sounds when you use dialogs on or off, or make a crewmate sound.
Usage:
on - Turns the squeaking on when using dialogs (default behaviour).
off - Turns all the squeaking sounds off. This does NOT affect the effect of a forced squeak done with squeak(crewmate).
C - A crewmate, "terminal", "cry" or "player".


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


Hints
* When loading scripts, ensure that you have an additional end at the bottom, preferably with nothing in it. This is in addition to the already empty line. Due to a bug, the last line in a loaded script is read wrongly and thus depending on what you're trying to do, might not work as expected.
* Normally, you shouldn't over-use delay(). Many that are confident with scripting tend to do this. This hinders gameplay, which is the most important thing. delay() is nice sometimes, but don't have it too often, it will be a bit frustrating then.
* Many people want to make scripts execute only one time, in which case flags are really useful. To do this, you can use iftrinkets(0,script) as a "loadscripter". This works because you always have 0 (or more) trinkets. Then, you can have a script that checks if a flag is on, and then do nothing. Otherwise, run the "real" script. Like this:

QuoteName: scripta
ifflag(2,stop)
iftrinkets(0,scriptb)

Name: scriptb
say(1)
This will execute one time only!
flag(2,on)

Name: stop - empty script file.
The reason for why you need to seperate scripta and scriptb is that if VVVVVV encounters dialogs in a script, it will turn on cutscenebars (the black borders at the bottom and the top), no matter whether it will actually run or not. So if you don't seperate it like this, you'll end up with nice black borders every time you run the script after the first time (instead of nothing happening at all). You don't have to seperate them if you don't have dialogs, however. Hopefully this will get fixed, but it's like this currently.

* When you load other scripts via ifflag(), or iftrinkets/iftrinketsless, bear in mind that your script MUST be all lowercase. If this is not the case, the script will not be loaded.
* Never use colons (:) in scripts, i.e. in dialogs. If you do, you will corrupt all of your scripts when you save the level. This is because of how VVVVVV store the scripts internally when saving to a .vvvvvv file.
* You MUST have a newline at the end of a script file. Otherwise, the bottom line will be erased. If this happens to be a part of a dialog - too bad, because VVVVVV will crash when it encounters the end before it has placed all the lines as it want!
* Don't have say(6+) or reply(6+) in 2.0, or 11+ in 2.1. If you have a say/reply command that is 6+ in 2.0, VVVVVV will do strange things and you may or may not end up with a crash. Don't try to exploit with this if you find any actual use out of this, as it's not really compatible with newer versions of VVVVVV. Having a say/reply of 11+ in the 2.1 beta will just make VVVVVV crash.
* If you do a very long dialog, and when testing the script encounter a completely empty dialog - you'll have to end the script and begin a new script (you can use iftrinkets(0,script) as a "loadscripter" as described above) before that part, because you've just encountered the higher limit of a script's length before VVVVVV crash when attempting to run it.
* Flag 67 is used in the main game for deciding on whether you should be able to teleport to the ship via the pause menu or not. This flag does this in custom levels too, and if you do it, your main game save will be destroyed. Don't use this flag!

Limits
* Amount of script lines max before VVVVVV crashes if you try to run it: 198
* Amount of script lines before you can't even insert more w/o running: 500
* Amount of scripts: 500
* Amount of entities (excluding spikes): 3000
* Amount of entities (spikes included) in a single room: 500

Exceeding these limits will make VVVVVV segfault immediately. The same if you load such a level.
#20
Hi.
If you utilize dialogs too much at the same time, one dialog will be empty, and this is completely impossible to avoid. Very frustrating, and impossible to work around properly. My current work-around (have a dialog with rubbish, and then more dialogs after that) can even result in a crash if you feel like spamming the action button too much...