SyncMain
SyncMain
  • 9
  • 1 268 244
C# Game Development | Setting up MonoGame on Windows
In this video I highlight the steps in the process for getting ready to make a game using C# and the MonoGame framework on a Windows machine.
A long time ago I used XNA, and loved the instant gratification of providing a few images, writing a little bit of code, and standing up a game.
MonoGame has proven itself over the years as a useful tool to ship and/or port cross-platform indie titles like Stardew Valley, Fez, Axiom Verge, Celeste, and more.
I'm working on a game on my own now, currently called Murder Wizard, and I plan to make a series of videos to help other people learn how to make games as I make this game.
MonoGame "Getting Started" Documentation (unaffiliated):
docs.monogame.net/articles/getting_started/index.html
Переглядів: 2 013

Відео

Clean Code
Переглядів 6 тис.Місяць тому
This is in response to discussions I see regularly surrounding code style, object oriented programming, data oriented programming, C vs C , and "just ship it" vs the "clean code" crowds. Indie games like Balatro, VVVVVV, and plenty of others have shipped with game scripts that some people would find unacceptable, and it works for them, but eschewing best practices altogether is not a sure path ...
Tools for Programmers: Software I Use
Переглядів 5 тис.3 місяці тому
I've been wanting to share some of the software I use regularly that helps me do my job, as I think it would be helpful for new programmers to know. I did this in one take, and was tempted to do it as a stream but I haven't quite worked up the nerve to doing it live. A lot of these aren't explicitly used for 'coding' but come in handy when doing software and game development in general. Softwar...
I'm Not a C++ Programmer
Переглядів 7 тис.4 місяці тому
In this video I discuss tribalism in programming and gamer culture, and give advice on avoiding pinning yourself into a corner when it comes to developing your programming skills, making yourself employable and a good teammate, and generally improving for your own benefit and happiness. Even though I accidentally referred to "Python Programmers" and "C# Programmers" in the video, I think people...
Escape "Tutorial Hell" - Build Your Programming Skills
Переглядів 20 тис.5 місяців тому
In this video I discuss tips and advice for growing beyond tutorials in 2024, or escaping "tutorial hell." I give tips for learning and becoming good at being a programmer and writing code in general, no matter what language you're using (C , C#, Ruby, Rust, Python, etc.) It's important to learn to use official reference, get good at debugging, and challenge your assumptions and current knowled...
Best Programming Language To Learn? Advice For New Coders
Переглядів 7 тис.7 місяців тому
In this video I give some quick advice on choosing the right programming language. I too often hear people espousing that certain programming languages are dead languages, or are overcomplicated, or there's some other language that people should be using instead. People shouldn't choose a language based on what someone else told them to use, and there's a quick method to figuring out "the right...
How Much I Get Paid as a Game Programmer
Переглядів 55 тис.10 місяців тому
I've been working professionally as a video game programmer for about a decade now, and think it can be helpful when people are transparent about the money they make. I go into how much money I made at different stages of my career writing code, and how it affected my life, both professionally as a developer, and at home with my quality of life. I've chosen to prioritize satisfaction with my ho...
Learning Resources for Aspiring Programmers | Recommendations for Getting Started and Getting Better
Переглядів 47 тис.11 місяців тому
In the video I talk about some resources I’ve used and recommend for getting into a career as a programmer. I know there's plenty I've left out, but I'm pretty happy with this list and I hope it's a good starting point for others. Links to things I talk about: Codecademy www.codecademy.com/ Khan Academy www.khanacademy.org/ Codewars www.codewars.com/ HackerRank www.hackerrank.com/ TheCherno www...
15 Years Writing C++ - Advice for new programmers
Переглядів 1,1 млн11 місяців тому
I'm a video game programmer and I've been using C as a programming language for 15 years. Of course in my time as a programmer I've branched out to other languages, but I'd say C has been the focus for me across my hobby and professional projects.

