Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

482 Neutral

About bglanzer

  • Rank
  1. bglanzer

    Attack of the Clones

    Thanks for everyone's input. I will definitely try and improve the article as soon as I have time. I originally meant the article to read more like a "How to" for preventing your games from being cloned but like many said it came of as more of a rant. I also apologize for the poor grammar, I'm primarily a programmer so writing isn't one of my strong points though I'm trying to improve.    I understand where many of you are coming from in saying that almost all games could be considered clones. Most games are inspired from games in the past. Most games take a concept from another game improve upon it. In the article I tried to explain that I don't consider these games clones. The games that I consider clones do not change game mechanics at all from the original title and simply change the art. Here is a short article that I think better defines the types of clones that I'm trying to describe as well as their development process, http://kotaku.com/the-depressing-black-market-where-games-are-ripped-off-1516904667       Thanks for checking out my game. I think your right in that the game shares some similarities to the DKC barrel mechanics, but the barrel sequences in DKC are very different of my game. DKC depends heavily on timing your shots from one barrel to another, while my game depends more on moving your character while outside of a barrel. I also tried to add to the mechanics by adding features such as barrels firing from other barrels. The game plays much different than DKC though I'm sure some may call the game a clone without even playing it.   I haven't seen any games out there that I would call a clone of my game, or even clones of DKC. I think recently three games have been announced that use the DKC barrel mechanic, they all look great by the way. From the footage seen of them I would have to say that depend more on timing your shots more than moving your character in the air to reach other barrels or dodge obstacles.   I'd like to thank everyone again for reading and post your input. I'll work on making this a more informative article that written better.
  2. bglanzer

    New Tanuk Gameplay featured

    Here is a new screenshot and some concept art for another playable character in the game.    
  3. bglanzer


    Tanuk is a mobile game where you control a Tanuki firing barrel to barrel navigating various timing puzzles and physics hazards.
  4. Checkout the latest gameplay video and let me know what you think.   [media]http:[/media]
  5. bglanzer


    TANUK     Tanuk is a game in development for mobile platforms in which you control a tanuki (Japanese racoon dog) by firing barrel to barrel while avoiding various obstacles. The game will feature 3 different environments with 10 levels each. Feature physics controlled objects to either avoid or aid in your journey through the level.     Scheduled release is Spring 2014!   [media]http:[/media]
  6. bglanzer

    why value is different?

    I think your not stepping the debugger through that line. Make sure your break point is set on the next instruction after float vc =dd[0].x; The debugger can reflect random values in variables that are not initialized. You can verify with float vc = 0.0f; vc = dd[0].x;; vc should be zero instead of a different number if you place the breakpoint at vc = dd[0].x;
  7. Infectedbrain to break down what ApochPiQ stated simply create a class called node that contains a pointer to a node, contains a defined space either 2d or 3d, and contains a container of collidable game objects. Set a max number of game objects allowed per node. Define a node in which its defined space covers the entire scene then begin checking the number of Objects within it. If the number exceeds the max then evenly split the space with two new nodes each with thier parent set as the original node it spawned from. Then repeat that process untill the number of collidable objects is less than the max allowed with the node and add those game objects to that nodes game object list. Then test which node your bullet is in and only check the collidable objects within that node. That is the basis of a quad tree. For an Oct tree split the nodes by 4 instead of 2. Here is a link utilizing quad trees for terrain rendering. Its pretty much the same concept just replace vertices with enemies. http://www.rastertek.com/tertut05.html The code is in c++ but you shouldn't have difficulties making the change to c#.
  8. bglanzer

    Storing mesh data

    There are many different formats. Its best to look at different file formats and see how thier data is stored. If you look at milkshape (to me its one of the easier model formats to load from), if I remember right, first the vertex information for the entire model is stored. Then the index, or triangle data is stored for each mesh subset which includes normals. After which the material information is stored, and then finally bone and weight information. The link below offers the order of the data and I believe there is a link that breaks down milkshape structures. http://content.gpwiki.org/index.php/MS3D
  9. bglanzer

    Planning - What do you use?

    I really like doxygen but I have never taken full advantage of it because of the additional comment formats. Though I do use it to make a documentation of my code. I usually do the same. When trying to work out how each of my classes will inherit from each other I will create a diagram with the classes consisting of only names.
  10. I'm interested to see what other's use when planning a big project such as a game or game engine. I've used StarUML and find it somewhat cumbersome. Going through each class writing variable and method names all of which I will actually be doing when writing code. Often times I will decide to make changes while writing my code and have to go back into it to make changes to the diagram. I've heard some people recommend XMind which I have used as well but I find that as more of just a way to map ideas for a game and doesn't seem to help when planning the actual code structure and design of your game. My tried and true method though somewhat unorganized is a notebook. I usually buy a new notepad when I start a new project and just start drawing my classes with arrows write some method/variable names. I have arrows pointing everywhere and notes on the edges of my paper. Does anyone use any methods that are more organized than a notebook yet less cumbersome than an actual UML diagram?
  11. bglanzer

    Structure of classes in good Game Engine?

    Wouldn't a free function require opening and closing of the log file? Would that cause any type of slowdown compared to a class which opens the file on creation and closes before destruction? It would make it alot easier to not have to pass the Log to each class that requires it.
  12. bglanzer

    Structure of classes in good Game Engine?

    I often times see Sington's used within references. For loggers particularly. I think its used that way in the Hieroglyph Engine from the book Practical Rendering & Computation. They have thier place but like ApochPiQ said they really shouldn't be used. They have the same issues as global variables so you have to take the same precautions. The other way I've seen loggers done is passing a pointer to your logger on creation just like you are currently doing. I think that Method is used in 3d Game Engine Architecture. This is probably the method I would recommend.
  13. bglanzer

    Structure of classes in good Game Engine?

    You can do something like this class Log { public: static Log* Get() { if( !m_pInstance ) m_pInstance = this; return m_pInstance; } protected: Log* m_pInstance; }; Then use the log like this within your classes Log* pLog = Log::Get(); pLog->Write( "Me and the Cap't make it happen!" );
  14. In the case of your sprite I think its pretty good. Here is simple quick example of a sprite class I did in the past, just to give you an example of animated sprites Hopefully the classes are understandable. Pretty much because animations can run at different speeds and a sprite can have many different animations you want to separate your sprite animations. Also it makes it easier to put things like positions and scale into class called Transform which is derived from a Component class. Then allow additional components to be added that hold things like velocity, speed, bounding box, etc. Currently what you have is good. But when you want to create more complex sprites below is a structure that worked for me. ****EDIT**** On second thought you might want Transform and Component under a GameObject class which Sprite is derived from. class SpriteAnimation { public: //Set methods, Get methods, update method protected: int m_iCellWidth; int m_iCellHeight; int m_iFirstFrame; int m_iLastFrame; int m_iCurrentFrame; int m_iAnimationDirection; // 1 for forward -1 for backward bool m_bLoop; bool m_bAnimating; bool m_bCustomFrameList; float m_fFrameDelay; float m_fTimer; TArray<int> customFrameArray; }; class Sprite { public: //Constructors, Destructors, Setters, Getters bool AddAnimation( SpriteAnimation* animation ); bool AddComponent( Component* component); protected: Transform m_transform; //transform hold position, scale, ect TArray<Component *> m_components; //Holds any components TArray<SpriteAnimations *> m_animations; //holds all animations };
  15. There are lots of ways to do things and one way is not always best. Some methods may have advantages over others though. In your case you want to think about mobility and reusability. What if you wanted to make another game? You would have to retype or cut and paste all of your windows and directx initiallization over again. It might be easier to wrap everything up in classes and built into a library that way you can reuse it and spend more time programming gameplay rather than typing code to access hardware.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net 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!