Best part is the way he talks allowed me who couldn't understand the accent at the start could listen slowly, and now that I understand I listen at 1.25x without losing out XD
Went through most of this video series about 12 months ago, decided I want to have another look at building a game with MonoGame. Even though I don't intend to make an RPG, this is an amazing series that helps with a lot of the basic concepts of building a pretty basic 2D engine in MonoGame/XNA. Great job mate, awesome stuff.
These tutorials are pretty good minus a few hiccups here and there , One thing I would recommend to anyone attempting this series. copy this to a notepad somewhere. public void LoadContent() { } public void UnloadContent() { } public void Update(GameTime gameTime) { } public void Draw(SpriteBatch spriteBatch) { } CMD uses them a fair bit and can type them out in a few seconds. saves some of the frustration everytime you see it coming.
Good job taking the initiative to convert the code on your own. I will be making an RPG tutorial series for Sfml after this tutorial series though. Also I'm glad you enjoy my tutorials :)
It is. Monogame is based off of xna 4.0 though. So we will design the code in xna 4.0 then port the code to a monogame project and from there we can distribute it to multiple platforms.
Your talking speed it great! HOWEVER, do you think you can slow down the typing? I am an average maybe above average typing speed user, however, you constantly use shortcuts/hotkeys to finish words half way thru, because you know ahead of time the IDE will finish it at that specific spot. I dont know if i make sense, but in short, can you slow down typing speeding? or not use Hotkeys/shortcuts to finish the code lines? :) Thanks.
yea but spritefonts and such require the .xnb file. You'll have to use xna to convert certain file formats. That's why it makes sense to code it in xna first. Also there are many different conversions in monogame and each conversion requires different code changes. If you have the base code in xna then converting it to different consoles will make life much easier.
woot, finally something fresh, I saw a good ammount of your videos already and I want to go deeper into the game dev, I need to more about techniques and work around related to game coding, your tutorials are really nice, keep them coming and big thx :D PS: im thinking about making a game that uses Voxel as graphics, the size would be about... similar to the game 3D Dot Game Heroes or so... If you have any source of information that could help me dig deeper on the topic id be happy or do tuts ?
Interesting series. I want to learn more about Mono Game, so this seems perfect. However, you do know your singleton isn't thread safe? The easiest way would be to do a simple: public static ScreenManager Instance = new ScreenManager(); Make it a field instead of a property, then the C# compiler guarantees thread-safety. If you insist on using a property you'd need to use the double-if-with-lock-pattern.
Jeroen-bart Engelen Yes I do know that the Singleton isn't thread safe. I didn't want to overcomplicate this tutorial series so I didn't mention anything about thread safety. Also that code you put isn't thread safe...
Jeroen-bart Engelen A static variable can be altered anywhere. I think you meant to make it readonly. Anyways, even if it was readonly it still wouldn't exactly be "thread safe". But you are right in that it is more thread safe than creating a property because it eliminates the race condition on initialization.
For singleton classes, I try and see if making global variables (or local in Main() or whatever start-up function) is more efficient, if it applies to the game as a whole. Like for a server program, I'd usually make a global variable of a list of ports it uses instead of tying it to a singleton Server class
CodingMadeEasy hey there... you said to not forget to put in a private constructor, but i'm not clear on what you mean exactly. later you create a ScreenManager() constructor as public -- is that what should be private? These are foreign concepts to me and I am trying to learn. Thanks in advance
wcdeich4 Idk. I've never used OpenTK before. If OpenTK is working for you then stick with it. If there's a feature you require that isn't available in OpenTK then consider Monogame (if it has the feature you need).
great tutorial :D but the only thing that went wrong here is that you made an public constructor for a singelton class so you can create multiple instances of that class.
Hi me again, I was just wondering did you ever consider making the ScreenManager, InputManager etc etc Game Components? After a bit of research I have come to like this idea as game components come prebuilt with Initialize, Update and if its a drawable component, draw overrides. Ive seen some nice implementations that make enabling and disabling, showing and hiding of components very simple. Just wondered what your thoughts on this approach are?
Can I do this without having XNA installed? I tried to install it but it says compatability issues. I then click continue anyways and at the end it says it has an error and was not installed. I have Windows 8.1
It isn't necessary to write everything in xna to do everything later in monogame, right? xna 4.0 requires visual studio 2010 to be installed, it seems, and I just don't have spare free space for it.
i really look forward to this series , dont want to seem a pain but how often are you releasing each video once a week? once a month? happy birthday btw :)
Yea I know. We are using Xna to handle the base code and then we'll be converting it to Monogame. It makes it easier that way because Monogame doesn't have a fully functioning content pipeline.
Monogame doesn't have a content pipeline so in order to use graphics and such you will need xna to convert your images and other content to .xnb files or you will need to use a .xnb converter. Secondly you can run xna on visual studio 2012. It's just much easier to write the code in xna and then transfer the code to monogame.
Hello, i want fully transparency background for my fullscreen app, can i do this with Monogame? I want to move 2D or 3D texture on the screen and want to see the movie or deskstop behind it. Can anyone help me?
Set Castro Because Monogame doesn't have a content pipeline like Xna does. It's a hassle to have to build content and transfer it over to Monogame. That's why usually people build the game in xna and port it over to Monogame but I'm redoing this series and I'm going to be doing it entirely in Monogame. I've found a workaround.
Hi. I love this series because it's taught me lots of useful programming techniques, but I don't think I can use the actual program itself because I've encountered memory leaks in the image class which I can't fix. I also cloned the github, transferred my assets and got the same result with the github verison. I was wondering if you've come across memory leaking in your implementation (I did copy from the video tutorial, but it might have subtle differences), or have any idea how it might happen?
I figured it out - the leaks were springing from the image class, but I needed to explicitly call the dispose function of all the classes that inherit from IDisposable. I don't have any problems with it now :)
i want to follow the series and make the game as you go along to get some much needed programming practice before i go to uni in two weeks because there will be a bit of programming and the last time i came across it i really struggled but the only problem is that i have a mac book pro and you can't download visual studio on macs and i don't want to use software that is too different to the software you are using because im bound to get confused at some point
+CodingMadeEasy You are the best, I don`t know how to thank you enough for your tutorials.. I almost finished the C++ tutorials , and it REALLY helped me. Thank you for being a great man , and making tutorials, will you start a new tutorial series? ;)
I understand your concern but there's a lot to cover in each tutorial. If I was to slow down my typing it would take forever to cover everything in each tutorial. I'll try to slow it down a bit but using shortcuts and such are second nature to me and should be second nature to you as a programmer. Sorry for the inconvenience but I hope it will be tolerable for you.
Your tutorial videos are great. You're really knowledgable. If I may ask, what's with you voice? I'm sorry if this question offends you. I do absolutely NOT hate you or anything. In fact, I really like you and I've already subscribed.
Lol I figured that's what you were going to say. I usually develop with a dark theme, but at the time most people preferred the light theme for tutorials because it was easier to see.
If you're making a singleton class, your constructor should be private, not public... Not that it's a big deal if you don't but you're saying you can use them properly so you should probably give the good example :o
Hey man. You seem to know your stuff. Doesn't matter if one person says that they didn't learn or they couldn't understand... As long as another person DID learn and DID understand. If people are serious about learning then they will get over the "100ml of water blah blah blah". Keep up the good work dude. You've got my support.
I was about to type it, but looks like Bulbalish just said it... You want a singleton pattern for ScreenManager, but then you made the constructor public.. Not too great of a start lol
Finally a tutorial that goes straight to the point without much chatter. Just I don't understand yet why is the ScreenManager constructor _public_ if the class is following the singleton pattern?
Nice I'm just doing this to get better with C# syntex also it's nice to learn how the c# code works and to memorize something of it a bit BTW i am experianced in AS3.0 HTML5 and CSS3
Irfan Faiq Not a fan of js personally - too non standardised (making a variable whatever type you want on the go just doesn't seem like a practical practice).
just run 1.25 speed. :)
I am confused that this makes him sound normal.
Dude This is a Life saver
Thank you for talking slowly! I am hearing impaired and talking slowly really helps me understand and absorb the information!
Best part is the way he talks allowed me who couldn't understand the accent at the start could listen slowly, and now that I understand I listen at 1.25x without losing out XD
I think this was a phenomenal video and I don't think there is a damn thing wrong with this guys voice. VERY informative.
i dont know how come i get to watch every video u upload on the same day ^_^
love ur tuts
Went through most of this video series about 12 months ago, decided I want to have another look at building a game with MonoGame. Even though I don't intend to make an RPG, this is an amazing series that helps with a lot of the basic concepts of building a pretty basic 2D engine in MonoGame/XNA.
Great job mate, awesome stuff.
you just made my day i swear you are the reason i wont fail my finalyearproject
Jens Broddin Lol I'm glad these tutorials are helping you out
i have one question tho i am working in vs13 with monogame and cant seem to find the add spritefont anywhere and i am really freaking out pls help
Jens Broddin What is selected on the left pane?
i tried contents and also projectname
+Jens Broddin Did you ever fix the issue? I'm getting it...
These tutorials are pretty good minus a few hiccups here and there , One thing I would recommend to anyone attempting this series.
copy this to a notepad somewhere.
public void LoadContent()
{
}
public void UnloadContent()
{
}
public void Update(GameTime gameTime)
{
}
public void Draw(SpriteBatch spriteBatch)
{
}
CMD uses them a fair bit and can type them out in a few seconds. saves some of the frustration everytime you see it coming.
Good job taking the initiative to convert the code on your own. I will be making an RPG tutorial series for Sfml after this tutorial series though. Also I'm glad you enjoy my tutorials :)
It is. Monogame is based off of xna 4.0 though. So we will design the code in xna 4.0 then port the code to a monogame project and from there we can distribute it to multiple platforms.
His keyboard sounds soooo nice!
I did not expect this to come out so soon lol. Thanks!
Yup you'll have a new tutorial daily :) and thanks.
Your talking speed it great! HOWEVER, do you think you can slow down the typing? I am an average maybe above average typing speed user, however, you constantly use shortcuts/hotkeys to finish words half way thru, because you know ahead of time the IDE will finish it at that specific spot.
I dont know if i make sense, but in short, can you slow down typing speeding? or not use Hotkeys/shortcuts to finish the code lines? :) Thanks.
You have just introduced me to object-oriented programming in C#. Nice series! *subbed*
A tile map editor? So essentially, you could make an even more robust RPG Maker-type program with this? Lovely!
Appreciate the effort that went into these tutorials. Thanks :)
yea but spritefonts and such require the .xnb file. You'll have to use xna to convert certain file formats. That's why it makes sense to code it in xna first. Also there are many different conversions in monogame and each conversion requires different code changes. If you have the base code in xna then converting it to different consoles will make life much easier.
God, YT comments system was a mess nine years ago. Also, I'm learning Monogame right now, thanks for the video!
Very great introduction! I'll be watching these~
I first delved into XNA/MonoGame a week ago.
With MG 3.3 I'm now sitting on Linux with a fully functional content importer and compiler with no Windows/VS necessary. I'm pretty darn excited!
woot, finally something fresh, I saw a good ammount of your videos already and I want to go deeper into the game dev, I need to more about techniques and work around related to game coding, your tutorials are really nice, keep them coming and big thx :D
PS: im thinking about making a game that uses Voxel as graphics, the size would be about... similar to the game 3D Dot Game Heroes or so... If you have any source of information that could help me dig deeper on the topic id be happy or do tuts ?
Thank you, i love it straight to the point and clear to understand, well done!
Interesting series. I want to learn more about Mono Game, so this seems perfect.
However, you do know your singleton isn't thread safe?
The easiest way would be to do a simple:
public static ScreenManager Instance = new ScreenManager();
Make it a field instead of a property, then the C# compiler guarantees thread-safety. If you insist on using a property you'd need to use the double-if-with-lock-pattern.
Jeroen-bart Engelen Yes I do know that the Singleton isn't thread safe. I didn't want to overcomplicate this tutorial series so I didn't mention anything about thread safety. Also that code you put isn't thread safe...
CodingMadeEasy It isn't? I thought the CLR guaranteed a static member is initialized only once.
Jeroen-bart Engelen A static variable can be altered anywhere. I think you meant to make it readonly. Anyways, even if it was readonly it still wouldn't exactly be "thread safe". But you are right in that it is more thread safe than creating a property because it eliminates the race condition on initialization.
For singleton classes, I try and see if making global variables (or local in Main() or whatever start-up function) is more efficient, if it applies to the game as a whole. Like for a server program, I'd usually make a global variable of a list of ports it uses instead of tying it to a singleton Server class
PrincessSchalaZeal I'm not really a fan of singleton classes anymore. I doubt I'll really have any in the new Monogame rpg tutorial series.
CodingMadeEasy hey there... you said to not forget to put in a private constructor, but i'm not clear on what you mean exactly. later you create a ScreenManager() constructor as public -- is that what should be private? These are foreign concepts to me and I am trying to learn. Thanks in advance
I'm developing a simple 3D space flight simulator using C# OpenTK for practice --- is there any reason I should use MonoGame instead of just OpenTK??
wcdeich4 Idk. I've never used OpenTK before. If OpenTK is working for you then stick with it. If there's a feature you require that isn't available in OpenTK then consider Monogame (if it has the feature you need).
great tutorial :D but the only thing that went wrong here is that you made an public constructor for a singelton class so you can create multiple instances of that class.
Will this be 3d or 2d.
Thank you for this man. Appreciate the time taken to help people.
Hi me again, I was just wondering did you ever consider making the ScreenManager, InputManager etc etc Game Components? After a bit of research I have come to like this idea as game components come prebuilt with Initialize, Update and if its a drawable component, draw overrides. Ive seen some nice implementations that make enabling and disabling, showing and hiding of components very simple. Just wondered what your thoughts on this approach are?
I've looked into it briefly but not enough to implement it in a tutorial.
Can I do this without having XNA installed? I tried to install it but it says compatability issues. I then click continue anyways and at the end it says it has an error and was not installed. I have Windows 8.1
Brock Hall You can use Monogame if you would like but you need something to convert your images and other content to .xnb format.
when i make a new monogame "game" i get an error
Use Visual Studio 2012, not 2010.
Is it really necessary to call the applychanges() method? Doesn't it changes automaticaly when you change the graphics attributes?
Are you still making tutorials for monogame?
I am a program newbie . can you pose the missed code about private constructor?
Hey. Thanks for the comment. I don't mean to doubt condescending but if you're a programming newbie, this series will be too difficult for you
Are you using consolas font? or other?? If other pls tell me what font you use :D
It isn't necessary to write everything in xna to do everything later in monogame, right? xna 4.0 requires visual studio 2010 to be installed, it seems, and I just don't have spare free space for it.
i really look forward to this series , dont want to seem a pain but how often are you releasing each video once a week? once a month? happy birthday btw :)
Yea I know. We are using Xna to handle the base code and then we'll be converting it to Monogame. It makes it easier that way because Monogame doesn't have a fully functioning content pipeline.
Shame you never show how to do this. entire series and you never switch to monogame like you said. they now have a wonderful way to build the content
It'll be daily uploaded? Btw, nice series! :)
Monogame doesn't have a content pipeline so in order to use graphics and such you will need xna to convert your images and other content to .xnb files or you will need to use a .xnb converter. Secondly you can run xna on visual studio 2012. It's just much easier to write the code in xna and then transfer the code to monogame.
You have to install visual studio 2010 then you can delete it after. If you're limited on space download the express edition.
May I ask, why are you selecting XNA template when creating a new project instead of MonoGame?
Can you make a window in MonoGame without XNA????
+wcdeich4 idk, i have the same question because of the XNA frameworks they don't work anymore
Hello, i want fully transparency background for my fullscreen app, can i do this with Monogame? I want to move 2D or 3D texture on the screen and want to see the movie or deskstop behind it. Can anyone help me?
lol I was gonna release it a bit later but I was so excited about this series that I released it today :)
sfml 2.0 rpg not platformer. But you can take the knowledge from the rpg and turn it into a platformer.
Hi, can we find the sprites/images somewhere to do the tutorial ? Thanks a lot
Glad you're taking interest in this :)
Are you going to do a SFML 2.0 Platformer series? If yes, when? :)
CodingMadeEasy you use XNA instead of Monogame i know monogame uses XNA but why not creating the proyect in monogame?
Set Castro Because Monogame doesn't have a content pipeline like Xna does. It's a hassle to have to build content and transfer it over to Monogame. That's why usually people build the game in xna and port it over to Monogame but I'm redoing this series and I'm going to be doing it entirely in Monogame. I've found a workaround.
Do I have to do this in C# 2012, or can I just do it in C# 2010?
How do I go about using xna through vs2012 then? I mean, without installing vs2010.
can implement this with visual studio c#??
does this work 10 years later or is some code unusable now
how did you get XNA to work with 2012? I have struggled getting it to work..
Sounds like Walter whites son but an excellent tutorial regardless.
Did you buy ultimate or pirate it?
pls make more use of #regions. organizing code is so important.
dude thanks your the best i needed this vid
Can you use Visual Studio Ultimate 2013
how to fix the singleton class?
+Roman Hadi What do you mean how to fix it?
That's awesome. Looking forward to it!
Hi. I love this series because it's taught me lots of useful programming techniques, but I don't think I can use the actual program itself because I've encountered memory leaks in the image class which I can't fix. I also cloned the github, transferred my assets and got the same result with the github verison. I was wondering if you've come across memory leaking in your implementation (I did copy from the video tutorial, but it might have subtle differences), or have any idea how it might happen?
I figured it out - the leaks were springing from the image class, but I needed to explicitly call the dispose function of all the classes that inherit from IDisposable. I don't have any problems with it now :)
One question. Do you prefer c# than c++? :D
Good job man.
i want to follow the series and make the game as you go along to get some much needed programming practice before i go to uni in two weeks because there will be a bit of programming and the last time i came across it i really struggled but the only problem is that i have a mac book pro and you can't download visual studio on macs and i don't want to use software that is too different to the software you are using because im bound to get confused at some point
Please help me this bug "OnMenuChange(this, null);". I'm working Visual Studio 2017 + monogame 3.7.1
Thank you for Answer
Thank you for tutorials
I tot XNA was discontinued ?
I actually have literally no problem with the way you speak. Thanks for tutorials. ;)
What happened to your website?
+Coty Emmons It got hacked. I'll be working on it in the new year.
+CodingMadeEasy You are the best, I don`t know how to thank you enough for your tutorials.. I almost finished the C++ tutorials , and it REALLY helped me. Thank you for being a great man , and making tutorials, will you start a new tutorial series? ;)
Paul Smith I'm glad you like my tutorials :). I will be making more tutorials in the new year.
+CodingMadeEasy Yay;)
Any progress with the new site? I just started this series and it's really helpful so far!
Doesn't matter, as long as you're using xna 4.0
if you like my content visit my website and subscribe!
I understand your concern but there's a lot to cover in each tutorial. If I was to slow down my typing it would take forever to cover everything in each tutorial. I'll try to slow it down a bit but using shortcuts and such are second nature to me and should be second nature to you as a programmer. Sorry for the inconvenience but I hope it will be tolerable for you.
Your tutorial videos are great. You're really knowledgable.
If I may ask, what's with you voice? I'm sorry if this question offends you. I do absolutely NOT hate you or anything. In fact, I really like you and I've already subscribed.
John Doe It's just the way I talk. I know it sounds monotone but that's just the way it is, I can't change it.
There's nothing wrong with it man, it's okay as it is. :)
John Doe :D
CodingMadeEasy youre just more chill than most tutorial people
I used Lucida Console.
why light theme?
Why dark theme?
@@CodingMadeEasy to save my eyes
Lol I figured that's what you were going to say. I usually develop with a dark theme, but at the time most people preferred the light theme for tutorials because it was easier to see.
I'm going to be aiming for once a day or once every 2 days
If you're making a singleton class, your constructor should be private, not public... Not that it's a big deal if you don't but you're saying you can use them properly so you should probably give the good example :o
I need a tutorial on getting XNA to work with Express 2012. :/
THIS I needed!! Thank you!
nice tutorial. you sound like Walter White Jr. a.k.a. "Flynn"
man
Your voice is pretty annoying but I love your programming style and it's keeping me glued with the sexy keyboard noises
This is the best backhanded compliment I've ever received on this channel haha 😂. Thanks!
its not really "ground up" when youre using XNA/MonoGame lol. That is a pre-made game library, do appreciate the tutorial though
Here's where singleton kingdom started :)
Hey man. You seem to know your stuff. Doesn't matter if one person says that they didn't learn or they couldn't understand... As long as another person DID learn and DID understand. If people are serious about learning then they will get over the "100ml of water blah blah blah". Keep up the good work dude. You've got my support.
I was about to type it, but looks like Bulbalish just said it... You want a singleton pattern for ScreenManager, but then you made the constructor public.. Not too great of a start lol
Was this ever finished?
Thank you very much :)
Finally a tutorial that goes straight to the point without much chatter.
Just I don't understand yet why is the ScreenManager constructor _public_ if the class is following the singleton pattern?
This is Xna :?
Walter Junior?
XD HHHHHHH u r a genius
we need an updated series this is won't work
nice video :)
Dat start tho...
You can in 2010 - I personally prefer 2010 :)
Ive been waiting for this :D
Nice I'm just doing this to get better with C# syntex also it's nice to learn how the c# code works and to memorize something of it a bit
BTW i am experianced in AS3.0 HTML5 and CSS3
That's great. I hope you learn a lot.
I've just understand some differences between c# and js
c# is more clean than js
Hmm... lol.. I only use js for defining parts in Unity.. but when I looked at c#, can't be bothered to see loop
Irfan Faiq Not a fan of js personally - too non standardised (making a variable whatever type you want on the go just doesn't seem like a practical practice).
I struggled to buy a mic so I don't think I could afford ultimate :p *wink wink* lol
wheels what are you doing here
I'm having the same problem...
can you use Visual Studio Express 2013 for Windows Desktop
P.S
nice videos