Jump to content

  • Log In with Google      Sign In   
  • Create Account


SharkBaitHooHaHa

Member Since 13 May 2011
Offline Last Active Sep 22 2013 08:04 PM
-----

Posts I've Made

In Topic: Start learning C# togheter with XNA?

13 September 2013 - 08:40 PM

 

I don't think you should limit C++ to HLSL, especially considering the wide array of both 2d and 3d graphics libraries/engines/frameworks available. There's still OpenGL with GLSL, Allegro, SDL, SFML, Irrlicht, Ogre3D and so many more. And OOP is not just limited to C#/XNA. You can achieve that with C++ just as fine, and SFML is structured really well for OOP. Also, switching languages shouldn't be an issue. At a certain point in learning languages you can easily draw parallels between languages and it becomes progressively easier to learn new languages. Yes C++ does have to deal with memory, and C# being a managed language has the luxury to gloss over this. I don't think you should ever lock in to any language. I do however second your suggestion on Unity. It's a wonderful program and I only wish I had more time to spend learning it


First of all this just is my opinion. I'm not trying to limit C++ to anything at all. Though, I like to use it when I do "low level stuff"; making a custom direct3d rendere, interfacing with C or assembly, embedded programming, dll injecting... you get the point. When I sit down with a UML class diagram, containing hundreds of classes (maybe describing a game?) I tend to pull out the C#/.Net combo. I do admit this is a personal choice and it does reflect the fact, that I was schooled in C# and thought myself C++ on the side, acknowledging the limitations of C#/.Net in a unmanaged capacity. I know that C++ can facilitate oo programming just fine, but I do like syntactic and technological "simplicity" of C#, when I have to build bigger systems. Again, it could just be the fact, that C# was my introduction into programming. I was taught with very strict oo discipline... all the jazz; KISS, UML, design patterns and automatic garbage collection etc. Bit of a ramble there, and probably off-topic, but I think you know what I'm getting at smile.png

 

Haha of course! I was just adding my side to it as well to make sure the argument was balanced and so it didn't just seem like there was not particularly many reasons to pick C++ Actually, after reading this post and my conversation with you I think I'm actually going to pick up C# again and see how it goes. Of course I'm still mostly going to be working with C++ and SFML :P


In Topic: Start learning C# togheter with XNA?

13 September 2013 - 06:20 PM


Allegro or SFML are probably immediately the closest (Though neither offer hardware acceleration AFAIK).


SFML offers hardware acceleration right off the bat as long your OpenGL is running on the hardware(you have the right drivers) :D While I like SDL's features I generally prefer SFML since it is way more modular/c++/oop/whatever and easier for me to structure programs with.

 


Generally speaking,
Learn C++ and HLSL if you want to get into graphics programming and manipulating direct3d on a "lower level".



I don't think you should limit C++ to HLSL, especially considering the wide array of both 2d and 3d graphics libraries/engines/frameworks available. There's still OpenGL with GLSL, Allegro, SDL, SFML, Irrlicht, Ogre3D and so many more. And OOP is not just limited to C#/XNA. You can achieve that with C++ just as fine, and SFML is structured really well for OOP. Also, switching languages shouldn't be an issue. At a certain point in learning languages you can easily draw parallels between languages and it becomes progressively easier to learn new languages. Yes C++ does have to deal with memory, and C# being a managed language has the luxury to gloss over this. I don't think you should ever lock in to any language. I do however second your suggestion on Unity. It's a wonderful program and I only wish I had more time to spend learning it :P 

 


If you check up on TheNewBostons video tutorials im at video 50 maybe or so. Ive also read a bit in "Sams teach yourself C++ in 21 days".

 

Like you I also started with TNB tutorials on Java but quickly after I switched over to a variety of books in several different programming languages, as while he does teach the general idea pretty well, he does not follow a lot of coding standards and his instruction can sometimes lead to some bad programming habits. If you still want to give C++ another shot I recommend reading the tutorial at cplusplus.com or at learncpp.com Those are both great resources. If you do go this route I highly recommend SFML. The documentation is absolutely wonderful, and they have great resources available. Also if you like coding tutorials, CodingMadeEasy on YouTube(as well as on his personal website) basically walks through the SFML documentation using video examples and does a pretty good job at it(though he does assume fairly strong grasp on the C++ language).

I can't say much about C# as I've had minimal exposure to it, but from what I do know I can say that the language syntax and style is very similar to Java. I can't say anything about XNA as it lies out of my area of expertise.

In Topic: Tile Map Editor/Collision Detection

12 September 2013 - 05:44 PM

Crusable:

Ah thanks Crusable! Yes this is what I was thinking of but in reverse. I did not know SFML had a VIew class that took care of these things, that is very nice. The method I was thinking of using was one I used back when I was developing my game in Java. I was keeping my player on the center of the screen but  moving the background around him, but I guess this is a lot more intuitive! 

DekuTree64: 

Oh okay that clarifies things a lot more. I will be experimenting with the method you suggested as well others in order to see what works best for me. Thanks a lot! :]


In Topic: Java books

12 September 2013 - 05:39 PM

Hey Crusable! Just saw your reply on my post :]

