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