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

  • Rank
  1. 1.0f / pow(2.0f, n); Should work nicely :)
  2. You could try using the boost::function library with which you can mix function pointers with member function pointers :)´ If you just want the learning experience you could always write a functor of your own, it's not too much code for simple functors with low parameter counts, but it requires some template fiddling :)
  3. Hello! Thank you for your input! I actually got some colors by experimenting with the constants. So now it's a nice blue sky. However, it is blue no matter where the sun is. Do I need to change my coefficients manually depending on the sun angle? As far as I could tell the coefficients would cancel out based on the distance, but I can't get that in effect. Also I'm wondering where the zenith angle comes in place? As far as I can tell it is not part of the equation from the ATI-paper.
  4. Hello! I wasn't sure if I should revive this old thread, so I started this thread instead. I'm having trouble implementing the atmospheric scattering, the result is either a pitch black dome, or full white, or at best, a faint white at the suns position. I have tried several ways and techniques, but with the same result. Mostly I've been looking at Real Time Rendering of Atmospheric Scattering Effects for Flight Simulators and the ATI paper. But since nothing seems to help, I'm thinking maybe my constants are all wrong, or the scale is messed up.. Or am I missing something else? Here is the code for my cgFX. float4x4 WorldViewProj : VIEW_PROJECTION_MATRIX; float3 LightDir : LIGHTDIRECTION; float4 SunColorIntensity : SUNCOLORINTENSITY; float3 EyePos : EYEPOSITION; float3 BR = { 0.000000650, 0.000000610, 0.000000475 }; // : BETARAYLEIGH; float3 BM = { 0.00000125, 0.00000125, 0.00000125 }; // : BETAMIE; struct VS_INPUT { float4 pos : POSITION; float3 vnormal : NORMAL; float2 tex0 : TEXCOORD0; }; struct VS_OUTPUT { float4 pos : POSITION; float4 diff : COLOR; }; VS_OUTPUT VS(VS_INPUT input) { VS_OUTPUT output; // Transform position output.pos = mul(input.pos, WorldViewProj); float g = 0.3; float s = length(EyePos - input.pos.xyz); float3 F_ex = exp((BM + BR) * (-s)); float3 v = normalize(input.pos.xyz - EyePos); float theta = dot(LightDir, v); // (1-g)^2 / (1+g^2 - 2g*theta)^(3/2) float hg = pow(1.0-g,2.0) / pow((1.0+pow(g,2.0) - 2.0*g*theta), 1.5); float3 bethaR = BR * ((3.0/(16*3.14159)) * (1 + theta*theta)); float3 bethaM = BM * ((1.0/(4.0*3.14159)) * hg); float3 L_in = ((bethaR + bethaM) / (BR + BM)) * (1-F_ex); L_in *= SunColorIntensity.xyz; L_in *= SunColorIntensity.w; output.diff = float4(L_in,1); return output; } // PS float4 PS(VS_OUTPUT input) : COLOR { return input.diff; } technique T0 { pass P0 { LightingEnable = false; DepthTestEnable = false; CullFaceEnable = false; VertexProgram = compile arbvp1 VS(); FragmentProgram = compile arbfp1 PS() ; } } The LightDir is a normalized vector (normalize(0,2,5)), and the sun color is all white. The eye is placed at (0,10,0) and the skydome is of radius 100. Also, I've been trying to calculate the rayleigh scattering coefficient according to the formulae in the above article: BR = (8 * PI^3 * [n^2-1]^2) / (3 * N * l^4) l = (650nm, 610nm, 475nm) n = refractive index of air (= 1.0008?) N = molecular density (~2?) Now, using this yields very high values of BR because of the l^4 factor. Is this supposed to be measured in meters or in some other factor? Dividing by 0.000000650^4 seems bad to me. I would really appreciate any help :) [Edited by - Thex0 on April 5, 2006 7:27:18 PM]
  5. If you want an image loading library, check out corona. It comes with source as well and is very nice to use :)
  6. I would like to add something that many don't consider, but is VERY important. That is 'being able to work in a team' and 'being able to communicate and share your thoughts in a understandable way'. There is way too many programmers out there that is hardcore-developers, but just cannot work properly as a team, because they can't communicate properly what they do.
  7. My point was just to show how you could get it independant of container type, sorry :) How exactly are you calling the function? Edit: It should be called something like std::vector<int> myvec; InsertionSort(myvec, 0, 10);
  8. I'll hand you an example code, I hope it won't confuse you :) In this function you insert two iterators, which means you can sort not just a vector, but just about any container that defines a bi-directional iterator. So if you have typedef vector<int>::iterator VIT; you can call it with insertion_sort<int, VIT>(someVec.begin(), someVec.end()); template <typename T, typename iterator_type> void insertion_sort(iterator_type low, iterator_type high) { if(high <= low) return; iterator_type it1, it2; for(it1 = low+1; it1 != high; ++it1) { T a = (*it1); it2 = it1; while(a < (*(it2-1))) { (*it2) = (*(it2-1)); --it2; if(it2 <= low) break; } (*it2) = a; } }
  9. You would have to do (*iter)->getName() since it is a pointer that you store in the vector.
  10. Since all subclasses of AtomicExpression has an evaluate-method it should really be an abstract method in AtomicExpression. Why is it not allready? Otherwise you would have to cast each class to it's correct typ (Number etc..), which is not really recommended.
  11. We had a developer from Microsoft lecture at our school about game programming in C#, and he said that the OnPaint should be used.
  12. Adventure: Monkey Island series - Great adventure with lots of humor Prince of Persia (PS2/Xbox) - I've never played a 3D-game with better controls. The character performs lots of complex movements, yet the controls are quite easy and great levels. The graphics are also nice :) Silent Hill 2 - Horror adventure. The feel of this game is really unique, keeps you sleepless. Part 3&4 has to many enemies, part 2 just makes you think they are there :) Zelda series - I don't think any motivation is needed :) Zelda 2 is uber. Strategy: Civilization 2 - Actually the whole series, but I enjoyed the second part the most. The Settlers - The first part is the best game I've played, I would spend days building my kingdom, just watching the wheat fields sway in the wind :) Star Craft - Just great! Warcraft III - I love the way they use the heroes X-Com Apocalypse - Military tactics, base building, research, it has it all :) Total Annihilation - Totally massive battles leaving all the metal scrap behind FPS: Ghost Recon - Strategic combat, play it with friends, team vs. team. Doom2/Quake - The former for single player, the latter for multiplayer :) Sports: Sensible World of Soccer - Absolutely brilliant, the gameplay is so easy, but yet so hard to master, nothing beats playing a tournament among friends. Super Mario Kart - So much fun Tony Hawk series NFS Underground - I just loved driving around the huge town in 200Mph and upgrade the car :) RPG: Daggerfall - Freedom! It has a lot of flaws, like the dungeons could be immense, I once wandered a dungeon for more than a week and did not explore all of it. But the freedom to do anything is awesome. MMORPG: Well, if I'm going to recommend a game here it would be World of Warcraft for it's great environments and feel. But other than that it i
  13. Quote:Original post by evolutional I can't see .NET being the future for gaming just yet, not until consoles start supporting it Well, that is most likely going to happen with the new XBox, or the first XBox, as Microsoft is having a demonstration/lecture about .NET Game development for XBox at my school in about 2 weeks from now.
  14. Quote:Original post by Run_The_Shadows Is this your first MMO? [...] No, I've been playing a couple of others as well, DaoC, Tibia etc.. Sure they are no better, but I did expect a bit more from blizzard :) And someone really should come up with something new, they don't have to make thousands of quests, they could have made some larger quests instead where some puzzling/thinking is required. As it is now you just have to kill more and more enemies. I haven't done those beacon quests, but considering their quest system I can imagine it's something like "run from point A to B, then to point C, back to point A, over to point D and use item 1, then go to point B again and finally back to point A" The dungeons are quite fun, even though they feel a bit like "walk throug tunnel and grind", I haven't been to that many yet though, so I can't really say :) I would really like to se a MMORPG with a fun quest system and some exciting politics, I'm really tired of the "RPG's of eternal grinding".
  15. Well, I've been playing WoW lately as well, and I'm sickly tired of the static level system, and especially the quests, oh my god someone must have lost their imagination. So, I feel urged to describe an old MUD I used to play, I can't wait until its system is implemented in a MMORPG, basically it has alot of the ideas presented in this thread. Maybe someone might recognize it :) Briefly, nothing is presented in numbers, there is no such thing as classes, there is no traditional 'level up', ganking is not a problem and people are still very addicted to it, there is people who have played for nearly 20 years now :) Ok so first, nothing is presented in numbers: The character levels got names like Beginner ... journeyman ... adventurer ... veteran ... champion ... legend etc.. Also being a champion does not immediately mean you can beat a veteran, or even adventurer for that matter. The 'level' you are is based on your stats, there are six of them, strength, agility, constitution, wisdom, intelligence and discipline (bravery) which levels are presented like weak .. well built .. strong .. titanic etc.. and you can estimate how close you are to each (very far, far, halfway, close, very close), skills are presented in a similar way, with major and minor levels, i.e "apprentice student", "seasoned craftsman", "confident veteran", "superior guru" where "apprentice, seasoned.." is minor and "veteran, guru.." is major. No classes: You do not choose class, all general skills is available for everyone, but only to a certain 'level', say 30 or 40 out of a 100, and with skills and abilities comes the real power. Now to get higher skills and to get abilities you need to join a guild, the guilds is the big thing about the system, they are created by the people that make the game, but they are basically ruled by the players, and work pretty much like any organization. Some guilds are stronger than others, some are weaker, there is no accurate balance, the most dreaded mages are really terrifying, you don't want to get in a fight with them alone, but they don't abuse it, because if they do they get severely punished for it. Also you can't just go and sign up and start kicking ass, it's a long process getting in to the overpowered guilds, which also makes it an honor to get in. The guilds are alot about politics, some guilds are at war, and there is even an alliance formed by the players to join forces against the evil. This is really what I think is lacking in most MMORPGS, the real sense of politics, that the players control the world, and this way legends are made. "The old war between the knights and the army..", "When <name> was the ruler.." Also the ganking: It is not a problem because players know if they gank someone without reason, someone will find out, and it might get you punished by the guild, thrown out if done repeatedly or even get your character deleted if it is very serious.