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 - Terry

Open Source Projects / VVVVVV Source Code
January 16, 2020, 04:32:03 PM
The source code of VVVVVV is now public! This forum is the official place for discussion about projects related to it.

Some useful links:

VVVVVV's source code:

The original announcement:

The Make and Play Edition of VVVVVV:

VVVVVV: Community Edition:
VVVVVV Help / Anyone wanna be a moderator?
November 21, 2015, 10:21:09 PM
Hey all,

There's been a lot more spam than usual lately. I try to clean up as soon as I see it (thanks for the reports, by the way, they're very helpful), but sometimes it can take me a while! If anyone's interested in helping out, let me know! :viridian:
So, unfortunately, I never got around to writing that scripting tutorial. However, here's a basic reference that should get you started:

Quote from: increpare on July 27, 2011, 12:41:03 AM
here's some scripting advice pasted from terry's twitter account:

I'll write a proper tutorial later, but here's a super quick guide to scripting in VVVVVV: Place a teminal or scriptbox and type a name...

That name is how you refer to the script. In the editor, you can modify what's in it. Here are a few simple commands:

This is how you make a terminal talk - the number that "say" takes as an argument is the number of lines -

A two line script, read
by a terminal

The "reply" command makes Viridian talk:

A two line script, read
by a terminal
Ohh, a talking terminal!

You can change expression with the "happy" and "sad" commands

music(songnum) will play a given song (same as the numbers in the menu), delay(frames) will wait for how many ever frames

Now, logic! "flag(1,on)", say, will turn flag number 1 on. "flag(6,off)" turns flag six off. There are 100 flags, or something like that.

"ifflag(5,scriptx)" will jump to the script named "scriptx" if flag 5 is set.

You can also do iftrinkets(t,script) to check that you've collected at least t trinkets! Or you can use iftrinketsless(t,script).

destroy(gravitylines) will get rid of all the gravitylines on a screen, while destroy(warptokens) gets rid of all the warp tokens.

You could totally use that to make gates that are unlocked with trinket keys, incidentally. If you were so inclined.

If anyone here would like to link to more advanced scripting notes or tutorials, feel free to do so in this topic and I'll update this post to include the links!

[edit:] Check out FIQ's Script command index and hints for a more detailed explaination of things!
VVVVVV / Forum closing down [REOPENED]
May 03, 2013, 06:17:40 PM
Hey everyone.

I'm sure a lot of you are aware that I'm not really active on these forums any more. In fact, these days it feels like I only drop in when I get a moderator email - for quite some time, these forums have just been a place for random chats about nothing in particular. That's totally fine, but I don't really have the time to moderate that.

So, in a month from now, I'm gonna to close the forums down. I'll be leaving the levels forum, and that's it. The rest of the forum will be archived. (Any off topic posting in the levels forum will just get immediately banned, sorry).

If you're looking for new places to hang out online, here are some suggestions!

Hope you've had fun here! Cheers :viridian:

[Edit] Also, consider Dav999's new forum!
Everything else / Closing general discussion
November 24, 2012, 03:45:58 PM
Hey guys,

I don't mean to be a killjoy, but it seems like most of the discussion on this forum is now just forum games and posts about how old threads are. This isn't really the place for that! So I'm going to lock this forum for the time being. It may reopen again later!

Peace. :viridian:
There were a lot of stickied threads on this forum, so I'm just cleaning things up a little bit. Feel free to discuss your No Death Mode, Super Gravitron and Time Trial accomplishments in this thread!

Old threads:
No Death Mode
Super Gravitron
Time Trials
I'm posting this as a new thread so that people don't miss it - Simon's updated the 2.1 beta patch! It features some new OpenGL rendering code that seems to make the game run a lot smoother, hopefully sorting out all graphical issues once and for all.

You can get it from this thread!

I'm off to Minecon for about a week from tomorrow morning - if everything's running properly with this version of the patch by the time I get back, we're going to roll it out officially on steam and the mac app store. It's really important that we check it's running perfectly before we do that, though, so I'd really appreciate it if you could try out the new patch and confirm whether it's working, or if there are any major problems we've missed with it. Thanks!

(reposting from the blog)

