Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!

1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


Member Since 19 Dec 1999
Offline Last Active Yesterday, 11:32 AM

#5222638 Looking for step my step guide for visual studio

Posted by Eck on 11 April 2015 - 01:32 PM

It is important to listen to that advice which is not nit picking. Correct design and prototyping is extremely important and spending too much time creating deep object models wastes time and you end up never releasing even the prototype because the design is too complex. Keep game design docs simple and the code equally simple and design as you go. Take an iterative model and don't over analyse. Definitely not a nit pick and possibly one of the most important pieces of advice you'll ever receive! I am sure many others will agree...

Your original post asked for general advice on how to code an RTS with modern technology and in this respect the advice to not over design the solution is very useful.


Even I agree. :) I went the route of XNA working on my own engine type code instead of picking an engine. A year of hobby-time pursuit later (along with full-time+ job and being a good father) and I've got lots of cool building blocks for a game: a layered sprite hierarchy, some cool dynaimc controls, particle effects, shaders, some simple networking code, etc. But I still don't have MY GAME! >.< And this is after years of being a professional developer, so my time was mostly productive.


I was able to use my engine to crank out an entry(Toys: Guardians of Innocence) for the 2014 Game Jam and that was lots of fun, but I was crazy impressed with what other people did with Unity. Even though I was really proud of my entry, I wished I had been learning to use Unity over that last year, but it was still an awesome experience. Since then I've been taking it easy and messing around with Unity.


BigBadBeef, you're a little bit defensive. This is one of the nicest communities of internet personalities I've had the privelage to be a part of. Sometimes people can be a little blunt, or a little harsh, but nearly all of it is awesome advice. Know that for the most part the community is supportive and means well. /hugs :)


- Eck

#5222636 Looking for step my step guide for visual studio

Posted by Eck on 11 April 2015 - 12:49 PM

You'll have to excuse the poor class names, it was just a quick example and I was using hyperbole for effect. You can definitely get a clickable region firing off an event in 50 lines of code. But it will take quite a bit more to have a dynamically resizable panel with more sophisticated button behaviors. This amount of feature-overkill is way more than necessary for a proof-of-concept. The point was to illustrate the difference between a framework and an engine.



Okay, lets say you have a "go scout somewhere" button on screen. Which of the 2 engines will allow me to more easily code:


It's going to be more work in MonoGame. You'll have the exact same amount of work for all the cool AI behaviors you want to implement, and both can be implemented in C#. But in MonoGame, if you want a button, you'll have to code that too (Even if it is just 50 lines of crappy button code). In Unity, you can more or less just drag and drop a button on the screen and its likely the button will be as sophisticated as you need it to. Engines let you focus on the GAME part of game programming.


- Eck

#5222526 Looking for step my step guide for visual studio

Posted by Eck on 10 April 2015 - 05:45 PM

If you're doing a proof of concept, I strongly recommend Unity (or any full engine) over MonoGame.


MonoGame is a framework, and frameworks are great if you're wanting to do almost everything yourself. But let's say you want a panel with three buttons on the screen. In MonoGame, you're going to have to code up a Button class, a panel class, and probably a UI manager class, and probably a textureManager. Oh you wanted dynamic text on the buttons? Then you need a font manager. Oh, did you want to support more than one resolution so it looks good on widescreen and standard monitors alike? Write some more code for that... You want to disable the button? More code... etc.


Unity is a full on game engine. And they're great if you don't really care about the nitty-gritty details of every little thing. If you want buttons on the screen, drag a button onto the screen, set some properties, and code what happens when the button is pressed.


Take a look at the first couple of Unity tutorial videos and I think you'll be impressed.


- Eck

#5222232 Looking for step my step guide for visual studio

Posted by Eck on 09 April 2015 - 07:30 AM

It was not my intention to be rude. One of the drawbacks of text is that you can't express the tone of your message and that makes a huge difference in the meaning. Regardless of that, I'm sorry if I hurt your feelings. I could have done a better job of explaining my intentions. I definitely wasn't snapping at you.


I'm genuinely trying to be helpful and I'm recommending to you what I think your best course of action is. Starting with a 2d grid with triangle ships has some pros, but I believe there are more cons along that path. When you're learning how to develop games, having a clearly defined game is a huge boon. Also working through the step by step projects in the article I linked you'll be refining your programming, design, and organizational skills. Having these smaller projects you'll be able to see what works, what doesn't, and how you can refine your code for future versions.


If you start out with a simpler version of your project you're going to be tempted to keep building on the same project trying to make it into your final grand vision. Eventually it's going to be a bunch of mish-moshed code stapled together. Finding bugs and writing new features will be extremely difficult and when you look back on the jumbled mass of code you'll likely feel like you failed.


