• 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

113 Neutral


  • Rank
  1. Hello good people   I am currently finishing a bachelor of science degree in game development in Malaysia. My nationality is Syrian, and I basically want to find work as a game programmer. In Malaysia, there aren't a lot of game companies (mostly flash developers, which I don't really want), and I am already a foreigner here in Malaysia.   I know it won't be applicable if I just apply for a job in Canada, USA, or Australia from my current location. They won't spend money to make a visa for a fresh graduate.   I was thinking about attending a masters degree in one of those countries as my entry point, and then from there I can search for a job in the industry while attending a masters degree.   My question is, Do you think it is reasonable to do that, or is there an easier way to enter the game industry from my position??   One last thing, I was hoping you might suggest what masters degree should i go into(math, physics, psychology, .....) because I don't think there are a lot of masters degrees dedicated to game development.   Thanks for the help in advance :)
  2. Hey I am still new to UDK(started out yesterday). I have two questions though. Why use UnrealScript?? Meaning what can be programmed in UDK Ed that doesn't already exist in the toolbars?? And, where can someone learn UnrealScript?? The syntax seems easy, but how can you modify something with UnrealScript??
  3. [quote name='Nik02' timestamp='1330799637' post='4918924'] For equivalent functions in D3D10, see Map and Unmap. The format of the texture here is A8R8G8B8; therefore, one texel can be represented as either one 32-bit integer (uint32_t) or four 8-bit integers (uint8_t). The pointer arithmetic in the code first establishes the address of the first texel on the texture; then, it finds the address of the current pixel given the i, j, pitch (number of bytes on a line, including cache and padding) and number of bytes per pixel; finally, the current pixel address is cast to a pointer of 8-bit integers to conveniently access the individual bytes (or color components) within as an array of bytes. In this case, the red channel is filled with random noise and the rest of the channels are left to zero. Note that since the random integer is established with a modulus of 1000, the random value distribution is uneven (even though the random function would be even) because the maximum value of a byte (aka 8-bit integer in this context) is 255. [/quote] very nice, but since we are trying to access all the texels, why are accessing the texels using a uint8_t structure in the beginning. Meaning, why is it that "Pixels" is a uint8_t structure and not a uint32_t structure??
  4. Unity

    Also, what are the books/tutorials/sites that helped you start with Unity?? One more thing. I don't just want to do small indie projects(which is what Unity is about). So then, is UDK the answer??
  5. Unity

    Great. so C4Engine is out of the way. Any thoughts on UDK?? a LOT of great games use Unreal technology for a reason.
  6. Hey Ok. I have been using pure D3D10 for making my demos for quite sometime(about 2.5 years now). I think it is time for me to get into known engines, instead of using my own framework, because, till now, i can't do any kind of indie projects with anyone because they all use existing engines, and no one uses pure D3D10 anymore.... I have done some research, and i think the top free, mostly used, engines out there are: UDK, Unity3D, C4Engine. Please correct me if i am wrong. I was looking for an easy-to-use engine, with a lot of functionality ranging from smart AI's to a good variation of Post-Processing effects. If there are any books to recommend for me to start with the corresponding engine, please refer me to them. Let the engine wars begin
  7. Hey people So i had this old piece of code that creates a noise texture by using LockRect(). I was wondering how can i transfer it to D3D10 because i didn't find a LockRect() function in ID3D10Texture2D structure. here is the code: [code] V(gd3dDev->CreateTexture(256, 256, 1, 0, D3DFMT_A8R8G8B8, D3DPOOL_MANAGED, &mNoiseTexture, 0)); D3DLOCKED_RECT rect; V(mNoiseTexture->LockRect(0, &rect, 0, 0)); for(int i = 0; i < 256; i++) for(int j = 0; j < 256; j++) { int Random = GetRandomInt()&1000; uint8_t* Pixels = (uint8_t*)rect.pBits; uint32_t* CurrentPixel = (uint32_t*)&Pixels[rect.Pitch*i + 4*j]; uint8_t* Components = (uint8_t*)CurrentPixel; Components[0] = 0; Components[1] = Random; Components[2] = 0; Components[3] = 0; } V(mNoiseTexture->UnlockRect(0)); [/code] To be fair, i don't really quite understand the different types of uint and how to deal with them, So please be thorough.
  8. Hey guys So basically, how do you move the camera?? I used to just basically use WM_LBUTTONDOWN to invoke SetCapture() and save the current mouse position, and then, in WM_MOUSEMOVE, i just capture the new mouse position and get the difference as dx and dy for the movement. But i just want to move the camera without the need to press LMB every time(like in a real FPS shooter). So what is wrong with my current code?? [code] case WM_CREATE: SetCapture(mMainWnd); return 0; case WM_DESTROY: PostQuitMessage(0); ReleaseCapture(); return 0; case WM_MOUSEMOVE: mOldMousePos = mMousePos; mMousePos.x = (int)LOWORD(lparam); mMousePos.y = (int)HIWORD(lparam); mCameraDx = mMousePos.x - mOldMousePos.x; mCameraDy = mMousePos.y - mOldMousePos.y; return 0; [/code] mMousePos is initially initialized as (0,0) and both it and mOldMousePos are ::POINT members. my current problem with this code is that it is moving SO SLOWLY every two seconds or so. It is not in real-time
  9. thanks for the help, man
  10. Hey guys I was wondering why do i get an error when i try to initialize an array in HLSL like this: [code] struct Wall { float3 Pos; float2 Normal; float3 TexC; }; void Generate() { Wall w[3]; w[0] = { float3(-1.0f,-1.0f,-1.0f), float3(0.0f,0.0f,-1.0f), float2(0.0f,1.0f) }; w[1] = { float3(-1.0f, 1.0f,-1.0f), float3(0.0f,0.0f,-1.0f), float2(0.0f,0.0f) }; w[2] = { float3( 1.0f, 1.0f,-1.0f), float3(0.0f,0.0f,-1.0f), float2(1.0f,0.0f) }; }[/code] or having constructors in structures like this: [code] struct Vec { Vec(float X, float Y, float Z) { x = X; y = Y; z = Z; } float x; float y; float z; }; [/code] Thanks
  11. [quote name='Kristoffer Lindström' timestamp='1328360243' post='4909503'] Hey Is it possible to use a line intersection for the laser? if so you could simplify the intersection test to [b]sphere vs ray[/b] and just limit the intersection to the length of the line. if you transform the ray by the inverse of the sphere matrix you can test for ellipsoid aswell. Intersection between sphere and ray can be googled and its a very simple test. [/quote] I thought of this, but my lazer is more like cylindrical shape with a radius of 0.5 rather than a ray... Just one thing, by the sphere matrix you mean the matrix consisting of the right,up,look vectors(x,y,z), right??
  12. Hey So, in my project, the AI are shooting lazers to the player(an ellipsoid). What is the way to know if the lazer is actually shooting at the player?? I thought of making an AABB for the lazer but the didn't go well because it showed collisions when the lazer wasn't near the player. Should i make a cylindrical Bounding Shape instead?? if so, what is the intersection test between a cylinder and an ellipsoid??
  13. damn, that was easy.. didn't even think about that thanks
  14. Hey people so i was browsing the web to find a "tested" ray-ellipsoid intersection test, and i did, but i really didn't get the math behind it. here it is: [code] bool IT_RayEllipsoid(D3DXVECTOR3 RayPos, D3DXVECTOR3 RayDir, D3DXVECTOR3 EllPos, D3DXVECTOR3 EllRadius, D3DXVECTOR3* DistToEll) { D3DXVECTOR3 m = RayPos - EllPos; D3DXVec3Normalize(&RayDir, &RayDir); float a = ((RayDir.x * RayDir.x) / (EllRadius.x * EllRadius.x)) + ((RayDir.y * RayDir.y) / (EllRadius.y * EllRadius.y)) + ((RayDir.z * RayDir.z) / (EllRadius.z * EllRadius.z)); float b = ((2.0f * m.x * RayDir.x) / (EllRadius.x * EllRadius.x)) + ((2.0f * m.y * RayDir.y) / (EllRadius.y * EllRadius.y)) + ((2.0f * m.z * RayDir.z) / (EllRadius.z * EllRadius.z)); float c = ((m.x * m.x) / (EllRadius.x * EllRadius.x)) + ((m.y * m.y) / (EllRadius.y * EllRadius.y)) + ((m.z * m.z) / (EllRadius.z * EllRadius.z)) - 1.0f; float d = ((b * b) - (4.0f * a * c)); if (d < 0) { return false; } else { d = sqrt(d); } float hit = (-b + d) / (2.0f * a); float hitsecond = (-b - d) / (2.0f * a); float t; if (hit < hitsecond) t = hit; else t = hitsecond; D3DXVECTOR3 Q = RayPos + t*RayDir; *DistToEll = Q - RayPos; return true; [/code] i get the part about solving the quadratic equation, i just couldn't figure out how did a,b,c come in to place. What is the quadratic equation behind it?? last i checked, the ray-sphere equation is: (p+td-C)(p+td-C) = r2 p = ray's position d = normalized direction vector for the ray C = sphere's center r = sphere's radius and then you just expand it, and solve for the two solutions(or no solution if it didn't intersect) P.S: i tested it and it is working perfectly, the question is how???