Тёмный

I Made a Game That Lets You Share Levels Using Morse Code | Devlog 0 

SquidGod
Подписаться 20 тыс.
Просмотров 14 тыс.
50% 1

This week, I'm starting a new Playdate game devlog series! I'm making a Mario Maker-like platforming game where you can build custom levels, but with a twist - you can share your levels using an audio data transfer tool I've made. The Playdate currently has no networking API, so this is the only way to transfer data wirelessly. Check it out!
Check out my new book "The Beginner's Guide to Lua for Game Development" and learn how to code using Lua!
squidgod.itch.io/lua-for-game...
Support me on Patreon and get this + all my games and their source code!: / squidgoddev
Join my Discord and say hi or ask questions! I'll respond :): / discord
Follow me on Twitter to see what I'm up to!: / squidgoddev

Наука

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

 

25 сен 2022

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 104   
@SquidGodDev
@SquidGodDev Год назад
Check out my new book here if you're interested in learning programming! squidgod.itch.io/lua-for-game-development Also my Patreon if you want to check out the source codes for all my games! www.patreon.com/squidgoddev
@gold4668
@gold4668 Год назад
No way, a squid, a god and a dev at the same time???!!!11
@SquidGodDev
@SquidGodDev Год назад
🦑😇👩‍💻
@RosesWaffleHouseorder
@RosesWaffleHouseorder Год назад
And chicken 🐔
@-haso
@-haso Год назад
You’re a digital mad scientist 👨‍🔬
@SquidGodDev
@SquidGodDev Год назад
Always got stuff cookin' 🧪
@blankenstein1649
@blankenstein1649 Год назад
i love seeing all the creative thinking going into the play date community. it's really impressive seeing what you guys are making on such a humble little device!
@SquidGodDev
@SquidGodDev Год назад
I've personally been super impressed by all the 3D rendering stuff that people are doing
@blankenstein1649
@blankenstein1649 Год назад
@@SquidGodDev honestly, all of it is great. but it's true, there are some really impressive 3D models being shown off! it'd be awesome if someone made a game like solstice on the NES, but fully 3D.
@Lukequest
@Lukequest 8 месяцев назад
You deserve an award for writing a book
@AutumnRain
@AutumnRain Год назад
wow that's cool! also, i'm surprised to hear there's not any networking between playdates. I remember seeing that it has bluetooth in it to be integrated later or something, i assumed that would be available to devs for networking like that. but I guess we'll see. but if that doesn't pan out, it's very cool to see something like this to have some sort of way playdates can communicate with each other
@SquidGodDev
@SquidGodDev Год назад
Yeah there is wifi and bluetooth on device, but according to the main developer working on it, it's apparently a pain to work with so it's taking a while for them to put together an API that's available to all developers.
@ShadowDrakken
@ShadowDrakken Год назад
I mean, you more or less just gave the PlayDate an actual modem :D That's pretty epic!
@yorgle
@yorgle Год назад
Clever! Love it! You can always expand on this further, by adding kansas city standard-like encoding, hamming code, checksums to make sure it all worked properly, or like encode binary data in RS232 like signalling... etc... :D
@SquidGodDev
@SquidGodDev Год назад
Thank you!
@FirithStudio
@FirithStudio Год назад
Awesome way to download levels!
@SquidGodDev
@SquidGodDev Год назад
Thanks Official Firith Studio Channel™!!
@FirithStudio
@FirithStudio Год назад
@@SquidGodDev 😅
@LolaliciousSmiley
@LolaliciousSmiley Год назад
I can't stop laughing at how cool this is and how well it works. I didn't even know this thing had a microphone!! At first, I assumed you were using the included speaker.
@SquidGodDev
@SquidGodDev Год назад
Yeah it's kinda random that it has a microphone 😅 no one really uses it
@TimConceivable
@TimConceivable Год назад
whoa! this is a really cool!!! you weren't kidding about having a good idea for level sharing!
@SquidGodDev
@SquidGodDev Год назад
Thanks!
@puffcap_
@puffcap_ Год назад
i love how analog this type of data transmission is, and its exactly what i would expect from playdate devs
@CubeOrSomething
@CubeOrSomething 7 месяцев назад
you make amazing videos, keep doing what you enjoy
@celinnec.valdez9995
@celinnec.valdez9995 Год назад
Pretty cool, really changed the way i look at the playdate
@Dino-ny1vz
@Dino-ny1vz Год назад
wow amazing video!!! very impressive, and such a cool idea
@SquidGodDev
@SquidGodDev Год назад
Thanks Dino!
@y2commenter246
@y2commenter246 Год назад
Thanks for the link to that book!!
@SquidGodDev
@SquidGodDev Год назад
No problem!
@masukomi
@masukomi Год назад
You really need to look into the various data encoding & transmiting formats that ham radio has come up with. There's some really impressive stuff they've come up with, with far greater information density than morse code, and is specifically designed to work with "noisy" (radio sense) environments.
@SquidGodDev
@SquidGodDev Год назад
Ohh that's a great idea - I'll definitely look into it. Thanks!
@microdavid7098
@microdavid7098 Год назад
this is really impressive
@SquidGodDev
@SquidGodDev Год назад
Thank you!
@xkernalsandersx
@xkernalsandersx Год назад
This is so amazing - I really hope that we continue to see more people developing unique experiences for the playdate. Mine unfortunately is in group 5 and it looks like it's going to be a LOOOOONG time until I receive it, but I'm happy to see there will be more and more games to choose from once I jump in!
@SeanStClair-cr9jl
@SeanStClair-cr9jl Год назад
This is REALLY fuckin cool! Since you're already listening for "volume" thresholds, I wonder if you can't transmit data as a modulation of volume, rather than time...? Something like, 3 different volume levels (or even 3 different notes, if that's way more distinguishable? I have no idea how robust the mic api is! haha) and just transmit at a constant 50ms, or whatever is most reliable? I know there will obviously be some volume variance depending on how the person is holding their device up to the speaker, so maybe you could do it based on relative volume, rather than a hard threshold? Like, maybe you could start each transmission with a series of "calibrating" pulses (to determine the base relative volume level and also establish timing). And who knows, if the timing is consistent, maybe this could even help you parse data from a noisy environment? Anyway, just a rambling thought! Keep up the great work Edit: Oh also, if you were to listen to relative volume for data rather than timing, maybe the little levels of accuracy (like, with timing you currently said it's around 50ms) is even better? Who knows, maybe you could even do base 4, if it's very reliable at parsing 4 different relative volume levels! And you might not have to deal with the framerate problem as much, since it's less important if you drop a frame when listening to volume rather than timing.
@SquidGodDev
@SquidGodDev Год назад
Yeah that's a great point. I was originally thinking of doing that, but the difference in volumes based on distance and how loud the phone was made me decide not to go with that, but calibrating it at the start might work. I'll definitely keep at it and try tweaking it to try and shorten the transmission time + make it more reliable.
@KamranWali
@KamranWali Год назад
Awesome video! Really like the creative way you solved this issue. Using sound to create level now that is unique and awesome. I will definitely give playdate a chance after my current project. Something about the display just brings back good old memories especially Tetris. Keep it up! :)
@avery_IO
@avery_IO Год назад
could totally use this to transfer a save file from one device to another. “bro u gotta play my character” or whatever. especially on games that are not linear or are procedurally generated. very cool.
@CitrusArchitect
@CitrusArchitect Год назад
So cool!!! What an amazing concept. I wonder if the play date can detect different notes as well, if more complexity were needed for where the tiles were placed. This is a pie-in-the-sky idea, and probably way too hard to implement, but it’d be AMAZING if you saw the level start building itself and rendering AS the tone plays. It’d be like watching the world slowly coming to life!
@SquidGodDev
@SquidGodDev Год назад
Well, with the Lua API, it can't, but there may be a way with the C API. I need to do some more testing on that front.
@jkdubb
@jkdubb Год назад
This is impressive. Way to push the limits of the software.
@SquidGodDev
@SquidGodDev Год назад
Thanks!
@BlueOctopusDev
@BlueOctopusDev Год назад
Wow, very impressive
@SquidGodDev
@SquidGodDev Год назад
Thanks!
@Sp3ctralI
@Sp3ctralI Год назад
Morse code is a crazy cool idea, it’s not used much anymore, so using it this way is a fun idea!
@blastygamez
@blastygamez Год назад
Creative and good solution 👍
@shawnawesomeer5570
@shawnawesomeer5570 Год назад
oh sweet ! it reminds me of how pocket operator data is transferred
@Combes_
@Combes_ Год назад
Too impressive!
@SquidGodDev
@SquidGodDev Год назад
Thanks!
@Combes_
@Combes_ Год назад
@@SquidGodDev How do you think up of this stuff?
@SquidGodDev
@SquidGodDev Год назад
@@Combes_ Well, using audio to pass data is not really a new concept, so I can't take credit for thinking up anything really 😅
@Combes_
@Combes_ Год назад
@@SquidGodDev Well it's compatible with the *PLAYDATE*
@kobsboy4227
@kobsboy4227 Год назад
this is kind of like dial up. this is so cool
@SquidGodDev
@SquidGodDev Год назад
Never thought about it like that. Yeah pretty much
@enrique6693
@enrique6693 Год назад
The playdate should have a Bluetooth or WiFi connection, but unfortunately it doesn't. But your morse code technic is a really good idea. I heard that some radio stations would do something similar to transfer games and other cool programs
@jusqueicitoutvabien
@jusqueicitoutvabien Месяц назад
Thats wild
@thatsmaik
@thatsmaik Год назад
Amazing and inspiring
@YoshimiGames
@YoshimiGames Год назад
Crazy! 😄
@SquidGodDev
@SquidGodDev Год назад
I was surprised it worked too!
@juana.m.garcia4260
@juana.m.garcia4260 Год назад
I know I'm a bit late, but regardless. I think to ensure that the Playdate doesn't translate random sounds from the environment into letters, there should be some sort of characteristic sound for the start of the transmission level and one for the end of the transmission
@griffinbrooks6748
@griffinbrooks6748 Год назад
Thats really cool! perhaps the app on your phone can have a level editor as well! or maybe at the beginning you can define a level width and any letter bigger then that will move down to the next column! even if you dont add those i think this will be a really cool game and i cannot wait to try it out.
@SquidGodDev
@SquidGodDev Год назад
Ohh a phone level editor would be cool! Seems like a lot of work tho 😬 I did think about having multiple rows to have a full grid to make levels with, but my concern is right now the level data transfer is pretty slow, so that would multiply the amount of data that needs to be passed. Might change in the future though
@griffinbrooks6748
@griffinbrooks6748 Год назад
@@SquidGodDev yeah, either way this will be super cool!
@paulytheking7365
@paulytheking7365 Год назад
If you ever need any music for the game, I’d be happy to make some.
@kadabra8
@kadabra8 Год назад
Оце ти заморочився) Чудово👌
@SquidGodDev
@SquidGodDev Год назад
Thanks!
@richxps
@richxps Год назад
Genius
@SquidGodDev
@SquidGodDev Год назад
Glad you think so! Still a lot of ways to tweak it and make it more efficient!
@S3th__
@S3th__ Год назад
niceeee
@SquidGodDev
@SquidGodDev Год назад
niceeeeeeee
@thetexanshurtme
@thetexanshurtme Год назад
This is very wow EMCG
@SquidGodDev
@SquidGodDev Год назад
EMCG!
@cristianvelardez8657
@cristianvelardez8657 Год назад
In The setup yup that was my problem thanks a lot
@TS-by9pg
@TS-by9pg Год назад
You should also try using pitch. It will help to transfer data more efficiently but I'm not sure how hard it is to implement on a limited hardware such as Playdate
@eboatwright_
@eboatwright_ Год назад
This is so cool! You could also do this to make multiplayer games
@SquidGodDev
@SquidGodDev Год назад
Oh interesting! Didn't think about that
@als_pals
@als_pals Год назад
I have a game that currently needs handing back and forth to play, I might try adding actual multiplayer using this idea
@eboatwright_
@eboatwright_ Год назад
@@als_pals Super cool! Let me know how it turns out!
@eboatwright_
@eboatwright_ Год назад
@@SquidGodDev :D Like you could convert the player's position to binary, and send it using morse code to the other playdates
@pacomatic9833
@pacomatic9833 Год назад
@@eboatwright_ maybe but there cannot be real time
@AmRealityInc
@AmRealityInc Год назад
you're a fucking genius
@ProSureStrings
@ProSureStrings Год назад
You could totally make it from play date to playdate. It has a built in speaker does it not? A playdate Playdate!
@SquidGodDev
@SquidGodDev Год назад
For sure, but barely anyone has a Playdate so I imagined it'd be hard to find someone else who had a Playdate 😅
@ProSureStrings
@ProSureStrings Год назад
@@SquidGodDev well I'd assume if they were using the game they would have a playdate, no?
@v0xl
@v0xl Год назад
Why not use binary data for levels? Lua strings are pure 8-bit and binary-safe (you can use all values from 0 to 0xff/255) And also I think compression should greatly reduce level size, even something simple like RLE or huffman codes. (or both?)
@SquidGodDev
@SquidGodDev Год назад
Yeah for sure. I didn't put that much thought into it with the idea that I'd come back later and optimize it. Just wanted to get a proof of concept cause I wasn't even sure if it would work.
@funmath3835
@funmath3835 Год назад
this guy is too intelligent.
@bubbleheadft
@bubbleheadft Год назад
I wonder how much faster the data transfer could be if you used a frequecy shift type signal. Each character could be at the shortest practical signal duration but at a different pitch.
@SquidGodDev
@SquidGodDev Год назад
Great point - I've thought about that, but there's no way in the Lua API to tell what the pitch is. However, there may be a way in the C API but I haven't checked it out yet. Planning on looking into it this week.
@bubbleheadft
@bubbleheadft Год назад
@@SquidGodDev awesome! Just subbed to see what happens.
@denischen8196
@denischen8196 Год назад
How fast can you transfer data using sound? Can you transfer a level with hundreds or thousands of blocks in a few seconds without errors by encoding each block as a frequency, using start and end signals, redundancy and error correction?
@SquidGodDev
@SquidGodDev Год назад
Maybe? Not sure - I'm not smart enough to figure it out 😅
@UltimatePerfection
@UltimatePerfection Год назад
Why not cut out the middle man and just beep out the code from playdate itself. The thing has sound, no? Also, if you go that route, wouldn't be the modem sounds a more efficient coding for the level data?
@SquidGodDev
@SquidGodDev Год назад
The idea was for you to be able to share it with other people over the internet, so you can send someone the link and they can play it from their phone, instead of having to physically be next to each other. And yeah there's lots of ways to make it more efficient - I just started off with a simple, naive approach.
@UltimatePerfection
@UltimatePerfection Год назад
@@SquidGodDev Yeah, but it would be better to force people to actually meet each other to share the levels. You know, a little face to face.
@RazzleBloq
@RazzleBloq Год назад
Bruh so cool also 100th comment
@fredik21
@fredik21 Год назад
Це як geometry dash?)
@SquidGodDev
@SquidGodDev Год назад
Not quite! In geometry dash you are constantly moving and you only control when you jump, but in my game you control how you move around.
@zepkup
@zepkup Год назад
Ok
@zepkup
@zepkup Год назад
Epic.
Далее
Making a handheld game with no game engine in 7 days
12:35
Making a Metroidvania for the Playdate
13:45
Просмотров 133 тыс.
Help Barry And Barry Woman Scan Prisoners
00:23
Просмотров 2,6 млн
Как похудеть на 10 кг ?!
07:06
Просмотров 625 тыс.
I'm Excited To see If Kelly Can Meet This Challenge!
00:16
I Made Cursed Flappy Bird in 3 Hours - TriJam Devlog
10:50
What It's Like Making a Game For The Playdate
6:00
Просмотров 7 тыс.
Making a Game in Lua with No Experience
5:52
Просмотров 281 тыс.
I'm Making a Gladiator Roguelite | Playdate Devlog 0
5:05
PulpScript: A Beginner's Guide
12:51
Просмотров 19 тыс.
Remaking Tamagotchi 25 years later...
10:12
Просмотров 250 тыс.
Creating a Commercial Console Game in 3 Months
9:00
Просмотров 17 тыс.
Making a Game You Play... WITH A CRANK???
8:46
Просмотров 8 тыс.
КРУТОЙ ТЕЛЕФОН
0:16
Просмотров 6 млн