1 00:00:00,280 --> 00:00:06,160 Hi, my name's Mark and I am making a  video game called Mind Over Magnet, 2 00:00:06,160 --> 00:00:11,640 a delightful puzzle platformer  about, you guessed it, magnets. 3 00:00:11,640 --> 00:00:17,360 Now, when I returned to game development after  my Christmas break, I noticed a very interesting 4 00:00:17,360 --> 00:00:24,280 button in my Steam Developer Dashboard  thingy that I can't show you due to NDAs. 5 00:00:24,280 --> 00:00:29,280 Basically a button to submit  the game to the next Next Fest. 6 00:00:29,280 --> 00:00:35,440 This is Valve's online games convention  where developers can share demos of their 7 00:00:35,440 --> 00:00:40,840 upcoming games and it's proven to be  a pretty powerful marketing technique. 8 00:00:40,840 --> 00:00:44,440 I mean, look what happened to  the very addictive poker-based 9 00:00:44,440 --> 00:00:48,360 roguelike game Balatro in  the last one in February. 10 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. 11 00:00:53,720 --> 00:00:57,800 I just needed to create a trailer, make a demo, 12 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. 13 00:01:06,520 --> 00:01:09,129 Let me explain. 14 00:01:09,129 --> 00:01:17,708 ♫ Music ♫ 15 00:01:17,708 --> 00:01:23,600 Okay, so my game is pixel art, right? But the sprites are pretty big. 16 00:01:23,600 --> 00:01:27,720 I mean, compare Magnus to Mario, or Madeline. 17 00:01:27,720 --> 00:01:33,720 This means that a typical room  might fill up 1280 by 720 pixels. 18 00:01:33,720 --> 00:01:39,000 So if you're playing on a really old  720p monitor, great. Pixel perfect. 19 00:01:39,000 --> 00:01:43,480 And if you're playing on a nice  1440p monitor like I do, cool. 20 00:01:43,480 --> 00:01:45,800 We can just double all of the pixels. 21 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. 22 00:01:51,720 --> 00:02:00,760 But what about 1080p, the most commonly used PC  screen resolution according to Valve's surveys? 23 00:02:00,760 --> 00:02:06,880 Well, that's a bit tricky because  that's 1.5 times bigger than 720p. 24 00:02:06,880 --> 00:02:11,520 And, well, there's no such thing as half a pixel. 25 00:02:11,520 --> 00:02:16,080 Now there's a few different  solutions to get around this problem. 26 00:02:16,080 --> 00:02:19,400 One is to just let Unity figure it out. 27 00:02:19,400 --> 00:02:22,800 Like add an extra pixel here and remove an extra 28 00:02:22,800 --> 00:02:28,480 pixel there to make all of those half  pixels fit onto a full pixel grid. 29 00:02:28,480 --> 00:02:30,600 But as it sounds, that's not perfect. 30 00:02:30,600 --> 00:02:33,560 And things can look really squiffy and ugly, 31 00:02:33,560 --> 00:02:38,000 especially when it comes to  angles and curved surfaces. 32 00:02:38,000 --> 00:02:43,640 Another solution is to use anti-aliasing  to feather all of the edges. 33 00:02:43,640 --> 00:02:49,760 But now everything looks blurry and it's no  longer that crisp, retro-looking pixel art. 34 00:02:49,760 --> 00:02:53,400 And solution three, or C, forgot what we're doing, 35 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. 36 00:02:58,800 --> 00:03:02,440 And now everything is small and zoomed out. 37 00:03:02,440 --> 00:03:05,600 Now I tried all of these solutions. 38 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. 39 00:03:11,880 --> 00:03:16,080 I coded up a system so it  would systematically only 40 00:03:16,080 --> 00:03:21,920 add anti-aliasing if the pixels couldn't  be multiplied by a nice round number. 41 00:03:21,920 --> 00:03:26,200 And at times I wondered if maybe  players just wouldn't notice the ugly, 42 00:03:26,200 --> 00:03:29,240 squiffy pixels and it was just a me thing? 43 00:03:29,240 --> 00:03:34,160 But ultimately it felt like I was trying  to find the least worst compromise. 44 00:03:34,160 --> 00:03:38,760 And I spent a long time going back  and forth between these things, 45 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. 46 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. 47 00:03:51,320 --> 00:03:55,040 And I mean it would work but  I don't even want to say it. 48 00:03:55,040 --> 00:03:56,280 Okay fine, I'll say it. 49 00:03:56,280 --> 00:04:00,320 I could get rid of all the pixel art and replace 50 00:04:00,320 --> 00:04:05,800 all of the graphics in the game  with brand new 4K ready artwork. 51 00:04:05,800 --> 00:04:08,440 But that... but that would be mad, wouldn't it? 52 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. 53 00:04:13,160 --> 00:04:16,320 I took every sprite, tripled it in size, 54 00:04:16,320 --> 00:04:21,760 and then remade it using Photoshop's vector  tools like the pen tool and the shapes. 55 00:04:21,760 --> 00:04:28,720 That's every button, every door, every decorative  object, every magnet, every UI element. 56 00:04:28,720 --> 00:04:29,280 And you know what? 57 00:04:29,280 --> 00:04:32,640 It didn't actually take as  long as I thought it would. 58 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. 59 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 60 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. 61 00:04:50,160 --> 00:04:54,440 And I also chose not to remake the background art. 62 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. 63 00:05:01,480 --> 00:05:03,560 But no one needs to know about that, right? 64 00:05:03,560 --> 00:05:04,880 That can be our little secret. 65 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. 66 00:05:09,200 --> 00:05:12,480 Magnus has way more charm and character. 67 00:05:12,480 --> 00:05:17,320 The game no longer looks like yet  another generic pixel art indie game. 68 00:05:17,320 --> 00:05:19,680 And the game just works. 69 00:05:19,680 --> 00:05:23,960 You can put it on a 4K TV  or a 1080p monitor or the 70 00:05:23,960 --> 00:05:28,280 small screen of a Steam Deck and it just works. 71 00:05:28,280 --> 00:05:29,480 It just works. 72 00:05:30,680 --> 00:05:34,240 And the funny thing is, in the  end I probably spent more time 73 00:05:34,240 --> 00:05:40,120 trying to find a good compromise than  I spent just remaking the art assets. 74 00:05:40,120 --> 00:05:43,200 And so I've learnt a really good lesson from this. 75 00:05:43,200 --> 00:05:43,920 Well, two lessons. 76 00:05:43,920 --> 00:05:45,920 One is just plan ahead. 77 00:05:45,920 --> 00:05:50,240 I made the sprites long, long, long before I made 78 00:05:50,240 --> 00:05:55,800 the final camera system and just kind  of hoped that they would work together. 79 00:05:55,800 --> 00:05:56,680 They didn't. 80 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 81 00:06:02,000 --> 00:06:08,000 assumed I could turn that on and things  would be perfect, which is dumb and naive. 82 00:06:08,000 --> 00:06:11,080 That is not how it works but I know that now. 83 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 84 00:06:16,920 --> 00:06:21,800 or a loophole or a workaround but  that's kind of the lazy way out. 85 00:06:21,800 --> 00:06:25,440 And sometimes it's just better  to bite the bullet, knuckle down, 86 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. 87 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. 88 00:06:39,280 --> 00:06:43,160 Okay, so with that kind of a nightmare out of 89 00:06:43,160 --> 00:06:47,520 the way it was time to move on to  the next thing - making a trailer. 90 00:06:47,520 --> 00:06:50,960 Now this is something I've put off  for a long time simply because my 91 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. 92 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 93 00:07:02,120 --> 00:07:08,680 same footage of the same turquoise-y sewer  system over and over again for two minutes. 94 00:07:08,680 --> 00:07:12,160 Not a good depiction of what  my game is really about. 95 00:07:12,160 --> 00:07:17,240 So I decided to use the ancient  art of "fake it until you make it". 96 00:07:17,240 --> 00:07:19,960 Quite literally make it in this case. 97 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 98 00:07:25,840 --> 00:07:31,600 been playtested and are currently using the  blueprint background design I use for development. 99 00:07:31,600 --> 00:07:33,600 I've got some half-finished backgrounds and 100 00:07:33,600 --> 00:07:36,240 some different mechanics that  aren't implemented fully yet. 101 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 102 00:07:40,880 --> 00:07:45,800 the final game but is pretty indicative  of what the game is going to be like. 103 00:07:45,800 --> 00:07:50,120 Side note, I actually think I did  too good of a job with this because 104 00:07:50,120 --> 00:07:53,480 after I posted the trailer I got  a number of comments from people 105 00:07:53,480 --> 00:07:58,400 congratulating me on finishing the game  which I will take, thank you very much. 106 00:07:58,400 --> 00:08:01,280 It's not actually done. It's all fake! 107 00:08:01,280 --> 00:08:06,160 So with this new content I then recorded  myself playing through those levels. 108 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. 109 00:08:11,960 --> 00:08:15,360 Also, at the risk of talking  more about screen resolutions, 110 00:08:15,360 --> 00:08:20,160 I recorded everything in 4K but  the trailer is only 1080p so I 111 00:08:20,160 --> 00:08:26,040 can crop the most interesting bits without  having to zoom in and lose image quality. 112 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 - 113 00:08:32,720 --> 00:08:39,480 you know, interesting animations or depictions  of mechanics or narrative beats or whatever. 114 00:08:39,480 --> 00:08:42,520 Now as for music, I do actually finally have a 115 00:08:42,520 --> 00:08:48,560 composer for the game now so I can  shut that very large Google form. 116 00:08:48,560 --> 00:08:51,320 Thank you very much for  submitting your name, everybody. 117 00:08:51,320 --> 00:08:53,600 They're not quite ready to work on the game yet 118 00:08:53,600 --> 00:08:59,240 so for this trailer I just went to my  favourite audio source, Epidemic Sound. 119 00:08:59,240 --> 00:09:02,840 And the cool thing about Epidemic Sound  - and this video is not sponsored by 120 00:09:02,840 --> 00:09:06,920 Epidemic Sound but if you go to the  description and hit my link I will 121 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 122 00:09:12,000 --> 00:09:18,240 full song but also the individual stems  like the melody, the bass, and the drums. 123 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. 124 00:09:30,840 --> 00:09:34,240 In terms of the narrative arc of the trailer, 125 00:09:34,240 --> 00:09:40,160 I start with just really simple stuff like  using the magnet beams to lift up blocks. 126 00:09:40,160 --> 00:09:46,280 Then I slow things down to introduce Magnus  as a character, then show what Magnus can 127 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 128 00:09:52,160 --> 00:09:57,920 see in the later half of the game like other  magnets, other mechanics, and other worlds. 129 00:09:57,920 --> 00:10:02,600 And then end with a nice call to  action to wishlist the game on Steam. 130 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, 131 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, 132 00:10:13,120 --> 00:10:17,480 you know, the guy who makes all of those  awesome trailers for every indie game. 133 00:10:17,480 --> 00:10:19,600 But I think it serves its purpose for now. 134 00:10:19,600 --> 00:10:23,920 And also I posted it on YouTube  and other socials and it pushed 135 00:10:23,920 --> 00:10:30,680 the game past 30,000 wishlists which is  pretty good before Next Fest even begins. 136 00:10:30,680 --> 00:10:32,760 And then finally there's the demo. 137 00:10:32,760 --> 00:10:38,000 Now I'm not 100% sure how much  stuff I want to have in the demo. 138 00:10:38,000 --> 00:10:42,280 Like the trailer, if I just  have world 1 in the demo, 139 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. 140 00:10:46,040 --> 00:10:51,600 So maybe it should also have world  2, or half of world 2, or whatever. 141 00:10:51,600 --> 00:10:53,720 So I need to start making some of that. 142 00:10:53,720 --> 00:10:59,040 But in any case, I think I just need  to get working on finishing this game. 143 00:10:59,560 --> 00:11:03,400 Because like, going back to Balatro, you  might have noticed that the game built 144 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. 145 00:11:10,240 --> 00:11:12,000 Pepper Grinder is kinda similar: 146 00:11:12,000 --> 00:11:17,880 it's launching about one month after  the end of its Steam Next Fest debut. 147 00:11:17,880 --> 00:11:22,200 And so if I'm going to showcase  my game at the Next Fest in June, 148 00:11:22,200 --> 00:11:26,920 I should probably look to  release it in July or August, 149 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! 150 00:11:32,280 --> 00:11:37,560 Now in the last few weeks I  have discovered a pretty good, 151 00:11:37,560 --> 00:11:43,560 not to sound too grandiose, production  pipeline for getting this game done. 152 00:11:43,560 --> 00:11:48,000 It's very much inspired by  Valve's approach to making Portal, 153 00:11:48,000 --> 00:11:52,160 which I discussed in that video  on Valve's playtesting philosophy. 154 00:11:52,160 --> 00:11:53,800 It basically works like this. 155 00:11:53,800 --> 00:11:58,520 On Tuesday through Thursday I  work on new content for the game. 156 00:11:58,520 --> 00:12:05,840 New levels, fancy new backgrounds, or  new cutscenes. Anything new for the game. 157 00:12:05,840 --> 00:12:08,480 On Friday I work on bug fixing. 158 00:12:08,480 --> 00:12:13,160 I take a few items off of my  ever-growing Trello to-do list 159 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. 160 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. 161 00:12:25,120 --> 00:12:27,520 I then give it out to some playtesters, 162 00:12:27,520 --> 00:12:33,400 usually like a few randos on Twitter,  but a maximum of three playtesters. 163 00:12:33,400 --> 00:12:39,560 Then on Monday I check my Twitter DMs  to find some nice playtesting footage. 164 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, 165 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 166 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. 167 00:13:00,960 --> 00:13:06,080 Now I've had some version of this process  throughout the game's development, 168 00:13:06,080 --> 00:13:08,800 but I feel like I'm really perfecting it now. 169 00:13:08,800 --> 00:13:13,120 Like, in the past, I've given  builds to too many people in one go. 170 00:13:13,120 --> 00:13:15,920 That just ends up with way  too much footage to watch. 171 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 172 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. 173 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 174 00:13:34,680 --> 00:13:39,880 of stuck because I can't do anything  until I get the playtest footage back. 175 00:13:39,880 --> 00:13:42,480 So doing it on Friday means people play the game 176 00:13:42,480 --> 00:13:47,400 over the weekend when I really should  be taking a break and playing Balatro. 177 00:13:47,400 --> 00:13:51,720 And so with this process the game  is really starting to take shape. 178 00:13:51,720 --> 00:13:57,040 New content starts out a little bit rough and  experimental but then quickly gets playtested, 179 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, 180 00:14:00,960 --> 00:14:05,000 has been seen by so many playtesters  and had so many little tiny tweaks 181 00:14:05,000 --> 00:14:09,840 and bug fixes that it's now starting  to get seriously polished and good. 182 00:14:09,840 --> 00:14:14,160 And so with this process I feel  somewhat confident that the game 183 00:14:14,160 --> 00:14:19,440 will be done shortly after its Next Fest showcase. 184 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, 185 00:14:25,240 --> 00:14:29,680 so it's time to get back to  development for some time. 186 00:14:29,680 --> 00:14:33,400 I've got to run a playtest,  or watch playtest footage, 187 00:14:33,400 --> 00:14:37,920 or make new content for the game,  or do bug fixing or play Balatro. 188 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. 189 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 190 00:14:48,120 --> 00:14:52,840 supporting the show financially - and I mean  why not - you can just wishlist the game 191 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. 192 00:14:59,080 --> 00:15:05,794 Thank you so much for watching  and I will talk to you soon.