Anyway, for Java books I have several in my bookshelf but I think the one I find the most useful is Java All in One For Dummies. It's a pretty thick book but it's not heavy and it's jam packed with information. The style is highly accessible and rarely is it dry like the other Java books I have. And speaking of the other Java books I have in case you would want to check those out as well I have Learning Java from O'Reilly, Killer Game Programming in Java from O'Reilly again, and Developing Games in Java by David Brackeen. I have other small books but I mainly used those for the exercises when I was just learning computer science for the very first time. The two books by O'Reilly have a lot of information but I personally find them very dry.

All in all I think my favorite recommendation to give is the All in One Java for Dummies book :] it covers all the core classes and gives you a good working knowledge of Swing. Killer Game Programming in Java has a more extensive coverage of Swing and the likes but it is more hefty, more expensive, and really really dry. Good luck with Java and Android development!

-Adrian


In Topic: How To Creage A Game .

12 September 2013 - 10:30 AM

Hafido:

Just a little tidbit, you don't need to include your name as one of the topic tags :)

Your question is quite vague so I'll do my best to answer it in the most general way I can :] You have several paths you can take depending on your background and your preferences, so I'll just try to list a basic plan for you. Remeber to definitely check out everyone elses advice on here. Hit up the search bar and check out questions like yours. Also the links jbadams posted are great links that will give you a good perspective and what you should take into account. Well, here goes!

1. You already have a firm grasp of programming in one or more programming languages

If this is the case then you have a good head start! At this point I would recommend deciding whether or not you want to use an engine, use a library with your programming language of choice, or do everything yourself.

a) You have an engine of choice:
Excellent! At this point I would recommend reading around, definitely picking up the docs for the engine and briefly scanning them until a very specific issue pops up, at which point you can pinpoint that in the docs. Most likely the engine's site or community forum will come with a variety of excellent tutorials. I would highly recommend you make your way through these, and integrate yourself into the community there as well as here and whenever you have any specific questions, make the posts as directed as you can to expedite the process and make it easier and more enjoyable for everyone involved :)

b) You have a programming language of choice and a library of choice
Great! I'm assuming you already have a working level or higher of proficiency with the language so at this point all you really need to do is learn your library. Just like with the engine, direct yourself over the library site, download the docs, and integrate yourself into the corresponding community and sections of that community over here at gamedev.net There are bound to be tutorials and examples galore of your engine laying around the internet; at that point just exercise some google-fu and thou shalt find what thou seeketh, or something. Definitely check out open source projects that use your library to get a good idea of how to use the library. Watch lots of YouTube videos about your library, seeing other people's work is great inspiration and motivation to keep going :)

c) You have a progamming language and are going to build everything yourself
I honestly have no advice here except I applaud your determination and wish you the best! Maybe get familiar with your operating system and how to program native apps, and....yeah....this is out of my area of expertise :P

2. You have no experience in programming or very little

a) Game creation software
There are many game creation suites out there that can help you create games with little to no programming knowledge. Hit these sites up and check out their products and see if any are to your liking. From there, just like any other piece of software like Excel or Powerpoint it's all about learning the features. After that you can start focusing on design and how to actually make games.

b) Learning a language or two
Great! Pick a language, hit the books,internet,YouTube, what have you and venture forth. After you have a solid grasp of a language of choice, redirect yourself to section 1 of this post :P

 

After you have picked your tools the rest is slightly less technical and deals more with design itself. At this point you have to decide on a couple things but for now the simplest path would be to choose whether you want to make a clone game for practice, or try your hand at your own game.

I. You want to make a clone game

This is a great place to start, and I'm sure many of us started here. First, familiarize yourself with the game. Play around with it, but also take note of the many aspects of the game. I don't just mean the gameplay, but notice the artwork, music, user interface, and all the details you can. Once you're ready, break out good old pencil and paper and try "sketching out" a model of the game. If you are using object oriented programming, try modeling what classes you will need, the methods they will have, and how the objects will interact with each other. After you have a general idea of the game, start with a plan, and go from basics to advanced. Code up your game making sure to SAVE and DEBUG regularly. This part is crucial if you want to avoid punching a hole through your computer 13 hours later when you end up with an unusable amalgam of code that doesn't look like anything, nor does it do anything anymore, and oh, you forgot to save so it's all gone anyway.

Once you have a working game, play it! Sometimes we get so focused on the actual development part that we forget to sit back and admire our work, however sloppy or great it might be. From there you can add your own modifications to it to give your own personal touch. Congratulations! You made a game :)

II. You want to make your own original game.

This is a little bit harder than creating a clone game but it has its rewards as well. The first thing I suggest of course is just playing games you like until you get some inspiration. Jot down your ideas on pencil and paper and play around with those. Once you have a general idea of what you want to do in the game, it's time to narrow your scope. A lot of times when starting a new project we go crazy and try to add in everything we can possibly imagine, and things just become unmanageable and insurmountable. Focus on a core element of the game be it a mechanic, artwork, or anything that you can really center the game around. Then you can just refer to section roman numeral I and go from there designing your game's hierarchy. Congratulations! You have made your own original game! Show it off to the people at gamdev.net and we'll play it and let you know what we think :)

Well there's my behemoth of a post. Take it as you will, but I hope it helped you in some way or another :) For the future, try to keep your posts as directed as possible so people can respond so specific questions and we can all make progress much faster. I hope you find the answers you are looking for and manage to get started in game programming. I wish you the best of luck!

-Adrian


PARTNERS