• 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

122 Neutral

About arophous

  • Rank
  1. [quote name='ssrun' timestamp='1328551143' post='4910224'] ... [/quote] Thanks, am pretty comfortable with the math side, just didn't know which book to buy over another...
  2. Hi, I am interested in learning more about real time rendering in 3d but need to start from the bottom up. The problem is I am torn between these 3 books to start out with: They appear to cover the same kind of ground but I want to make sure: 3d Math Primer seems to be the standard choice - [url="http://www.gamedev.net/page/books/index.html/_/technical/math-and-physics-13/3d-math-primer-for-graphics-and-game-development-wordware-game-math-library-r226"]http://www.gamedev.net/page/books/index.html/_/technical/math-and-physics-13/3d-math-primer-for-graphics-and-game-development-wordware-game-math-library-r226[/url] The above has just had a new 2011 revision but renamed slightly (might actually be completely different), would it be worth getting that instead? [url="http://www.amazon.com/Math-Primer-Graphics-Game-Development/dp/1568817231/ref=cm_cr_pr_sims_t"]http://www.amazon.com/Math-Primer-Graphics-Game-Development/dp/1568817231/ref=cm_cr_pr_sims_t[/url] And there is Essential Mathematics for games and interactive apps: [url="http://www.amazon.co.uk/Essential-Mathematics-Games-Interactive-Applications/dp/0123742978/ref=pd_rhf_cr_p_t_1"]http://www.amazon.co.uk/Essential-Mathematics-Games-Interactive-Applications/dp/0123742978/ref=pd_rhf_cr_p_t_1[/url] Any ideas on which one as a first book in 3d math? My other question was that these are introductory, anyone got any advanced suggestions after these? Cheers, Aro
  3. Quote:Original post by capn_midnight What you're talking about would be a very basic application of Service Oriented Architecture to video games. There are plenty of games that already do in-game advertising, which would require the ability to load textures on-the-fly. Rainbow Six Vegas comes to mind as an example that does it well, while fighting down Fremont Street the billboards and signs all have real advertisements on them. As for dynamic content, I'm pretty sure Spore does this. Personally, based on what you've described so far, I would suggest you change your topic. As a CS dissertation goes, what you've described is rather underwhelming; there's not much Science left to explore in those areas. If you're at a loss for a project, you could pick up a few journals in your field of concentration (if you're interested in CG, SIGGRAPH publishes one), and find out what's going on. If this is an undergraduate research project, find a brand-new technique paper that someone else wrote, and duplicate their results. It's a perfectly reasonable project idea, fits well into the scope of undergrad research projects, and fulfills a need that is drastically under serviced. If this is a graduate level research project, hopefully scanning through the papers will give you an idea for where you can extend the state of the art. edit: ah, you must be working on an undergraduate project. You wouldn't have only a single semester to do graduate level research project. Heaven help you if you did. :) thanks capn_midnight, yes its undergrad, they are giving us 3 months solid to work on it :S. As to your suggestions I will look into SIGGRAPH, and the games will certainly need reviewing, lucky for me the gf has spore! I'm fairly glad this area has been covered in some detail, means I have a lot to start reading. One thing I do pose is perhaps extending this Service Oriented Architecture to include interaction (Event Driven Architecture?), such as click-&-buy, or even click and find, so for example in teaching games which take you to Wikipedia definitions of objects when clicked, outside the program. I noticed this was something Oracle and Sun were looking into as part of SOA 2.0. I will take this to my tutor, but I think I have finally started to understand what I need to do for my dissertation research, there is now lots to read up on :). cptn_midnight, your words prove to be invaluable :),
  4. Hello, I am a final year student studying Comp Sci and I about to start my dissertation in January. Topic: Interactive Dynamic Modelling and Texturing in 3d environments. The whole concept is to firstly to allow models and textures to be updated dynamically (imagine being on a tennis game and your racket changes to another brand not stored in the game but a database elsewhere). Lastly it is to allow some form of interactivity on these models. For instance you see someone in a virtual world wearing a cool baseball hat, you can click on it and buy it for you in the real world. My question is a simple one as I am partially stumped on research. I understand the areas I need to look into for developing such a system but is there anything current similar to this system which I have overlooked and can evaluate? Thanks in advance, Aro
  5. OpenGL

    thanks Bitshift, appreciate it :)
  6. Hello, I have been frustrating myself today with trying to get the camera/keyboard movement working in my program. It basically hacked bits of some tutorials which I am testing to make sure i can do certain parts of a project before i need to start it. I have managed to get some movement in different directions but am having a problem simply spinning on the spot from the camera perspective. Anyway here is the complete code bar the headers & 3ds loader class. Once i get the camera sorted I will be keeping it for re-use in other projects. #include <iostream> #include <stdlib.h> //Needed for "exit" function #include <windows.h> // Header File For Windows #include <gl\glut.h> // Header File For The OpenGL32 Library #include "structs.h" #include "3dsloader.h" #include <math.h> using namespace std; void handleKeypress(unsigned char key, int x, int y); void initRendering(); void handleResize(int w, int h); void drawScene(); void update(int value); void load3dModel(); const float BOX_SIZE = 15.0f; const float piover180 = 0.0174532925f; float heading; float _cameraAngle = 0.0f; float _angle = 90.0f; //The rotation of the box float xpos; float zpos; obj_type object; GLfloat yrot = 0.0f; // Y Rotation GLfloat walkbias = 0; GLfloat walkbiasangle = 0; GLfloat lookupdown = 0.0f; GLfloat z=0.0f; // Depth Into The Screen GLfloat xtrans = -xpos; GLfloat ztrans = -zpos; GLfloat ytrans = 0.0f; //-walkbias-0.25f; GLfloat sceneroty = 360.0f - yrot; void cameraUpdate(int direction) { if( direction == 1) { //look left sceneroty += 0.5f; //xpos -= 1.0f; //now redraw the screen, but how glMatrixMode(GL_PROJECTION); glRotatef(sceneroty,0.0f,1.0f,0); glTranslatef(xtrans, ytrans, ztrans); return; } if( direction == 2) { //look right sceneroty -= 0.5f; //xpos -= 1.0f; //now redraw the screen, but how glMatrixMode(GL_PROJECTION); glRotatef(sceneroty,0.0f,1.0f,0); glTranslatef(xtrans, ytrans, ztrans); return; } if( direction == 3) { //move foward xpos -= (float)sin(heading*piover180) * 0.05f; zpos -= (float)cos(heading*piover180) * 0.05f; if (walkbiasangle >= 359.0f) { walkbiasangle = 0.0f; } else { walkbiasangle+= 10; } walkbias = (float)sin(walkbiasangle * piover180)/20.0f; return; } if( direction == 4) { xpos += (float)sin(heading*piover180) * 0.05f; zpos += (float)cos(heading*piover180) * 0.05f; if (walkbiasangle <= 1.0f) { walkbiasangle = 359.0f; } else { walkbiasangle-= 10; } walkbias = (float)sin(walkbiasangle * piover180)/20.0f; return; } if( direction == 5) { //look up } if( direction == 6) { //look down } } int main(int argc, char **argv){ //Initialize GLUT glutInit(&argc, argv); glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize(800, 600); //Set the window size //Create the window glutCreateWindow("Basic 3ds loader - James Birchall"); initRendering(); //Initialize rendering //Set handler functions for drawing, keypresses, and window resizes glutDisplayFunc(drawScene); glutKeyboardFunc(handleKeypress); glutReshapeFunc(handleResize); glutTimerFunc(25, update, 0); //Add a timer glutMainLoop(); //Start the main loop. glutMainLoop doesn't return. return 0; //This line is never reached } //Called when a key is pressed void handleKeypress(unsigned char key, //The key that was pressed int x, int y) { //The current mouse coordinates switch (key) { case 27: //Escape key exit(0); //Exit the program case 'a': //turn left cameraUpdate(1); break; case 'd': //turn right - seems to be just rotating the object... cameraUpdate(2); break; case 'w': //move foward cameraUpdate(3); break; case 's': //move back cameraUpdate(4); break; case 'z': //lookup cameraUpdate(5); break; case 'x': //look down cameraUpdate(6); break; } } //Initializes 3D rendering void initRendering() { glEnable(GL_DEPTH_TEST); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glEnable(GL_COLOR_MATERIAL); Load3DS (&object,"spaceship.3ds"); //change to load multiples later on } //Called when the window is resized void handleResize(int w, int h) { //Tell OpenGL how to convert from coordinates to pixel values glViewport(0, 0, w, h); glMatrixMode(GL_PROJECTION); //Switch to setting the camera perspective //Set the camera perspective glLoadIdentity(); //Reset the camera gluPerspective(45.0, //The camera angle (double)w / (double)h, //The width-to-height ratio 1.0, //The near z clipping coordinate 200.0); //The far z clipping coordinate } //Draws the 3D scene void drawScene() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear The Screen And The Depth Buffer glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(0.0f, -7.0f, -20.0f); //where the camera is GLfloat ambientLight[] = {0.3f, 0.3f, 0.3f, 1.0f}; glLightModelfv(GL_LIGHT_MODEL_AMBIENT, ambientLight); GLfloat lightColor[] = {0.7f, 0.7f, 0.7f, 1.0f}; GLfloat lightPos[] = {-2 * BOX_SIZE, BOX_SIZE, 4 * BOX_SIZE, 1.0f}; glLightfv(GL_LIGHT0, GL_DIFFUSE, lightColor); glLightfv(GL_LIGHT0, GL_POSITION, lightPos); //take this out and do it for projection //glMatrixMode(GL_PROJECTION); //glRotatef(lookupdown,1.0f,0.0f,0.0f); //glRotatef(sceneroty,0.0f,1.0f,0); //glTranslatef(xtrans, ytrans, ztrans); //include drawing here for model 3ds load3dModel(); glutSwapBuffers(); //Send the 3D scene to the screen } void update(int value) { _angle += 2.0f; if (_angle > 360) { _angle -= 360; } glutPostRedisplay(); //Tell GLUT that the scene has changed //Tell GLUT to call update again in 25 milliseconds glutTimerFunc(25, update, 0); } void load3dModel(){ int l_index; glBegin(GL_TRIANGLES); // glBegin and glEnd delimit the vertices that define a primitive (in our case triangles) for (l_index=0; l_index<object.polygons_qty; l_index++) { glColor3f(1.0f, 0.0f, 0.0f); //----------------- FIRST VERTEX ----------------- // Coordinates of the first vertex glVertex3f( object.vertex[ object.polygon[l_index].a ].x, object.vertex[ object.polygon[l_index].a ].y, object.vertex[ object.polygon[l_index].a ].z); //Vertex definition //----------------- SECOND VERTEX ----------------- // Coordinates of the second vertex glVertex3f( object.vertex[ object.polygon[l_index].b ].x, object.vertex[ object.polygon[l_index].b ].y, object.vertex[ object.polygon[l_index].b ].z); //----------------- THIRD VERTEX ----------------- // Coordinates of the Third vertex glVertex3f( object.vertex[ object.polygon[l_index].c ].x, object.vertex[ object.polygon[l_index].c ].y, object.vertex[ object.polygon[l_index].c ].z); } glEnd(); glFlush(); // This force the execution of OpenGL commands } Does anyone know whats going wrong? Cheers, Aro
  7. hehe! im new to this modelling stuff, was really just playing about with this one, thanks Zero, i will make a point to check poly counts, especially if i want to use it for any real time stuff ;) & thanks cloud i will tone it down for use in labs! Cheers, Aro
  8. oh, thanks, sorry :) Aro
  9. Hi everyone! I have just got into the lab at uni and realised they havn't got round to installing 3d studio max yet, instead blender... Is anyone able to convert the following file and PM me the location? I would be very greatful! spaceship2.max Thanks, Aro
  10. never mind, i had an idea, a hunch and have found that the exe's are stored in the work directory unless changed...sorry bout that... happy programming :)
  11. Okay, what i should of said then is...how come my Borland Turbo Pascal 7.0 compiler will not make .exe files...it only makes .bak which cannot be run.
  12. I have started programming in Pascal and so far i seemed to have a good concept of the language and can make programs from it, i only have one tiny problem... Does anyone know how i would convert the .pas files or .bak files into a .exe file. Its just so i can test my programs without the Pascal enviroment...oh yeh im a new to this forum and i have a game currently under development but it looks like it will take a while. Thanks