Advertisement Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Everything posted by tharealjohn

  1. tharealjohn

    Grade me?

    Looks fine to me.    You could also use TryParse instead of just plain Parse. It returns a bool indicating wether the parse was successful. i.e it would return false when trying to parse something thats NaN. if(!int.TryParse(Console.ReadLine(), out gold))     Console.WriteLine("Not a number.");
  2. "Give a man a game engine and he delivers a game. Teach a man to make a game engine and he never delivers anything."
  3. tharealjohn

    EPA Declares Wind Turbines Illegal

    + 1 for the link to actual knowledge.    Thanks!
  4. tharealjohn

    EPA Declares Wind Turbines Illegal

      If an eagle slammed into a building or mountain or pole, would those be illegal too? Also, in the case of a texting driver that slams into another person, do we sue that person for standing in the way?  Our priorities are strange. 
  5. Hello,   If you want your terrain to be deformed, formed, etc at runtime then you might consider something using the Marching Cubes algorithm. You can find some pretty decent resources on using that with terrain generation. That would be a voxel-like approach. If you don't need your terrain to behave like that, then you can use height maps and generate a mesh based on that map. If you are going to use Unity, the API has the TerrainData class that are used to create Terrain objects programmatically. I think there is even some built in stuff to use height maps. I know you can do it at design time, so there might be a way to do it programmatically with little custom effort.    With a little searching, you will find an implementation of Perlin noise done for Unity in C#. It was included in one of thier procedural example projects and will help you create height maps in code. Hope that helps!
  6. tharealjohn

    What do you think of this MSI laptop?

      Thanks for sharing! I didnt know that!
  7. tharealjohn

    Need advices for my first RTS project

      I don't think those sound like "important functions". They sound like something that would be great additions to your game for performance and eye candy, but you could still make a game with Unity and purchase a plugin or the pro version later. You can deform meshes with code, rather then some plug in. So the only thing left out is possibly LOD. Couldn't you make the bulk of your game first, then implement LOD later?    Maybe that is bad advice, I have never worried about LOD because of the scale of my projects doesnt require it. It just seems you want AAA results without having AAA skills. My advice is scope your project down and use the tools in your budget to fit that. i.e. if you budget is $0, then use something like Unity.    Good luck, it sounds like a cool project!
  8. tharealjohn

    What do you think of this MSI laptop?

    I can't touch too much on the quality of a MSI laptop, because I have never used one or owned their hardware.          The way I understand it, it works like this:   i7 - Quad Core, HyperThreading. i5 - Quad Core, no HyperThreading. i3 - Dual Core, no HyperThreading. HyperThreading gives 1 "software" based core for each hardware core. So you can think of this as the i7 actually having 8 cores (not really, but basically), which is what will show up when you look at task manager in windows.   The graphics card is said to be able to run Battlefield 3 on medium settings (not 1920x1080 resolution) well, and (lesser) games like Modern Warfare 2 on high settings. That laptop meets the minimum system requirements for COD:Ghosts. So you can imagine playing it on low-medium settings, maybe some other tweaks will make it ok.    I bought this laptop for gaming two years ago. I was able to play most games on medium-high settings. The nice thing about that laptop was the cooling system, which really made a difference. If you are going to let your brother game on that laptop, he will need a cooling pad. Not the silly 5$ walmart version either. Something like this should be better. The laptop I bought had better specs then my desktop (CPU, GPU, RAM, etc) but still my desktop performed better on games. The power and cooling is just more on my desktop, and sometimes the numbers on those chips just dont mean anything in the real world. Its almost a gamble!
  9. Since Nypyren weighed on WinForms, I'll comment on WPF since that is what I prefer over WinForms.    You wouldn't just use WPF because you "want" to use XAML. WPF has a number of benefits over WinForms besides its markup language. XAML is a powerful language for writing code to make a user interface. It [WPF] also introduces many newer design paradigms that you should learn in this day and age, specifically the MVVM pattern. It's not required, but the separation of the GUI and business logic in WPF is easier then in WinForms. That is a really powerful thing to use/know/understand. Data Binding in WPF is a really awesome technology that makes the whole thing worth it in my opinion. WinForms feels old and clunky after using WPF for a while.    Also, XAML is used in Windows Phone programming, which might translate nicely in the future if you need that sort of thing. Android uses an XML language for GUI programming too, which coming from a WPF background, this was easier for me to pickup and understand.    You can use WPF just like you would WinForms. You can start with the drag and drop interface and then code your controls in the "code-behind" file. I personally don't know of a reason to use WinForms anymore (there are probably some, I just never had the need to research it because WPF has solved all my issues).    The WPF Unleashed books are a great series, but I would recommend you start with some general C# books first. Something like this would be helpful to work through.    When things get more advanced, you can also customize the visual appearance of your program using Blend for a nice look, although you probably wont need that for tooling, but its handy to learn.    Hope that gives you some insight on the other end of the stick. Either way though, you can't go wrong with either technology. As long as you understand C# and the tool works well, I think that is what matters. 
  10. I agree with conq.      Notify the user when they log back in "Hey, the blacksmith is now available to you". However you implement that is up to you. With doing that, they will at least now know it has changed and available. 
  11. tharealjohn

    Getting my game logic away from XNA

      That is not 100% true. This and this.
  12. tharealjohn

    Getting my game logic away from XNA

    Sounds similar to other design patterns like MVVM, MVC, MVP, etc.    In my experience it, the big disadvantages are mainly the complexity it adds to a project. It has its time and place, and for simple things is probably not worth it. I think you have already grasped the main advantages - you can decouple the pieces and change/update/upgrade them independently. 
  13. I am surprised that the community here is so hostile. The OP just asked for some answers to a few questions. It's fun to talk about your passion, hopefully with other people who are passionate about the same things. Thats what I see in this thread. So, to that accord, I will suggest these challenges:     Try and scale this concept into something completable in 90 days or less.  As far as chronological order, here is my advice (taking into account the above suggestion)   Platforms (Distribution) Features/Mechanics Technical options for features related to your engine of choice Prototype Art Test Polish Good luck!
  14. You'll be fine, do it.    Source:   Disclaimer: I am not responsible if you are in-fact "not fine". 
  15. Use unity, and go with C#.    Learning C# will help you with other things too, not just game development. There are lots of interesting technologies that use C# for web, mobile, desktop applications, etc. It's also a nice language to look at IMO, and the .NET and MONO frameworks help beginners and pros not have to reinvent the wheel. 
  16. tharealjohn

    Please Delete

    Drew,   Awesome, thanks!
  17. tharealjohn

    Please Delete

    Hey Drew,   I was more asking if you plan to make something related to the C# code used to interact with Unity specific things, like a GameObject. Monodevelop is used for all sorts of things besides Unity. However, probably because its open source, Unity used it so that it could hook its own features into it to make it work smoothly with the Unity Editor. All of the concepts above are related to C#, and do not directly mean anything to creating games in Unity. That is more what I meant. If you have some other set of videos that relate to Unity, I would love to see those too!   Thanks again!
  18. tharealjohn

    Please Delete

    Thanks for sharing. Ill watch the videos when I get some spare time this evening. Maybe the titles are misleading, but is there anything relevant to Unity in these? This all seems to be general C# stuff.
  19. tharealjohn

    Map Generation: Code vs from File

    A major advantage is it would be easier, and would would be simpler to "design" your levels.    Some disadvantages are your files are editable, so the user could mess things up.    You could serialize this text data to prevent the disadvantage I mentioned. 
  20. tharealjohn

    Programming the right way?

    Hey Richard,   I always like these kinds of questions, and I ask it about myself all the time. For me, the best way to gain the information you are looking for was to work with/learn from other more experienced developers and see what they do. I also browse code on projects that are more "mature" and have industry experienced professionals writing it. Take a look at some major open source projects in the language of your choice. You may be able to pick up some patterns and ideas that make you say "Oh, I wouldnt have thought to do it this way". It might also help you if when you feel you have some problem code to post it here and ask for input. I have seen many devs on here give some valuable feedback on how to organize or refactor things.    Sorry I don't have any books or visual aids that have helped me. =( Generally though, books on software architecture and "best programming practices" type articles would be something to look for.    Good Luck!
  21. tharealjohn

    XNA to C++

      The difference between a professional and an amateur - Professionals get paid.   You can be a professional with any toolkit/language you want. Personally, I have been challenged about what you're struggling with too, but it came down to these things for me:   1. I would rather spend time making a game than worrying about a bad pointer or memory leak in my amateur C++ code.  2. C# is "easier" to pick up and a lot of the frameworks in place make it simpler for you to get started and learn some great concepts in programming and games.  3. I would rather spend time doing anything else besides worrying about a bad pointer or memory leak in my amateur C++ code.    With the ramp up in indie development lately, going "AAA studio professional" should be less of a focus. However, I would think being a master at C++ would be awesome to help you get into that field, as I have read too. I think C++ is "needed" in the fields because they need as much control over their product as possible because they are either doing crazy stuff that pushes the limits, or crazy stuff no one has done and made a kit for. 
  22. tharealjohn

    Unity vs XNA

    Why not try Unity for a few days. Its free to try for almost everything you would need to make a solid game. Only you can decide if you like it more than using XNA. There is very little barrier getting into Unity other than opinions and stigmas. Not to mention that you can port to many devices and platforms much easier than I would think XNA could. (I am assuming you mean XNA, and not MonoGame).    Try it. 
  23.   Sounds like you want all of the customization and options, without all of the consequence and hoops that entails.    I agree with   I too have been in your position, and its mainly related to me wanting a "Call of Duty" result, without wanting to accept the kind of effort and work that takes. Read this:   Its a great article I read on here a few weeks ago and it puts things into a nice perspective.    As far as tools, I started with XNA, but now I am using Unity3d. XNA was fun to start with because its mainly just code. It allowed me to get introduced to some basic game concepts and 2D/3D math. I moved to Unity because of its cross platform support/asset store/3D editor and C# use, and many more. There is also a lot of resources for the api and lots of examples and tutorials. If you have not tried that, I would. But first, you should accept the fact that what you want is either 1. Not obtainable, 2. Obtainable sometime down the road, after you put many hours into more basic things.    If you want to make a game, make a game not an engine. Thats my $0.02.   EDIT: I forgot to comment on this:     You will struggle to get anything complete if you continue this. Unless you are good at art, to the level that you are satisfied, or can get the work from someone else now, you might as well just get over that. I struggle with this too, and its the #1 reason I fail at all my unfinished projects. Push yourself through this, and remember its about the game. Prototype fast, so you have a result, using some of the many tools you have probably already worked with. 
  24. Question: How can I offset some of the load of creating Terrain objects procedurally using a separate thread? Background: I have been trying to get an "infinite" terrain system going using the Terrain objects in unity. I am procedurally creating the TerrainData objects, and then creating a Terrain object like this: var t = Terrain.CreateTerrainGameObject(terrainData).GetComponent<Terrain>();     I need to keep track of my t objects so I know how many and which Terrains have been created. I am following a basic Tile grid, where each Terrain object is thought to be a Tile in the grid, located at coordinates like (0,0), (0,1), etc. The TerrainData object has all of its values and height mapping done using Perlin Noise. As I walk around I "cull" unneeded tiles of the Terrain that are "too far" away from the player. This results in a "rolling" set of 9 tiles surrounding the player, which is always at the center tile. Here is where the question comes in. Creating the Perlin values for the TerrainData, along with the height map is very CPU intensive. I would like to do this on a separate thread, but because the TerrainData and Terrain objects are so closely linked, and they cannot be accessed on another thread, I am not sure how to architect my situation so I can use a separate thread for the Perlin and Height mapping bits. An example of what I have (simplified): List<Terrain> terrain = new List<Terrain>(); ... public Terrain CreateTerrain(int x, int y) { // CPU intensive work CreateHeightMapValues(heightMap); // Fill in TerrainData values (I dont think this has to be done on the main thread) var td = new TerrainData(); .... // Create the actual Terrain (Has to be done on the main thread) var t = Terrain.CreateTerrainGameObject(terrainData).GetComponent<Terrain>(); // set position, etc. ... (misc work) return t; } I would like to wrap that CPU intensive work somehow in another thread, but because I need to return that Terrain object so I can add it to my List terrain, I cant just throw it off on another thread, because Ill need to wait anyway to create the actual Terrain object.   Can anyone suggest how to break it apart a little better so that I don't rely on the direct creation being linked to when I can add it to the list of terrain objects? Note* That list is so I know how to destroy/create them when the player moves. It would also be nice to Destroy the Terrain object on a seperate thread so it doesnt lag the UI, but I dont think that is possible do to Unity's non-threadsafe environment.   I originally posted on Unity Answers, but thought this might be a good place too, as it is not 100% Unity specific, since it is mainly a architectural problem. Knowledge of Unity and its limitations is probably helpful though.   Also note that creating the threads and being able to invoke back on the main thread in Unity are not my problems, I have that code figured out. I just dont know how to use it effectively given the issues I mentioned above about 1 thing being needed for the other.
  25. I am using the Perlin.cs file included in one of the Unity procedural examples.   I would still need to call that function above on a separate thread, which by itself is not hard, but bundled with creating Terrain, I am struggling. This is mainly because the Terrain objects have to be created on the main thread, and I have to keep track of them "synchronously". I say synchronously because as I create them, they need to go in a list to update all the neighbors for LODs to match up, which is part of how the Unity terrain works. 
  • Advertisement

Important Information

By using, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!