• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.

iAmCodeMonkey

Members
  • Content count

    34
  • Joined

  • Last visited

Community Reputation

215 Neutral

About iAmCodeMonkey

  • Rank
    Member

Personal Information

  • Location
    Canada
  1.   This person speaks the toof...   er, truth.   EDIT: Well, except the NSA and\or FBI, that is.   And on the topic at hand, that looks both ridiculously stupid and hilarious at the same time. It does remind me of lolcode quite a bit. :D
  2. Wow lol   As funny as that was, that is the SOLE reason why I never use macros.
  3. int l,dijk=di+nx*(dj+oy*dk),dijkl,dijkr,ima=step_div(dk-ez,nz); int qj=dj+step_int(-ima*byz*ysp),qjdiv=step_div(qj-ey,ny); int qi=di+step_int((-ima*bxz-qjdiv*bxy)*xsp),qidiv=step_div(qi,nx); int fi=qi-qidiv*nx,fj=qj-qjdiv*ny,fijk=fi+nx*(fj+oy*(dk-ima*nz)),fijk2; double disy=ima*byz+qjdiv*by,switchy=(dj-ey)*boxy-ima*byz-qjdiv*by; double disx=ima*bxz+qjdiv*bxy+qidiv*bx,switchx=di*boxx-ima*bxz-qjdiv*bxy-qidiv*bx; double switchx2,disxl,disxr,disx2,disxr2; WTF?!   I have never seen something so bad in my life when it came to horrid variable names and completely unreadable code. Seriously.
  4. Wow lol
  5. [quote name='Daaark' timestamp='1348198837' post='4982226'] Just look at all of Acclaim's games. Every single aspect of them was HORRIBLE. Horrible, uneven graphics. Horrible motion captured animations. Horrible sound. It was always all over the place, and either too low, or blowing out your speakers. Horrible collision detection. Horrible AI. The save systems were so clunky they looked like they were pasted out of the tutorial section of their platform SDKs. The took bad ideas, spent all the budget on a license, and then rushed a clunky, half baked, idea out in 6 months. [/quote] I could say the same things about any game from Capstone Software/Intracorp Entertainment...
  6. [quote name='Joe P' timestamp='1312815161' post='4846190'] Well that's a totally different thing. Your first post made it sound like it was law vs. A small game studio independently. Computer science is not game development... its not even truly programming at heart. Its theory, math, logic, etc... being implemented through programming. A regular non game related programming job is decently secure and the pay is good more times than not. In the end its what you're passionate about. Sitting at a desk writing code for 8 hours a day can be a drag if you don't truly enjoy it. Chances are that if you have to ask... its not your passion. You really need to think about it. College degrees aren't cheap. [/quote] Yup, I agree with that statement.
  7. [font="Times New Roman"]Mods please delete thread. I fixed the problem. [/font]
  8. Here is a snippet of my level loading code, to show how I populate the asteroid vector... /* look for enemy\other entities and get their offsets */ while ( (inputFile.eof() != true) ) { inputFile >> entityName; /* get the total number of entites in the file, and move to the next line */ if ( (entityName == "AMOUNT") ) { inputFile >> amount; numberOfEntities = amount; inputFile.ignore(); } /* end if */ /* look for asteroids */ if ( (entityName == "asteroid") ) { /* load sprite image and get offsets */ asteroidFrames = image.imageLoader(asteroidBMP); inputFile >> offset_X >> offset_Y; /* add entity to container for storage and assign offsets */ asteroids.push_back(new asteroid()); asteroids[count]->set_X(offset_X); asteroids[count]->set_Y(offset_Y); /* make sure count is equal to amount specified */ if ( (count == amount) ) { break; } /* end if */ /* go to the next line and increment counter */ inputFile.ignore(); count++; /* should say ++ at the end */ } /* end if */ } /* end while */ Here is a small snippet of my asteroid AI code, to show where my global entity counter (int numberOfEntities) is used... /* if asteroid health is zero, destroy it */ if ( (asteroidHealth == NULL) ) { audio.playSoundFX(2, explosionSound, 0); isCreated = false; /* do not render bullets */ isAlive = false; isDestroyed = true; numberOfEntities--; bulletRef.setCollisionBox_X(-LEVEL_WIDTH); playerScore = (playerScore + ASTEROID_POINT); enemyKillCount++; /* should say ++ at the end */ } /* end if */ Here is a snippet of my checkStatus() method, used to see if the player is dead\run out of lives, and if the enemies have been destroyed... /* have all of the enemies been dispatched? */ if ( (numberOfEntities == NULL) ) { /* if so, go to the next level */ SDL_Delay(100); audio.stopMusicTrack(); setNextState(END_LEVEL_STATE); } /* end if */ Wish me luck on finding the root cause! :D -CodeMonkey
  9. Hey! I have encountered a slight bug in my game code, and I want some suggestions on how to track down the cause... I am loading in my level data from a text file with this format: AMOUNT 12 asteroid 600 400 asteroid 1400 200 asteroid 1000 600 asteroid 1600 600 asteroid 1400 600 asteroid 1200 200 asteroid 1600 400 asteroid 400 200 asteroid 200 300 asteroid 400 600 asteroid 1100 300 asteroid 1500 300 ... where AMOUNT denotes that the total amount of entities for the level is beside that marker, and below that is the entity name and the x\y co-ordinates for each instance. The problem that I am having is that my code does not seem to be rendering all of the entities in the file, after having loaded them into an STL vector. I am keeping track of the number of entities killed by the player, and I decrement that value each time an asteroid gets destroyed. But the number being rendered on screen, the amount\number specified in the text file, and the entity counter do not match up. For example, I had 12 asteroids in the file to start off with, and after I killed them all, my entity counter was at 4... where did the other entities go??? -CodeMonkey
  10. thanks for the feedback, AND the warning. lol I shall change my "company" name to something else in the future before release.
  11. Here are some screen shots of my first game in progress. Made using plain-old C++ and SDL + Extensions. Please let me know what you think... Episode One will come ASAP. I have software engineering in college to focus on right now, lol.
  12. Quote:Original post by Zahlman Quote:Original post by Soap360 I've finally got every concept down on C++. No, you haven't. If you were even close to that mark, you wouldn't be asking for help here. There is much, much more to C++ than you imagine. ^^ Heed this advice.
  13. I now have my player starting point being loaded from a text file(:O!), and I want to know what is the best way to handle more than one instance of the same enemy type in a 2D map? Now, my game is not going to be tile based, rather, I would like to extend my engine to include scrolling aka Lazy Foo Tutorial #21, and have a set exit point as a class that can make collisions with the player at the end of a level, with the various enemies being spawned at specific x/y points on the map. Would storing the enemy classes in a vector be a good choice? Some code examples would help, as well.
  14. Quote:Original post by Storyyeller Personally, I hardcoded all my level data. I know it's a bad idea, but when you're a beginner, and you are making up the game as you go along, you can't really decide on a fixed level representation. In my case, it's especially hard, because my levels are sometimes completely different genres, so there's no obvious common format to use. However, if you know in advance how your levels are going to look, you should definitely use external storage. I will keep that in mind for future games.
  15. I am the OP, and I have just thought of a file format for my levels in my up-and-coming game... Basically, the "levels" (6 per episode) would be separate text files in a directory related to the episode number (3 episodes), and each file would have the format below... playerShip 160 160 enemyOne 480 280 enemyTwo 260 480 and so on... where the names are strings representing the objects in the game (i.e the player, the enemies, the debris, the asteroids), and the numbers are the x\y co-ordinates of said objects. I looked over Lazy-Foos tutorial for Game Saves, and tried to implement something similar in my code. Unfortunately, the level loader that I made did almost nothing, and when I tried to exit my game loop, my program crashed. lol XD :D My program also uses the idea of game states being separate classes all inherit from a game state base class with overridden event handling, logic (if any), and rendering methods inside of them. Again, this was also an implementation of the game state article by Lazy-Foo. On to my question... Am I going about the correct way to do this? I already have just over 1000 (!) lines of C++ code in my gameStates.cpp and gameStates.h files alone at this moment. However, since this is just my hobby, due to my 2nd year in college starting up next week, I have absolutely no problems "biting the bullet" so-to-speak, and hard-coding my "levels" inside my gameLoop class, where the actual game will take place in... Man, I wrote a novel there! I hope that made some sense. I had a hard time articulating my thoughts for a while. ;) -CodeMonkey