Again, I'm not being rude here. I'm not saying you suck. I'm saying you're a new developer, and you're going to make new developer mistakes. We were all new developers once, and we all made those mistakes. Including me! :)


My recommendation stands. Take a look at the article. Download Unity, and get it wired up with Visual Studio. (DO NOT USE UNITY'S BUILT IN EDITOR) Run through a few Unity tutorials and then write yourself a Pong clone.


Whether you take my advice or choose to go your own path, we'll be around to help you along your way with any questions you have.


Good luck,

- Eck

#5222165 Looking for step my step guide for visual studio

Posted by Eck on 08 April 2015 - 09:35 PM

And i have no grandiose delusions, I'm just trying to get my proof of concept through, if it works, I will have justification to support for the project's successor, a full 3D strategy game with all the bells and whistles integrated as a full MMO.


I hate to tell you this, but if your step 1 is build a "simple" RTS, and Step 2 is Build a full 3D strategy game. Then you are very much under a grandiose delusion. :) Especially If your entire C# skillset is the last few months of school.


Here's what you do. Take your current cool game idea and put it off to the side. It's far too big and far too complicated to start with. Instead start working on very simple and well understood gaming concepts. Take a look at this article. It tells you which games you should start out with and why.




- Eck

#5222163 Taking a C# course onlint need help.

Posted by Eck on 08 April 2015 - 09:02 PM

Sorry man, homework questions technically aren't allowed per the Beginner FAQ: http://www.gamedev.net/page/reference/faq.php/_/for-beginners-r1


You can still use this forum to ask questions while you're learning, but be more specific with what problems you're having. Your question is extremely vague. What have you tried? Where are you getting lost?


If you haven't done anything and have no clue where to start, you need to talk to your professor.


- Eck

#5214509 How to build my first game

Posted by Eck on 04 March 2015 - 12:09 PM

If you know the basics, it's time to get to game programming. I recommend downloading the free version of Unity, the free version of Visual Studio (2012 I think), wire up Visual Studio to be your Unity editor (should be an article, and dive into making games. The Unity site has tons of great video tutorials to get you started. 


Here is a great article for starting out. It tells you which games to make first and why. I can't recommend it enough:



Coming up with the idea is easy. Executing the idea is hard.


- Eck

#5208191 Name of Video / Special Effects

Posted by Eck on 02 February 2015 - 08:41 AM

Is this the video you were talking about? If not it sounds like it might be worth a watch anyway:





- Eck


Edit: Damn! Got caught up watching it because I was interested in it. :) Lactose! beat me to it. 

#5205082 Narrow-scoped project involving slightly-more-than-basic AI

Posted by Eck on 18 January 2015 - 10:16 AM

If you already have some C# knowledge, Unity is a good choice. Don't use the built in code editor though. Wire it up for use with another tool like Visual Studio.


- Eck

#5201944 Basic Game questions from (learning C# by Programming Games) book

Posted by Eck on 05 January 2015 - 08:22 AM

In the future, try to use code blocks for questions/answers in code.

public Balloon()
    Content.RootDirectory = "Content";
    graphics = new GraphicsDeviceManager(this);

1. Content is a property of Game which is essentially a location on the pc ? Then RootDirectory is a Method that specifies where all the assets are located? so Content.RootDirectory gives the property content a location.
Why can't you just write Content = "Content"


Content is a property of the Game class and its type is ContentManager. Its purpose is to manage loading/accessing the assets such as sound, textures, models, shaders, etc. Whereas "Content" (notice the quotes) is a string. You can't write Content = "Content" because you'd be telling the compiler to assign a string type to a ContentManager type. 




2. GraphicsDeviceManager is a class with a parameter the object we created called game ? we have created a new object in this line: graphics ?


Yes, you have created a new instance (instantiated) a new GraphicsDeviceManager class. You use it for specifying screen resolution, fullscreen mode, etc. I don't like how XNA examples name this property graphics when the Game class has a GraphicsDevice property. I wish they would have named it graphicsDeviceManager. 


3. what is difference between a parameter and a property of an object ?


Parameters are variables passed into functions. Properties are public data members on objects. 

public Balloon() // Your Balloon constructor, takes no PARAMETERS
    Content.RootDirectory = "Content"; // RootDirectory is a string PROPERTY
    graphics = new GraphicsDeviceManager(this); // graphics is a private MEMBER, and we pass (this) as a parameter to the GraphicsDeviceManager Constructor