Unfortunately, we've got a little held up with making the "official" save game converter for VVVVVV (for converting 1.2 save games to the new 2.0 format), so I thought it would be a good idea to highlight ConVVVVVVerter, an unofficial save converter made by Steam forum member SupSuper! It's very easy to use and works perfectly on both Windows and Mac, so I totally recommend using it if you're sick on waiting for us to sort it out. Download it from here!
Ok! This is part two of my short VVVVVV level editor tutorial. Part one can be found here, and covers the basics of getting a level up and running. This tutorial should explain the various settings and tools touched on in the last tutorial in more detail.

When you press SPACE in the editor, you'll see this toolbar pop up:

There are two pages, that's page one. This is really just to remind you what the tools are - you don't need it on the screen to change tools. You can change your selected tool with the < and > keys, or by using the shortkey for the tool you want.

1 - Walls: The first tool is simple enough - it allows you to place walls with the left mouse button. By default you use a single tile brush, but you can use a larger brush by holding the Z key (3x3) or the X key (5x5).

2 - Backgrounds: For drawing background tiles. Z and X brushes work here too. (Some tilesets don't have backgrounds.)

3 - Spikes: Spikes are spikes!

4 - Trinkets: And trinkets are trinkets! You can place a max of 20 on a map due to limitations with how VVVVVV's structured, but this might change in later versions.

5 - Checkpoints: Checkpoints have two orientations - on the floor, or on the celling. Click on them when they're placed to switch between them. When testing a map, you can press ENTER to spawn at the closest checkpoint.

6 - Disappearing Platforms: No settings here!

7 - Conveyors: Click on these when they're placed to change their direction.

(You might be curious about the larger Conveyors on the right picture - these were just an optimization in VVVVVV because in the old version, having too many entities on a screen could cause some slowdown. They're not really relevant anymore)

8 - Moving Platforms: Clicking on these changes their direction.

9 - Enemies: Clicking on these changes their direction too. This version unfortunately only has 16x16 enemies, but hopefully a later patch will bring custom enemies of all sizes.

0: Gravity Lines: Are placed horizontal by default; click the control point to make them vertical.

Onto the second page of tools! First up:

R - Room Text: Place and start typing! (Little bit of trivia, these weren't actually used in VVVVVV, but were implemented in early versions to give instructions. Another "early version" feature that might make a return for the editor; minor collectibles!)

T - Terminals: When placed, ask you to provide a scriptname. I'll discuss scripting in the next part of the tutorial. Terminals trigger scripts when the player stands in front of them and presses ENTER.

Y - Script Boxes: These are like terminals, except that they trigger their scripts as soon as they player enter them. Again, will discuss these more in part three.

U - Warp Tokens: When you place a warp token, you'll be able to move to any other location in the map to place it's end point. Warp Tokens are automatically numbered so you can keep track of them. If you're trying to find the corresponding exit, just mouse over a placed token to see the room it links to.

I - Warp Lines: Can only be placed on screen edges. The only place these were used in VVVVVV was in the tower level! They're partial screen warps - they allow you to warp from one side of a screen but not the other, or from a single entrance in a room. (Usually best avoided if you can just change the entire warp direction of a room instead, as using these doesn't change the background and can be confusing.)

O - Lost Crewmates: The (current) goal of a level is to collect all the lost crewmates. You'll need to place at least one if you want people to be able to finish your level.

P - Level Start Position: This is the where you start the level if you select it from the main menu. If a start point doesn't exist, you'll just spawn in the middle of room (1,1).

Ok, that's tools covered - now, let's move onto settings. If you hold down SHIFT, you'll see this menu:

The box on the right contains reminders for saving and loading (by pressing SHIFT-S or SHIFT-L). The box on the left are the room settings. First up, to change the tileset you're using, press SHIFT-1. (To change the current room colour, press SHIFT-2.)

Ok! The next two settings concern enemies. Press SHIFT-3 to toggle between the different enemy sprites. You can currently use any of the 16x16 enemies from VVVVVV. Later versions should allow custom enemies, though.

If you play this room, you'll notice these enemies go all the way from wall to wall.

If you want them to have more constricted movement, you can set enemy bounds by pressing SHIFT-4. It'll ask you to draw a box. Enemy bounds are not exact, unfortunately. (If you want to get rid of enemy bounds, just draw a box containing the entire room.)

Similarly, you can change platform bounds with SHIFT-5.

The next setting is the room warp direction. Toggle this by pressing SHIFT-W!

You can change the current roomname by pressing SHIFT-R.

Finally, you can change the size of the current map by pressing SHIFT + Arrow Keys. Sorry, I forgot to add this one to the GUI!

That's about it for settings. The last menu is the global menu, which you can access by pressing ESC. Descriptions we covered in the last part, scripts we'll cover in the next part - the only other thing here is the map music:

Ok! Hope this has cleared a few things up :) I'll post the third part soon, which will covers scripting. Later updates might add new features, which will either get added as new parts or appended to these tutorials.
VVVVVV Tech Support / Version 2: Report bugs here
July 28, 2011, 03:15:02 AM
I'll probably be doing a patch this weekend to fix some of the bugs with the new version, and to add more complex scripting support! Please help me out by listing anything you've found in this thread! :viridian:

Stuff I know about:

- Music stops on time trials if you press enter to restart
- Game forgets correct Fullscreen/Windowed settings on restart
- Game defaults to Fullscreen Auto, should default to 640x480
- Changing from fullscreen back to windowed mode can make you lose mouse focus
- Quiting the game during a cutscene leaves the cutscene bars in place, should be reset
- Game sometimes doesn't display hardest room on game over
- Keypad should work as well as arrow keys
- Enter isn't working for some people?
- Quicksaves in the tower don't seem to work
- Time trial ranks aren't being saved properly
- WASD controls don't work in game

Also, to add:

- Joypad support!

(There are others. but I can't seem to remember them right now.)
VVVVVV Levels / How to get a level featured
July 27, 2011, 11:16:35 AM
From time to time, I'm hoping to feature particular levels that people have made by posting it on my blog and on twitter! I thought it would be a good idea to provide a few guidelines, and maybe talk about what I'm looking for in a featured level:

:viridian: DO: Try something different.

I'm very likely to feature a level if it does something I haven't seen in a VVVVVV level before. Experiment with scripting! Try to build levels around unusual ideas!

:viridian: DO: Make it polished.

This is mostly just a matter of making sure there are no gaps you can fall through or glitches, and that you've tested things thoroughly to make sure sure everything feels nice in the game.

:victoria: DON'T: Make it too hard.

The easiest thing to do in VVVVVV is make a hard level, and while they can be fun, I do think they're one of the less interesting things you can make. (I'm unlikely to feature a level that's basically just a super expanded version of Veni Vidi Vici, for example.)

:victoria: DON'T: Exploit glitches.

The VVVVVV editor plugs directly into VVVVVV, warts and all! Which means that if you use the editor for a while, you're bound to run into some glitches as a result of the way things were implemented in VVVVVV. For example! If you place two horizontal gravity lines so that they intersect each other in the same line, you'll go through them. The problem with working this into a level, though, is that at some point in the future, it might get fixed in a patch. Which would mean your level wouldn't work any more!

:victoria: DON'T: Ask me to feature your level.

I figure it's probably a good idea to establish this as a guideline, just so I don't get swamped with requests, heh. I don't want to feature too many levels, just the ones I think do something really special and different - if I don't feature your level, it's nothing personal!
Part 2 of the tutorial is now available here! A scripting tutorial is still in the works, but in the meantime, check out increpare's post below, or PJBottomz's Scripting Tutorial level.

This is a very short, simple tutorial to get you started making levels in the new VVVVVV level editor. I'll try to keep it as brief as I can. Later tutorials will cover entities and room settings in more detail, and how to use scripting!

Ok, first up, you can find the editor from the main menu. Select "PLAYER LEVELS"...


Alright! When you've done that, you should see a screen like the one above. You can place tiles with the mouse, like so:

...but for shaping out a level properly, you'll need a bigger brush:

If you hold down the Z key, you'll draw with a 3x3 brush instead of a single tile brush. (Hold down the X key to use a 5x5 one.) You can also delete tiles by using RIGHT CLICK. (or Ctrl+Click on Mac)

Alright. Now, sketch out a quick room like the one above, with an exit to the right. By default, you start in a 5x5 world (you can see the room coordinates in the lower right corner). To move to a different room, just use the arrow keys!

From room (1,1), trying pressing right to go to room (2,1). You'll notice a white bar on the left hand side of the screen here - this indicates that there's a wall on this edge, useful for making sure you don't get any collision errors when you put the level together.

Ok, draw another room in here, like the one above (so that it has an exit to the left into the other room). We've got a basic level layout now, so let's put something in it!

If you press the space key, a little menu will pop up. This allows you to select the tool! Currently we're using the Walls tool, so let's move over to the checkpoint. You can change tools by pressing the < and > keys, or by pressing the shortcut key for that tool. (The numbers 1,2,3,4,5,6,7,8,9,0 are shortcuts for various tools, as are the top row letters R,T,Y,U,I,O,P).

Ok! Once you've placed a checkpoint (hide the space menu if you can't see the floor tiles), move back to the first room.

Here, we're going to place a Crewmate! That tool is on the second page of the space menu (or use the shortcut key "O").

This is a good time to mention that you can change the colour of the crewmate you placed by clicking them again! You can do this multiple click action with many entities, which will cycle through it's different variations.

Ok! Go back to room (2,1) and press ENTER. This will spawn you at the nearby checkpoint! You can just press ENTER again to return to the editor, or:

You can go rescue the crewmate! Yey :viridian:

Ok! Well, we've got a basic level working now, so to distribute it, we probably want to change it's settings. Press ESCAPE to go to the map settings menu. From here, select "CHANGE DESCRIPTION".

Enter whatever information you want here. This will help people identify your level in the play menu.

Ok, with that done, go back to the editor. To save your map, press SHIFT + S, and give it a filename. The extension is added automatically. (I'll talk more about the SHIFT menu options in the next tutorial.)

And that's it! We've made a basic level! From here, try experimenting with the different tools and see how you get on. The next tutorial will cover entities and room settings. The one after that will cover scripting.

Enjoy! To distribute your level for other people to play, go find the .VVVVVV file in your Documents folder. (On windows, that should be in My Documents/VVVVVV, on Mac it's Documents/VVVVVV, on Linux ~/.VVVVVV). You can play other people's levels by copying files into this directory.

Thanks for reading! Hope you have fun making levels! :viridian:
Other Games / Favourite games of mine from last year
January 18, 2011, 12:26:05 PM
So, The Brass suggested updating Allen's favourite games poll, but seeing as last year was mostly marked by lots of unfinished games and lots of silly minigames, I figured it might be better to just do an annual one. Pick up to five games!
VVVVVV / Silliness
January 12, 2011, 10:55:51 PM
So while out on a walk earlier I had a thought; I should make a whole series of games called after the various phonetic spellings of VVVVVV - I'd call one "VeeVeeVeeVeeVeeVee", another "VuhVuhVuhVuhVuhVuh", another "Six Vs", another "the letter V six times", another "Veeeeeeee", and so on.

This would make it almost impossible to indicate what game you were talking about in conversation.
Everything else / Spambots
December 15, 2010, 01:19:59 PM
For whatever reason, this forum was getting dozens of spambots signing up per day who weren't posting, but had spam links in their signatures. I cleared them up by deleting all users with 0 zero posts, but no doubt a few non-spamming lurkers got caught up in the process! So if you're visiting the forum and wondering why your account is deleted, that's why.
VVVVVV / VVVVVV demakes and fangames
September 13, 2010, 05:25:55 PM
I just wanted to make a thread to highlight some cool projects people have made or are working on, which are inspired by VVVVVV. Alphabetically!


CCCCCCCCCC [by Whirligig]

VVVV [by Notch]

YYYYYY [by Robson]

Work in progress:

QQQQQQ [by CooL]

VVVVVV C64 Conversion [by Paulko64]

VVVVVV Nintendo DS Tribute [by t4ils]


VVVVVVX [by Rox]
I'm not sure if it's a good idea to post this or not, but I figured it couldn't hurt to let people know I'm thinking about this. :viridian:

Last December, the 4chan leak caused me to rush the game to completion, which was probably for the best, in hindsight. It's the sort of thing that could have dragged on and on for months and months; and the leak gave me the push I needed to finish it up and get it out there.

Unfortunately, it also meant I had to chop a few features that I had wanted to add to the game; I originally planned to port the whole thing to C++, to make a 7th level, and most importantly of all, make a level editor. (I still have all my sketches from the planned secret 7th level, the "proto-dimension"). My attitude since then, though, has been, right, it's a finished game, and it is what it is for better or worse and I don't want to change it.

I feel differently now. Especially during this last week, now that the game has thousands and thousands of new players who are just discovering it for the first time. I'm now seriously thinking about a major update to the game. (This wouldn't be a paid add on or anything like that, by the way - it would just be v2.0 of the game.)

I wanna stress that this is all just me thinking out loud. I'm promising nothing! What I really want to do, basically, is make it module based, like The Strategist or Deadly Rooms of Death or FiNCK or Knytt Stories. The normal VVVVVV levels would be like the "main campaign", but the game would come with a really good level editor and you could choose any custom level set from the main menu. I'd probably then just implement my lost 7th level as a custom level in this new system. I might try to round up a few other people to make levels for the update too!

From a technical perspective, as far as I know it's now possible to load from external data files with the new versions of flash, so I probably wouldn't even have to port it to C++ (which would save quite a bit of work, and, incidentally, would mean that I'd finally be able to fix the whole flash cookies save file issue). Still. I'm talking about something that would literally mean months of work, so it's probably not going to happen anytime soon - probably not this year, at least.

But yeah, definitely giving this some thought! :viridian:
February 02, 2010, 07:37:29 PM
There was a small problem with yesterday's V1.1 patch that had to be fixed. This new version simply fixes that. To downgrade from v1.1 to v1.0 so that you can install this new patch, use this.

This is the patch for the most recent version of VVVVVV. New bug reports for future patches should be posted in this thread! The previous bug thread can be found here. Please check that you are running the most recent version before reporting bugs.

How do I know which version I have?
The v1.0 release had a simple main menu, while v1.1 has a more complex one with separate game and graphic options. v1.2 has a small mark on the corner of the main menu.

Patch Download:

Changes in version 1.2:

- A bug with time trials introduced in version 1.1 has been fixed.

Changes in version 1.1:

Main Features:
- You can quickly restart the time trials by pressing ENTER.
- Now supports more flexible graphic options, which may help improve performance on some machines.
- The game now starts in a window by default, which makes it easier to run on Linux through wine.
- A number of small bug fixes.

Bugs fixed in version 1.1:
- Fixed warping back to ship from tower bug.
- Quick saving in the tower now defaults to the correct camera position.
- Mac version now remembers fullscreen settings properly.
- Fixed trying to quit during the Gravitron bug.
- Fixed 21st Trinket bug.
- Room death counts reset properly on game restarts.
- Mouse now hidden in fullscreen mode.
- Fixed animation glitch in No Death Mode game over screen.
- Fixed opening cutscene repeat problem in No Death Mode.
- No Death Mode no longer overwrites your telesave.
- Scripts are now reset when restarting the game.
- Final level room names now reset properly.
- Fixed Prize for the Reckless platform glitch.
- It's no longer possible to warp back to the ship during the "game complete" screen.
- Room names in menu bar now report correctly for final level "glitch" and "change" rooms.
- Invincibility toggle is now remembered when you quit; fixes exploit.
- Viridian will now be sad if he's missed the par time on a time trial.
VVVVVV / VVVVVV Patch, V1.1 [broken]
February 02, 2010, 12:56:07 AM
There was a problem with the V1.1 patch which unfortunately broke the time trial modes; so I'm quickly making a new V1.2 patch which has all the fixes from the V1.1 patch but without the new time trial issue. If you've already upgraded to V1.1, you can downgrade back to v1.0 with this:

Downgrade VVVVVV v1.1 to v1.0
VVVVVV / VVVV - 4k demake of VVVVVV
January 28, 2010, 12:47:56 AM
This is so cool. :viridian:

VVVV is a 4k demake of VVVVVV by minecraft creator Notch. Can't believe he managed to do so much with just 4k!