Welcome, Guest. Please login or register.

Author Topic: Discuss/Speculate on the VVVVVV 2.2 update!  (Read 16514 times)

nicholashin

  • tOLP Contributor
  • Captain
  • *****
  • Posts: 247
  • (Best?) VVVVVV Player level Critic
    • View Profile
describing yourself as extremely morbid doesn't mean you can be so mean
« Reply #60 on: May 13, 2014, 07:55:33 AM »
i am nicholashin, and i like raping the 'enter' key! i also say infoteddy just made up some random logic although he didn't, and i like to think that a solution for one thing is a solution for everything (which is what i'm really saying when i say "according to your logic")!
i like how whenever someone brings up a solution, all the other people think we should apply logic to everything else. "this man has killed enough people to be put into a death penalty!" "but how about that one child that ACCIDENTLY killed everyone in wisconsin? should we put that child into a death penalty although it was an ACCIDENT?" "yes, we should put that child into a death penalty! there's no fucking exceptions! lel!" "leelelele!!!!" and you forgot the part where i said this glitch only sends you to the room to the right or top.

seriously, the reason why you can glitch inversion planes is because they're close to the ground. not because you pressed action at the same frame viridian hit the inversion plane. not because you pressed action a lot. you can't skip through the gravitron pressing action a million times.

also, the warp line breaking only happens when warp lines are there on opposing sides. you can leave the trinket in the room with only one warping side. also, the tower isn't one room, it's a big column of rooms strung together with some hardcoded code. he could have just used another method of warping, i.e. the one without warping lines. the only reason why he used warping lines was because he didn't want to use the warping background that came with the other method.

if you want to make a maze, then make sure the room to the top and right of said maze room doesn't allow viridian to glitch through, effectively making a shortcut. in other words, PLAYTEST THE LEVEL TO MAKE SURE THE GLITCH DOESN'T BREAK THE LEVEL.

put spikes on the mid-air wall tile. you also don't have to stand in saying that you want it here, if you don't want glitches to happen, then put a block next to the mid-air tile.

