start	end	text
0	6940	We are with Admiral Potato and Mary, who are part of the DC-801 Black Mage Badge,
6940	10840	which we already did a video on this channel before, but I wanted to take time to sit down
10840	14480	and hear about not only what they're continuing to build,
14480	18540	but also some of the process that wasn't really shown in the original video.
18540	21680	So first, thank you so much for joining me.
21680	26860	Again, Admiral Potato, what were you responsible for, just for anyone who's watching, for this badge?
26860	33840	Oh, sure. Well, I was responsible, I guess I was software project lead on the badge game,
33840	39200	and I guess I also kind of herded a lot of other cats.
39200	44760	I feel like I was kind of the one who was pushing a lot of other people to put effort in.
45140	51260	It was a multi-year project just to get the initial batch of these out into the world,
51260	56500	and it took a lot of making sure that a lot of people were doing their particular part,
56500	62840	and coordinating things, but I was also designing the game engine to be a little bit different
62840	66960	than some of the previous DC-801 badges.
67900	71020	And I would imagine, though, like, that's not an easy task.
71020	75520	I mean, it's a double layer, there's multiple layers to the board, there's lots of complexities.
75700	79860	This wasn't an afternoon project, this was multiple years in the making.
79860	81680	How big was the team which worked on it?
81680	88040	Well, so Hamster, he actually has made all...
88040	93340	He's done the electrical engineering for all of the DC-801 badges that I am aware of.
93340	98920	There's probably like four or five of them, and I should probably be more well-versed on which ones those are.
99220	101360	So Hamster does the electrical engineering.
102900	112480	We have Bash Ninja and Pips, who are kind of just like there to kind of guide the whole organization.
114380	117780	They mostly handle finance and promotion these days.
118440	126980	We have me, who was just kind of... I was the one who started asking questions regarding whatever the next badge was going to be.
127660	132380	It's almost kind of one of those situations where I was asking questions and everybody else was burned out.
132380	136840	And so they're like, well, what ideas have you got? And I said, let me play around with some stuff.
137140	137580	Okay.
138540	143460	And so by playing around with a couple of different ideas...
143980	148120	I think it was actually Bash who suggested, well, what if we pick a character that's like the Black Mage?
148120	150700	And I was like, that's sweet, what can we do with it?
151600	154360	Nobody else had any ideas, I said, oh shit, I got it, guys.
155050	160920	The Black Mage, rather than having like fire, lightning, and electric spells like in the Final Fantasy series,
160920	168740	they can actually have the magical ability to open a hex editor and edit the state of live memory in the game that you're playing.
168740	172340	Everybody was sold. I was like, okay, I guess I have to make it happen.
172340	180320	I have to imagine what you pitched, which was, hey, let's make a game, which is in and of itself remarkably hard.
181560	187460	And then you said, hold on, we're also going to put quests in it, which are unique to the game.
187460	189280	And then we're going to put items in it, which are unique to the game.
189280	192320	And then we're going to put graphics and images, which are all like...
192320	197160	So many people think the art on all of these badges is just magically done.
197960	200160	Yeah, there we go. And we're going to come to the art.
200160	206400	But then the other piece of this is, then you go, oh yeah, by the way, we're going to make all of this editable by the user
206400	211560	in a way that won't completely hose the game while you're playing it.
211560	213260	That is true. That's actually...
214600	216040	Oh, me?
216660	221380	So, okay. That's actually a really important part.
222060	229560	Some of the previous versions of DC-801 games, like all of the logic, all of the puzzles, all of the entities,
229560	233520	all of the text and the dialogue that you would interact with any of them,
233520	236240	that was all written into the seat of the engine.
236240	244580	So in order to be able to make a change to the game, to be able to engage with it from a creator's perspective,
244580	251820	you would actually need to have the entire build tool chain set up and running on your box,
251820	254420	and you'd need to test it directly on the hardware.
255720	260200	One of the things that was... that was hard for me to get into.
260200	264660	It took like six months to actually get enough information from each of the team members
264660	270220	to be able to figure out just to be able to... how to compile from the source code that we had
270220	273240	and actually get that running on the previous year's batch.
273760	277180	So a lot of the first six months of my involvement in the project
277180	281340	not only was like brainstorming and coming up with plans for what the next game was going to be,
281340	283800	but it was also like figuring out the compile tool chain.
283800	285020	I said, this is bullshit.
285020	290360	I don't want anybody to ever have to put this much effort into just like turning it on and building it again.
290360	296400	So what we actually did is we actually built a virtual machine that had all the tooling built in.
296400	299180	Like literally you turn it on, there's like three scripts on the desktop.
299180	306400	Pull the latest from source control, make a build of the game, and open it up and play it.
306680	313880	So we first off started by making it easier and more approachable for other people to get the build tooling
313880	317380	because we just gave them a whole VM that was ready to go.
318120	325120	But on top of that, we knew how much it would be a barrier to people to be able to create content
325120	329480	if they had to learn C and C++ to be able to engage with the code base.
329680	331580	I said, guys, I know what to do with this.
333340	339380	The plan that actually worked out really well was to take it so that...
339380	342600	make it so that the... how do I put this?
342600	345020	The engine...
346660	348580	is data-driven.
349100	352100	You have a scenario.dat file.
352960	356740	And you can copy that onto the badge with an SD card.
357000	362200	And depending on which scenario.dat you put in there, you could be playing a completely different game.
362200	363260	Oh, wow.
363660	365380	Like a completely different scenario.
365380	368200	All the engine stuff is there, like the hex editor.
368200	373120	Since most of the physical interface of this is actually about being optimized
373120	379020	for teaching someone how to get in and edit raw memory by literally changing individual bits
379020	382700	in selected bytes in the hex editor,
383700	388460	that's the kind of gameplay that you're going to have.
388460	391160	But you can tell a completely different story. You can have completely different maps.
391160	395140	You can have different dialogue, different characters, different everything.
395140	397680	You can all control this one file.
398500	403360	So, our C source code reads the scenario data.
404080	406380	And that's the game that you play.
406380	410180	The thing is, that scenario data, we specifically designed tooling
410180	414360	to allow anyone who just knows how to open a text editor,
414360	416340	write a little bit of JSON,
416340	420360	they can drag it into our browser-based game data compiler,
421980	425460	and then it spits out a game data.
425460	428360	Literally all you need is a text editor, a web browser,
429720	433160	the tiled map editor, you can find it at mapeditor.org.
435880	438760	And that's all you need to be able to generate a new game data
438760	441500	and create custom content for your badge.
442820	444200	That's really cool.
444200	448580	And what's so cool about that is the barrier to entry for most people
448580	451140	to reprogram a badge is you need to either
451140	455080	A, fundamentally understand how the badge works from a hardware perspective,
455080	456680	because you do hardware hacking on it,
457060	460360	or you go, I need to understand this exact chipset
460360	462960	and know how to code exactly for this chipset
462960	466680	and do it in a way which isn't going to break the original badge functionality.
466840	470380	With yours, and I hear it's a JSON object,
470380	474180	and I can just feed it to something which is now going to compile a file,
474180	478920	which I just load onto an SD card, drag and drop onto it,
478920	482740	load it in, and it just loads it, and I can make my own maps for this.
482740	487140	Yes, that's actually one of the things that we'd love to be able to let people know.
487140	489540	You can make your own playable scenario in here.
489540	492280	You can write your own story, and all you've got to know is JSON.
493040	496800	That's really cool. The thing I was so impressed with your badge,
496800	501460	in some ways, you make a badge to make money,
501460	504720	to fund your hacker space, which is really cool.
504720	507600	I love the fact that that's what you're using your badge for.
508360	512100	Or other people, they make a badge because they want to make money with this,
512100	515500	but they always hold something back.
515660	518640	And with yours, it would be like the gameplay,
518640	521780	because the gameplay is incredible, and the fact that you're editing hacks,
521780	524520	you're doing it in the program, and you made a web browser version.
524520	526480	That was legitimately the thing that made me go,
526480	528680	you know what, I need to do a video on this,
528680	531660	because they put the whole game in a web browser,
531660	534840	that you can just go to GitHub, play it, and it's great.
534840	537400	You can save games. And now you're telling me,
537400	540000	not only have all that functionality, you don't even have to buy the badge
540000	544000	in order to continue to customize it and make new content.
544000	547200	Though, if you buy the badge, one, it's a lot more fun.
547200	549420	You can bring in an airplane and things like that with you.
549440	552880	On the other side of things, there's some element there,
552880	555340	which I actually think is easier to edit the hacks,
555340	557620	because you wouldn't be hitting the physical buttons.
557900	561580	But also, the artwork is so cool on it.
561580	563560	So I'm going to dive over, I'm going to go over to Mary,
563560	567640	because you designed a lot of the artwork for this badge.
567900	571940	Yeah. Say something specifically about actually how the web tool
572760	575440	works into your workflow for creating the content.
577840	581160	Workflow. It's just fast to rapidly prototype
581160	584640	to get something functional to look at.
584640	588140	Wait, you said something which just made me want to ask you a question.
588140	588440	Yeah.
588440	592180	Does the JSON I write, like I want to make a new map,
592180	594400	can I impact the art in the badge?
594700	598140	How it behaves, like how animations work,
598140	600640	what things are called, what kinds of...
601880	605280	I mean, yeah, you control everything in this thing.
605280	608680	Like this menu right here, that's a map.
608860	609300	Really?
609300	611860	This is a map. The animations are entities,
611860	613820	the options are just a dialogue.
613960	615940	That's just controlled with JSON.
616960	619260	Anything graphically weird going on,
619260	623800	that's just normal in-game scripting features.
624380	625920	That's really cool.
625920	629020	So let's start, I want to spin back to the art of the badge.
629020	631000	What parts of the art did you design?
631000	632780	I did most of the sprite work.
632780	635480	I think Corfid did that 3D model.
635920	638180	Admiral did the rest of the 3D graphics.
638180	640300	I did most of the sprite animations.
640300	644280	Some of the environment art or the entity portraits
644280	646620	in the dialogue, I did all of that.
647160	652760	I also scripted pretty much everything, I guess, of the scenario.
652760	655760	She wrote the entire story. She wrote the entire scenario.
655980	657280	Most of it.
657580	663300	She wrote all of the puzzles in our engine's scripting language.
663900	666200	I'm not really a career programmer.
666200	668380	I come from traditional art.
668380	672560	But because the tooling was so easy to use, I just built the whole thing.
672560	675140	I didn't need to learn C.
675140	677800	It's so cool that you were able to just jump into the art.
677840	680920	As you said, I've never done this before.
681080	684920	That's one of the things I love about so many of the badges and things like this.
684920	687760	I feel like that's a fundamental skill as hackers.
687760	691240	It's like, I have no idea, but I'll figure it out.
691240	694480	And usually, I'll figure it out in a very clever way,
694480	697980	whether it's, like, we're going to modify JSON or things like that.
698160	700700	But to be in charge of the entire story,
700700	702420	because that's another thing a lot of badges don't have,
702420	705400	is, like, one, a story, two, and quests,
705400	708620	and then three, obviously, the artwork as well.
708840	713240	Yeah, I do have some game development in my background.
713240	716520	I got most of a degree in video games, I guess you could say.
716520	720380	So I'm familiar with, like, how to scale back an MVP,
720380	725880	how to handle playtesting, just prioritizing development,
725880	729860	how to make a tutorial that doesn't feel like a tutorial, that kind of thing.
730960	733780	That was one thing which massively impressed me with the badge.
733780	737440	So when you're going through the badge, you wake up,
737440	740380	you follow the two, I guess, ghosts type of thing.
740860	742100	Ghouls, I don't know what they are.
742260	745760	But they bring you back to a room, which then you have to RTFM.
745760	747040	You have to read the effing manual.
747040	751240	But you pick an item, which was just so clever, but you go into this room,
751240	754320	and then it felt fun learning how to play a game.
754320	759660	It's really boring to go, oh, and if you open up a hex editor, you then can do this.
759660	763460	And if you open up the hex editor and change these bits, it could have been so boring.
763620	767040	But there is a whole, like, you find these books, you open up these books,
767040	770100	it gives a reason and a story, and then there's even, like,
770100	772860	and these other two bits, we don't know what they really do,
772860	774900	but you probably don't want to touch them.
774900	777140	And obviously the first thing you do is totally touch them.
779060	784600	With that one, can you tell me some of the process that went to creating the art?
784600	789480	When you wanted to make these decisions, there's so much that goes into it.
789500	793220	When did you start, how long did the story take you to write?
795000	798060	I'm not sure. To be honest, I did a ton of graphics
798060	800720	without even knowing what kind of game it would be,
800720	802740	which is why there's a lot of monsters.
802740	805320	Because we thought it would be, like, more of a normal RPG.
805580	809700	And I just wanted an excuse to draw things that didn't need a walk cycle.
809700	812880	And that's why so many of them, like, float or just glide around.
812880	814860	We were just kind of spitballing.
816000	818460	And then eventually, like, oh, we need village elders,
818460	820740	and then I started drawing people, or...
821800	822640	Yeah, I don't know.
823460	825260	Oh, that's so cool.
825340	830060	So with that, what else am I missing on this badge that we really need to be aware of?
830060	834400	Oh, man, there's so many secret conversations.
834400	837580	I really tried to anticipate people sequence-breaking this.
837760	841800	And I would just love more people to try to, like, do weird stuff out of order,
841800	844940	or, like, try to just talk to NPCs over and over again,
844940	847180	because what they say does change quite a lot.
847540	848420	Okay.
849200	851940	Yeah, there's tons of stuff. I'm sure no one's found yet.
852260	853680	That's incredible.
853680	857060	All right, what else do you have for us as some final thoughts?
857060	861260	Well, I guess one of the last things I'd like to say about it
861260	865100	is keep your eyes on this project for another couple of years,
865100	871020	because our first revision of the hardware is, like, that's it.
871020	871880	That's what we're doing.
871880	875600	We're going to continue releasing software on this for another couple of years.
875720	879920	We've got two more chapters planned past the one that we're working on now.
879960	884540	So chapter one is what people already have in their hands right now.
884540	888760	We are working on chapter two. We'll have it done eventually.
889460	892160	But then we also plan on releasing chapters two and three.
892160	895960	More features of the badge hardware will get unlocked,
895960	899580	and you'll engage with them to solve puzzles for the upcoming chapters.
899580	900320	Wait, hold on.
900320	902980	So there's features on the badge that you're not currently using.
902980	904360	What are some of those?
904360	909440	Well, currently the gameplay doesn't use the SD card slot at all,
909440	914100	but we actually have plans for an entire castle worth of puzzles
914100	916960	for fucking around with the file system.
917440	917800	Really?
917800	918440	Yeah.
918440	921320	Any other ones? Any other sensors or things like that?
921320	923840	Let's see. The chapter two that we're coming up with right now,
923840	926220	you get to plug a USB-C cable in here,
926220	930720	and you actually get to engage with the serial console.
931360	933900	So it'll be kind of a text-based adventure.
933900	937900	We're going to play around and see what's actually fun to engage with there.
938700	941220	And then there's some other stuff that...
941220	943420	Oh, wait, hold on. Do you have the new artboard?
943420	944100	No.
944100	945400	Not yet, not yet.
945420	949920	Redacted's been super busy actually creating the challenge for the DEFCON badge itself,
949920	955480	but he's actually the one who made the new artboard that we're releasing this year,
956040	957880	whenever he can get it manufactured.
957940	960300	Yeah, that is a cool one.
960300	962940	I released it. That came out, I think, afterwards.
962940	964420	I think I got a picture of it.
964420	968180	But the artboard was really, really cool.
968240	969400	Well, hey, thank you so much.
969400	972520	Thanks for diving into the badge and so many of the other features of it.
972520	975520	Like, really cool badge. Go check it out.
975520	978660	I'll leave links in the description of where you can find this badge
978660	981520	and hear more about the DC-801 project.
981520	983620	As always, thanks for watching.
983620	985300	And hack on!
