WEBVTT 00:00:00.280 --> 00:00:06.160 Hi, my name's Mark and I am making a  video game called Mind Over Magnet, 00:00:06.160 --> 00:00:11.640 a delightful puzzle platformer  about, you guessed it, magnets. 00:00:11.640 --> 00:00:17.360 Now, when I returned to game development after  my Christmas break, I noticed a very interesting 00:00:17.360 --> 00:00:24.280 button in my Steam Developer Dashboard  thingy that I can't show you due to NDAs. 00:00:24.280 --> 00:00:29.280 Basically a button to submit  the game to the next Next Fest. 00:00:29.280 --> 00:00:35.440 This is Valve's online games convention  where developers can share demos of their 00:00:35.440 --> 00:00:40.840 upcoming games and it's proven to be  a pretty powerful marketing technique. 00:00:40.840 --> 00:00:44.440 I mean, look what happened to  the very addictive poker-based 00:00:44.440 --> 00:00:48.360 roguelike game Balatro in  the last one in February. 00:00:48.360 --> 00:00:53.720 So I knew I had to submit Mind Over Magnet  to the next Next Fest happening in June. 00:00:53.720 --> 00:00:57.800 I just needed to create a trailer, make a demo, 00:00:57.800 --> 00:01:06.520 and fix one very annoying thing about my  game that's been bugging me for months now. 00:01:06.520 --> 00:01:09.129 Let me explain. 00:01:09.129 --> 00:01:17.708 ♫ Music ♫ 00:01:17.708 --> 00:01:23.600 Okay, so my game is pixel art, right? But the sprites are pretty big. 00:01:23.600 --> 00:01:27.720 I mean, compare Magnus to Mario, or Madeline. 00:01:27.720 --> 00:01:33.720 This means that a typical room  might fill up 1280 by 720 pixels. 00:01:33.720 --> 00:01:39.000 So if you're playing on a really old  720p monitor, great. Pixel perfect. 00:01:39.000 --> 00:01:43.480 And if you're playing on a nice  1440p monitor like I do, cool. 00:01:43.480 --> 00:01:45.800 We can just double all of the pixels. 00:01:45.800 --> 00:01:51.720 And if you're playing on a really nice 4K  TV, then I can just triple all of the pixels. 00:01:51.720 --> 00:02:00.760 But what about 1080p, the most commonly used PC  screen resolution according to Valve's surveys? 00:02:00.760 --> 00:02:06.880 Well, that's a bit tricky because  that's 1.5 times bigger than 720p. 00:02:06.880 --> 00:02:11.520 And, well, there's no such thing as half a pixel. 00:02:11.520 --> 00:02:16.080 Now there's a few different  solutions to get around this problem. 00:02:16.080 --> 00:02:19.400 One is to just let Unity figure it out. 00:02:19.400 --> 00:02:22.800 Like add an extra pixel here and remove an extra 00:02:22.800 --> 00:02:28.480 pixel there to make all of those half  pixels fit onto a full pixel grid. 00:02:28.480 --> 00:02:30.600 But as it sounds, that's not perfect. 00:02:30.600 --> 00:02:33.560 And things can look really squiffy and ugly, 00:02:33.560 --> 00:02:38.000 especially when it comes to  angles and curved surfaces. 00:02:38.000 --> 00:02:43.640 Another solution is to use anti-aliasing  to feather all of the edges. 00:02:43.640 --> 00:02:49.760 But now everything looks blurry and it's no  longer that crisp, retro-looking pixel art. 00:02:49.760 --> 00:02:53.400 And solution three, or C, forgot what we're doing, 00:02:53.400 --> 00:02:58.800 is to keep the pixels as they are but have  a stonking great border around the screen. 00:02:58.800 --> 00:03:02.440 And now everything is small and zoomed out. 00:03:02.440 --> 00:03:05.600 Now I tried all of these solutions. 00:03:05.600 --> 00:03:11.880 I put in a setting in the menu for pixel perfect  mode that would add borders around the screen. 00:03:11.880 --> 00:03:16.080 I coded up a system so it  would systematically only 00:03:16.080 --> 00:03:21.920 add anti-aliasing if the pixels couldn't  be multiplied by a nice round number. 00:03:21.920 --> 00:03:26.200 And at times I wondered if maybe  players just wouldn't notice the ugly, 00:03:26.200 --> 00:03:29.240 squiffy pixels and it was just a me thing? 00:03:29.240 --> 00:03:34.160 But ultimately it felt like I was trying  to find the least worst compromise. 00:03:34.160 --> 00:03:38.760 And I spent a long time going back  and forth between these things, 00:03:38.760 --> 00:03:45.880 trying to find one of these three solutions that  would kinda, almost, sort of work for the game. 00:03:45.880 --> 00:03:51.320 Now of course there is a fourth solution  but I don't even want to think about that. 00:03:51.320 --> 00:03:55.040 And I mean it would work but  I don't even want to say it. 00:03:55.040 --> 00:03:56.280 Okay fine, I'll say it. 00:03:56.280 --> 00:04:00.320 I could get rid of all the pixel art and replace 00:04:00.320 --> 00:04:05.800 all of the graphics in the game  with brand new 4K ready artwork. 00:04:05.800 --> 00:04:08.440 But that... but that would be mad, wouldn't it? 00:04:08.440 --> 00:04:13.160 So I replaced all of the pixel art in  the game with brand new 4K ready artwork. 00:04:13.160 --> 00:04:16.320 I took every sprite, tripled it in size, 00:04:16.320 --> 00:04:21.760 and then remade it using Photoshop's vector  tools like the pen tool and the shapes. 00:04:21.760 --> 00:04:28.720 That's every button, every door, every decorative  object, every magnet, every UI element. 00:04:28.720 --> 00:04:29.280 And you know what? 00:04:29.280 --> 00:04:32.640 It didn't actually take as  long as I thought it would. 00:04:32.640 --> 00:04:38.840 I mean my pixel art is already pretty chunky  and made up of simple shapes with basic colours. 00:04:38.840 --> 00:04:45.240 I also chose not to use this newfound pixel real  estate to add in extra details because I wanted 00:04:45.240 --> 00:04:50.160 things to still be super readable when crunched  down to a smaller display like the Steam Deck. 00:04:50.160 --> 00:04:54.440 And I also chose not to remake the background art. 00:04:54.440 --> 00:05:01.480 Instead I kept that as pixel art and just threw  on a depth of field filter to blur it out. 00:05:01.480 --> 00:05:03.560 But no one needs to know about that, right? 00:05:03.560 --> 00:05:04.880 That can be our little secret. 00:05:04.880 --> 00:05:09.200 And after all of that work I'm actually  really happy with how the game looks now. 00:05:09.200 --> 00:05:12.480 Magnus has way more charm and character. 00:05:12.480 --> 00:05:17.320 The game no longer looks like yet  another generic pixel art indie game. 00:05:17.320 --> 00:05:19.680 And the game just works. 00:05:19.680 --> 00:05:23.960 You can put it on a 4K TV  or a 1080p monitor or the 00:05:23.960 --> 00:05:28.280 small screen of a Steam Deck and it just works. 00:05:28.280 --> 00:05:29.480 It just works. 00:05:30.680 --> 00:05:34.240 And the funny thing is, in the  end I probably spent more time 00:05:34.240 --> 00:05:40.120 trying to find a good compromise than  I spent just remaking the art assets. 00:05:40.120 --> 00:05:43.200 And so I've learnt a really good lesson from this. 00:05:43.200 --> 00:05:43.920 Well, two lessons. 00:05:43.920 --> 00:05:45.920 One is just plan ahead. 00:05:45.920 --> 00:05:50.240 I made the sprites long, long, long before I made 00:05:50.240 --> 00:05:55.800 the final camera system and just kind  of hoped that they would work together. 00:05:55.800 --> 00:05:56.680 They didn't. 00:05:56.680 --> 00:06:02.000 I mean, there's this button in Unity for  a pixel perfect camera and I kind of just 00:06:02.000 --> 00:06:08.000 assumed I could turn that on and things  would be perfect, which is dumb and naive. 00:06:08.000 --> 00:06:11.080 That is not how it works but I know that now. 00:06:11.080 --> 00:06:16.920 But the other lesson is sometimes it feels  like a good idea to try and find a compromise 00:06:16.920 --> 00:06:21.800 or a loophole or a workaround but  that's kind of the lazy way out. 00:06:21.800 --> 00:06:25.440 And sometimes it's just better  to bite the bullet, knuckle down, 00:06:25.440 --> 00:06:31.400 and do the hard work to make an actual real  solution that's going to work properly. 00:06:31.400 --> 00:06:39.280 So in the future I'm gonna save myself some time  by just skipping ahead to doing the real solution. 00:06:39.280 --> 00:06:43.160 Okay, so with that kind of a nightmare out of 00:06:43.160 --> 00:06:47.520 the way it was time to move on to  the next thing - making a trailer. 00:06:47.520 --> 00:06:50.960 Now this is something I've put off  for a long time simply because my 00:06:50.960 --> 00:06:56.040 game just isn't done yet so there's not  a lot of stuff to show in the trailer. 00:06:56.040 --> 00:07:02.120 I mean I finished World 1 but if I just show  that then the whole trailer is gonna be the 00:07:02.120 --> 00:07:08.680 same footage of the same turquoise-y sewer  system over and over again for two minutes. 00:07:08.680 --> 00:07:12.160 Not a good depiction of what  my game is really about. 00:07:12.160 --> 00:07:17.240 So I decided to use the ancient  art of "fake it until you make it". 00:07:17.240 --> 00:07:19.960 Quite literally make it in this case. 00:07:19.960 --> 00:07:25.840 Because I've got a load of stuff that isn't  quite done yet like these levels that haven't 00:07:25.840 --> 00:07:31.600 been playtested and are currently using the  blueprint background design I use for development. 00:07:31.600 --> 00:07:33.600 I've got some half-finished backgrounds and 00:07:33.600 --> 00:07:36.240 some different mechanics that  aren't implemented fully yet. 00:07:36.240 --> 00:07:40.880 If I throw all that stuff together I can make  some content that isn't 100% going to be in 00:07:40.880 --> 00:07:45.800 the final game but is pretty indicative  of what the game is going to be like. 00:07:45.800 --> 00:07:50.120 Side note, I actually think I did  too good of a job with this because 00:07:50.120 --> 00:07:53.480 after I posted the trailer I got  a number of comments from people 00:07:53.480 --> 00:07:58.400 congratulating me on finishing the game  which I will take, thank you very much. 00:07:58.400 --> 00:08:01.280 It's not actually done. It's all fake! 00:08:01.280 --> 00:08:06.160 So with this new content I then recorded  myself playing through those levels. 00:08:06.160 --> 00:08:11.960 I didn't have any music on but I did keep the  sound effects on so those can be in the trailer. 00:08:11.960 --> 00:08:15.360 Also, at the risk of talking  more about screen resolutions, 00:08:15.360 --> 00:08:20.160 I recorded everything in 4K but  the trailer is only 1080p so I 00:08:20.160 --> 00:08:26.040 can crop the most interesting bits without  having to zoom in and lose image quality. 00:08:26.040 --> 00:08:32.720 I then threw this footage into Adobe Premiere and  cut out all of the most interesting little clips - 00:08:32.720 --> 00:08:39.480 you know, interesting animations or depictions  of mechanics or narrative beats or whatever. 00:08:39.480 --> 00:08:42.520 Now as for music, I do actually finally have a 00:08:42.520 --> 00:08:48.560 composer for the game now so I can  shut that very large Google form. 00:08:48.560 --> 00:08:51.320 Thank you very much for  submitting your name, everybody. 00:08:51.320 --> 00:08:53.600 They're not quite ready to work on the game yet 00:08:53.600 --> 00:08:59.240 so for this trailer I just went to my  favourite audio source, Epidemic Sound. 00:08:59.240 --> 00:09:02.840 And the cool thing about Epidemic Sound  - and this video is not sponsored by 00:09:02.840 --> 00:09:06.920 Epidemic Sound but if you go to the  description and hit my link I will 00:09:06.920 --> 00:09:12.000 get paid by Epidemic Sound - is that when  you download music you don't just get the 00:09:12.000 --> 00:09:18.240 full song but also the individual stems  like the melody, the bass, and the drums. 00:09:18.240 --> 00:09:29.120 This meant I could isolate the drums and have it  so the footage changes on the drum beat like so. 00:09:30.840 --> 00:09:34.240 In terms of the narrative arc of the trailer, 00:09:34.240 --> 00:09:40.160 I start with just really simple stuff like  using the magnet beams to lift up blocks. 00:09:40.160 --> 00:09:46.280 Then I slow things down to introduce Magnus  as a character, then show what Magnus can 00:09:46.280 --> 00:09:52.160 do as a game mechanic, and then have a  rapid fire montage of other stuff you'll 00:09:52.160 --> 00:09:57.920 see in the later half of the game like other  magnets, other mechanics, and other worlds. 00:09:57.920 --> 00:10:02.600 And then end with a nice call to  action to wishlist the game on Steam. 00:10:02.600 --> 00:10:07.960 Now this is not the best trailer ever made - I put  it together in like the course of a single day, 00:10:07.960 --> 00:10:13.120 I also don't have a huge amount of footage  to use, and I'm simply not Derek Lieu, 00:10:13.120 --> 00:10:17.480 you know, the guy who makes all of those  awesome trailers for every indie game. 00:10:17.480 --> 00:10:19.600 But I think it serves its purpose for now. 00:10:19.600 --> 00:10:23.920 And also I posted it on YouTube  and other socials and it pushed 00:10:23.920 --> 00:10:30.680 the game past 30,000 wishlists which is  pretty good before Next Fest even begins. 00:10:30.680 --> 00:10:32.760 And then finally there's the demo. 00:10:32.760 --> 00:10:38.000 Now I'm not 100% sure how much  stuff I want to have in the demo. 00:10:38.000 --> 00:10:42.280 Like the trailer, if I just  have world 1 in the demo, 00:10:42.280 --> 00:10:46.040 that's not going to be very indicative  of what the whole game is like to play. 00:10:46.040 --> 00:10:51.600 So maybe it should also have world  2, or half of world 2, or whatever. 00:10:51.600 --> 00:10:53.720 So I need to start making some of that. 00:10:53.720 --> 00:10:59.040 But in any case, I think I just need  to get working on finishing this game. 00:10:59.560 --> 00:11:03.400 Because like, going back to Balatro, you  might have noticed that the game built 00:11:03.400 --> 00:11:10.240 up a huge amount of hype during Steam Next Fest,  and then launched for real a couple weeks later. 00:11:10.240 --> 00:11:12.000 Pepper Grinder is kinda similar: 00:11:12.000 --> 00:11:17.880 it's launching about one month after  the end of its Steam Next Fest debut. 00:11:17.880 --> 00:11:22.200 And so if I'm going to showcase  my game at the Next Fest in June, 00:11:22.200 --> 00:11:26.920 I should probably look to  release it in July or August, 00:11:26.920 --> 00:11:32.280 and that's not hugely far in the future,  and so I'd better get on with this game! 00:11:32.280 --> 00:11:37.560 Now in the last few weeks I  have discovered a pretty good, 00:11:37.560 --> 00:11:43.560 not to sound too grandiose, production  pipeline for getting this game done. 00:11:43.560 --> 00:11:48.000 It's very much inspired by  Valve's approach to making Portal, 00:11:48.000 --> 00:11:52.160 which I discussed in that video  on Valve's playtesting philosophy. 00:11:52.160 --> 00:11:53.800 It basically works like this. 00:11:53.800 --> 00:11:58.520 On Tuesday through Thursday I  work on new content for the game. 00:11:58.520 --> 00:12:05.840 New levels, fancy new backgrounds, or  new cutscenes. Anything new for the game. 00:12:05.840 --> 00:12:08.480 On Friday I work on bug fixing. 00:12:08.480 --> 00:12:13.160 I take a few items off of my  ever-growing Trello to-do list 00:12:13.160 --> 00:12:19.080 and try to find a good way to solve that  bug, and then do some more bug fixing. 00:12:19.080 --> 00:12:25.120 And then at the end of the day I take what  I have, test it, and export a new build. 00:12:25.120 --> 00:12:27.520 I then give it out to some playtesters, 00:12:27.520 --> 00:12:33.400 usually like a few randos on Twitter,  but a maximum of three playtesters. 00:12:33.400 --> 00:12:39.560 Then on Monday I check my Twitter DMs  to find some nice playtesting footage. 00:12:39.560 --> 00:12:46.080 I watch the whole video through and make as many  notes as possible for things I want to change, 00:12:46.080 --> 00:12:54.920 like bugs, or places that need more polish, or  levels that are too easy or too hard or too fiddly 00:12:54.920 --> 00:13:00.960 or have some exploit that I didn't foresee  when I was developing that part of the game. 00:13:00.960 --> 00:13:06.080 Now I've had some version of this process  throughout the game's development, 00:13:06.080 --> 00:13:08.800 but I feel like I'm really perfecting it now. 00:13:08.800 --> 00:13:13.120 Like, in the past, I've given  builds to too many people in one go. 00:13:13.120 --> 00:13:15.920 That just ends up with way  too much footage to watch. 00:13:15.920 --> 00:13:22.800 It's just overwhelming, and if one person  stumbles upon a bug or an exploit it's 00:13:22.800 --> 00:13:30.040 really painful and not very useful to then see  that same thing crop up in nine more videos. 00:13:30.040 --> 00:13:34.680 Also I've given out playtest builds in the  middle of the week, and then I'm just kind 00:13:34.680 --> 00:13:39.880 of stuck because I can't do anything  until I get the playtest footage back. 00:13:39.880 --> 00:13:42.480 So doing it on Friday means people play the game 00:13:42.480 --> 00:13:47.400 over the weekend when I really should  be taking a break and playing Balatro. 00:13:47.400 --> 00:13:51.720 And so with this process the game  is really starting to take shape. 00:13:51.720 --> 00:13:57.040 New content starts out a little bit rough and  experimental but then quickly gets playtested, 00:13:57.040 --> 00:14:00.960 and stuff that's been in the game for  a long time, stuff in the early levels, 00:14:00.960 --> 00:14:05.000 has been seen by so many playtesters  and had so many little tiny tweaks 00:14:05.000 --> 00:14:09.840 and bug fixes that it's now starting  to get seriously polished and good. 00:14:09.840 --> 00:14:14.160 And so with this process I feel  somewhat confident that the game 00:14:14.160 --> 00:14:19.440 will be done shortly after its Next Fest showcase. 00:14:19.440 --> 00:14:25.240 But I can't do that if I'm standing here  rabbiting onto you about what I've been doing, 00:14:25.240 --> 00:14:29.680 so it's time to get back to  development for some time. 00:14:29.680 --> 00:14:33.400 I've got to run a playtest,  or watch playtest footage, 00:14:33.400 --> 00:14:37.920 or make new content for the game,  or do bug fixing or play Balatro. 00:14:37.920 --> 00:14:43.280 See the aforementioned schedule, compare it  to today's date, you'll know what I'm doing. 00:14:43.280 --> 00:14:48.120 As always GMTK Patrons can play the latest  build whenever they want but if you're not 00:14:48.120 --> 00:14:52.840 supporting the show financially - and I mean  why not - you can just wishlist the game 00:14:52.840 --> 00:14:59.080 now on Steam and you'll be notified when the  demo is available during the next Next Fest. 00:14:59.080 --> 00:15:05.794 Thank you so much for watching  and I will talk to you soon.