protected override void Draw(GameTime gameTime)// gameTime is a GameTime PARAMETER for the Draw function.
    GraphicsDevice.Clear(Color.White); // The Clear function takes a color as a PARAMETER.
    spriteBatch.Begin(); // Begin is a function with no PARAMETER.
    spriteBatch.Draw(background, Vector2.Zero, Color.White);
    spriteBatch.Draw(balloon, balloonPosition, Color.White);

#5199295 I need help with some maths

Posted by Eck on 20 December 2014 - 01:38 PM

Whatever game you're working on, may be outside your current skill-set. You can either move back to simpler games and build up those skills over time, or start learning a little more about Vectors right now. The site khanacademy.org is pretty darn cool for learning math.




- Eck

#5199214 Where should I start learning game development?

Posted by Eck on 19 December 2014 - 11:45 PM

Where should you start? Posting here was a great fist step. Welcome to gamedev sir. 


I realised that I need to know 3D modelling before starting with Unity


I'd like to correct this statement. No, you don't need to know 3D modelling before starting with Unity. You can build your own game objects out of primitives in the editor if you're going for a Minecraft look. Or, you can make use of the Unity Asset store to import 3D models into your game. Many of them are even free. 



Or you can use Unity to make 2D games without any 3d models at all.


3D models aren't the only thing in the Asset store either. There's sound effects, music, textures, code modules, etc. Most of which have decent free options as well.


The online tutorials are really slick too. Check it out.


- Eck

#5198459 0 experience in programming and game development

Posted by Eck on 15 December 2014 - 09:27 PM

You're almost done with school and you're going to start making money as a game developer, but you have no experience whatsoever? That isn't very likely...


I'm assuming you're finishing high school this year. If so, see if your school offers any electives in programming and sign up for them. If you're finishing up college this year. What's your degree in and why didn't you take any programming or graphics design courses?


Take a look at the FAQ:



Pick a language and a set of tools to learn to see if you even like game development. Playing games and making games are two completely different things. If you're not sure what to choose, download the free version of Unity and start looking at some video tutorials on their site.


- Eck

#5198139 My Game Plan

Posted by Eck on 14 December 2014 - 10:50 AM

Of the countless beginner threads around, this one seems far more grounded in reality,  so long as you don't expect this to be just a 2-3 month journey before releasing your game. :)


You show some concern for not starting with C++ since most games are written in C++. While it's true that most triple-A games are written in C++, I don't believe this is going to hinder you. Your goal seems to be towards indie game development and not joining a big studio. Maybe you should learn C++ eventually to better round yourself out as a developer, but that's a long way off and not worth worrying about right now. Plenty of indie games are written in C#.


To avoid getting overwhelmed in the early days, I recommend that your first few weeks be in just C# as you're learning the syntax. Once you get the basics down: variables, loops, branching, functions, classes, etc. Make some simple text based games like guess-a-number or hangman.


Once you're ready for more game development, I think starting with XNA/C# is an excellent idea. It allows you to get closer to the low level/inner workings of a game, but it's abstract enough that you can get a sprite showing on the screen in short order which is pretty darn motivating. Motivation is going to be one of your biggest hurdles early on. (later on too). XNA is no longer actively supported by Microsoft, but I think it's still a good choice for learning. You may also look at MonoGame which is an open source port of the XNA framework and the community is still active.


Pong -> Platformer may be too big of a leap of skill. Take a look at this article about which games you should make early on and why. 



And here are a couple of XNA links that I found very useful:




After you've made a couple of simple games in XNA though, I recommend you take a look at Unity. At this future point in your education you should have a decent grasp on programming and understand the basics of game development. Follow a couple of Unity video tutorials and once you have the basics of Unity down, remake a few of the simple games you made in XNA like pong. You shouldn't have to remake all of them, but it's a good way to learn the tool and see how far you've come as a developer.


Sometime during all this, you're going to want to learn more about object-oriented programming, design patterns, software architecture, more advanced C# features, etc. But that will come with time. For now, go crank out a "Hello World" program. It's where we all started at. :)


Good luck, and when you run into problems, let us know and we'll help you out,

- Eck

#5197397 game running slow but only consuming a tiny proportion of the CPU

Posted by Eck on 10 December 2014 - 10:06 AM

VS Express may not have a profiler tool, but you can do your own profiling with the .NET StopWatch class. You can start by seeing how long the entire update takes in one pass by starting the timer at the beginning of the update function and reading it at the end of the update function. Read that stop watch at various points in your update code, or put in more stop watches to zero in on where the bulk of that time is coming from. 


Once you start getting closer to where the problem is you'll probably be able to figure it out yourself. If not, post some code and we'll see if we can spot anything.


- Eck