   pls help for a beginner
  hi dear friends, masters & beginnersi am new here & in some programming language concepts first of all; maybe these questions were asked too many times -sorry if it is- but i'd rather asked them from my point anyway , because i am so confused :(1- i want to focus on 2d game programming (scrolling tiles, rpg games, arkanoid and puzzle like games).i used blitzmax, but in some very points it stumbled & didnt satisfy me especially in collisions when too many objects are considered, limited canvas using , inputs(keysome) etc..2- i know object oriented PL(from blitzbasic)and learned visual basic many years ago. but didnt use c or c++, but later i decided to learn c#. do i have to learn c before c# ?3- is it necessary to learn directx , d3d like concepts to yield more efficient and productive results for creating 2d games ? is windows gdi or gdi+ enough to make them or limited ? 4-for example i want simply move a bitmap on the screen (and maybe a thousand bitmaps, sprites), i did it in c# without direct x libraries but it was too slow & very rough action, not smooth.5- can c languages overcome smooth graphic performance without direct x ?6-briefly, do every game creators finally involve in direct x as they create their games in different platforms ? or can a gamer write and compile very fast graphical game programs without direct x ?7-is there any comprehensive article or someone here to reply detailed explanation to remedy my pains ?sorry for these my humble questions,if anyone reply i'll be very & very glad. Kind Regardsmyriac   
Quote:Original post by myriac2- i know object oriented PL(from blitzbasic)and learned visual basic many years ago. but didnt use c or c++, but later i decided to learn c#. do i have to learn c before c# ?You don't need to know C to learn either C# or C++. The three languages are independent, though related in terms of syntax. Quote:3- is it necessary to learn directx , d3d like concepts to yield more efficient and productive results for creating 2d games ? is windows gdi or gdi+ enough to make them or limited ? GDI and GDI+ are limited for advanced games, but are more than enough for simple games. Another 2D library which you may want to consider is SDL, which has available bindings for C#. Also, OpenGL is an alternative to Direct3D. In C#, XNA is also a possibility, though it is more oriented towards 3D. Quote:5- can c languages overcome smooth graphic performance without direct x ?Yes. There are many tricks that you can use to reduce the cost of rendering many objects. A thousand sprites sounds a little bit strange though—is there room on the screen for them all?Quote:6-briefly, do every game creators finally involve in direct x as they create their games in different platforms ? or can a gamer write and compile very fast graphical game programs without direct x ?You can use OpenGL, for instance.;  First of all, there are several graphics APIs, not just directX.  There is openGL too, and even a few other little tiny or very specialized ones, depending on what you're developing for.  In general, though, the two juggernauts of the graphics API world are openGL and directX.  DirectX is microsoft exclusive [though there are some very ambitious folks converting DirectX functionality to some other platforms, these projects aren't particularly mature enough yet to yield a full set of functions], openGL is for most everything else, and Microsoft products too.  So yes, you can do with DirectX in all situations, as openGL will be what is used instead.Quote:Original post by myriac2- i know object oriented PL(from blitzbasic)and learned visual basic many years ago. but didnt use c or c++, but later i decided to learn c#. do i have to learn c before c# ?No.  C# syntax is loosely based on c syntax, but they are very different.  Feel free to skip straight to C#.Quote:3- is it necessary to learn directx , d3d like concepts to yield more efficient and productive results for creating 2d games ? is windows gdi or gdi+ enough to make them or limited ?For small/simple projects gdi will be sufficient.  For large/complicated projects some sort of graphics API is going to be required to free up the processor for more important things.  Using D3D or openGL will allow for faster code, but this speed simply isn't going to be needed for very small projects.  Eventually you will have to move onto some sort of graphics API, but that doesn't mean you'll have to learn D3D/openGL.  Many graphics engines will abstract out dealing with the grit of these API's, allowing you to focus more on getting your stuff to the screen easily.  Learning one of those will quite possibly be the route you will prefer taking.Quote:4-for example i want simply move a bitmap on the screen (and maybe a thousand bitmaps, sprites), i did it in c# without direct x libraries but it was too slow & very rough action, not smooth.Thousands of sprites is going to require the use of graphics hardware to render efficiently, which means using D3D/OpenGL, or using something that uses D3D/OpenGL.  For 2D games there has been a lot of support for SDL, which will actually use openGL behind the scenes.  It's a whole lot easier to learn than straight openGL though, which is why many prefer it.Quote:5- can c languages achieve smooth graphic performance without direct x ?Generally, no. Graphics hardware will be required for most any high end graphics.  You may not be using a graphics API directly, but if your graphics are smooth, a graphics API is being used behind the scenes.Quote:6-briefly, do every game creators finally involve in direct x as they create their games in different platforms ? or can a gamer write and compile very fast graphical game programs without direct x ?Multi-platform development tends to use openGL [or use something that uses openGL], but some hardware using graphics API will will become totally required as games increase in graphical demand.  Software is not enough.Quote:7-is there any comprehensive article or someone here to reply detailed explanation to remedy my pains ?There are people here.*edit*ToohrVyk swooped in and beat me to it.  Icon changed to frowny face because ToohrVyk beat me.  Second place.... again.   ;  thx for your great replies dear friens.they are very useful.i really understand that gdi is not for me. i need to learn direct x.or inegrate SDL with C#, though i know not how to ?out of opengl, i mostly considere in direct x.(and maybe SDL as drigovas mentioned.)bu i really need smooth graphics as ToohrVyk mentioned.so let me be more specific.i want to make a game like;1)"breakquest" (www.nurium.com ); 2)reflexive's arkanoid-type games.(www.reflexive.net);3)"jets and guns" type shoot'em up games  (http://jng.rakeingrass.com/screenshots.php);4)2d very smooth scrolling rpg games with lots of sprites on it.(i want to run many 2d sprites on the scene :))so i dont want to use opengl.so now, where do i start ? (think that i will use c#)Kind Regardsmyriac;  another question :how to use SDL with C# ?;SDL.NET.   