Тёмный

Learn to code and write games on the Nintendo Game Boy | MVG 

Modern Vintage Gamer
Подписаться 841 тыс.
Просмотров 264 тыс.
50% 1

The Nintendo Game Boy is an excellent system to make homebrew games on. I spent an afternoon looking at the Game Boy Development Kit (GDBK) and seeing what can be achieved
► Consider supporting me - / modernvintagegamer
Credits/Sources:
► GBDK - github.com/Zal...
► Game Boy Pan Docs - gbdev.io/pandocs/
► Programming Game Boy Games using GBDK - videlais.com/2...
► Gaming Monsters Write your own Game Boy Games - • "NEW GBDK 2020" - Part...
Social Media Links :
► Facebook : / modernvintagegamer
► Twitter : / modernvintageg
► IG: / modernvintagegamer
► BandCamp : modernvintageg...
► The Real MVP Podcast : player.fm/seri...

Опубликовано:

 

1 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 1,2 тыс.   
@ModernVintageGamer
@ModernVintageGamer 3 года назад
let me know if you liked this content and want to see more from other console homebrew scenes. have a great week
@JoePro
@JoePro 3 года назад
I love the Dreamcast homebrew scene. They've really kept the system alive a lot longer than Sega has. You should cover that.
@dominicguy9242
@dominicguy9242 3 года назад
nice
@npdump402
@npdump402 3 года назад
Do a ps2 scene video, and bring some light to it. That scene has been hurting for a while. Swear Jay-Jays reuploads saved me from tons of broken links years ago. PS thank you for your hard work on the OG xbox!!
@digital-b4177
@digital-b4177 3 года назад
original xbox homebrew coding would be cool to see.
@zxcvb_bvcxz
@zxcvb_bvcxz 3 года назад
Yes please! PS2 in particular is pretty rough to get into.
@TheRetroFuture
@TheRetroFuture 3 года назад
I’m gunna code a new game about bricks falling from above and you have to align them and make complete lines to get points.
@valfonso678
@valfonso678 3 года назад
that would never work
@stanstaniboy7655
@stanstaniboy7655 3 года назад
and it's gonna be "our" game not your game
@TheRetroFuture2
@TheRetroFuture2 3 года назад
Pfft that game already exists it’s called Super Mario Land... idiot
@mi-nk
@mi-nk 3 года назад
@@TheRetroFuture2 no its sudoku dumb dumb
@megamanfan3
@megamanfan3 3 года назад
Lol, Alexey Pajitnov beat you to it. 😆🤓
@Cyranek
@Cyranek 3 года назад
I'm gonna make a game about an italian plumber who fights a giant lizard. I think it'll take off.
@nonkl8819
@nonkl8819 3 года назад
you should make him fight a turtle 🤔
@nak_vgm
@nak_vgm 3 года назад
A video game about a... Plumber? Who would play that?
@miguel_leugim
@miguel_leugim 3 года назад
Just make sure the plumber doesn't wear a tie. Because plumbers don't wear ties.
@MrPreska
@MrPreska 3 года назад
They took my snake and they turned it into a plumber. They made the eggs into barrels. The pine tree they made into a gorilla but I recognize my design. Donkey Kong my ass! That's Construction Snake.
@wobblysauce
@wobblysauce 3 года назад
Don't forget multiplayer, give him a brother.
@maria_remedios
@maria_remedios 3 года назад
The fact you can just write this in C blows my mind, I was expecting some assembly brain torture but was pleasantly surprised. This is very encouraging.
@marcello4258
@marcello4258 3 года назад
basically, you can use C for everything.. C is just a standard all you need is a compiler chances are that someone built a compiler
@nullplan01
@nullplan01 3 года назад
@@marcello4258 Yeah, but you couldn't use C back when the system was current, because there weren't any compilers for the destination chip. And the compilers of the time were hot garbage about optimization, and on that system you needed every possible edge.
@marcello4258
@marcello4258 3 года назад
@@nullplan01 that might be right, but wasn't my point though. Just speaking of today mari does as well.
@baldguywithbeard
@baldguywithbeard 3 года назад
Well in all honesty, if you want your code to be as optimized and as quick as possible, you still have to use assembly. The gbdk is more of a wrapper of sorts, which of course reduces performance, but hell - for 99% of the cases it will be more than enough. It can still get really mind-twisting when you start working with all the registers, seeing as not all of them are mapped in gbdk (or at least not on the version I was using, I think gbdk 2020 is way further in that regard), but it is still quite enjoyable to use! I've ran stuff only on an emulator so far, so the next step would be to get an everdrive or an ez-flash. Oh and btw the gbdk can also be used for gbc stuff, not only gb, but I still can't wrap my head round how pallets work :D Oh and programming sound on the gb is a nightmare... waaaay harder than programming graphics or even game logic, but I'm drifting off here...
@DasAntiNaziBroetchen
@DasAntiNaziBroetchen 3 года назад
@@nullplan01 I thought I remembered reading a post by a guy who worked in the industry back then and that they absolutely did use C to make game boy games, which surprised me.
@dodgykebaab
@dodgykebaab 3 года назад
“Making game boy games is easy” “You know C right?”
@Damaniel3
@Damaniel3 3 года назад
Considering that 99% of commercial Game Boy game were written in Z80(-ish, the Sharp LR35902 was a mix of the Intel 8080 and the Z80) assembly, C is actually an upgrade. I'm curious how efficient C code generated by this compiler would be compared to the more direct assembly option - I'd be concerned about how well it scales to game-scale projects since RAM and ROM size are so constrained.
@CasualPokePlayer
@CasualPokePlayer 3 года назад
@@Damaniel3 C is anything but efficient compared to typical assembly. It's gotten a lot better since the original GBDK, but ultimately with C being a stack oriented language and the stack being slow to use on the GB you'll end up with quite a performance hit compared to assembly, and if you want to push the hardware you pretty much have to write everything in assembly.
@Syke1337
@Syke1337 3 года назад
There's GB Studio for people that don't.
@undefinednan7096
@undefinednan7096 3 года назад
@@CasualPokePlayer its worse than that -- the Sharp SM83 (and i8080 and to a lesser extent the Z80) is a horrible target for C (for example, it doesn't have some of the addressing modes useful for a C compiler), and the most commonly used gameboy C compiler isn't a particularly good C compiler. However, I would like to point out that these faults are because C is a bad match for the SM83, not because C is particularly less efficient than assembly on a more modern architecture (that's a completely different story, so I won't discuss it).
@CasualPokePlayer
@CasualPokePlayer 3 года назад
@@undefinednan7096 Most of the problems with GBDK are fixed with GBDK-2020, and yes I know, the GB is fundamentally a bad platform for C, hence a performance hit over typical assembly.
@svetaphantom
@svetaphantom 3 года назад
I've gotten really into the idea of making a game -- couldn't have posted this at a better time!
@aluckyshot
@aluckyshot 3 года назад
Download Unreal Engine... you will have more fun than making tetris 2.0 for your gameboy.
@rayan0468
@rayan0468 3 года назад
@@aluckyshot yes but its waay harder than making a Tetris 3.0
@FreDEV_OFFICIAL
@FreDEV_OFFICIAL 3 года назад
@@rayan0468 lol u wish, Tetris is *very* complicated
@theultimateninja
@theultimateninja 3 года назад
Just download Engine001. You don't have to code and its superrrrr easy.
@mhopkins7954
@mhopkins7954 3 года назад
Need an artist and or support writer
@thefredo1000
@thefredo1000 3 года назад
THANK YOU SO MUCH I'VE BEEN WAITING FOR THIS VIDEO FOR YEARS!!!
@amateusz2137
@amateusz2137 3 года назад
Same here. I’ve made some flashcarts years ago, but only recently wanted to really start writing stuff for it.
@LaAnkhaHuasa
@LaAnkhaHuasa 3 года назад
YEEEEE MADAFACAAA
@EndOfLineTech
@EndOfLineTech 3 года назад
@@amateusz2137 @thefredo1000 yeah because this is the very first and only bit of information on the Internet on this topic
@firstlast7112
@firstlast7112 3 года назад
No you haven't. Probably don't even know how to code.
@thefredo1000
@thefredo1000 3 года назад
@@firstlast7112 Hi, I've been in the GBA homebrew community for some years, I'm also a Google intern, so I do know how to code.
@NicholasLash
@NicholasLash 3 года назад
I appreciate this because you aren’t dumbing things down. There’s plenty of beginning from nothing courses for coding on RU-vid already, so this is a breath of fresh air.
@iraniansuperhacker4382
@iraniansuperhacker4382 3 года назад
writing a gameboy rom in c to try and learn is a bit counter productive tho
@3333218
@3333218 3 года назад
So true!!
@ChristianMiersch
@ChristianMiersch 3 года назад
Many of these co called "courses" are just people bragging about themself with little to none educational value and missing key information. Where as this is a concise pointer in a particular direction whith encouragement to go further.
@Bruh-hd4rj
@Bruh-hd4rj 2 года назад
@@iraniansuperhacker4382 no xD
@therealcthulhu9813
@therealcthulhu9813 3 года назад
I would love a whole series of this. I would really love to program the DS.
@SummonerArthur
@SummonerArthur 3 года назад
Same here, I've tried before and I couldnt figure out how to do anything besides printing text when I press the ds's buttons. It would be great if he did it
@TiagoSantos-lt4do
@TiagoSantos-lt4do 3 года назад
For that I recommend using the PAlib library, also in C. I created some games about 15 years ago
@SummonerArthur
@SummonerArthur 3 года назад
@@TiagoSantos-lt4do interessante, ill check it out.
@baldguywithbeard
@baldguywithbeard 3 года назад
You can have a look at devkitPro, specifically the devkitARM. It has a built in library called "libnds". What you do need to be prepared for, is that the ds is an insanely complex console, that still works very similar to the entire gb family, most closely to the gba. So it's probably a better idea to start programming for the gba, since you won't have to juggle between the two screens (and two separate graphic engines) of the ds.
@doomfatlikesbluesphere9984
@doomfatlikesbluesphere9984 3 года назад
The nice thing about the gameboy is how well documented everything is
@Asobitech
@Asobitech 3 года назад
Great to see GBDK getting some love from you. Nice use of the LYC register for the parallax. It's exactly what is used for the HUD and the moving mist in Super JetPak DX. Looking forward to seeing what you come up with in this series.
@solidblueskys2158
@solidblueskys2158 3 года назад
Can you do more videos on homebrew for different consoles? I'd love to see an in depth homebrew video like this on the PSP, Ps2, Gamecube etc.
@nathanmead140
@nathanmead140 3 года назад
GBA and DS too
@johneygd
@johneygd 3 года назад
Atari lynx as well.
@jackthejuggler
@jackthejuggler 3 года назад
Wii.
@solidblueskys2158
@solidblueskys2158 3 года назад
@Risen General It is, however the PS2 also had 3D development kits like Renderware which was responsible for being the game engine for many many PS2 titles.
@solidblueskys2158
@solidblueskys2158 3 года назад
@Risen General I think you might be confused with 'Renderman'.
@renakunisaki
@renakunisaki 3 года назад
This is really neat, but there are a lot of bad practices shown. - your first demo doesn't have any vblank wait, so it will waste battery. - the background didn't work because they have a max size of 32x32. To go beyond that you need to change it on the fly. - mixing up 30 and 0x30, using hex where it's not really needed, just confusing. - you added a comment explaining what each variable does - good, but why not give them meaningful names instead? - the interrupt handler wastes cycles by comparing LYC_REG to multiple values in the same call. Using "else if" would help. The Game Boy is only 4MHz (and really more like 1MHz since every instruction takes a multiple of 4 cycles) so it's very important not to waste time. - including C files is ugly and leads to complications and slow compile times. They should be compiled separately and referenced using `extern`. Besides all that, you really need to use assembly for anything reasonably complex, since the GB is so weak, the overhead of even highly efficient and optimized C can be a lot. It's still a great platform to learn on, since the assembly is really simple. You can of course mix assembly and C too.
@karioken
@karioken 3 года назад
You really have a high quality RU-vid channel. Finally some REAL engineer/hacker that shows how things are done. RU-vid is flooded with consumer-only videos (Unbox Therapy, MKBHD, ..) , where the channel owners have no clue about technology. Thanks for the tutorial! Keep the great work up. We former Xbox hackers have to stick together :p
@annedrieck7316
@annedrieck7316 3 года назад
Hey, no need to throw shade on other youtuber just because there're not qualified enough to talk about the things you want.
@karioken
@karioken 3 года назад
@@annedrieck7316 Shouldn't be any bad criticism, but they often talk BS when they dig deeper into the matter :D
@BrunodeSouzaLino
@BrunodeSouzaLino 3 года назад
Of course Bisqwit, Jeff Gerling, Dave's Garage and others are not channels that exist.
@karioken
@karioken 3 года назад
@@BrunodeSouzaLino Of course they exist and they are also super professional. The problem is that you really need to search for them, because the YT algorithm is not preferring these kind of videos
@BrunodeSouzaLino
@BrunodeSouzaLino 3 года назад
@@karioken Good content does not simply plop on your lap. What plops on your lap it's what's popular.
@jordanwardle11
@jordanwardle11 3 года назад
I dont have a gameboy, i have no patience for coding, yet here i am
@Gold753
@Gold753 3 года назад
*cough* GB studio *cough*
@bloodypommelstudios7144
@bloodypommelstudios7144 3 года назад
I haven't tried GDBK but I've had a play around with GB Studio and I agree the pallet and resolution restrictions make it super quick to develop for. Within a couple of hours I was able to create a decent looking tile map, a dozen or so sprites and a character walk cycle from 4 different directions as a mediocre artist.
@brodown64
@brodown64 3 года назад
I have been watching tutorials the past month about how to make GB homebrew and games, this came at the right time, thanks MVG!
@milanzuiderveld5189
@milanzuiderveld5189 3 года назад
Just use GB studio
@djxfade90
@djxfade90 3 года назад
GBDK is quite nice. You also have RGBDS if you would like to delve into ASM. If low lever programming is too difficult, you also have GB Studio which is a tool like Game Maker for the Gameboy. It utilises GBDK under the hood, and even allows you to modify the game engine itself if you know how.
@reubeb8820
@reubeb8820 3 года назад
perfect, now time to get doom running on this!
@Sinistar1983
@Sinistar1983 3 года назад
Just look at a gameboy game called tyrannosaurus tex for the gameboy color. Its a real technical achievement of raycasting on the colorful brick.
@SDLearmonth
@SDLearmonth 3 года назад
@@Sinistar1983 faceball 2000 as well
@AndrewSayman
@AndrewSayman 3 года назад
The video said there'd be a link to the source code in the description, but I don't see one? In particular it looked to me like your parallax scrolling method was wrong because it set the register rather than reacting to it. You said that you fixed it up but never showed the final code. I need to know if I was right or wrong! :-P
@SebastianXpander
@SebastianXpander 3 года назад
I've been experimenting with this off and on, and don't have it it fully working yet. I'll post a reply if I get it going.
@SebastianXpander
@SebastianXpander 3 года назад
Hi again - I found a working parallax example using GBDK over on GitHub from 2019 ( github.com/leo-rp/gbdk-parallax-example ), which shows an example of using the add_LCD and add_VBL interrupt methods. What MVG did not show was how to increment the background's position every time the screen refreshes (in the V-blank interrupt method). This example is quite elegant, by bitshifting the movement of the foreground to calculate the movement of the midground and background. He's also checking the LY_REG instead of LYC_REG to figure out what scanline he's on, and he's moving the background with SCX_REG and SCY_REG instead of the move_bkg function. Big respect to MVG and to leo-rp (on Github) for making this information publicly available!
@aadityakiran_s
@aadityakiran_s 3 года назад
Pretty good. everyone just starts with Unity but this is a good way to teach people from the basics. Nice. Am looking forward to seeing the release of the full series.
@arsenlifestyle
@arsenlifestyle 3 года назад
Who didn't know what the heck was going on, but still watched the whole thing?
@centeguahan3760
@centeguahan3760 3 года назад
Not a clue, but It happened & I didn't learn much but yea...idk its cool....development of coding & gaming & stuff...
@farsidesc4044
@farsidesc4044 3 года назад
You should have posted a disclaimer that learning programming has a side effect of altering how you view almost everything.
@squishmastah4682
@squishmastah4682 3 года назад
I'd love to hear you two expounding upon this thought.
@crytocc
@crytocc 3 года назад
@@squishmastah4682 Programming is (from a technical perspective) a highly logical endeavour; computers are very unforgiving, and will do exactly what you tell them, exactly how you tell them to, even if what you told them to do was completely wrong. There's no room for nuance, and a computer can't infer from the context what you meant for it to do. Once you get used to that 'model of thinking', it tends to leak through to other aspects of your life. You might start to get annoyed when people give instructions that are missing details that you *could* have guessed at, for example; the stereotypical example is cooking with recipes, which often use ambiguous units of measurement. Likewise, you'll probably start recognizing more processes in everyday life, causes and effects, reason about them as if they were defined in code, and so on. Which can lead to nagging questions like "wait, why *do* things work this way?", or spotting what seems like logical errors in how people approach things. Now I should be clear; this is not an *accurate* view of the world, even if programmers tend to forget this. Code is primarily written for humans to read, not for computers to execute, for example. And often what seems like a logical error in someone elses behaviour actually turns out to make total sense, you just didn't have all the information (but you wrongly believed that you did). But nevertheless, it's how many programmers start looking at the world around them.
@farsidesc4044
@farsidesc4044 3 года назад
"I think differently than you," is a statement hard to articulate, because we all communicate differently as well. So, I'll try to just provide some outlines below, with sources that expound on those ideas. Coding principles help keep your mind disciplined for everyday tasks. As you program and discipline yourself with your code, you'll notice your thought patterns shift to apply some of the key coding principles (in the link below). Discipline is good for everyone. www.geeksforgeeks.org/7-common-programming-principles-that-every-developer-must-follow/ I had a few more paragraphs written up here and realized that I'm not actually able to articulate it well. So, like the best of us in programming, I'm going to import someone else's work! www.quora.com/How-does-programming-change-your-way-of-thinking There are many, many answers on that page which can articulate much better the ways that I've changed my thinking.
@kinsbeans
@kinsbeans 3 года назад
@@crytocc Could totally relate man, I solely depend on instructions now and I find it hard to improvise. 😹
@TiagoSantos-lt4do
@TiagoSantos-lt4do 3 года назад
Congratulations, great video, I developed for DS many years ago, using the PAlib library also in C. It would be a good video too. In fact, do a part 2 of the Game Boy teaching the inclusion of sprites!
@alcatrazclad
@alcatrazclad 3 года назад
I figured you would be coding in Assembly. Interesting that this is in C.
@TenaciousJ728
@TenaciousJ728 3 года назад
Same! Coding for GB suddenly got more interesting, didn't it?
@sakurajin_noa
@sakurajin_noa 3 года назад
You can still write parts of the code in Assembly because it is C. Even when the gameboy was releassed basically no game developer was interested in wrtiting a game in Assembly since games tend to get complex (try programming pokemon in Assmebly it will take you a few years). This is even worse when you have more than one person working on the same codebase. So C which allows injecting Assembly when needed and it being fast enough was the obvious choice for game development for a long time.
@awilliams1701
@awilliams1701 3 года назад
C is only JUST above assembly. In fact translating C to assembly (what a compiler does) is usually pretty straight forward. But it greatly simplifies coding. For example assembly doesn't have a printf so that would have to be copied and pasted from somewhere else. I used to write code for my TI-83 in C++ back in the day. It's a Z80. I think the GB is also a Z80.
@hypurban
@hypurban 3 года назад
@@sakurajin_noa Most roms for the 8 bit era were entirely written in ASM. Even in the 16 bit era, very few games were written in C. ASM really isn't that hard. C does add some overhead in terms of CPU usage, especially the older compilers that would have been available in the actual 8/16 bit days.
@alcatrazclad
@alcatrazclad 3 года назад
@@awilliams1701 I’m aware of that. I had to convert Assembly to C and vice versa for a comp org class back in college. I SHOULDN’T be too surprised, but from what little I know of game development from the 70s to the 90s, it was mostly done in Assembly. It was a pleasant surprise that it’s in a language that I can actually read 😄
@TN_AU
@TN_AU 3 года назад
For those who might not appreciate game developers, now is probably the time, this small demo took a few hours, imagine a full fledged game, debugging etc... Very time consuming indeed, for me, I dont have the patience for it but Im glad someone elss does.
@johnsimon8457
@johnsimon8457 3 года назад
Alleyway (Breakout/Arkanoid clone) can’t have taken more than a few weeks even before the gameboy hardware was finished. I look at some videos of Japanese programmers at the time and they’re all in their early 20’s, some of the bedroom game devs on the spectrum were teenagers. this isn’t rocket science but it takes a bored teenager’s enthusiasm 😁
@piratelechuck1911
@piratelechuck1911 3 года назад
Just sourced an OG GB locally after seeing this video. Can't wait to start cranking out chiptunes and demos 🤓 Thanks for the content! This coming weekend will be epic!
@3DSage
@3DSage 3 года назад
I just made a minecraft type game on the GBA! It's fun to program on.
@eskomies
@eskomies 3 года назад
I need to dig out my hobbyist's hat again from the dust and dig into GBDK.
@egemenozan5641
@egemenozan5641 3 года назад
Time to demake doom for gameboy
@schwarzenegger_begger8810
@schwarzenegger_begger8810 3 года назад
Ah, GBDK. Such nostalgia, some of my first experience programming in C started with that.
@nathanddrews
@nathanddrews 3 года назад
A lot of people talk about emulation as a form of game preservation, but rarely demonstrate anything beyond setting up emulators or sketchy advice about acquiring ROMs. You have a clear and obvious love of game preservation and it shows in your desire to learn about games, how they're made, and share that knowledge. Thanks!
@kahveciderin
@kahveciderin 3 года назад
fun fact: 14 people cannot be first!
@lordhexeda7225
@lordhexeda7225 3 года назад
I'm the best
@kgduder1231
@kgduder1231 3 года назад
Firts
@mazor13
@mazor13 3 года назад
I WANT PROOF
@Deutschehordenelite
@Deutschehordenelite 3 года назад
what if they tie?
@tenowano4291
@tenowano4291 3 года назад
What if they comment on the same frame of existence
@IchinoseRodrigo
@IchinoseRodrigo 3 года назад
This channel is one of a my favorites channels for all time! I'm from Brazil and I learn english with your videos. Thanks for this amazing content! (And sorry if my english write is not good now :P)
@ZVINTAO
@ZVINTAO 3 года назад
brasil enois caralhooo
@wellyngtonweller6575
@wellyngtonweller6575 3 года назад
Além de melhorar o inglês o conteúdo também é excelente. Desbloqueei meu nintendo wii e o PSP depois de assistir os vídeos dele :)
@programmingforfun6484
@programmingforfun6484 3 года назад
No need to be sorry, you do good.
@okarowarrior
@okarowarrior 3 года назад
Sopa do maca
@erasmobellumat3973
@erasmobellumat3973 3 года назад
Opa, tamo junto! Tem um outro canal que eu recomendo e é esse aqui. É nessa mesma pegada, mas mais técnico ainda: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-F8kx56OZQhg.html&ab_channel=javidx9
@xboxnews7976
@xboxnews7976 3 года назад
The GameBoy holds a special place in our hearts
@holymegadave
@holymegadave 3 года назад
Its like the flint and steel of the consoles. When the power goes down... you put a pair of AA batteries and you can play like a Chad in any environment :) post apocalyptic console xD
@ihavelostcontrol
@ihavelostcontrol 3 года назад
Nostalgia from when I used to play around in the homebrew PSP scene back in the day! Used a custom homebrew SDK then too, that's where I first really learned to code in c - Awesome to see content like this!
@LiquidTurbo
@LiquidTurbo 3 года назад
How the **** did devs create a game like Metroid 2 outta this?
@drahsid2
@drahsid2 3 года назад
MVG: 30 Me, in panic: "That's 48!"
@mrzozelowh
@mrzozelowh 3 года назад
I too was also concerned about the hex values lol
@fleefie
@fleefie 3 года назад
The very week i start learning GBZ80 ASM this video comes out. Noice :> edit : isn't GBDK, like, extremely unoptimized ? Eh, ig it's good enough for beginers :)
@dodder2419
@dodder2419 3 года назад
I had a friend named Maddie who loves the gameboy. She made her own puzzle game for it, even with a full story.
@ArpeggioPegasusMusic
@ArpeggioPegasusMusic 3 года назад
How long has it been since you talked to her ?
@dodder2419
@dodder2419 3 года назад
@@ArpeggioPegasusMusic about a year ago.
@dodder2419
@dodder2419 3 года назад
ru-vid.com/show-UCVYDU8oQJFiHYLco5qVtayw this is her youtube channel, though.
@xmlthegreat
@xmlthegreat 3 года назад
More details would be nice. Where to find the game, etc.
@dodder2419
@dodder2419 3 года назад
@@xmlthegreat the game is free and up on her youtube channel. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-G6Kb8_6nPYo.html this is the game with the download link. it's a neat little POC and it can be played on any gb emulator.
@cbabbx
@cbabbx 3 года назад
I've only been watching your channel for a few weeks now. But I've consumed so much of your uploaded content that I need more. I subscribed rather quickly after watching the piracy and graphics videos. I think the nicest thing I can say about you and your channel is it's like a video game version of How It's Made. The sound of your narrative voice, the quality and composition of your videos and the music. I thoroughly enjoy all your educational content. You sir, are awesome. 😁🎮
@PlGGS
@PlGGS 3 года назад
Hard coding those scroll offsets really interrupts my buffer
@rst9rst910
@rst9rst910 3 года назад
I noticed, that you used outdated GBTD/GBMB utilities, they have some issues with export to GBDK. Better use updated set from this repo: github.com/untoxa/GBTD_GBMB/releases/latest/
@Trekeyus
@Trekeyus 3 года назад
Thanks for the link
@nyxelplex
@nyxelplex 3 года назад
Please GBA Development!!!
@rrops_pico8
@rrops_pico8 2 года назад
GB Studio is also a very good program, I'm making a platformer for it.
@jmaynard84
@jmaynard84 3 года назад
This is a really awesome series idea! It would be so much fun to have this community get together and make a collection of games based on code started in your video, seeing all the branches that come from it. Start at gameboy and make our way up to modern game engines like Godot!
@DasAntiNaziBroetchen
@DasAntiNaziBroetchen 3 года назад
His code is so simple, it's almost nonexistent. Making games based on it makes no sense.
@cy6459
@cy6459 3 года назад
I never coded for the GB but its tiles are 8x8 px and the LCD does scan 144 lines (= 144px = resolution height), so if you want an interrupt on a scanline to be after an exact number of tiles (relative to the vertical scrolling offset), you just do Scanline = NumberOfTiles * 8 I am somewhat active on the 3DS scene and am making homebrew apps, released on GitHub, which you're likely not interested in, though. If you are, my name on there is “CyberYoshi64”, yet it's somewhat empty due to me also working on SmileBASIC 4 apps (a programming environment on Nintendo Switch, which even runs on stock Switches)
@cros108
@cros108 3 года назад
I've been interested in getting into 3DS development, is there a discord or some other centralised hub for the 3DS dev scene?
@Pichuscute
@Pichuscute 3 года назад
That scrolling looks surprisingly great. Would love to see more content like this.
@Palte
@Palte 3 года назад
Great video as always but there is one thing that trips me off. When you were setting up the paralax background, you checked for LYC_REG to be a specific value (0x00) and if it hit that value it would do stuff (scroll bkg pane) and set LYC_REG to 0x64. But right after that you checked if LYC_REG was 0x64 and did stuff again (another scroll tho) and so on. In this style it would do every step in each condition on every frame, because the previous conditional block enables the next condition to evaluate to true. How does the paralax background movement still work? What did I miss? :D btw, I really like your videos! Always good and exciting stuff to see. :)
@jonhatanlopez8622
@jonhatanlopez8622 3 года назад
I really want to do a Metal Slug-style game using the GBDK
@nathanielbarragan882
@nathanielbarragan882 3 года назад
In your description, it says "GDBK" it should be "GBDK" Anyways, on to watching the video! They're always good.
@AcornElectron
@AcornElectron 3 года назад
Brilliant! Even at 43 I learned something new. Those are some powerful dev tools.
@gfdgdfgdfgdfggfdgdfgdfgdfg9709
@gfdgdfgdfgdfggfdgdfgdfgdfg9709 3 года назад
Does the gameboy render frames at 59.X fps? Isn't that pointless because of the slow fading LCD? Couldn't you generate more colors or effects utilizing 60fps rendering with the slow fading LCD? The easiest effect would be motions blur. Or am I wrong and the LCD is actually refreshing fast. Another option would be to render different sprites every second frame, doubling the amount of renderable sprites.
@planchetflaw
@planchetflaw 3 года назад
Who'd have thought in the 80s that two lines forming mountains would be so iconic and enjoyable to see nearly 40 years later.
@dermannohnenamen7183
@dermannohnenamen7183 3 года назад
I consider your video as a real quick "how-to" for a bit experienced people. People, who already did some music, made some tiles (or know, what to do to get one) and had their first experience in programming languages. But a tool for music making is missing (and perhaps an example). Now it's up to you to make such videos for more consoles.. :-D
@jasonpawloski
@jasonpawloski 3 года назад
Did you #include a .c file, you monster?
@SoicBR
@SoicBR 3 года назад
Yes, he did
@LuigiElettrico
@LuigiElettrico 3 года назад
As I said in some comment reply before, it also bothers my soul a lot :P
@alexwagner2905
@alexwagner2905 3 года назад
GBDK is fine but there’s a more advanced one called ZGB that is build on top if GBDK. It makes managing the game easier and if you are interested in gameboy development, I’d recommend ZGB over GBDK (having used both)
@Sqwaush
@Sqwaush 3 года назад
I was literally just thinking about doing something like this the other day! Please make more development videos! :)))
@GrounderSez
@GrounderSez 3 года назад
I wonder if there's the same for Megadrive.
@joshuabergeron9731
@joshuabergeron9731 3 года назад
Dude you should stream building a game and let the chat decide how to go about it. That would be fun I think.
@espacemaxim
@espacemaxim 3 года назад
Ok...I have no idea, but....back in the day would they have had a DevKit like this? Or would they have to write in machine code/assembler? It strikes me a bit like "Learn to code a 3d game" using the Unreal editor
@L4rk3s
@L4rk3s 3 года назад
Yes, please, keep this series going, I'm interested as it gets
@raszop
@raszop 3 года назад
the truth is that if you ask such questions as "how to start" you won't make anything even the simpliest program as you've already proven you're stubborn and unable to find information on the internet.
@Waifu4Life
@Waifu4Life 3 года назад
"Learn to code"... I see what you did there 😁
@fm-jl7xe
@fm-jl7xe 3 года назад
?
@c0smo709
@c0smo709 3 года назад
?
@theripper1222
@theripper1222 3 года назад
I think I’ll make a game about a yellow circle that runs away from police and has a drug addiction. And when eats the bigger pill, he can kill the police.
@juancarlossotobarrera3092
@juancarlossotobarrera3092 3 года назад
I would actually like to know more about this so I could colorize WarioLand
@Epsilonsama
@Epsilonsama 3 года назад
You need to know Assembly and have access to Wario Land disassembly to be able to do that or know hex editing and hack away. If you want to do some real work on the Gameboy sooner or later you need to get your hands on Assembly because of the limited resources the Gameboy has. For many things C works fine and you could make a functional little demo on the Gameboy using just C but if you want to know how to truly work with the system you gotta learn Assembly. C has much more overhead, aka bloat than Assembly and on a system like the the Gameboy with limited resources you will be using a ton of CPU to do something that in Assembly will use much less. Assembly is 1:1 with the machine instructions and it is dependent on the microcontroller in question. In modern embedded programming we use C mostly because it is definitely easier and faster to write code for but you will find times where you might need to be really specific with how you want certain things to operate and thats when you might need to use assembly. Many compilers, havent check this one allows you to do what it's called inline assembly which is to use assembly instructions on C which is used when you want to override the compiler on a specific situation. In practice you could use C for things that dont require much CPU while you optimize things using Assembly. That being said this is a great starting point to learn C and you will end up learning a lot about the hardware cause working with the GB will force you to know the ins and out of said hardware.
@robgrabb
@robgrabb 3 года назад
Bad idea: Using C++ compiler on device with Z80 cpu. Good idea: using asm and low level cycle based timing for speed and great visual effects.
@BenjjjDW
@BenjjjDW 3 года назад
Didn’t even know GameBoy had a homebrew scene, love it!
@brodown64
@brodown64 3 года назад
Similar to what MVG said, there's homebrew scenes for a lot of consoles
@samporterbridges2766
@samporterbridges2766 3 года назад
It has been around for a long time
@snakeeagle6930
@snakeeagle6930 3 года назад
Wow !!! So cool this is what ive been looking for... Can u make more video games like this... This is my life pursuit. 🙏🙏🙏
@D-Ragon84
@D-Ragon84 3 года назад
Everybody gangsta until MVG starts coding homebrew
@wasd____
@wasd____ 3 года назад
I have this idea for a game about, this is gonna sound crazy but hear me out, a guy with long ears and a green shirt who goes out sailing looking for adventure. But he gets shipwrecked and loses his trusty sword and shield when he washes up on a remote island full of secrets. The very first part is about how he has to find his stuff on the beach, and then from there, he has to find keys to open up various dungeons and defeat the monsters that lurk within, because they're guarding musical instruments that he needs to play a song. Playing this song will save the mysterious island... _or will it???_
@mikes333
@mikes333 3 года назад
Mario in this game: I swear, I've passed those mountains for the like the 50th time already!!! ;-)
@cactoidpinata
@cactoidpinata 3 года назад
Thanks for an awesome startup guide and tutorial! I'd love to see more of this, especially with the 16 bit consoles. Also, that palette/backlight swap button on your Game Boy is amazing.
@nintendofreak11
@nintendofreak11 3 года назад
This is fantastic. Im an electronic engineering student and we have learned a decent foundation for programming in C, and a project like this looks a blast.
@matthewwilliams5258
@matthewwilliams5258 3 года назад
Why not cover GB Studio? It gives people more who are more starting to get into coding the basic skills of coding to make gameboy roms, kind of like game maker
@petrospapadimitriou4287
@petrospapadimitriou4287 3 года назад
Hello.Nice video.The "mountains" in Super Mario Land are actually pyramids....
@623-x7b
@623-x7b 3 года назад
If you're going to do a tutorial series for developing for the GBC please do it in assembly. There are plenty of GBDK tutorials on RU-vid already which are targeting beginners. There are not many good assembly tutorials for GBC. I've tried assembly and I can't do it. If someone hear is knowledgeable in asm for GBC and has the free time they should make a tutorial series!
@JonathosDX
@JonathosDX 3 года назад
GBDK is a good starting point. It's where I started with the GB dev I've done, as in ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-yxu5tUZZCYk.html
@giserson2
@giserson2 3 года назад
Am I blind or have you forgotten to put a link to the code you wrote in the description?
@jimirandall3086
@jimirandall3086 3 года назад
I thought so too!
@henke37
@henke37 3 года назад
During "vertical" blank? You mean horizontal. Come on, you are better than this.
@realroforb7676
@realroforb7676 3 года назад
Now we can have GB doom and GB Tetris Effect (which would be really cool)
@HarhaMedia
@HarhaMedia 3 года назад
You included .c files instead of .h. I know #include is just a copypaste directive, but is the reason for doing this simply that you wanted one "main" object instead of multiple objects that would have to be linked? I don't know, sure it's fine since you know what you're doing but it still bothers me to just see that. :-D
@LuigiElettrico
@LuigiElettrico 3 года назад
Same here, it bothers my soul xD
@kilobytedump
@kilobytedump 3 года назад
That was FANTASTIC! More of these please. \o/
@PokeMaster22222
@PokeMaster22222 3 года назад
6:47 Wait, "0-10" is eleven tiles, not ten. Erm...
@909crime
@909crime 3 года назад
the sega genesis homebrew scene is really good too! like REALLY good! You can code in BASIC, C, Assembly, and new games come out VERY often!
@esotericsean
@esotericsean 3 года назад
Glad to see you using GBDK 2020, but you should know there are updated version of tile designer and map builder that allow for different monitor resolutions, better copying and pasting, and some other small improvements that make things MUCH easier! :)
@nukedoom
@nukedoom 3 года назад
Amazing video. I've learnt coding in python and c# by my self. I'm too lazy to do a task in work twice. But I liked so much coding that I want to learn C and C++. A game boy game would be a pleasant project! Edit: do you think gbc would be a similar process? I don't have gb original hardware
@Spectere
@Spectere 3 года назад
Go for it! :D Dabbling with C/C++ will probably make you a better C# programmer as well, as it makes you far more aware of memory allocations (especially if you dive into C, as it forces you to manage dynamic allocations yourself. Modern C++ is a bit less demanding on that front). Getting started on the GBC would be identical if you don't use any GBC-specific features. Games have to specifically opt in to use the extra GBC features, so on boot the systems are almost fully compatible with one another.
@Klopford
@Klopford 3 года назад
I like making chiptunes on Famitracker so I might look in to making a really simple program that will play a song, would be cool to hear it on original hardware!
@martynrandles
@martynrandles 3 года назад
I
@Klopford
@Klopford 3 года назад
@@martynrandles check my channel!
@martynrandles
@martynrandles 3 года назад
@@Klopford Just heard your playlist... liked the lot & subscribed. ru-vid.com/group/PLjogBZPICEFGWIt9YCttDCjGTx48g8JxW I love The Dr Who Theme Song, no surprise for me really as I used to watch it back in the day (I'm a Tom Baker & Peter Davison fan... I was a kid then) & I love The KLF, they were deffo into Dr Who... The Ace of Base - The Sign is bloody good too, haven't heard that in years & never thought I'd hear a chiptune of it.
@overlordalfredo
@overlordalfredo 3 года назад
I sadly have no time or opportunity anymore to get back into coding, but I so much appreciate your effort doing such an introduction guide for many people to jump onto this and start their own projects! *If any of my boys ever is interested in coding or making video games I will for sure use your videos to give him some assistance!*
@ungratefulmango
@ungratefulmango 3 года назад
Here before the Retro Future
@Ezdiess
@Ezdiess 3 года назад
Very cool idea.I would be please to follow the series!
@DanmakuManiac
@DanmakuManiac 3 года назад
am I the only one who noticed that 0x30 is NOT 30?! at 12:02
@ChadZeluff
@ChadZeluff 3 года назад
Don’t see the source code on GitHub. I know it’s only 80 lines or so, but I’d like to see the changes from the video.
@MonkeyMolestor
@MonkeyMolestor 3 года назад
Please MVG! Am I the only one trying to replicate the code or am I just missing something? Didn't work for me, the parallax scrolling isn't moving, despite copying the glances of code we get.
@Vinchenz
@Vinchenz 3 года назад
Love Gameboy Homebrew :) Been dabbling with GBZ80 over the past two years via RGBDS and learning assembly has blown my mind wide open as to how all of these older CPUs worked. I have come across some quirks with the GB in regards to parallax scrolling hahah. Setting the LYC=LY interrupt during the interrupt causes another interrupt 🤔 Been working on a parallax demo myself using subpixels for smoother scrolling but haven't gone back to it in a couple months... should really finish that demo one of these days.
@fawzanfawzi9993
@fawzanfawzi9993 3 года назад
This is great but can I do everything on Linux?
@ltxr9973
@ltxr9973 3 года назад
Great video, very interesting. Was there always a C-compiler that could target the GB hardware or did they have to use all assembly in the old days?
@DFX2KX
@DFX2KX 3 года назад
I think there was a compiler, though most devs ultimately used ASM to squeeze every last drop of performance out.
@coxyofnewp
@coxyofnewp 3 года назад
Now I can make a Game Boy Game - I just need to make a time machine and travel back to 1989 and become a Top game designer for it.. ;)
@Caesim9
@Caesim9 3 года назад
Back then people programmed games in Z80 assembly, not in comfy C.
@pelgervampireduck
@pelgervampireduck 3 года назад
I wish I could program for nes or snes, but I can't even program for windows. I can do stuff for DOS on C, either using borland's turbo C with the BGI libraries, or djgpp with allegro libraries, but I never learned to code for windows (not 16 bits, not win32, nothing :( ). I tried some IDEs but it was too hard, too complex, to "laberintic", I just don't get it. I see coding for other systems like consoles requieres handling a windows IDE. if I could "program for NES using DOS" I'd totally do it. and that brings me to... what did nintendo use in the 80s?. DOS computers or some other "weird" propietary device?.
@ciaragarrity6425
@ciaragarrity6425 3 года назад
SNES game development and Sega Genesis game development next???
@QuieT69
@QuieT69 3 года назад
You will never look at an MVG video again after you see his uneven shelf in the background.
@martynrandles
@martynrandles 3 года назад
didn't notice... but was looking for a good excuse to watch this again lol ... could be down to an artifact of Wide-angle-lens use though, they do trigger us all... I stopped going to a cinema years ago as big screens just made it worse for me lol
@InfinityDz
@InfinityDz 11 месяцев назад
I'm trying to code the game boy by generating roms using Matlab functions (don't judge me, I'm weird). Basically I look at the opcodes in the documentation, and since I know assembly, I use Matlab to help me write binary code quickly. I have created 2 sprites that appear correctly in Visual Boy's Tile Viewer, but they appear completely black on screen. Also, I've inserted a condition that checks if the A button is pressed, and when it's pressed, a 3rd sprite appears. But it doesn't disappear when I let go. Do I have to refresh the screen myself or does the GB screen refresh itself?
Далее
Secrets of the Nintendo Game Boy Boot Logo | MVG
11:52
Просмотров 541 тыс.
NES Development Environment
14:58
Просмотров 353 тыс.
ХОККЕЙНАЯ КЛЮШКА ИЗ БУДУЩЕГО?
00:29
Дикий Бармалей разозлил всех!
01:00
How Graphics worked on the Nintendo Game Boy | MVG
12:56
Hacking the Game Boy cartridge protection
10:01
Просмотров 553 тыс.
How Cartridges worked on the Nintendo Game Boy | MVG
11:32
How we fit an NES game into 40 Kilobytes
12:04
Просмотров 3,5 млн
EVERY GAME BOY COLLECTOR NEEDS THIS! | GBxCART PRO
13:27
How Graphics worked on the Nintendo DS | MVG
13:27
Просмотров 876 тыс.
Top 10 Best Game Boy Indie Games! [HOMEBREW]
17:08
Просмотров 90 тыс.
What was Coding like 40 years ago?
29:05
Просмотров 1,7 млн
ХОККЕЙНАЯ КЛЮШКА ИЗ БУДУЩЕГО?
00:29