• Advertisement


  • Content count

  • Joined

  • Last visited

Community Reputation

123 Neutral

About spooderw

  • Rank
  1. Eris - Online Open World Tower Defense FPS

    [quote name='MackNeumann' timestamp='1342980217' post='4961976'] This game is Sweet! I love the cronogun! It is so awesome!! Nice job! [/quote] Thanks!
  2. I suppose I'll get the links out of the way right away: [url="http://codeavarice.com/"]Website: CodeAvarice.com[/url] [url="http://www.youtube.com/user/CodeAvariceGames"]Youtube: CodeAvariceGames[/url] [url="https://twitter.com/SpooderW"]Twitter: @SpooderW[/url] In Eris, you find yourself on an alien planet, with your only way to get off being the alien mother ship secured in a heavily fortified alien base. The base is being powered by oil drilling towers scattered across the map. You must find and capture these towers to shut down power to the main base, allowing you to get in and steal the mother ship. Eris is a game about freedom. You can plan your attack on an enemy tower however you see fit. You could walk in the front door with a shotgun in one hand and a grenade in the other. You could grab a jet pack and come in through the roof. You could sneak in through the back door in the middle of the night with cloaking device and a silenced pistol. It's up to you to decide. You earn XP by killing enemies and capturing towers. XP can be spent on perks, stat boosts, and tower defenses. [b]Perks and stat boosts[/b] play a large role in Eris. Perks can be anything from a parachute to the ability to quickly dash in any direction. Stat boosts effect things like weapon accuracy, health, run speed, ect. These things can dramatically change the way you play the game. Grabbing double jump and boosting your jump height allows you to scale up exposed stairways, and boosting your armor and grabbing the dash perk can make you a serious threat in close quarters conflict. [b]Tower defenses[/b], such as turrets, are a must if you intend to leave a tower you have captured and have it stay captured. You buy defenses with XP, and can immediately place them where they are needed. [b]Multiplayer [/b]will be a big part of the game. Playing online with friends, deciding whether to team up, or fight for control over enemy towers. We have a team system implemented that allows players to form teams. Anyone on your team can place defenses in your towers, and your turrets will automatically attack anyone not on your team. Teams can be any size, from one player teams, to one big team. Some screens of what we've got going thus far: [img]http://i.imgur.com/GHrZY.jpg[/img] [img]http://i.imgur.com/qb8y3.png[/img] [img]http://i.imgur.com/yVvv3.png[/img] We've been doing development videos since the very first week of development. Here are the first 5 in reverse chronological order. [media]http://www.youtube.com/watch?v=y6bojAZVTLI&feature=BFa&list=UUSiZc-Tl2uT0CumpQY-v1NQ[/media] [media]http://www.youtube.com/watch?v=Fp4EcCH2G1A&feature=BFa&list=UUSiZc-Tl2uT0CumpQY-v1NQ[/media] [media]http://www.youtube.com/watch?v=1tA7CG55Fxg&feature=BFa&list=UUSiZc-Tl2uT0CumpQY-v1NQ[/media] [media]http://www.youtube.com/watch?v=jDm2ltXbC9Q&feature=BFa&list=UUSiZc-Tl2uT0CumpQY-v1NQ[/media] [media]http://www.youtube.com/watch?v=E7bcBbZraxQ&feature=BFa&list=UUSiZc-Tl2uT0CumpQY-v1NQ[/media]
  3. I've heard very good things about Ogre. It's mentioned in a few books I've read and I believe Naughty Dog uses it...never touched it myself.
  4. c++ SDL Button class

    [quote name='stoffe1100' timestamp='1333411384' post='4927706'] [CODE] if(SDL_PollEvent(&event)){ if(event.type == SDL_QUIT){running = false; SDL_Quit(); break;} if(event.type == SDL_KEYDOWN){ if(event.key.keysym.sym == SDLK_ESCAPE){running = false; SDL_Quit(); break;} } if(ExitButton.CheckEvents()){ running = false; SDL_Quit(); break; } [/CODE] [/quote] If I am correct, this should be contained in a while loop, because if more than one event occurs in a single iteration of your game loop, you will only catch one of the events, which will not only result in missed input, but I believe it leaks memory and causes major slowdown. Also, you should not have another event handler inside your button, you should pass in a bool that checks if the mouse is pressed. It should be something like this: main.cpp: [CODE] bool leftClick = false; while(SDL_PollEvent(&event)){ if(event.type == SDL_QUIT){running = false; SDL_Quit(); break;} if(event.type == SDL_KEYDOWN){ if(event.key.keysym.sym == SDLK_ESCAPE){running = false; SDL_Quit(); break;} if(event.type == SDL_MOUSEBUTTONDOWN){ if(event.button.button == SDL_BUTTON_LEFT){ leftClick = true;} if(event.type == SDL_MOUSEBUTTONUP){ if(event.button.button == SDL_BUTTON_LEFT){ leftClick = false;} } if(ExitButton.CheckEvents(leftClick)){ running = false; SDL_Quit(); break; }[/CODE] newbutton.cpp: [CODE] bool NewButton::CheckEvents(bool leftMousePressed){ if(leftMousePressed) { if((MouseX > ButtonRect.x) && (MouseY > ButtonRect.y) && (MouseX < (ButtonRect.x + ButtonRect.w)) && (MouseY < (ButtonRect.y + ButtonRect.h))){ return true; } } } } } [/CODE]
  5. [url="http://www.libsdl.org/projects/SDL_image/"]SDL_image[/url]
  6. Check out [url="http://www.bfxr.net/"]bfxr[/url].
  7. "Picking" with the mouse

    [quote name='Colby_' timestamp='1332987046' post='4926180'] [quote name='spooderw' timestamp='1332979106' post='4926168'] [url="http://nehe.gamedev.net/article/using_gluunproject/16013/"]Nehe's got a tutorial for that.[/url] [/quote] Looking from that tutorial, I was able to convert the C code to Java. However, it returns things such as 0, NaN, or sometimes insane coordinates, even if the point is on top of a rendered polygon. Am I missing a step? [code] float[] screenToWorld(int x, int y) { IntBuffer viewport = ByteBuffer.allocateDirect(16 * 4).asIntBuffer(); FloatBuffer modelview = ByteBuffer.allocateDirect(16 * 4).asFloatBuffer(); FloatBuffer projection = ByteBuffer.allocateDirect(16 * 4).asFloatBuffer(); float winX, winY; glGetFloat(GL_MODELVIEW_MATRIX, modelview); glGetFloat(GL_PROJECTION_MATRIX, projection); glGetInteger(GL_VIEWPORT, viewport); winX = (float) x; winY = (float) viewport.get(3) - (float) y; FloatBuffer winZ = ByteBuffer.allocateDirect(1 * 4).asFloatBuffer(); glReadPixels(x, (int) winY, 1, 1, GL_DEPTH_COMPONENT, GL_FLOAT, winZ); FloatBuffer pos = ByteBuffer.allocateDirect(3 * 4).asFloatBuffer(); gluUnProject(winX, winY, winZ.get(0), modelview, projection, viewport, pos); float[] raw = new float[3]; pos.get(raw); return raw; }[/code] [/quote] My java is really rusty, so I could not tell you specifically what may be wrong with your code...
  8. "Picking" with the mouse

    [url="http://nehe.gamedev.net/article/using_gluunproject/16013/"]Nehe's got a tutorial for that.[/url]
  9. UDK

    No, UDK is not the industry standard. There is no industry standard.
  10. "Picking" with the mouse

    [size=4][font=arial,helvetica,sans-serif]If you're trying to select objects in a 3D world with the mouse, check out [color=#000000][url="http://www.opengl.org/sdk/docs/man/xhtml/gluUnProject.xml"]gluUnProject[/url].[/color][/font][/size]
  11. Math and 2D game development

    Lots of trigonometry.
  12. Pushing through the wall

    I usually pick one big, ugly, boring feature and start working on it. While I work on that if I get too bogged down I do a smaller feature that is more fun for a day or to, so I have some tangible progress, then go back to the big feature. Sometimes with rendering optimization or other big stuff you can't really work on anything else, at those times you just have to suck it up I suppose.
  13. New Screenshots of My Yet Unnamed Game

    Very cool. Is it a custom engine?
  14. 10 million polygons on an iPad 3?

    [quote name='Bacterius' timestamp='1332798280' post='4925462'] Ok but there's just a tiny problem with your demonstration. It's the same teapot repeated about four thousand times. Instancing is very misleading in terms of performance, perhaps having an actual scene drawn instead would be a better proof of concept... [/quote] I think the test was to see just how many polys could be rendered at once. Without instancing it usually becomes a bandwidth issue before it becomes a poly count issue. So unless I misunderstood the point, instancing was an excellent way to measure the raw poly pushing power of the iPad.
  15. Looking for little kids to go on skype with you? This could not get much more sketchy...
  • Advertisement