• 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.


  • Content count

  • Joined

  • Last visited

Community Reputation

136 Neutral

About Shadowwoelf

  • Rank
  1. I need some help finding a good tutorial on JOGL in eclipse. All the ones I found have caused errors, which I couldn't resolve. Here is what I have done: I went to the follow wiki and followed the instructions [url="http://jogamp.org/wiki/index.php/Jogl_Tutorial#JogAmp.27s_Wiki"]http://jogamp.org/wiki/index.php/Jogl_Tutorial#JogAmp.27s_Wiki[/url] [color=#000000][font=sans-serif][size=3]I downloaded: 32-bit Windows: [/size][/font][/color]jogamp-windows-i586.7z [color=#000000]Then in eclipse I extracted all the jars from the jar file. Including everything in the subfolder named Atomic.[/color] [color=#000000]With the jar files I made a custom user library. Only thing i didn't do was input each source attachment and native library location.[/color] [color=#000000]Then I linked it to my java project[/color] [color="#000000"]After that I tried running the following code :[/color] [color="#000000"][code]package jogl;[/color] [color="#000000"]import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent;[/color] [color="#000000"]import javax.media.opengl.GLCapabilities; import javax.media.opengl.GLProfile; import javax.media.opengl.awt.GLCanvas; import javax.swing.JFrame;[/color] [color="#000000"]import com.jogamp.graph.curve.opengl.Renderer;[/color] [color="#000000"]public class HelloWorld { public static void main(String[] args) { // setup OpenGL Version 2 GLProfile profile = GLProfile.get(GLProfile.GL2); GLCapabilities capabilities = new GLCapabilities(profile);[/color] [color="#000000"] // The canvas is the widget that's drawn in the JFrame GLCanvas glcanvas = new GLCanvas(capabilities);[/color] [color="#000000"] // ERROR: Cannont instantion Renderer, addGLEventListener is The method // addGLEventListener(GLEventListener) in the type GLCanvas is not // applicable for the arguments (Renderer) glcanvas.addGLEventListener(new Renderer());[/color] [color="#000000"] // END ERROR[/color] [color="#000000"] glcanvas.setSize(300, 300);[/color] [color="#000000"] JFrame frame = new JFrame("Hello World"); frame.getContentPane().add(glcanvas);[/color] [color="#000000"] // shutdown the program on windows close event frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent ev) { System.exit(0); } });[/color] [color="#000000"] frame.setSize(frame.getContentPane().getPreferredSize()); frame.setVisible(true); } }[/code][/color] [color=#000000]Which gave me an error on the follow "[/color]Cannot instantion Renderer, addGLEventListener is The method addGLEventListener(GLEventListener) in the type GLCanvas is not applicable for the arguments (Renderer). Any help would be appreciated. I feel like once I get this set up, I would be on my way.
  2. [quote name='EricTheRed' timestamp='1298178793' post='4776569'] [quote name='Shadowwoelf' timestamp='1298173783' post='4776553'] If I pass by reference then I get into a terrible loop. [/quote] Could you describe more of what the problem is? Typically you would have something like ant.update(world), and the ant would figure out what it wants to do then performs that action. Where are you running into a loop? [/quote] Well this is how I have it so far. World.update(turn, board, width) which calls Square.update(turn, board, width) which then calls Ant.update(turn, board, width). Since this is Java I can't make it constant which prevents me from limiting the Ants interaction, unless I make all of the Square methods private and thus immutable... I am just getting confused as to how in simulations and games how different classes work and update.
  3. I am working on a bug simulation game and was wondering how do I effectively pass world data to the individual bugs. I have 5 classes. World, Squares, Bug(Abstract), Ant(extended from Bug), Spider (extended from Bug). World contains an 2d array of squares. Squares contains an ArrayList of Bugs. So I am wondering how do I convey the world to the bugs? If I pass by reference then I get into a terrible loop.
  4. Hi, I was wondering if xna supported pc networking that was independent of xbox live. Also if there was any networking tutorials based on xna.
  5. No, I meant that origin.x is equal to 0 so -0=0. What I am trying to achieve is pixel perfect collision detection. Quote: For a point c on the screen: { Find point c that is rendered in image A. If the pixel is non transparent { COLLISION! } } Basically I just use the inverse of the image to translate point c back into the color array of image A. Then I check the color array and if its not transparent then there's a collision. Basically its Riemer's tutorial, but reduced down to one point only. http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series2D/Coll_Detection_Overview.php
  6. Well in the first translation It's all 0,0,0 so even if its negative x it wouldn't matter. And I am inverting the matrix so I could take a screen coordinate and multiple it by the inverse matrix to find where it would land on the original image for perfect pixel collision.
  7. I am having some trouble with matrices. I think its simply the order of operation's that I am using for the matrices. Matrix thisSprite = Matrix.CreateTranslation(this.Origin.X,-this.Origin.Y,0)*//0,0,0 Matrix.CreateRotationZ(MathHelper.ToRadians(this.Rotation))*//-30 Matrix.CreateScale(this.Scale.X, this.Scale.Y, 1) *//1,1,1 Matrix.CreateTranslation(this.Position.X,this.Position.Y,0);//500,300,0 Matrix invertSprite = Matrix.Invert(thisSprite); Vector2 pos1 = new Vector2(mouseX, mouseY); Vector2 pos2 = Vector2.Transform(pos1, invertSprite); If I don't rotate the sprite then the matrix work's fine. So what am I doing wrong with this matrix?
  8. I was using Riemers tutorials and have been now trying to implement my own pixel perfect detection, but I have run into a problem in the rotation. If I rotate my image X amount of pixels the pixel perfect detection then fails, and I am not sure as to why. //What the zombies get initialized to. ZombieList.Add(new Sprite("Game/Zombie")); ZombieList[ZombieList.Count - 1].Position.Y = ZombieList[ZombieList.Count - 1].Height; ZombieList[ZombieList.Count - 1].Position.X = rnd.Next(0, 800); ZombieList[ZombieList.Count - 1].Origin.Y = ZombieList[ZombieList.Count - 1].Height; ZombieList[ZombieList.Count - 1].Velocity.Y = (rnd.Next(1, 10) / 100f); ZombieList[ZombieList.Count - 1].Rotation = 30; ZombieList[ZombieList.Count - 1].Scale = new Vector2(.5f); ZombieList[ZombieList.Count - 1].FadeInOut = true; //I get a point then I use the inverse matrix of the image and //then find out where it hits in the texture //If the .a >0 that means its not transparent and thus there is a hit. public bool TexturesCollide(float mouseX, float mouseY) { bool returnValue = false; Matrix thisSprite = Matrix.CreateTranslation(this.Origin.X,-this.Origin.Y,0)* Matrix.CreateRotationZ(MathHelper.ToRadians(this.Rotation))* Matrix.CreateScale(this.Scale.X, this.Scale.Y, 1) * Matrix.CreateTranslation(this.Position.X,this.Position.Y,0); Matrix invertSprite = Matrix.Invert(thisSprite); Vector2 pos1 = new Vector2(mouseX, mouseY); Vector2 pos2 = Vector2.Transform(pos1, invertSprite); if(pos2.X>0&&pos2.X<this.Texture.Width) { if(pos2.Y>0&&pos2.Y<this.Texture.Height) { if (spriteColorArray[(int)pos2.X, (int)pos2.Y].A > 0) { returnValue = true; //This returns when the point is non transparent } } } return returnValue; } Any help would be appreciated! thanks.
  9. This may seem like an odd question, but suppose I'm checking an array and I know that my code will sometimes be outside of the array domain. Which is better to do? Try{ Array[x].blah(); } catch{ } or if(x&gt;0&&x&lt;Array.width()){ if(y&gt;0&&y&lt;Array.Height()){ Array.blah(); } } Try seems a lot easier to code, but the nested If statement looks more professional.
  10. Quote:Original post by marc40000 Quote:Original post by Shadowwoelf Sorry this isn't game design related, but looking at your website I would suggest that you should try a different style or page layout. While this is not a common response, some people told me I should make the website look better. But what I should do conretely, I don't know. You suggest to change the whole style of the website? Make it look darker? I'm open to advices :) Quote: Otherwise I would agree with everyone else and just start with a small core of people and keep developing. Perhaps even have the community help make it better (Of course that has its own pros and cons). A small core of developers or a small core of players? Developer(s) is just me right now and most of players don't come back right now after some time or immediately. But maybe I should contact some of the players that spent more time in the game directly and ask them to test new features first when I implemented them. Maybe they'll come back to try them. Hmm.... Well here are some tips about the website design. -You should get rid of the giant yellow logo that says Play now, Forever Free! I've seen too many internet ad's that used a similar style so that ruins the experience. -Bikini girl=Eh. Its not really helping you. You should put in some guy in awesome armor or a battle in the background that's epic. -In the forums the "Confrontation Unlimited Community Board ... for those who prefer word over sword" Text blocks out the other logo next to it. -Right now with a resolution of 1024 I have to scroll to the side to log in. -Newbie guide: Giant wall of text. Consider using some pictures to illustrate. -All images on the website should go to the screen gallery. Example would be the bottom picture on the main page goes to the download screen. (I wanted a closer look at the picture though) -Remove the smilies on the web page in text. Doesn't help, may harm your image. -Maybe consider removing the wiki till there's something in it. You don't want people to come in to a blank page As for the game itself have a thread in your forums that ask what features people want now asap. Then just put like the top 5 and have a poll. Then you know what you should be working on to get more people interested. My other suggestion was to get players involved in creating content for the world. Being one person you are limited in what you can do. [Edited by - Shadowwoelf on March 5, 2010 12:59:01 PM]
  11. Sorry this isn't game design related, but looking at your website I would suggest that you should try a different style or page layout. Otherwise I would agree with everyone else and just start with a small core of people and keep developing. Perhaps even have the community help make it better (Of course that has its own pros and cons).
  12. I am now starting to develop a game and I occasionally look online for snippets/Tutorials on how I would do a certain function that I was stuck on. Then I modify as needed or improve. My question is: Are there any specific laws I should be worried about when programming?
  13. Oh wow! It was because the random seed was the same that it didn't work! I put it outside my for loop and it works fine now! Thanks a lot!
  14. That's the thing though. I can render as many as I want, but the only difference is I have to keep clicking on the mouse button. For some reason it doesn't like the for loop doing it for me though.
  15. So I tested this some more and changed the code a bit to eliminate variables that could cause this. for (int temp1 = 0; temp1 < gunList[0].amountShot; temp1++) { Random rnd=new Random(); BulletListAdd(rnd.Next(200, 600), rnd.Next(200, 600)); if (BulletList.Count > 1) { if (BulletList[temp1].Position == BulletList[temp1 - 1].Position) { int x23 = 2;//Debug point } } } So it should loop 25 times and since I'm making a new random object each time and than randomizing the point between 200,600 there should be no way that they are the same each time. But for some reason it STILL keeps giving me the same point as last time! BulletList[temp1].Position==BulletList[temp1-1].Position is still true! Can anyone tell me why it works when I have a break point and why it doesn't when I don't?