NickGomes

Members
  • Content count

    43
  • Joined

  • Last visited

Community Reputation

142 Neutral

About NickGomes

  • Rank
    Member
  1. C Programming - .h and .c file Question

    1) Maybe I am misunderstanding how it works, but for some reason, I did not #include the "Employee_def.c" file, yet the main.c file still knows what that function is, I thought I'd have to #include the Employee_def.c file   The compiler works by first compiling the individual source(.c) files. It creates intermediate object(.o) files. Then the linker ties together all the object(.o) files to create the final executable. So when you    #include "Employee.h"   you are telling the compiler/linker "this source file needs to be linked with the .o file generated by Employee.c".     2)Also, I am getting a warning in the main.c file on the line I call the Employee_Initializer function that states "Implicit declaration of function "Employee_Initializer" is invalid in C99". Still works, but not sure what that warning is trying to say.    You didn't declare the function in your header file. The compiler allows it, but it's very dangerous!       Protip: Include Guards are important, use them!
  2. Hey everyone!   I'm excited to announce the release of a game that I was a part of producing. It is a color based puzzle game with a lot of minimalist inspired art and game design. The goal of the game is to fill the screen to a specific color. You do this by combining shapes of similar color which causes an awesome fill effect.   I'd be happy to answer any questions and the team would love to get feedback!!   Game Website   Gamezebo review     Gameplay Trailer: http://www.youtube.com/watch?feature=player_embedded&v=8xTUM8U2xdc
  3. Just adding onto turch's suggestion,   Try keeping the game's data file open during play and writing small bits of data into it periodically. You can probably do this at run-time without too much of a performance hit if you make sure there is an appropriately sized buffer. This will also allow you to do any pre-termination cleanup quickly because you are not writing out to the whole file, at once, just before the OS kills your app.   You would also want to do a quick integrity check of the data when first loading it and have it backed up for the worst case scenarios.
  4. Creating better game art

    Here's a good one specifically for old school pixel art techniques. It talks about things like line edges, dithering, and shading. There is also a good list of 30 tutorials on this site.
  5. Games are not created in a vacuum. You need to pull inspiration from places, communicate with other people, and learn techniques from other disciplines. Taking these humanities courses are VITAL to expanding your non-specific skills. Your team members are going to ask for feedback from YOU.   -Your artist is going to produce compositions and ask for your response. If you took a brief course in art history were they had you analyze art from a specific time period that will help you! You will know what terminology to use and what to look for.   -You game designer is going to ask for feedback on a feature he is thinking about. If you took a class in psych or communications you can explain why this feature would work or not. You can even expand on that feature and improve it with your own ideas.   -Your audio guys is going to need help getting the game to sound just right. If you took a brief music intro class you could tell him it needs a little darker tone, maybe use a minor key. Or point him to composers/songwriters you remember from that class that had a style that would fit.   You need all these skills to better interweave with your team members. Working together means you are going to need to go a little cross discipline. Absorb as much information as you can!!!
  6. - Platformers, must of made 2-3 of these between messing with game maker, flash, xna - Top down shooter (Twin stick or mouse follow) XNA and flash - Galaga clone in console for an assembly language class. The speed of the game was dependent on your CPU speed! Hilariously hard on my higher end comp.
  7. Few basic questions in Game development

    1) Yes you absolutely can. Andriod has its Native Development Kit and xCode can mix C++/Objective C. They both use OpenGL Es for rendering. That being said however you are going to have to deal with a lot of cross platform coding and writing a lot of bridges.   Which brings me to number 2.   It will probably take you a lot of time to make all the platform brides for interacting with differing devices......most of which will not have ANYTHING to do with creating a game. If you want to make your game and make it fast, use the tools that have already been created. These frameworks will vastly speed the process for you.    My recommendation is to take a look at your project and see if you really need that fine grain control. For most projects it wont be necessary and you can save a ton of time by using those frameworks. 
  8. College Programming Computer

    Get a laptop. In my opinion you should avoid getting a mac. From what I've seen they are about $500+ more expensive than a comparable PC. If you plan on getting into any high-performance computing try getting something with an i5 tier processor. If you want to use it for graphics programming or gaming I would also suggest getting a laptop with a dedicated video card. If you want to do any gpu-tessellation stuff one with shader model 5 compatibility (more expensive). I would say ~$1,000 is a good price range to shoot for. ex. [url="http://www.newegg.com/Product/Product.aspx?Item=N82E16834152349"]http://www.newegg.com/Product/Product.aspx?Item=N82E16834152349[/url]
  9. You would have to create a Sprite Map in some format (XML is a good choice). This map would define the location and size of each frame of each animation that's in your spritesheet. This gives your animations and spritesheets more flexibility as you don't need to follow a strict size/placement/number for each frame. In addition you can easily re-use sprites during animations. So an example spritesheet map: [code] <Object name="Enemy1"> <Sprites> <Image id="1" x="5" y="5" height="64" width="64"/> <Image id="2" x="69" y="69" height="102" width="50"/> </Sprites> <Animations> <Animation name="attack" fps="30" numFrames="3" loop="no"> <Frame sourceID="1"/> <Frame sourceID="2"/> <Frame sourceID="1"/> </Animation> <Animation name="Idle" fps="30" numFrames="1" loop="yes"> <Frame sourceID="1"/> </Animation> </Animations> </Object> [/code]
  10. Problems With Collision (Unity 3.5)

    Well I can't be 100% sure of what exactly your code is doing but I'm guessing it looks something like: -Player presses movement key -Move player X units per second *** Here is the issue -Check for collision ***** -If collision occurs move the player back If you want to fix that jitter you need your code to look ahead, BEFORE the collision occurs. So when the player presses his movement key check to see if the new position of the player will collide with anything. If the new position does collide don't move the player forward X units per second. The key is that you project the objects position and check BEFORE actually moving the object.
  11. 2D engine for Kongregate?

    I'm not sure if Kongregate allows submission of HTML 5 games but if they do then you can make games with Construct 2 or GameMaker. Construct 2 is a little less flexible but easier to learn where as GameMaker is more powerful but you need to learn its scripting language to take full advantage of it. If the site does not allow HTML5 games then your going to need to learn Actionscript 3 and create games with Adobe Flash.
  12. If I'm not mistaken Gamemaker has its own scripting language which has some object oreinted functionality. Using that scripting language should give you a little taste of what you can expect from full fleged programming languages. I would suggest doing some side tutorials purely for learning C#/Java before diving straight into Unity. Although Unity is not compatible with Unix systems it's not a huge deal. I would think that anyone using Linux would also have either a Mac/PC or be using some emulation so they could still run games. For 3D modeling Blender is an excellent tool. For 2D Photoshop/GIMP are good for raster graphics. Illustrator/Inkscape are good for vector graphics. For audio I would reccomend Audacity for recording/raw editing and a freind of mine has told me about LMMS for digital sound composing. You probably want to get a microphone and either an electronic piano or Keyboard-midi controller. I would say hands down the most difficult part is going to be trying to learn programming/art/music all at once. It might be easier to tackle one problem at a time and devote your full attention to one subject. So you could focus on programming while using placeholder art or start making art/audio and use a simple game engine to test that. What exactly is your aim? What do you want to learn most about?
  13. Dumbest coding mistakes ever

    I had one mistake that was just so dumb that I overlooked it. The functions worked independently but when i tried using them together... [code] void function1(Blah whatever) { //Tons of code for(int i=0; i;whatever.count; i ++) { //tons of code function2(whatever); //tons of code } //more code } void function2(Blah& whatever) { //lots of code that does stuff Blah whatever2 = new Blah(); whatever.count ++; //more codes } [/code] I seem to always mess up iterators in functions.
  14. Isolating event-handling/management and game logic

    On some basic level your event handling is going to have to mix in with game logic to some degree. But the idea is that your game relies on abstract events and event responses as opposed to hard coded object dependancies. So to add new functionality you just need to hook into your event handler and send out an appropriate event/response. Depending on the type of the response it would get sent to the appropriate function in the game logic. (Event parent class and KeyEvent, CollisionEvent, etc. subclasses) The general idea looks something like this: -A game object wants to listen for keyboard presses. -It registers itself as a listener to the Input Handler -The game object needs an event response function.(Game Logic) -Input Handler records a key down. -Input Handler send out an event message to its listeners So in your case: [code]def main(): """Main module""" initGame() while True: catchGameEvents() updateGameState() drawGameState() def catchEvents(): """Here we dispatch the events to anyone who is listening""" for event in pygame.event.get(): for eventListener in EventListenerArray eventListener.Notify(event); ......"""In each individual game object handle that objects response to differing events""" class Player implements EventListener { def onEvent(KeyUpEvent event) { """.....Object/game logic""" if event.key == UP: #player keyup if event.key == DOWN: #player keydown } def onEvent(CollisionEvent event) { if event.owner == ENEMY: #player explodes } } [/code]
  15. Zombox

    Wow this game looks fantastic! Any plans on a multiplayer/PvP aspect?