• Content count

  • Joined

  • Last visited

  1. Where I can sell my game on this site

    I couldnt see any game on the marketplace
  2. Where I can sell my game on this site

    Hello Ive been to this site since 2008(6 years), I remember a place where you could sell your finished game now I can find it here. can anyone tell me where it has gone. It will also be good if anyone points me on the direction of where can I sell my game best regards
  3. This is the last piece of my 3DS model loader. please I need it in c#.
  4. Starting 3D programming is not an easy task to accomplish. There are a lot of new things that come into play, and they vary from choosing a programming language to selecting the correct 3D modeling software. These 10 goals are the things that when they are done, no matter in what language and with what rendering engine, you can consider yourself a semi-expert on this matter. #1: Build your own custom graphic initialization function Today with the great variety of 3D engines and platforms, this task is always delegated to those. I still remember the times when you had to initialize OpenGL with all the windows functions, and how you had to manage windows handles and resource loading yourself. This is useful to understand how things are managed internally and will give you more comprehension of what you are doing. My advice is to start looking at NEHE tutorials, it has a graphic initialization function written in C and with windows APIs in chapter one. If this is a lot for you to handle, you should look at C++ equivalent functions or try to port them to managed languages like C#, Java or Python. There are plenty of examples on the internet. #2: Implement your own camera You can copy and paste a camera code from the internet, and use it without major problems, but it is not until you make your own camera from scratch that you will fully understand some concepts like vector handling, translation matrices, angle conversion, etc. You should start by coding a FPS (First Person Shooter) camera; it has everything it needs to get you ready. Later if you want to make your own game and you can't use it, I recommend you to read this article to find out the type of camera that best suits your needs. #3: Understand primary 3D concepts When I started, I began to hear a lot of new words like anti-aliasing, anisotropic filtering, occlusion testing, z-buffer, alpha testing, shader language, bump mapping, etc. Maybe if you are a gamer, you have seen some of them while configuring the graphic settings of your game. Make sure you spent some time reading about this, because it will give an overview of what 3D programming is. #4: Learn everything you can about vectors and matrices This is always underestimated, I strongly recommend that in order to correctly manage things like cameras, terrain following, ray tracing; you should know everything about this. You should also learn minimum trigonometry basis. Now I understand how easy my life would have been if I would had spent only a few hours studying this matter. #5: Code yourself a 3D model loader I recommend beginning with a .OBJ file or a .STL file because they have an ASCII format representation. Later, you can move to other more complex formats like .3DS. With this, you not only will understand more how 3D models are saved, you will have to draw it in its raw manner: triangles, and then you will understand how everything is drawn in a graphics engine. #6: Successfully make your own collision algorithm It is one thing to draw a world and another thing to manage its geometry. In a virtual 3D world, there are no physics laws, so you have to create them. If you want an object not to go through a wall, then you have to create an internal geometric representation of the wall and make all the calculations yourself. There are several approaches to handle collisions; I recommend starting with binary collisions with a labyrinth project. Try this link for more information. #7: Implement a small particle engine I was disappointed when I found out that fire, smoke, some lighting and other stunning effects that you see in 3D games are made by particles and that particles are in essence planes with textures facing the camera. The more particles you add, the more realistic the effect looks but the performance is more compromised. The first particle engine I made was for rocket smoke and I did it without looking at a particle engine tutorial. Later I realized I had reinvented the wheel but I was really into this. By carrying out this, you will understand concepts like particle emitters, particle behavior and bill boarding techniques, among others. #8: Learn the basics in a 3D modeling software In order to make changes to the 3D models you want to use in your application, you should at least know operations like translating, scaling, rotating, texturing, exporting to other formats and making simple models. If you don't do that, you will suffer from depending on other people to do your first game. I've worked with a few modeling software and I strongly recommend 3D Max or Maya. #9: Load and play an animation Loading and correctly playing an animation was the most difficult thing in 3D that I ever did. I had to do reverse engineering to a 3D max .XAF file. I had to also learn stuff like bone hierarchy, matrix interpolation, among others. At the end, it was very gratifying to look at your own models moving by themselves. I recommend starting with animating a robot since models like animals and people require another technique called skinning. #10: Code a 2D custom Graphic User Interface (GUI) When I began programming in XNA; I was forced to build my own GUI because XNA does not have implemented any windows controls. This gave me two things, the first one was the ability to make my custom GUI controls and the other one was the understanding of concepts like event handling and event capturing. It is not easy, the most difficult control I have made is a listbox, but once it is made you can use it everywhere. Conclusion In this journey you will come across several issues. You will spend a lot of time trying your code to work no matter how smart you are. But I can tell you that from a programmer side of view there is nothing more comforting than seeing your own code working. I still remember the joy when I first coded an OBJ model loader. I was trying to load a face and after several hours on the task at 3:50am suddenly a very weird face appeared on the screen and scared the hell out of me, I laugh every time I remember that story. I am sure when you manage to achieve these ten things, you can say you have the basic knowledge of 3D programming. I wrote this because I spent a lot of work and time to achieve them, and because I would like everyone to have a small guideline when starting in this world. My advice is to start making a small game and to try to adapt them on the go. I think this is the best way because trying to learn all this without the possibility to see it in action is not very motivating. You will see after a while that gaming won't be same for you, because you will spend some time trying to figure out how they solved some technical issues that you faced before. Thats all for now I tried to keep this article clear and understandable, if you liked it, you can visit my blog for more stuff like this. Article image from 3D Programming - Weekly
  5. How to multiply a .3DS local matrix with a Mesh

    public static Matrix CreateTranslation(float x, float y, float z) { return new Matrix(new float[4, 4]); } public static Matrix CreateScale(float x, float y, float z) { return new Matrix(new float[4, 4]); } public static Matrix CreateFromAxisAngle(Vector3 v, float r) { return new Matrix(new float[4, 4]); } it seems that I need this functions coded. but I cant find them on the web
  6. How to multiply a .3DS local matrix with a Mesh

    Hello i change this mat[i] = new float[4]; into this float mat[4 ,4]; and I placed 0 0 0 1 to the matrix now the objects appear but they all messed up
  7. I have succesfully loaded a 3DS file into my C#, but I have a problem I dont know how to interpret the Matrices that I am reading Here is the code case kMeshXFMatrix: { // Local transformation matrix int i, j; float[][] mat = new float[4][]; for (i = 0; i < 4; i++) { for (j = 0; j < 3; j++) { mat[i] = new float[4]; mat[i][j] = ctx.PopFloat(); } } lmat = new Matrix(mat[0][0], mat[0][1], mat[0][2], mat[0][3], mat[1][0], mat[1][1], mat[1][2], mat[1][3], mat[2][0], mat[2][1], mat[2][2], mat[2][3], mat[3][0], mat[3][1], mat[3][2], mat[3][3]); } my question is how do I multiply this maxtrix with the mesh. I translated this matrix into a 16 float array and I place this code GL.glPushMatrix(); Gl.glMulmAtrixf(mesh.matrix); mesh.draw(); Gl.glPopMatrix(); please I need some advice
  8. Ten Things to Achieve When Starting 3D Programming

    mmm yes I should have put lighting on the article,On the other hand, to be true when I started OpenGL programming, Shaders and Post effects articles where written in a very dark C, beyond my knowledge scope. Now with XNA and other game engines you couldnt imagine how easy has become.
  9. A new version of my 3D asteroid game in OpenGL with C#     This article is an update of my first article named “A basic 3D asteroid game in OpenGL with C#”. The first one was published in MSDN In this version I added the shooting feature. I will try to explain it briefly here The first thing to do is to get the mesh that contains the rocket Mesh misiles; //This goes as a class attribute   misiles = m.GetMeshWithName("avion07"); m.RemoveMeshByName("avion07");   After getting the mesh reference we delete it from the model because we are going to draw and manage it in a different way than the ship. One drawback is that in the 3d model the four rockets are recognized as a single mesh, that’s why when we shot a missile the four are shot. I don’t have too much knowledge of 3D Max to make the four missiles as single meshes and that brings another complication; the missile position is the same for all, which means that we are going to check collisions on one single point that is the center of the four missiles.     //This is the function that draws the missiles       public void DrawMisile()     {         Gl.glPushMatrix();         if (misileShot)         {           missilePos.Z -= 0.1f;           Gl.glTranslatef(missilePos.X, missilePos.Y, missilePos.Z);                 if (Math.Abs(missilePos.Z) > 35)                 {                  misileShot = false;                  missilePos = p;              }          }          else          {              Gl.glTranslatef(p.X, p.Y, p.Z);          }            AsteroidGenerator.CheckCollisionMissile(missilePos, 0.5f);            Gl.glScalef(0.3f, 0.3f, 0.3f);          Gl.glBindTexture(Gl.GL_TEXTURE_2D,  ContentManager.GetTextureByName("avion07.jpg"));             misiles.Draw();             Gl.glPopMatrix();         }   After getting the missile the missile may only have two statuses: when is in the ship and when is fired. If is in the ship I don’t have to do anything just translate the missiles anytime I translate the ship I handle the missile asteroid collision in the following way. When a missile is shot it checks if it is colliding with any asteroid. It does it the same way that the ship checks collisions with the asteroids but it does another thing, if a collision is detected the asteroid Generator class ,which holds the asteroid list ,is told to delete that asteroid and to create an explosion. An explosion is a sphere object that anytime it draws it expands it size, giving the idea of a shock wave, and then when a particular size is achieved the object doesn’t draw anymore. Attention, this explosion wave follows some concepts of particle programming, which is live over time and particular way to behave.   The project has 7 classes, one added for this feature ExplosionWave.cs This is a class that  handles the explosion it’s a sphere object drawn by opengl quadrics. AsteroidGenerator.cs It handles the creation of asteroids in random places and with random sizes and speeds. It also have the method to query wether or not  It have been a collision between the spaceship and an asteroid Asteroid.cs It handles all concerning an asteroid such as the movement, texture selection, drawing, among others Star.cs It has a method to create random white points and to draw them.  Camera.cs It handles the selection of the user camera and to set the right perspective view of the scene SpaceShip.cs This class contains all methods and attributes regarding the spaceship, such as movement, drawing, etc. Controller.cs This class manages the game creation, game logic and contains all the classes needed to run the game. Here is a portion of code This game is only for educational purposes. I thinks the simpler the code the beautifull it gets. Of course there a lot of things that you may improve like the diagonal moving sugestion made by the user Death259 that I include in this version. I also add points to the score when an asteroid is destroyed. here is the download link   if you like my blog, visit it
  10. Hello, I have been working with openGL since 2008. A few years ago I had to migrate to DX but I will always have opengl in my heart . There was a thing I never acomplished when working with opengl. That thing was to make 2D sprites to move across the screen without performance issues. I have tried almost everything, GL_EXT_TEXTURE_RECTANGLE, glu MIP MAPS for NPOT textures, display lists, and anything seemed to work, attached is a sample using texture rectangle. My question is how a 2D opengl programer manages to make a fluid 2D opengl application, what are the tips, etc. I would really appreciate all the help you can give me. I have been programming in 3D for a looong time and that is the only thing I wish to know more. BTW I have a 3D dev blog, stop by and take a look.
  11. Do you think my 3D blog sucks or rocks?

    Thanks everyone for the replies, sorry cornstalks but english in not my native language(Spanish Russian and c# are)swiftcoder thanks for the positive critics, i thought people will be so interested with my examples that will force me to improve it, but that didnt happened, by the way i like your post swift The price of progress. I will try to improve it
  12. A lot of people visit my 3d blog every day , but no one leaves a comment, please i need a feedback
  13. I had the same trouble once, I have a 3D plaza on my blog and you can see the edges on the sky box, i used to use texture coordinates to not display the edges for example use 0.03 instead of 0 and to use 0.92 instead of 1, but i remember you coul still see where joined the both textures. When i used gl_clamp_to_edge the problem was solved but i had another issue that i can remember right now, I will be watching this post to see the correct answer by the way this is the project