КОМЕНТАРІ

  • @fungi6902
    @fungi6902 День тому

    I struggle with getting a good engine to download

  • @technoutopia4687
    @technoutopia4687 День тому

    Nobody cares

    • @SyncMain
      @SyncMain День тому

      I care, hope you're okay.

  • @nobu1730
    @nobu1730 2 дні тому

    dude you look dead inside wtf?

    • @SyncMain
      @SyncMain День тому

      That's not very nice. Thanks for watching!

    • @nobu1730
      @nobu1730 День тому

      @@SyncMain sorry man didn't mean in a bad way. i was just making a joke of what 15 years of cpp does to a man.

    • @SyncMain
      @SyncMain День тому

      @@nobu1730 Lol no worries, I do get it all the time. My wife says I always sound sad on the phone. Trying to get better at my presentation skills 😅

  • @GoodFeel21
    @GoodFeel21 2 дні тому

    My first programming language was C++, and it's still the reason I love programming. Thanks for sharing your experience! I wasn't sure if what I was planning on doing now in my career was okay, but this video just gave me more confidence in my plan. Thanks again!

  • @henrialves5054
    @henrialves5054 2 дні тому

    Thank you for this video, just did a Cobol Exam in my university and went worse than I thought I would. I just have this fear of getting things wrong, of just "being bad" that I prevent myself from learning, it's like I think everyone is a genius that solves problems easily and I should not spend time getting confused about trivial stuff (in my head if the things are easy I don't allow myself to spend too much time in it). If I stop to think, I have less than 10 hours programming and I decided I want to do this for almost an year. I really need to go back and try to do wrong things (to learn) and write stupid code...

    • @SyncMain
      @SyncMain День тому

      Definitely get some more time in! You can learn the right way as you go, but it's easier to see what the right way is if you can just get something done first. You've completed a thing, it works, now you need to change it. Hmm maybe it even needs a rewrite! These moments happen a lot and you grow from each one of them. Thanks for watching and good luck!

  •  2 дні тому

    Using "everything" and simply sorting its column by "Date Modified" turns it into the perfect system watcher. You see every file touched or updated or added. I use it this way sometimes just to find what apps do or put its files.

  • @Thomas.T8
    @Thomas.T8 3 дні тому

    Take a deep breath and dive into the deep end, I started a Udemy coding course a month ago and haven't regretted it one bit. I feel committed and since I purchased the course, its my responsibility to finish it. Only way to learn code is to practice writing it. And so my journey is just beginning. Thanks for your advice Chris, enjoying your content!

  • @karlaguilar5212
    @karlaguilar5212 3 дні тому

    Subscribed! Needed to hear that today. :>

  • @claytonbennett7797
    @claytonbennett7797 4 дні тому

    I appreciate your opinion. It was only recently that I realized, as long as I'm learning, it's okay to be wrong or imperfect. There is fear on the internet about "learning bad coding habits" - the best way to manage those is to try things and then learn what works best. I finally saw a positive post about this - it said something like, "Self taught programmers aren't intrinsically bad, there just might be some ideas they haven't been exposed to yet." Today I opened up a Python program I worked on two years ago. Some room for improvement: a plethora of Try/Except statements, and it's all in one file. But, there were plenty of elements to be proud of. And I am.

  • @jacobwerner8533
    @jacobwerner8533 5 днів тому

    i still somewhat of a noob at c/c++ as far as actually applying what i learned . my primary focus for the last 2 years has been c, but i understand a good portion of c++11 including newer features like vectors. the hardest part is thinking in terms of objects rather than functionally. i like to take my c code and try and improve on it using c++. im not a professional; just a hobbyist.

  • @hepranputra
    @hepranputra 5 днів тому

    Thanks.

  • @user-fx6jg3sk9k
    @user-fx6jg3sk9k 6 днів тому

    Why dont you post more??

    • @SyncMain
      @SyncMain 4 дні тому

      I want to try to get a couple videos out a month, but usually I do at least one a month. Maybe in the future I can dedicate more time to UA-cam 🙂

  • @thygrrr
    @thygrrr 7 днів тому

    Awesome, I needed this for the C# ECS I'm developing.

  • @PoipPoippoip-zd3fw
    @PoipPoippoip-zd3fw 7 днів тому

    Lucky, I've been an oppressed successful minority for the last 10 years problematically id have loved to have similar work to you I'm good at it.

  • @MauricioCoria
    @MauricioCoria 7 днів тому

    I've been programming in different languages for almost 20 years. You can always learn something new, and I completely agree with your advice. Thanks for sharing.

  • @j.r.8176
    @j.r.8176 8 днів тому

    Awesome advice!

  • @chesstansyt
    @chesstansyt 8 днів тому

    These raw videos are so cool !!

  • @garlander8190
    @garlander8190 9 днів тому

    I’m very thankful for your contribution and I’m super thankful to have a resource in you as I am just finishing up my introduction to computer science course in C++ at school. I am drawn to the humility and transparency you are leading with. Don’t stop brother.

  • @user-uf4rx5ih3v
    @user-uf4rx5ih3v 9 днів тому

    I agree. Except with how many languages there are and how much utility a lot of them have, why choose the hardest one?

  • @Thehappyandroiddev
    @Thehappyandroiddev 9 днів тому

    My friend: I write good code Also his code: #include <iostream> const char *msg = "Hello world!"; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; struct IsHereToLookGood{}; int main(){ std::cout << msg; }

  • @dominiccaesarok5077
    @dominiccaesarok5077 10 днів тому

    Praise Jesus!

  • @Byte_programming
    @Byte_programming 10 днів тому

    This is super cool dude, you are the guy who got me interested into c++ and I am now learning. Keep it up dude, it's super cool!

  • @imperfect2517
    @imperfect2517 10 днів тому

    wasting 4 minutes of my time just for this idiot to spew the most generic advice on the planet

    • @SyncMain
      @SyncMain 9 днів тому

      Thanks for watching!

    • @imperfect2517
      @imperfect2517 5 днів тому

      @@SyncMain Thanks for tricking me into watching with a clickbait title!

    • @culturedaadmi4683
      @culturedaadmi4683 2 дні тому

      @@imperfect2517 let it all out. All that frustration isn't worth keeping inside

  • @Hellios92
    @Hellios92 10 днів тому

    Great video, thank you :)

  • @fruitycoconut
    @fruitycoconut 11 днів тому

    I know html

  • @davood7497
    @davood7497 11 днів тому

    💯💯💯

  • @cristianmicu
    @cristianmicu 11 днів тому

    i learned c++ in 2006 with certified diploma from a course, but i never programmed with it except what i did inside the school i graduaded from, my god im old

  • @King-yj2jx
    @King-yj2jx 11 днів тому

    From what I understand, programming language is a tool, the programmer is the carpenter. Companies provide the tools or require a tool, when you're on your own, you're free to use whatever tool you deem necessary

  • @playversetv3877
    @playversetv3877 11 днів тому

    before going to university, i was trying to teach myself coding on codecademy, and it wasnt long till i felt unhappy and unmotivated to code and continue my info tech studies when i got to university. now im studying something else, but recently i went back to start the html section on codecademy because i want make websites and liked it as a hobby. so far i enjoyed it better than before. too much pressure is definitely unmotivating and stressful, so i prefer to code in my own time out of a school environment. i think its a transferrable skill in all areas of life, and definitely a creative hobby i overlooked because its like making a movie or drawing up a webcomic

  • @quaternion73
    @quaternion73 12 днів тому

    I wrote my last C++ program 15 years ago. I love writing my own code but hate having to fix someone else's legacy code. I've seen some absolutely horrible C++ in my time written by games developers (no offence). C++ will let you do something if you really really want to while other languages have the training wheels. This is both a blessing and a curse.

  • @williamogilvie6909
    @williamogilvie6909 12 днів тому

    I have used C++ off and on since 1989. There are too many ways of creating buggy code that can't be debugged with C++. I have seen some very nice looking C++ code written by others that constantly hung up. I prefer Python for structured code where speed and realtime performance is not needed. Even worse than C++ is C#. Instead of elaborate structures and inherited objects, etc programs need coherent states. C++, C#, Python, Java, and all the other languages people learn at university today have no facility for synchronizing states. If a program is not synchronous, any bug is possible. Some people don't understand this concept. Probably because they have been stuck doing the same thing over and over again. I will elaborate: There is a problem concurrent software has called the Mutual Exclusion problem. It is very difficult to guarantee different processes get exclusive access to resources in the correct order. I have seen that in large C++ programs. Threads are queued with nothing that regulates in what order different threads get access to resources. A similar case with multiprocessor systems. About 20 years ago I developed an image testing system, for space telescope IR sensors. It had a quad DSP board, that got sensor data over a DMA channel. Concurrently a pixel row was clocked and digitized by an Analog to Digital converter board, the previous row of pixel data was being transferred by DMA to one of the DSPs, and the second previous row of pixel data was being co-added with earlier data. At the end of each frame the image data was transferred to a desktop PC where it was saved to disk. This concurrent operation went on 24/7. The delicate nature of the image sensors (cooled to ~4.5 K) meant the clocking, data acquisition, etc had to be very regular and constant. Each process (4 DSPs, image array clock, user PC) had to operate in a state synchronous way. They communicated by reading shared memory. However if 2 processes tried to read or write to the same shared memory, the software would crash. So the software was very deterministic. In 5 years of operation the software never crashed and every test yielded good data. This is an example of a state synchronous concurrent system. The queued threaded systems (non realtime) software people consider to be standard fare today are not deterministic. So there is no guarantee there are not any conflicts. Leslie Lamport, 2013 Turing Award laureate, describes a similar method of preventing deadlock issues in multiprocessor systems. Good ideas often have concurrent inventors. amturing.acm.org/award_winners/lamport_1205376.cfm

  • @GameDevJosh
    @GameDevJosh 12 днів тому

    Worked at visual concepts as a designer for a few years but recently got laid off. Recently started learning C++ just because it seems more stable to become a programmer and i also enjoyed coding and debugging code in c# when i spent time independently working on unity projects. i know cpp is much more complex but i think i'll have fun with it

  • @xealit
    @xealit 12 днів тому

    I would say, if your goal is more about the application side of things, changing files and putting something on screen etc, then indeed go with Python or Ruby or something else. Those are perfect languages to learn programming itself as an abstract discipline and to do things with it. Sure, you can do all of that in C++ and nowadays you do have excellent tools that make C/C++ palatable. VScode is there and is free. Even CMake gets better all the time. But, working with C++ means knowing how the computer works. It means knowing what is "compiling" and "linking". It means using gdb and knowing what are "symbols" and how actual memory works. On the other hand, how computer works is an exciting subject by itself. So, if you want to learn how the computer works, do not doubt trying C/C++. One thing to add, C/C++ are genetically the languages of all modern computing. So, it is definitely worth to know how that works. Having said that, I personally would also recommend Nim as a "better C". But not for a beginner. Simply because it is still an experimental project with small audience.

  • @thegrandmuftiofwakanda
    @thegrandmuftiofwakanda 13 днів тому

    You really don't want to be doing this sort of thing for much more than 5 years, it just isn't healthy.

    • @SyncMain
      @SyncMain 12 днів тому

      I know plenty of engineers that are in great health. A programming career and a healthy lifestyle are not mutually exclusive.

    • @thegrandmuftiofwakanda
      @thegrandmuftiofwakanda 12 днів тому

      @@SyncMain Engineers understand the distinction between occurrence and prevalence. I wasn't even primarily talking about physical health, by the way.

  • @OlabodeAdedoyin
    @OlabodeAdedoyin 13 днів тому

    This maybe the single best advise to give to new programmers out there, regardless of progtamming language. I remember an Mantra I gave to younger programmers in my time working for a large tech companies "when in doubt, run the code". I realised that a lot of them afraid of errors and always wanted to "get it right", but it getting them to a place where they move through the write code -> see error -> debug error -> write more code cycle pretty quickly that got better

  • @mikezooper
    @mikezooper 13 днів тому

    Brilliant video. Informative. Advice for programmers: get a treadmill desk. Genuine comment. A sedentary job is deadly. Also it can be a high stress job so get on top of your stress. I had many breakdowns in this profession. Wishing you all the best.

  • @pennygeno5629
    @pennygeno5629 13 днів тому

    over 100K a year and still no saving?? wtf? crazy

  • @bysosuke
    @bysosuke 13 днів тому

    more videos pls (especially game dev using monogame/xna framework).

  • @HHJoshHH
    @HHJoshHH 14 днів тому

    Great take man. Thank you. I'm a JS dev for 1.5 yrs and this really hit home. Been thinking of doing C just to get better at JS. Any way...cheers bro. Peace.

  • @yihong
    @yihong 14 днів тому

    Just do it every day

  • @COLMUSIC603
    @COLMUSIC603 15 днів тому

    I'm an absolute beginner who's been struggling keeping practice due to some mental health issues and life stress. I'm in a better place to start fresh, and I started with python but I found super frustrating and irrelevant to what I genuinely wanted to do which is game dev. So now I'm learning C++ and significantly more interested nad productive

    • @SyncMain
      @SyncMain 15 днів тому

      I’m glad you’re trying stuff out and figuring out what you like! Jonathan Blow made a video about what I believe is a helpful mindset. It might be more meaningful from a fellow dev. Thanks for watching and good luck! ua-cam.com/video/i7kh8pNRWOo/v-deo.htmlsi=Kdh28P4fxWSyIf1s

    • @COLMUSIC603
      @COLMUSIC603 15 днів тому

      @@SyncMain thanks! I'll be checking this out asap!

  • @sandeepvk
    @sandeepvk 15 днів тому

    I am surprised you use Windows. But to each his own I guess man, so more power to you buddy.

    • @SyncMain
      @SyncMain 15 днів тому

      At work we only use Windows, but at home I dual boot with Linux and Windows, and I have a MacBook. I’ll probably be showing some cross-platform capabilities with Monogame over more episodes of this series Edit: I thought this was a comment on my latest video, but yeah I mainly use windows but am exploring other options 🙂

    • @sandeepvk
      @sandeepvk 15 днів тому

      @@SyncMain I use Linux for coding, macbook for general laptop browsing on the move, and WIndows for gaming. I miss excel and word from Windows otherwise I am good

  • @foggy7595
    @foggy7595 15 днів тому

    My problem with C++ is the push for "modern" idioms. The core language is really great, but nowadays it's bloated to death with L-R-X-GL-PR-MEME-values and manages to have some of the least concise, ugly, hard to grok syntax out there. C isn't perfect with ugly syntax as well, but the number of rules to remember is so small that you could put it down on a napkin cheatsheet until you get used to it. I've been using C++ for maybe 5 years or so now and still all the time need to pull up cppreference to try and figure out things I'm doing wrong (looking at you variadic function templates), yet I never have this issue with C. Yes C is more restrictive and in some ways less expressive, but C++ seems to me like it's been getting more and more bloated just for the sake of Bjarne Starsoup to sell more books.

  • @sethm7761
    @sethm7761 16 днів тому

    I've only been programming for 10 years and I totally agree with you.

  • @RiadAhmed-ce6qo
    @RiadAhmed-ce6qo 16 днів тому

    Only game and simulation development. You can make Tools for python .

  • @matpulvinci
    @matpulvinci 17 днів тому

    I personally wouldn’t recommend starting programming with C++. This is what I tried doing, and I couldn’t understand any of it. Even the concept of a variable was abstract to me. It all fell into place though when I started PHP. It’s much easier to understand basic concepts such as functions and variables when there is a very concrete use case: making websites, getting variables from the user input, and so on. With C++, where we have to simulate abstract use cases using the console before building a significant amount of hours, it’s much more difficult.

  • @FlexxVision
    @FlexxVision 17 днів тому

    After 45 years , 98% of programmers are degraded to integrators, and has no idea what goes on behind the box. You are only an playball from the library owner they u will pay . Don't make Software where u has lost the handling, or you are only an integrator. and with out your handwork kit of c/c++ and asm , u are never up to come out from integrator slave. All hate you for your pain integration of dammed Buyed shit ..

  • @someone-mh1bo
    @someone-mh1bo 18 днів тому

    MonoGames series please, I need to know to program in C# as a former C++ programmer.

  • @robertpetricioiu
    @robertpetricioiu 18 днів тому

    În România se start programming at the age of 12 in C/C++. I coded my first C++ at the age of 12 on the blackboard, but at the age of 16, 15 years ago I wrote my first main.cpp