edit: i can imagine you saying that i haven't said a solution to the conveyor belt glitch. find your own solution, i think i've given you enough solutions already.
I used warp lines in my level (and my upcoming level that's probably gonna be released over the weekend), and I tested the levels thoroughly to prevent the glitch from affecting the level. It took me a lot of work that could've been avoided if the glitch weren't there, so I think it makes sense for me to say that I don't like the glitch.

I was just really disgruntled by your "suggestion" of NOT USING WARP LINES IF YOU HATE THE GLITCH. The only thing I disagreed to was this particular logic, which you claimed to be made up by me when it was in fact made up by you. Let me quote this for you:
I hate this glitch with a passion, since you have to cautiously prevent people exploiting it.
or more simply, don't use warp lines!
I brought out other cases to illustrate the problem with the logic, not because I didn't know the solutions to them.

As for the use of enter button.......if you really hate it, I think you pressed the button for more time than I did :P

FIQ

  • Global Moderator
  • Professor
  • *
  • Posts: 132
    • View Profile
    • GitHub profile
Re: Discuss/Speculate on the VVVVVV 2.2 update!
« Reply #61 on: May 13, 2014, 08:42:39 AM »
Guys, please stop the flamewar.

Bugs like that should be fixed regardless, but both of you have valid work-arounds.

Info Teddy

  • Ultra Captain
  • ********
  • Posts: 3122
    • View Profile
so basically we're expected to wait another week for another round of bugfixes.

IMG_4346.jpeg

  • Captain
  • *****
  • Posts: 350
    • View Profile
so basically we're expected to wait another week for another round of bugfixes.
Basically. Try Advil?

Info Teddy

  • Ultra Captain
  • ********
  • Posts: 3122
    • View Profile
no advil pls
« Reply #64 on: May 14, 2014, 03:29:52 PM »

AutomatikTopic starter

  • Crewmate
  • *
  • Posts: 16
    • View Profile
Re: Discuss/Speculate on the VVVVVV 2.2 update!
« Reply #65 on: May 17, 2014, 09:15:50 AM »
Aaaaaand here's the 2nd FFFFFFriday post, on gamepads, this time.
https://plus.google.com/102593483001615978126/posts/6YshLR6pJMW
Show content
Quote
Joysticks are kind of jerks.

Now I know what you're thinking. You may even be looking nervously at the controller sitting on your desk right now, feeling thoroughly guilty after musing upon that statement for an extended period of time.

Don't get me wrong though. Controllers are cool. I like those guys. It's joysticks that are jerks.

What's the difference, you ask? This is best answered with an example from a support inquiry that I've actually received multiple times for multiple games:

Gamepad: Microsoft Microsoft® 2.4GHz Transceiver v6.0
    Number of axes: 37
    Number of hats: 0
    Number of buttons: 57

For those who don't know, this particular device looks something like this:

http://www.flibitijibibo.com/ffffffriday/tttttthanksgoogle.jpg

I wonder if all the controls are on the other side?

This is a problem that's been around forever. Some brain-genius decided that devices like these, of all the things they could possibly be interpreted as by the OS, should be a joystick. Don't think too much about this, they certainly didn't!

But let's say this isn't a problem. Maybe everyone remembered to take their brain medicine and the only things we ever see from the joystick subsystem are actual controllers. This would at least fix the crashes that you often get, but then there's the issue of actually setting up bindings for everything.

Even in the early days of my porting career it was apparent to me that this needed to be crowdsourced. I've tried this before...

http://pcgamingwiki.com/wiki/Vessel#Controller_Input

... but it gets ugly fast. It's also really crash-prone, too. If only there was a way to safely standardize controls for a particular setup and oh wait SDL2 has this doesn't it

https://wiki.libsdl.org/CategoryGameController

When Valve started picking up Linux support for Steam and their games, one of the first things that was contributed was the SDL_GameController subsystem. Written on top of the low-level SDL_Joystick subsystem, this wrangles everything into the 360 controller format, using a database found within SDL2 internally and from Steam Big Picture mode. Game developers can also provide their own database of bindings, if they choose to do so. This ended up being such a solid part of SDL2 that Valve now uses this for Windows titles as well, as it provides both XInput/DirectInput support in a single API and lets them take advantage of the work they put into Big Picture mode's controller work.

Much like the faux-backbuffer stuff I talked about last week, I've used this in every game since updating to SDL2. FNA uses this by default, and falls back to some low-level joystick stuff I wrote before the SDL2 update.

That's a bit of a tradeoff with GameController. Unlike Joystick, where it just interprets any old hardware that it finds (for better or for worse), GameController only picks up what it knows about already. The hole that this leaves is mostly for non-Steam customers who have controllers not recognized by any database, but this is something I may end up resolving, either for VVVVVV or for FNA. But, so many games are now using this that it really did standardize things pretty well. Even with 15+ games on my plate using this, I very rarely get any inquiries about the fallback support. Of course, I do still try and keep it all documented:

http://pcgamingwiki.com/wiki/Engine:FNA#Joysticks

The point is, adding support for new input methods is a LOT of work. Keep in mind that everything I've been talking about is purely technical... there's lots of design problems to be had as well. I'd like to point you to the SDL2_GamePad in FNA:

https://github.com/flibitijibibo/MonoGame/blob/monogame-sdl2/MonoGame.Framework/SDL2/Input/SDL2_GamePad.cs

This is the file that handles all of the controller support for my XNA ports. Note, these games that I port are A: finished products, and B: using this API that I cannot change. A lot of the work that goes into this is not just implementing what's there, but trying to expand upon the massively restrictive controller support found in XNA (and it is restrictive - XNA only supports the 360 controller and nothing else). Having to design all these things to make the controller support even the slightest bit acceptable while not affecting the design of both the XNA4 API as well as the game using XNA4 has been pretty tough.


But now let's look at VVVVVV, which I've managed to not talk about for nearly two pages of raw text. With that, I bring up my usual disclaimer:


DISCLAIMER: All of the work described here is a WIP, and is NOT FINAL!


To keep things interesting, let's change the format a bit and go through a pseudo-live experience of modern controller support, using the WIP joystick support in the VVVVVV revision I got. (Sorry, Simon.)

http://www.flibitijibibo.com/ffffffriday/ggggggamepad21_1.png

Oh, hey, Simon has a menu and everything! But boy I sure hope the rebind doesn't

http://www.flibitijibibo.com/ffffffriday/ggggggamepad21_2.png

Simon no D:

I hate this way of binding buttons, especially for controllers. It just doesn't work. Depending on the gamepad, the wrong button gets interpreted, or an axis gets interpreted because its default isn't 0, or some other stupid nonsense that makes these menus just the worst thing. And you've not even bound your controls yet.

And god help you if that button you just tried to rebind affects menu navigation. Don't you just love when you, say, rebind the back button, and attempting to rebind does any of the following at random:

- Backs out and doesn't bind the item
- Binds the item and backs out, not saving changes
- Binds the item and backs out, saving changes, and oh I'm sorry did you not bind "menu select" yet?
- Binds the item and mixes with either another binding or a hardcoded bind options, mixing up controls and making it impossible to rebind without clumsily breaking everything like a drunk in a antique shop and god ngf-WHY IS THIS SO BROKEN AHHHNGNGGFFFFFF RAHHH RIP AND TEAR EVERYTHING

This. Doesn't. Work. I've seen this in SO many games, many that I've worked on even, and it's a complete disaster every time. I'd rather just edit a config file. Of course, in a console setting that doesn't work either... so what do you do?

The common solution seems to be just not having custom controls, and for VVVVVV, I sort of considered that... the game only has 3 buttons, so we may as well just use up all the buttons and present an image for controls, like a lot of games do these days. Neither of us really liked that idea though, and it probably would have taken more work than just making a binding menu that didn't suck.

To my luck, making a menu that didn't suck was pretty easy. Here's a sample of how the rebinding works in the current revision of VVVVVV:

https://vine.co/v/MXhQdq9IIIr

And a screenshot:

http://www.flibitijibibo.com/ffffffriday/ccccccontrollerwip.png

Here's how it works:

First off, analog sticks and d-pads are constant. Up/Down/Left/Right are locked values, and SDL_GameController can easily wrangle these for us. There's a good chance I'll add the option to invert axes, but for now, we've got working movement.

For buttons, the instant you enter the three binding options, ALL button input is completely overridden and now only affects what the bindings lists are. Absolutely nothing happens with these button presses except for changing the bindings, until you exit the list. Only when you leave that section of the menu do the buttons do anything else at all, period.

This is a drastically better method of rebinding controller mappings in every single way possible. It not only makes the binding process simpler and more reliable, but it's actually so simple to use that mistakes essentially have no penalty.

Let's think about that back button example again. Let's say you get all your buttons bound, you've got everything you want (and it will work because again, input only affects the bindings here!), and now you're ready to leave. You might be inclined to hit the back button right away, but because you're still in the button setup options, it will actually rebind the back button to whatever you've got selected. What's the worst-case scenario here? That you may have rebound your back button to something else? By this point, you've almost certainly learned how this works, so you just rebind the back button to what you really wanted, then just exit the menu using the proper exit option. Sure, you may have had to do this, but how long do you expect that will take... 2, maybe 3 seconds to process in your head? It's a whole lot better than doing an incorrect binding and spending 5 minutes making a battle plan to escape the personal hell you just created for yourself.

And, of course, all of this is editable in the config file as well.


This, being a brand new feature, isn't entirely complete yet. As I mentioned before, I will probably add a way to invert axes, and I'm sure there are other options I haven't considered yet, but getting SDL_GameController hooked up and making a menu that didn't totally suck were the top priorities for this feature. If there's something you're worried I'll miss, feel free to poke me.

Next week, I'll be taking a break from all this portable stuff and digging into the good ol' days of porting stuff again. Even crazier, I'm actually adding a dependency to the game to do this... what could it be?!´╗┐

TL;DR:
-Joystick support coming
-Usage of "SDL_GameController"(added by valve in sdl2), so that the buttons are auto-detected.
-Gamepad options menu that don't suck.

It's not gonna be useful for everyone(obviously), but 2.2 is just an update that improve VVVVVV. It's not a revolution.

Info Teddy

  • Ultra Captain
  • ********
  • Posts: 3122
    • View Profile
err. and by "err", i mean "error", as in the fact that i just use joy2key to play vvvvvv with a joystick/controller. even then, you can still find people pointing to joy2key within the first 10 google search results when you search for how to play vvvvvv with a joystick/controller.

Hejmstel

  • tOLP Contributor
  • Super Captain
  • ******
  • Posts: 714
  • Formerly "Doormat"
    • View Profile
    • youtoot chunnel
err. and by "err", i mean "error", as in the fact that i just use joy2key to play vvvvvv with a joystick/controller. even then, you can still find people pointing to joy2key within the first 10 google search results when you search for how to play vvvvvv with a joystick/controller.

because everyone likes downloading extra software just to play a game with a controller.
seriously, what's wrong with joystick support?

Info Teddy

  • Ultra Captain
  • ********
  • Posts: 3122
    • View Profile
still more errs.
« Reply #68 on: May 17, 2014, 01:48:13 PM »
because everyone likes downloading extra software just to play a game with a controller.
seriously, what's wrong with joystick support?
downloading software and configuring it doesn't take as much time as incorporating a million programs with the prefix "sdl_" into the code. that's what's wrong.

FIQ

  • Global Moderator
  • Professor
  • *
  • Posts: 132
    • View Profile
    • GitHub profile
Re: Discuss/Speculate on the VVVVVV 2.2 update!
« Reply #69 on: May 17, 2014, 02:04:27 PM »
SDL is just a gaming library.

I'm however a little worried about him making SDL2 a requirement, because afaik, Pandora doesn't like SDL2, and I wonder if the Pandora version of this will be able to be updated properly.

Dav999

  • Administrator
  • Hyper Captain
  • *
  • Posts: 1586
    • View Profile
Re: Discuss/Speculate on the VVVVVV 2.2 update!
« Reply #70 on: May 17, 2014, 02:06:50 PM »
because everyone likes downloading extra software just to play a game with a controller.
seriously, what's wrong with joystick support?
downloading software and configuring it doesn't take as much time as incorporating a million programs with the prefix "sdl_" into the code. that's what's wrong.

Well, what do you think is better?

  • The programmer implements "a million programs with the prefix sdl_" actually being not more than a dozen functions aka commands, and each player with a joystick can use their joystick directly
  • The programmer doesn't implement said functions and each player will have to install certain software before they can use any joystick
« Last Edit: May 17, 2014, 02:09:24 PM by Dav999 »

Info Teddy

  • Ultra Captain
  • ********
  • Posts: 3122
    • View Profile
have you even tried joy2key?
« Reply #71 on: May 17, 2014, 02:27:08 PM »
you don't have to install joy2key in order to use it. however, it's probably justified since i said "a million programs".

and judging by the fact that you give me 2 options when i already answered the question [what do you think is better], i think you should probably read the entirety of "downloading software and configuring it doesn't take as much time as incorporating a million programs with the prefix 'sdl_' into the code. that's what's wrong," before you ask a question that has already been answered.

Hejmstel

  • tOLP Contributor
  • Super Captain
  • ******
  • Posts: 714
  • Formerly "Doormat"
    • View Profile
    • youtoot chunnel
Re: have you even tried joy2key?
« Reply #72 on: May 17, 2014, 02:28:34 PM »
you don't have to install joy2key in order to use it.
you still have to download it.

Info Teddy

  • Ultra Captain
  • ********
  • Posts: 3122
    • View Profile
like?
« Reply #73 on: May 17, 2014, 02:45:19 PM »
you still have to download it.
just like you have to download all "sdl_" libraries, and apparently there's at least 2 of them.

Dav999

  • Administrator
  • Hyper Captain
  • *
  • Posts: 1586
    • View Profile
Re: like?
« Reply #74 on: May 17, 2014, 02:47:52 PM »
you still have to download it.
just like you have to download all "sdl_" libraries, and apparently there's at least 2 of them.

They're in the game itself...

Info Teddy

  • Ultra Captain
  • ********
  • Posts: 3122
    • View Profile
still like?
« Reply #75 on: May 17, 2014, 03:00:32 PM »
They're in the game itself...
how about sdl2? apparently those aren't in the game themselves, since fiq said "i wonder if the pandora version of this will be able to be updated properly", "updated" being the keyword.

FIQ

  • Global Moderator
  • Professor
  • *
  • Posts: 132
    • View Profile
    • GitHub profile
Re: still like?
« Reply #76 on: May 17, 2014, 03:41:50 PM »
Oh I just noticed that pandora did in fact have SDL2. You can sleep well now knowing this. I bet you were all worried good for a bit there!

(not really I guess :p)

Info Teddy

  • Ultra Captain
  • ********
  • Posts: 3122
    • View Profile
still still like?
« Reply #77 on: May 17, 2014, 03:55:46 PM »

Terry

  • Crewmate
  • **
  • Posts: 20
    • View Profile
    • http://www.distractionware.com
Re: Discuss/Speculate on the VVVVVV 2.2 update!
« Reply #78 on: May 18, 2014, 12:36:55 PM »
I can probably answer a few questions about this if anyone wants :) Here's some basic info, at the very least.

I'm sorry to disappoint, but I'm not adding any major new features to the game at all. The main reason for the update is that VVVVVV is not stable on new computers and operating systems. That's mostly what this update is about - making the game stable and free of serious bugs.

So, for example, I won't be improving scripting, or adding tower level support, or anything like that. The game's old and basically stable, I don't want to introduce new features at this point - I think it's too late. I don't want, for example, for people to have to update the game in order to play new player levels.

I'm going to be careful not to "fix" any bugs that have resulted in cool glitches - so, internal scripting will still work, teleglitching will still work, the R key thing will still work. The bug that lets you glitch to the end cutscene will be fixed, though.

FIQ

  • Global Moderator
  • Professor
  • *
  • Posts: 132
    • View Profile
    • GitHub profile
Re: Discuss/Speculate on the VVVVVV 2.2 update!
« Reply #79 on: May 18, 2014, 02:13:06 PM »
Makes sense, and also what I expected myself :p

The R key glitch is fixed already though, but I assume what you mean is that you will "unfix" it? (edit: saw that you said on twitter that you will, nvm then)
« Last Edit: May 18, 2014, 02:25:53 PM by FIQ »