Making a Local Co-op Game in One Week!
Вставка
- Опубліковано 12 січ 2025
- Hey everyone and welcome to my a little video that I've been working on over the last week, I hope you enjoy and find the video both entertaining and interesting! I also hope some of you might notice the audio quality change as I recently invested in a new pop stand thanks to a generous donation, from a viewer called Chris, on my BuyMeACoffee page. Such a generous amount for my second donation ever is so amazing and I can't thank you enough!
The total time spent on this project is 7 days, but those days include lectures, sleeping and all the other bits so it probably totals to around 12-14 hours! The art was by far the biggest challenge for me but I hope it was worth it and you all like how the game came out!
Free Game Download!
hawkesbyte.itc...
····················································································
The Webcomic Can be Seen Here!
ifunny.co/pict...
The Artist!!
www.instagram....
····················································································
ChipTone Audio Generator
sfbgames.itch....
····················································································
My Discord Server!
/ discord
····················································································
Support the Channel!
www.buymeacoff...
····················································································
Leave A Follow on my TikTok!
/ hawkesbyte
····················································································
Music and Sound Effect Attributions:
All In-Game Sound Effects From Pixabay
Background Music Titled "Chill Lofi Inspired" By omfgdude On OpenGameArt
In-Game Music Titled "Thats It For Today" From OpenGameArt
Fun fact, one panel of that comic contains only one crow making it also extreamly sad
Not a fun fact
sad:( fact
that's really adorable! Though I think the paperplane one got a little bit out of theme by only having only one character, maybe if it was two visible gusts of wind? or maybe those cloud "gods"(?) monsters that those old maps drew over the ocean?
thanks! originally the plane level was supposed to have two characters, one that throws it and one that receives it but it was a lot of extra art and to create and in the end i scrapped the idea which would explain why it feels a bit weird haha
The ant level also
I personally think I'd be really funny if instead of the tumbleweed throwing the sheep, that the sheep stuck to the tumbleweed like velcro and flew off with it
This for some unknown reason wants me to download it, just so I could play it, and having no gf, recording myself passing this game all alone. Great video!
ill be uploading the project sometime this week so youre more than welcome to give it a shot! most of the levels can be played with one person bar maybe the duck one unless you have super fast reflexes haha
Then it's time to practice!@@HawkesByte
@@HawkesBytewaiting for chance to play it
The little sprites are so adorable, I would so buy stickers of all of them
I love your use of a pixelated font for coding. Totally stealing that idea, thanks!
its the minecraft font haha, some people love it, but some hate it! i always get a mixed bag of responses
The art style is really good , you are a really good game developer. Can u make a horror game in a future video, with ur skills u can make a really amazing one
im considering the idea! might do a 1 day horror game challenge, but not sure just yet :)
This game honestly looks cool the entire idea or premise kinda reminds me of those old games i used to watch people play like Snipperclips or other games like that.
Looks really coo, it is impressive how good the art looks. Good luck to you both.
Thanks! :) Glad you like the art, it looks simple but it took me ages haha
this and the cat game really hits the cozy and casual vibes. looking forward to more games like these in the future. great job
thanks so much im glad to hear it :) im looking forward for the future too! growing a channel is super exciting
This is very cute. It reminds me of fireboy and watergirl.
I really love seeing every new project you make, man. All of them are so well done. Props to you mate!
Thanks a ton glad you like them :)
1:13 those snowflakes make me unnecessarily annoyed
haha believe me they annoyed me as well
this is so adorable omfg
Aww, this is so cute :3
I think the rocks should be frowning :c until they meet and go c:
thanks so much! that wouldve been a cute idea ill totally add it if i come back to the project
Very cool video. Still working towards actually finishing something myself. Inspirational stuff for sure.
thanks so much :) best of luck with finishing your future projects too!
Oh I am incredibly cozy
*casually licks ketchup off my plate *
that is NOT a snack 🙅🙅🙅
I think controller support (if you haven't already), LAN, and an arcade mode would make this project go from great to amazing.
2K subs only? This might be the first time i say this to a channel, but you are VERY Underrated.
I appreciate it :) Im excited to grow!
@@HawkesByte hope you be as big as mrbeast!
This is a great idea, i love the aesthetic of the game.
É incrivel, um jogo maravilhoso. Nível de qualidade o qual não se espera de um canal de dois mil inscritos.
I hope you achieve everything you want in life.
thanks so much!! im super glad to hear you enjoyed the video :)
This is so Dan and Phil coded, with a few more levels I could really see them playing it!
beautiful video , very cozy , very duck
appreciate the support :)
such an inspiration! keep it going lad🎉
Absolutely delightful game idea and super well made, wish I had thought of it first ngl
im glad to hear you like the idea and the project haha :)
This is so cute. All of these remind me so much of flash games
This is an awesome project and the art is adorable! when you do another update you should add some ambient sounds to make it even cooler! you got a new sub, keep it up!
thanks for watching and subbing! if i come back to it ill definitely add some more sounds to keep it interesting:)
Love this game! Noticed an error in the end scene ‘no arguments where’ the where should be were. But yeah that game looks really good and polished, definitely going to try this out!
Great idea and very well made i love this
Thanks so much, glad you enjoyed the video :)
Youre soo underated! This video was so good!
im super glad to hear that you enjoyed it!! :) thanks for watching!
Similar to Dutssz’s criticism on the paper plane. I think for the ant game a cute way to tie in the two-player game mechanic with the visuals is to replace the single ant climbing with a pair of ants carrying something. So it makes sense on a visual level why there needs to be two different players for each movement - are we the ant’s legs?? - and ties in nicely with the “always together” theme.
We already have three games about uniting a lost duo, so why not another game about a duo working together? (The others being the mushroom & paper plane minigame).
Other than that, I really enjoy the game! It looks really fun to play would definitely download it if it was available as a web browser game.
Love your game style.
Keep up the good work man🎉🎉🎉
Thanks, will do!
YOWW u should do a level where its a crab and a sea urchin, one player who controls the crab is movement while the player who controls urchin is defense against the ocean's predators. An urchin n crab is a good representation of mutualism in real life and its so fascinating how their dynamic works
You deserve way more subscribers
thanks i appreciate it! im on my way up :)
playing this with my girlfriend for her birthday today!! will let you know how it goes
How was it
Great video!
thank you! :) hope you enjoyed!
i’d love to play this it looks so cute and really well put togethr
its free to play if you wanna give it a go! :) check the description!
Reminds me a lot of the Wario Ware Games. Keep up the good work man😉
not played those, ill give them a look! thank you :)
I feel like this game would be wonderful as a more randomised, wario ware style set of levels, with the challenges becoming faster and faster until you lose enough times, with a score at the end
Some levels work better than others it seems. I think the plane/ant/frog levels suffer a bit from having no visible sense of progress - you don't know how 'far' you got.
As you already preload the next level anyway, would a crossfade perhaps be a smoother option than going through a fade to black?
Please do a tutorial on branching paths like baludars gate but obviously on a smaller scale. Sort of the basic architecture of how to structure code so that adding new characters and paths is easier
Such a great video
Glad you think so!
Once again, great video. You should try to make a mobile game in one week
cool idea! had a few suggestions for that so might do!
Great video! Great game! You got yourself another subscriber.
thanks dude!! glad to have you on board :)
@@HawkesByte this really inspires me to record some videos while making games. I'll try it next week with brackeys Game jam. Also love the art, just keep spending time on art. I think other people think the same!
@@djolex15 sounds like a great idea!! let me know if you record anything id be sure to give it a watch :) best of luck!!
untitled goose game players: DUCK! DUCK! DUCK!
duck duck goose players: Who's the goose then?
there’s a lil typo on the end screen of the game, it should be “no arguments were caused.” totally playing this with my friends!!
Yessss new video!
hope you enjoyed!! :)
@@HawkesByte loved it! very cute game and loved the ideas
@@9fran9rosatti9 thanks so much, im glad to hear it!
I think Cris would be very disappointed that you did not invest in a lethal does of caffeine
i can only imagine the disappointment theyre gonna feel when they find out what i did 😞
Cute, I do think it could use a little more juice. If you only made one aesthetic change, I would recommend a visual cue when you complete the objective. Something like having the character outlines change colour or something. It's a little anticlimactic right now.
Adorable!!
thank you! :)
2:32 wait wait wait wait- HOW DID YOU CHANGE THE FONT?
you can change the font in visual studio! :) it lets you pick any fonts downloaded on your device, if you go online and download a font you can usually double click it to install it (on windows) :)
well done ❤
thanks!
Really cute game! I think this idea has great potention to be expanded with more stuff!
Also, could you link the original comic you mentioned? I got curious but don't know where to find it lol
just added a link to the description! :) i was supposed to do that originally so thanks for the reminder!!
🦆🦆🦆🦆🦆🦆 duck alert
what font are you using in vs, never seen that before
nice video!
Its the minecraft font haha :) lots of people get confused when they see it 😅
@@HawkesByte nice, I want to try it :p
You put a lot of effort into your videos
thanks! :) i definitely try haha
7:47 suggestion: give the sound effect some variation
What a cute game
thank you! glad you liked it :)
Man how much time a week do you spend doing this? Feels like you are full time XD
Keep it up!
whenever ive got a little free time! but thank you will do :))
So that means what, like 20h a week? Do you have an estimate? I am super curious :)
probably about 1-3 hours a day, but it varies depending on lectures and stuff haha
Thanks for the honesty, I am a gamedev student too and I host a (Czech) game design podcast. But I never seem to put in enough hours so I was wondering haha
Add a sheep level 💯💯💯
How did you get that pixel font for VS? may i know what the font is and how u applied it onto Visual Studio?
its the minecraft font :) you can install it onto your device if you download it off the internet and then select it in your vs settings
@@HawkesByte thanks!
Can you please continue the game with more updates
Hello! thanks for your video but... what is pollyart. i have an errors becuz of this
In what game? Fireworn Wartego? Fireworm vertigo? Can someone tell me what he says there? I want to know what the most famous local coop game ever made is :(
fireboy and watergirl!! its an older title but always the first one i think of when i hear local co-op :) ive got loads of great memories from playing it with my brother as kids
@@HawkesByte thank you so much for taking the time to answer! English is not my first language, so sometimes I can't get things without context haha
@@Castlevaniac1 of course and im sorry for not making it clearer in the video!! :)
I see you use a lot of lerp() in the code, would you mind creating some tutorial or example on how to use or why you used it . I know it helps you smooth movement and other aspects using code.
id be happy to, lerping is awesome for a lot of things but honestly i think there will already be loads of cool videos online that would do a better job at explaining things than i would!
You could make it a fast paced game like dumb ways to die
good content
thanks! i appreciate it :)
game looks amazing but where sheep
The reason I thought what in the world is this guy doing? Is because I don’t know how to code
100 comment B)
haha nice one! thanks for watching :)
I wouldn't call this a "cozy" game. Looks more like a flash game.
to each their own! :) i see where youre coming from though, ill try harder to make the next one extra cozy haha
@@HawkesByte Can't wait to see it!
Maybe I’m alone here but the insane speed up clips and all the jumping around was a little disorienting. I like having the visual of seeing what you’re doing in the code and art but you don’t need to show me all of it at 100x speed. Sorry I thought this might be a good idea.
youre not alone honestly im not even a fan of it myself, ill be keeping it in mind for next time it just didn’t occur to me that it might look weird outside of my editing software!
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Events;
using TMPro;
public class DialogueManager : MonoBehaviour
{
[SerializeField] private GameObject dialogueParent;
[SerializeField] private TMP_Text dialogueText;
[SerializeField] private Button option1Button;
[SerializeField] private Button option2Button;
[SerializeField] private float typingSpeed = 0.25f;
[SerializeField] private float turnSpeed = 2f;
private List dialogueList;
[Header("Player")]
[SerializeField] private FPSController playercontroller;
private Transform playerCamera;
private int currentDialogueIndex = 0;
private void Start()
{
dialogueParent.SetActive(false);
playerCamera = Camera.main.transform;
}
public void DialogueStart(List textToPrint, Transform NPC)
{
dialogueParent.SetActive(true);
playercontroller.enabled = false;
Cursor.lockState=CursorLockMode.None;
Cursor.visible = true;
StartCoroutine(TurnCameraTowardsNPC(NPC));
dialogueList = textToPrint;
currentDialogueIndex = 0;
DisableButtons();
StartCoroutine(PrintDialogue());
}
private void DisableButtons()
{
option1Button.interactable = false;
option2Button.interactable = false;
option1Button.GetComponentInChildren().text = "No Option";
option2Button.GetComponentInChildren().text = "No Option";
}
private IEnumerator TurnCameraTowardsNPC(Transform NPC)
{
Quaternion startRotation = playerCamera.rotation;
Quaternion targetRotation = Quaternion.LookRotation(NPC.position - playerCamera.position);
float elapsedTime = 0f;
while (elapsedTime < 1f)
{
playerCamera.rotation = Quaternion.Slerp(startRotation,targetRotation,elapsedTime);
elapsedTime += Time.deltaTime * turnSpeed;
yield return null;
}
playerCamera.rotation = targetRotation;
}
private bool optionSelected = false;
private IEnumerator PrintDialogue()
{
while (currentDialogueIndex < dialogueList.Count)
{
dialogueString line = dialogueList[currentDialogueIndex];
line.startDialogueEvent?.Invoke();
if(line.isQuestion)
{
yield return StartCoroutine(TypeText(line.text));
option1Button.interactable = true;
option2Button.interactable = true;
option1Button.GetComponentInChildren().text = line.answerOption1;
option2Button.GetComponentInChildren().text = line.answerOption2;
option1Button.onClick.AddListener(() => HandleOptionSelected(line.option1IndexJump));
option2Button.onClick.AddListener(() => HandleOptionSelected(line.option2IndexJump));
yield return new WaitUntil(() => optionSelected);
}
else
{
yield return StartCoroutine(TypeText(line.text));
}
line.endDialogueEvent?.Invoke();
optionSelected = false;
}
DialogueStop();
}
private void HandleOptionSelected(int indexJump)
{
optionSelected = false;
DisableButtons();
currentDialogueIndex = indexJump;
}
private IEnumerator TypeText(string text)
{
dialogueText.text = "";
foreach (char letter in text.ToCharArray())
{
dialogueText.text += letter;
yield return new WaitForSeconds(typingSpeed);
}
if (!dialogueList[currentDialogueIndex].isQuestion)
{
yield return new WaitUntil(() => Input.GetMouseButtonDown(0));
}
if(dialogueList[currentDialogueIndex].isEnd)
DialogueStop();
currentDialogueIndex++;
}
private void DialogueStop()
{
StopAllCoroutines();
dialogueText.text = "";
dialogueParent.SetActive(false);
playercontroller.enabled = true;
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
}
}