• 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

140 Neutral

About InfernoZeus

  • Rank
  1. Im coding in JOGL but i think the principles and most method names are still the same. This is a simplified version of another project. I want to be able to retrieve objects from an arraylist and draw them and then for new objects to added to to the arrayList at a later point. Can anybody help me please. import java.awt.BorderLayout; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.util.ArrayList; import javax.media.opengl.GL; import javax.media.opengl.GLAutoDrawable; import javax.media.opengl.GLCapabilities; import javax.media.opengl.GLEventListener; import javax.media.opengl.GLJPanel; import javax.media.opengl.glu.GLU; import javax.swing.JFrame; import com.sun.opengl.util.GLUT; import externals.glskeleton; public class TriangleDemo extends glskeleton implements GLEventListener, KeyListener, MouseListener { private GL gl; private GLU glu; private GLUT glut; private float deltaX = 0, deltaY = 0; private float spinX = 0, spinY = 0; private ArrayList<Triangle> triangles = new ArrayList<Triangle>(); private Triangle triangle1, triangle2; public TriangleDemo() { } public static void main(String[] args) { GLCapabilities caps = new GLCapabilities(); GLJPanel canvas = new GLJPanel(caps); TriangleDemo demo = new TriangleDemo(); demo.setCanvas(canvas); canvas.addGLEventListener(demo); canvas.addKeyListener(demo); canvas.addMouseListener(demo); demo.setDefaultAnimator(50); JFrame frame = new JFrame("Lego Brick :D"); frame.setSize(1000, 500); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(new BorderLayout()); frame.getContentPane().add(canvas, BorderLayout.CENTER); frame.setVisible(true); canvas.requestFocusInWindow(); demo.animate(); } public void init(GLAutoDrawable drawable) { GL gl = drawable.getGL(); glu = new GLU(); glut = new GLUT(); gl.glClearColor(0f,0f,0f,0f); gl.glColor3f(0, 0, 1); gl.glShadeModel(GL.GL_SMOOTH); gl.glDepthFunc(GL.GL_LESS); gl.glEnable(GL.GL_DEPTH_TEST); triangle1 = new Triangle(gl); triangles.add(triangle1); } public synchronized void generateTriangle(){ triangle2 = new Triangle(gl); triangles.add(triangle2); } public synchronized void display(GLAutoDrawable drawable){ GL gl = drawable.getGL(); gl.glLoadIdentity(); glu.gluLookAt(0,5,-15, 0,0,0, 0,1,0); gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); gl.glPushMatrix(); gl.glTranslated(0,0,5); gl.glRotated((double)spinX, 0, 1, 0); gl.glRotated((double)spinY,1,0,0); gl.glPushMatrix(); gl.glRotated(-25,1,0,0); gl.glScaled(0.5, 0.5, 0.5); for(int i =0;i<triangles.size();i++){ triangles.get(i).draw(); gl.glTranslated(2,0,0); } gl.glPopMatrix(); gl.glPopMatrix(); gl.glFlush(); rotate(); } public void displayChanged(GLAutoDrawable drawable, boolean modeChanged, boolean deviceChanged) { } private void rotate() { spinX = (spinX + deltaX) % 360; spinY = (spinY + deltaY) % 360; } public void reshape(GLAutoDrawable drawable, int x, int y, int w, int h) { GL gl = drawable.getGL(); if(h==0)h++; gl.glViewport(0,0,w,h); gl.glMatrixMode(GL.GL_PROJECTION); gl.glLoadIdentity(); glu.gluPerspective(40.0, (float) w / (float) h, 0.01, 200.0); gl.glMatrixMode(GL.GL_MODELVIEW); gl.glLoadIdentity(); } public void keyPressed(KeyEvent key) { } public void keyReleased(KeyEvent key) { } public void keyTyped(KeyEvent key) { } public void mouseClicked(MouseEvent mouse) { } public void mouseEntered(MouseEvent mouse) { } public void mouseExited(MouseEvent mouse) { } public void mousePressed(MouseEvent mouse) { switch (mouse.getButton()) { case MouseEvent.BUTTON1: generateTriangle(); break; case MouseEvent.BUTTON2: deltaX = 0; deltaY = 0; break; case MouseEvent.BUTTON3: if(mouse.isShiftDown()==true) deltaY = 1; else deltaY = -1; break; } super.refresh(); } public void mouseReleased(MouseEvent mouse) { } }
  2. Unity

    Does anyone have any experience with Crystal Space (http://www.crystalspace3d.org/main/Main_Page)? I'm trying to decide on an engine for a RTS game that I'm working on. I looked at Panda3D but was put off by the fact that it seems to be more oriented towards Python than C++.
  3. Tcl

    Are there any reference books online? I'm leaving on monday, and don't have time to order a book; it won't get here in time. Ben
  4. Tcl

    Hi, just got a summer job through my dad. Apparently I have to do some programming, write a program to do testing :S :P I found out that I need to know Tcl. Does anyone have any experience with it? Can you offer any tips? Tutorials? Things to read? Anything else? Ben
  5. Wow, much better explained than me:P I'm surprised my code was correct, haven't touched VB in years lol. PM me if you need any help...now, off to install V Studio
  6. Well, Visual Basic is different from BASIC. A blank project has a form, you can add a label to your form. Name it 'Label1'. Then in your code, you type: Private Sub Form_Load() Label1.caption = "Hello World" End Sub Press run, and when it loads, the label should say Hello World. Ben (Haven't used VB in the last couple of years, going to install V Studio 05 tomorrow, got this info of a tutorial. I'll check the code once I've installed it, and if you need any more help, I can give it then.)
  7. Ok, im going to follow the C# workshop, so i'm not going to have chance to learn any scripting language before then... If the chances of me ending up developing games is low, and im probably going to do some othepart of programming, are the scripting languages still as important? Or would it be better to learn c++ after C#, leaving the scripting til last... Ben
  8. I read somewhere that C++ was not used for video game development (i think in the introduction thread to the CPP workshop - it was a reply to the idea). Obviously, thats not true... If i were to start programming, with the hope of getting into the industry (i want to study Computer Science in Uni), i should start with C++ and C#, then maybe Java. Are Python, LUA and Ruby less important because they are scripting languages? Ben
  9. Hi, Can someone who works in the industry give me some advice? I'm interested in knowing which language is most used in the programming industry? for Video Games? for Software? for anything else? Ben
  10. So you want a random none-repeating sinusoidal wave, that when given the y-value only returns one x-value to you? You need a one-to-one function for that (one x-value gives out one y-value), however a standard sine wave is many-to-one function (many x values can give the same y-value). When you try to work out the x-value, from the given y-value, you will have problems because the y-value will give multiple x-values(this is called a one-to-many function - one y-value gives multiple x-values; this is theoretically not a function.) For a one-to-one function, basically the graph can never turn around, ie. the gradient can't go from positive to negative. Here the horizontal line only crosses the graph once, therefore only one x-value gives one y-value => It is a one-to-one function, and has an inverse. Here the horizontal line crosses the graph three times, therefore three x-value give the same y-value => It is a many-to-one function, and has no inverse. A randomly generated sinusoidal wave will not have an inverse function... ---- Hope I understood you properly: Quote:I need something that is based on a value and always has the same result like this if x=1 then y=5. y always returns the same value if x=1 get it? I assumed you were talking about inverses...if not, sorry to waste your time, and I hope i can answer your question, if you explain it slightly better... Ben