XNA Video Game with XNA. Microsoft® XNA® is composed of industry-leading software, services, resources, and communities focused on enabling game developers to be successful on Microsoft gaming platforms. Create games for the XBox 360
Creators.XNA a community all about games - created by you, played by everyone
I recommend you watch all these before you start even thinking about coding:= Game Development: Where to Begin From YouTube GyroVorbis, (Read the description for more helpful coding links) :-
Moosader Games A game-development-oriented website containing open source games, applications, and web resources, as well as programming and game development tutorials, etc...
New tutorials, game projects, game reviews, piano playing and anything else will be posted on CoderRach YouTube Channel from now on. Currently, the channel only has a few updates of projects made over the past few months
Here are somea few of the excellent game programming examples:-
Moosader Games A game-development-oriented website containing open source games, applications, and web resources, as well as programming and game development tutorials, etc...
New tutorials, game projects, game reviews, piano playing and anything else will be posted on CoderRach YouTube Channel from now on. Currently, the channel only has a few updates of projects made over the past few months
Amitp's Game Programming Information. Bookmarks collected while working on games. As a result the set of links here reflects the types of things needed to know: only a few specific topics (not everything related to game programming), general ideas instead of platform-specific information (graphics, sound, compilers), and ideas and designs instead of source code.
Free Game Programming Libraries and Source Code Fancy developing your own games? The games source code, games programming libraries, games development kits and other utilities listed on this page may make your job easier.
The Game Creators are pleased to announce that their flagship C++ game development package, Dark GDK is now included free of charge with Microsoft Visual C++ 2008 Express, part of the Microsoft Visual Studio Express range..
Dark GDK offers you the power of DarkBASIC Professional, with complete integration into Visual C++ 2008 Express's development environment.
How to Build Asteroids with the Impact HTML5 Game Engine.
Learn how to build a simple space-based asteroids game using the Impact game engine, one of the more robust engines currently available. Over the past couple years or so there has been a dramatic rise in the number of HTML5 games around on the Web, thanks in no small part to the HTML5 gaming engines that are making their development much easier. In this tutorial, I'm going to show you how to build a simple space-based asteroids game using the Impact game engine, one of the more robust engines out at the moment. Impact is a commercial engine, so you'll need to purchase a license before you can use it, but that doesn't stop you from at least following along with the tutorial to get a feel for how it works. More HTML5 links. You'll also need these game assets within the tutorial, so I suggest that you download them now if you plan to follow along.
HTML5 Game Development Resources Learn HTML5 by diving in and writing games. Here’s a summary of links and resources for anyone who would like to get started.
DarkBASIC - The Ultimate 3D Games Creator. DarkBASIC allows you to create your own games, demos, slideshows, even business applications using the easy to understand BASIC programming language. Even if you've never coded before, just follow the in-depth tutorials and you'll be generating results in minutes! Harness the power of DirectX and make 3D objects come to life in just a few simple commands. For the first time ever, the power of the PC and Microsoft's game engine DirectX can now be controlled by everyday PC users. It's no longer the sole domain of the expert 'C' programmer. Anyone with a PC can now make 3D objects move around the screen interacting with other game objects and taking live responses from the game player's inputs.
The Game Creators delivering you affordable and cutting-edge game development tools. The products we've been building for over 8 years, and the companies we partnered with, all have one specific aim - to enable you to create whatever game you want on your PC. The process of creating your games should be fun, easy and not too heavy on the wallet. The products you need should not break the bank and there will be no more slaving all night over a hot keyboard just to get a simple 3D object onto the screen. With our products you can achieve impressive end results within a fraction of the development time and cost of other languages.
Gamedev community for game developers of all levels, from the green beginner to the seasoned industry veteran. Over 350,000 developers from around the world return here regularly to take advantage of our frequently updated developer news, thousands of articles and other resources, amazingly active forums, and most importantly to be a part of the growing international community of game developers. Gamedev Game Development :-
the 32 bits is to set the bit of higher resolution.
what happened was that when i open a window with glutInitWindowSize(600, 600), the window cover almost all the vertical space of my 1920x1080 pixels screen. is there a way to query opengl about the resolution of the window that i openned?
I got a snazzy new 64-bit laptop and am trying to get my old projects back up and running.
I'm trying to statically link with MSVC. I continually get linker errors (of the unresolved external symbol variety).
The GLEW distribution page's 64-bit link actually downloads glew32.lib, and similar files. I tried linking against these anyway, but to no avail. I searched for glew64.lib, saw that it does in fact exist, and downloaded it from a third party. Linking against this also appears to provide no effect.
I am aware that statically linking GLEW requires the flag one to #define GLEW_STATIC. I did this.
I am looking to create a 2D tile-based multiplayer game (similar to the Pokemon games for Game Boy Advance) in C++ and host it on this (Debian) VPS service. My intention is to do most of the coding on my Windows 7 PC in Microsoft Visual C++ and then import the MSVC project onto the Linux VPS with Code::Blocks. I want the game to be compatible with Windows. I'm aware of the resource limitations with that particular VPS plan and intend to use it only as a test server at first with later upgrades to handle the playerbase when the project is finished.
The question I'm getting at here is this: would a Debian VPS such as this one be suitable and compatible for my needs or would I need to bite the bullet and spend the extra cash on a Windows VPS? Should I go with a Xen VPS or should Virtuozzo be fine?
Check if currentletter is q, in which case insert a new Letter into nextheap containing u, and the same coordinates and pointer member as currentletter.
Restore the trail of currentletter:
Can someone explain what he means by this. I will be very grateful. Thanks.
As I begin the long journey to the ultimate goal of creating a new 2d game, I kind of want to to have a full fledged editor for my game. I already have a fully working with states, rendering, sound, physics, timers, etc.
I want to write an editor which allows me to easily create levels ,place game objects and test them. right now, I'm using the object oriented approach, but I wouldn't mind switching to a component based model if I have to.
Features I'd like to have in the editor:
+allows one to design levels wirthin the editor
Placing objects, tiles, decals, enemies, etc
+Provides a neat interface to load new types of objects (right now object data is stored in XML files, with a LUA script file path) and render them.
+Allows (some) level of scripting
I already have a very clumsy scripting-language-thingamajing using XML in an event - condition - action format.
+allows saving / loading level files
XML format again
+would be nice to be able to stop execution and get back to editing in an instant, but not a prerequisite.
+extensible / reusable / modular - would be nice if I don't have to rewrite the engine for every game I make
So, for all of you who have taken the pain to write a game editor, how hard is it actually? is it worth it? should I do it? or is a console app kind of editor enough?
Thanks all!
and PS- if there actually is a 2d engine which I have missed with all of these features, point me to that please
i am writing a program to render a julia set. i understand that when the program run, it always in a loop and render the image to screen. but i dont want the program to render anything when the user did not enter any command(pressing keys) because it take a lot of time to draw the julia set. i want it to render only after the user entered a command to go to a portion of the screen that the user wanted to zoom in. basically, i want the program to waits before do any rendering after the first rendering. any idea?
the other problem that i need your help is this : I used glReadPixels to store the screen in an array with GL_INT type. but when i glDrawPixels, the screen color changed but the shape of the image still look like it was generate before glDrawPixels. i suspect that the type is somehow changed between read and draw. how can i get the same colored image before glDrawPixels?
I'm trying to convert two axis rotations into Quaternion rotations. When I constrain the rotations to one axis i can get it to work properly, but it requires I multiply it by a second quaternion of 90degres to get it to work. Note, this code doesn't compile, I will have the whichever two I'm not using commented out when running.
if(cameraXRotate > 180) {
mult = -1;
}
/* rotation around the x axis*/
Quaternion cameraX = new Quaternion(mult * cameraXRotate * (float)(Math.PI / 180.0), new XYZ(1,0,0));
Quaternion camera = new Quaternion(90 * (float) (Math.PI / 180.0), new XYZ(0, 1, 0));
/* Rotation around the y axis*/
Quaternion cameraY = new Quaternion(-cameraYRotate * (float) (Math.PI / 180.0), new XYZ(0, 1, 0));
Quaternion camera = new Quaternion(90 * (float) (Math.PI / 180.0), new XYZ(1, 0, 0));
/* rotation around the z axis*/
Quaternion cameraZ = new Quaternion(cameraZRotate * (float)(Math.PI / 180.0), new XYZ(0,0,1));
Quaternion camera = new Quaternion(90 * (float) (Math.PI / 180.0), new XYZ(1, 0, 0));
Now, firstly, I'm not sure why I have to multiply by 90 to get all these to work, and I'm not sure why I have to reverse the rotation on the X axis if it's greater than 180. All I know, is that these seem to work properly on single axis rotation.
This is the standard rotation code in openGL for the cameraX and Y, the negative cameraX is deliberate-
Fri, 03 Feb 2012 23:21:30 +0000 - A long question with a likely long complicated answer. For context I am using OpenGL 3.3+.
I am already able to take a height field and generate a terrain. I've subdivided it into a quad tree structure for frustum culling. The method is simple and likely a performance killer. Each leaf in the quad tree has its own vertex buffer and index buffer (so VOA object in OpenGL). When I traverse the tree I end up having many draw calls (bad). There is no LOD yet.
What is the best approach here to gain some performance but also get LOD in there?
One approach would be to traverse the quad tree building a dynamic vertex buffer each frame. This will get me one draw call but seems awfully slow. It might solve problems with a giant list of vertices where I can queue up vertices up to some max, draw, then queue the rest and draw.
Another approach. I could use a global vertex buffer for the entire terrain (set once, reside on GPU). This single global vertex buffer seems problematic for large terrain. The height fields are very large, 2048x2048 for example. Each quad tree leaf can contain a set of index buffers, one for each LOD.
I believe each index buffer for each LOD is identical for each node. So I need to just store a small list of index buffers to select from when rendering a node.
This logic becomes circular as I try and choose between multiple draw calls or batching into fewer draw calls. Should this even be a concern.
I googled around a bunch, read some articles. There seems to be a ton of approaches. I became rather confused on when to combine what methods. I'm hoping someone here can scope my thoughts, push me towards one method to try out.
Any articles you have found useful covering this stuff would help.
Fri, 03 Feb 2012 23:08:02 +0000 - Are there any good cross platform libraries that supports ogl and dx? Something that can handle windows, window events and input..
I have been playing around with XNA for quite some time and although it is nice I decided I would give SlimDX a go for many reasons really. Sadly there arent many resources or examples out there for SlimDX, however it seems learning DirectX would directly benefit me in SlimDX (a common statement on App hub and SlimDX homepage).
I decided to open a few beginner examples in the DirectX SDK and was surprised to see a shocking amount of files being opened, sadly I have no C++ knowledge so I guess it is no surprise that external dependency folder and other folders flooded with headers confused me.
I figured they were as the name suggest external things I could ignore, or at least I hope so, anyway the main part of these apps had an enormous amount of code, making it feel like I was going to see something 'cool', sadly when I ran it is very basic stuff (I say that in a XNA sense of what one could do with that many lines of code). Now I dont particular understand the code and I am not criticising C++ in any way, but if learning DirectX would help me with SlimDX would that mean game programming on SlimDX would be just as verbose? I am thinking no but then comments like "SlimDX is a DirectX wrapper, if you can code in DirectX you can code in SlimDX" is worrying me.
I had the chance to look at the SlimDX examples, they were very simple but didnt have massive amounts of code, of course I cant really compare the examples to DirectX, I guess in a way my question is if I written a game in SlimDX would it be just as verbose as C++/DirectX?
Fri, 03 Feb 2012 22:36:10 +0000 - How i can back to window mode with ChangeDisplaySettings
for full screen i use CDS_FULLSCREEN
but cant find enum for window mode
I've bought a new laptop with an nVidia Geforce GT540M card, which supports DX11, for some reason i can't seem to be able to create a device with feature level 11.0, i looked at the device caps and feature level 11 is listed there, i have the nVidia latest driver, though, there's a problem that the dxdiag (dx diagnostic tool) dialog shows info about intel HD graphics - so i'm somewhat confused, in the system tab it shows "DirectX Version: DirectX 11", but the Display tab shows the intel driver information.
is the problem from the hardware side or my code? here's how i create my device:
this fails with no errors from the debug layer, also, if i leave the feature levels to NULL, it works but the returned "level" is 10.1, what is the problem?
Fri, 03 Feb 2012 20:59:13 +0000 - Reason for asking: I've recently learned C# and really like it. It's just that I've been able to find ressources explaining well the BLC. I'm sure C++ also have similar libraries, but from how difficult it was for me to start learning Boost, I'd rather use C#.
So, I was wondering if that would be a good idea or there are hidden reasons, such as performance issues or lack of compatibility. I was planning on using C++ DLLs to make DirectX calls and use C# for game logic and pretty much everything else.
Fri, 03 Feb 2012 20:52:16 +0000 - at the mo i have a visual studio project .
its my 3rd year game engine project ,
i would like to convert it to a more engine like so that the insides can not be tampered with , by converting it to a .lib files and make a little wizard to start it up with the baasic start code for running the engine
were can i find this out pease
I need a pathfinding system in my game but i'm not sure what to choose and how much things should be added to it to make it work without eating my CPU. What i want is a large map, at least 512*512 tiles and have many layers of this size on top of each other. The map can be altered heavily and there will be many (100+) entities that will need pathfinding on this map and between these layers. The pathfinding does not have to be very accurate as in cutting corners. So what path finding system should i be using here, or at least start out with.
I did tinker on an idea but i'm not if this would work at all. Let's say i put Major nodes on each 10th tile in the X and Y axis. Then when finding a path just use these nodes to get as close a possible to the target and put them in a list. Then look for straight lines 2 to 4 straight lines till they pass that node in one axis. Now do the same for the next node. If the path can not be reached it should try a more sophisticated algorithm, but note that a major node can be in a place the entity can never reach so it should probably make a closest reachable tile as it's target. When finally near the last node use something like A* to get the entity to it's destination.
I already can see problems with this used in complicated mazes, and while my maps can be like that they will mostly have large halls and rooms. I can also see the entity walk into some dead end and then needs to traverse back using an expensive algorithm so this is still very flawed but might be improved with some ideas.
Fri, 03 Feb 2012 19:09:28 +0000 - Hello I'm trying to get my game to update the screen and draw graphics on its own I kind of made it happen but it still flickers which you can see in this video I made just too showcase this problem
Now I really don't know what is causing this its really strange if you look at the code you will know what I mean
Fri, 03 Feb 2012 19:02:29 +0000 - Hi there, i'm trying to make a Facebook flash game, similar to farmville (at least in looks) with a couple of my friends.
We will be using as3isolib but i have the following questions:
1. Which platform/application should i use to desing and develop the game?... Flash CS5, Flash Builder, or even eclipse
2. How can I use a repository (like svn) so that we can work in the same project simultaneously?
3. Any advice for a "fresh" game developer?
Fri, 03 Feb 2012 19:01:02 +0000 - Object A wants calculate an angle at which to Intercept Object B along its path of movement in an x,y system. Speed of A&B is known, as well as distance between the 2 and angle of movement of A&B. (and A can rotate freely)
Although this sounds rather simple to me, i have thought hard about it and couldnt come up with a solution so far. I thought the best solution would probably be to use a system of linear equasions, but i couldnt figure out how to do it right, as well as how to implement it in java. So the second best idea i had was to treat Time as a constant and use a recursive method that increments the time factor until a solution is found or until it would take too long.
3 vectors: (angles are absolute)
- direct line from A to B: length l, angle alpha
- line from target to contact point: length vB*Time, angle beta
- line from A to contact point: length vA*Time, angle gamma
Speed vA/B is 1 or 2 pixels per frame. (along the axis of movement, so the actual movement is cos/sin*v for either x or y)
Speed for Object A can be assumed to be 2 since it wants to actually catch B, speed for B can either be 1 or 2.
So i use 2 equations that add up the x,y components of the 2 first vectors to get to the third:
Since cosine and sine switch places depending on where the angle is facing the whole thing gets a little complicated.
(A->contact) = (A->B) + (B->contact)
X/Y: 2 * t * cos/sin(gamma) = l * cos/sin(alpha) + vB * t * cos/sin(beta)
At this point i have only constants on the right side of the equation and i can solve it. The problem that remains is, for alpha and beta i can easily find out whether to use sine or cosine for x/y, but for gamma i cant. So right now my method returns a [2]-array of sine of cosine, which i could use to find out the angle, but i dont know which is which. If either of the values is smaller than -1 or bigger than 1 the method calls itself again and increments t by 1, which i figured should work out for values of t that are too small to make contact possible.
Fri, 03 Feb 2012 18:26:34 +0000 - I'm working on yet another probability problem which I've just begun to tackle. I thought I would try to describe it here to help get me started in the right direction. Here's a general depiction of the problem.
I have a collection of decision trees that were developed to model a particular dataset. The decision tree generation algorithm uses evolutionary computation to develo the trees, so there is a heavy random component as well as selection pressure for the trees to find useful variables in modeling. I control the size of the trees so that they don't become excessively large, and presumably the variables are useful rather than just arbitrarily splitting the dataset as might happen with excessively large trees.
If I run this algorithm 1000 times, I get 1000 different trees due to the random nature. Occassionaly, I might see the exact same tree,some very similar trees, or even very different trees. The first question I asked was, if I take these 1000 trees and look for the variables that were chosen over the whole population, can I find variables that occur more often than would be expected by chance. The way I did this is as follows:
n = number of variables to choose from in the original dataset
n_dt = total number of variables chosen across all decision trees - esentially the sum of all nodes across trees
f = frequency of chosing a particular variable
In words, what is the random probabability that a particular variable was chosen f times given that I chose n_dt total times from n possible variables. Which boils down to this type of calculation:
P= nCx * p^x * q^(n-x)
or in this case:
P = n_dtCf * (1/n)^f * ((1- 1/n)^(n_dt-f))
This equation works perfectly in simulations with large enough sampling.
Not surpisingly, what I've noticed is that often some variables occur together showing the co-operative and non-linear nature of the data. So now I ask a new question, given my 1000 evolved trees, what is the probability that two variables occur in the same tree in the same relative position to each other? The second question seems quite complex and will need information on the size of the tree in which they occur, the sizes of all other trees in the sample, and all the possible ways these two variables could be positioned relative to each other in all possible trees. To simplify the question and the calcualtions, I think I can instead ask what is the probability that two variables occur in the same tree, regardless of relative position? This would effectively given a maximum probability value to the original question.
I'm just starting to contemplate this one, so any advice/insight is appreciated.
-Kirk
Edit: After thinking about it, is it really this simple?
np = total number of possible pairs from the original dataset (n^2)
tp_o = total pairs observed across all decision trees
p = total times this particualr pair was observed
P = tp_oCp * ( 1/np ) ^ p * ( 1 - 1/np ) ^ ( tp_o - p )
Now, how about getting the specific relative position involved?
Fri, 03 Feb 2012 18:22:10 +0000 - Hi guys, ive been writing a game in Java, that is single player at the moment. And I have posted it to my website. However, the downloadable version will happily save to the AppData, but the online version crashes. I have found that this is due to it being unsigned.
Do you guys have any idea on how to sign the applet for free (I know you have to pay for verisign etc, but you can self-sign an applet). Or just how to sign the applet. I have found soem tutorials, but they all seem to end in the same error, and most require compiling random test classes to a jar, I already have a packaged Jar.
Fri, 03 Feb 2012 17:54:50 +0000 - I want to move image from one coordinates to second coordinates. like from (0,0) to (485.354), but with an movement not a "teleport", should I move the image by angle? If yes, then what I need to use to do that?
Fri, 03 Feb 2012 17:53:36 +0000 - this question pertains to loading bitmaps into memory with Direct2D. basically i am planning to have a huge bitmap be the terrain for my 2d world. it's going to be too massive to load the entire thing into memory at once.
i know that you can load a large bitmap and then use source rectangles to only render a certain section of it, but i believe that still requires loading the entire bitmap at once.
Fri, 03 Feb 2012 17:50:15 +0000 - I learned most of about 2d game programming.
Ex Starting with 2d game programming libs like SDL. from website like lazyfoo.net and others.
In which concepts like loading images, drawing images.
Sprite concepts.
Then using sprites,its frames etc.
moving sprites.
Timing,collision detection.
Also developed games like Tic Tac Toe(my first game) ,Pong,Breakout,SpaceFight.
Now I want to shift on 3D world i.e 3D game programming.
From where I should start ??
I know that there 3D game programming libraries like DirectX or OpenGL.
Also I saw some basic 3d tutorial like drawing primitive shapes,rotating them,camera positions for 3d view etc.(directxtutorial.com)
But still some stuff like when I see moving players ,and one like creating 3D Room and travelling in them.
Basically how it works.
Just like in 2D we normally move with sprites what is analogous in 3D??.
How 3D scenes are created??.
I easily got learned with 2D game programming and its tutorials were also good. But I then stopped in 3D game programming.
So where to start and what are the best practices??. It can be anything but I am ready to learn??.
Fri, 03 Feb 2012 17:34:04 +0000 - Object A wants calculate an angle at which to Intercept Object B along its path of movement in an x,y system. Speed of A&B is known, as well as distance between the 2 and angle of movement of A&B. (and A can rotate freely)
Although this sounds rather simple to me, i have thought hard about it and couldnt come up with a solution so far. I thought the best solution would probably be to use a system of linear equasions, but i couldnt figure out how to do it right, as well as how to implement it in java. So the second best idea i had was to treat Time as a constant and use a recursive method that increments the time factor until a solution is found or until it would take too long.
3 vectors: (angles are absolute)
- direct line from A to B: length l, angle alpha
- line from target to contact point: length vB*Time, angle beta
- line from A to contact point: length vA*Time, angle gamma
Speed vA/B is 1 or 2 pixels per frame. (along the axis of movement, so the actual movement is cos/sin*v for either x or y)
Speed for Object A can be assumed to be 2 since it wants to actually catch B, speed for B can either be 1 or 2.
So i use 2 equations that add up the x,y components of the 2 first vectors to get to the third:
Since cosine and sine switch places depending on where the angle is facing the whole thing gets a little complicated.
(A->contact) = (A->B) + (B->contact)
X/Y: 2 * t * cos/sin(gamma) = l * cos/sin(alpha) + vB * t * cos/sin(beta)
At this point i have only constants on the right side of the equation and i can solve it. The problem that remains is, for alpha and beta i can easily find out whether to use sine or cosine for x/y, but for gamma i cant. So right now my method returns a [2]-array of sine of cosine, which i could use to find out the angle, but i dont know which is which. If either of the values is smaller than -1 or bigger than 1 the method calls itself again and increments t by 1, which i figured should work out for values of t that are too small to make contact possible.
Fri, 03 Feb 2012 16:26:22 +0000 - I've succesfully implemented a 2D camera class in XNA , and now I want to implement the possibility to have 2, 3 or 4 camera's, that I can resize and place on the screen at will.
These are the relevant functions of my current camera:
the getTransformation function returns a matrix, based on the position, zoom and rotation of the camera. in level.Draw, all the Texture2D's are drawn on their world positions.
This completely works with one camera, but now I'm trying to implement multiple camera's
I want to be able to set the size of the image of the camera that it takes on screen, and it's position on screen. So that I can do things like: have a small zoomed out camera inj the corner of the screen, or a zoomed in camera in the middle.
I already just tried draw a second camera over it, but there are some problems
I have two questions about this:
1. How do I make sure that the small camera in the corner does not overdraw the main camera?
2. Is it a good idea to just have each camera do : spriteBatch begin and end, so that spritebatch will begin and end 4 times a frame if there are 4 camera's?
3. How do I determine the position on screen the camera is drawn on?
Fri, 03 Feb 2012 16:18:15 +0000 - So, I'm rewriting some of my old engine code to try to restructure it so its not such a mess.
Right now, my basic setup dispatches a number of events, namely, things like:
void Update(double dTime);
void Draw();
void Draw2d();
void MouseClick(sf::Mouse::Button button, sf::Mouse::State state, int x, int y);
void MouseMoved(int x, int y, int dx, int dy);
void MouseDragged(int x, int y, int dx, int dy);
void MouseWheel(int dir);
void KeysDown(sf::Event::KeyEvent key);
void KeysUp(sf::Event::KeyEvent key);
void Resize(int w, int h);
void FocusChanged (bool gained);
These functions used to be called in a trickle-down way, where my Program class, which gets the originals, would call, say, the Update function of the Game class, which would call the update for the terrain rendering class, which would call each individual object's update, and so on. You get the picture.
Then i started thinking in a different way - what if my Program class called the Update on some EventHandler class, and that EventHandler class would allow for anything to Register with it, to receive these events. So, I'd have an abstract UpdateListener, and for a class to receive the update calls, it would do something like:
class A : public UpdateListener
{
public:
A() { EventHandler::I().Register(this); }
~A() {EventHandler::I().Remove(this); }
// override the purely virtual func of UpdateListener
void Update (double dTime);
};
The thing is, i see pros and cons for both ways of handling the event dispatching, and I can't decide. A short list:
Trickle-down calls:
+ Full control over what gets called. If we want to block off a lower component from receiving events, its easy
+ No singletons (singletons are evil - well, maybe)
+ No additional classes, inheritance or code required
- No clear definitions of what the update functions are expected to look like (i.e. was that MouseClick(button, state) or was it just MouseClick(button, state, int, int) ?)
- Must manually take care to call all the necessary event functions of each child class. (see the sheer number of them in list above)
Singleton approach:
+ Clear cut definitions of what the functions need to look like
+ Each object takes care of itself for what it needs (drawing, updating, mouse, keyboard, etc)
- Singletons are evil
- Little to no control over blocking events from reaching child objects - the only thing to use would be adding a bool for event consumed, but then it depends on the registration order to the singleton
There's always the hybrid approach - for instance, I make big components like the terrain renderer register themselves, and then have them call all the necessary functions of their children, etc. This eliminates some downsides of using a singleton to which to register, and some of the trickle down method, but it still bugs me.
So, I'm curious, how have other people handled such a problem?
Fri, 03 Feb 2012 15:32:45 +0000 - Hi everyone,
My code below is working, with a DeclarationUsage.PositionTransformed.
Now i want to add a camera, so i need to use DeclarationUsage.Position, But, even if i'm not doing anything, (I'm not modifyinf the position, and applying a fixed color to the pixel, nothing append ...
Does anyone see something wrong ?
My Vertex struct
public struct VertexTexture
{
public Vector4 Position;
public Vector2 TextureCoord;
}
Fri, 03 Feb 2012 15:08:43 +0000 - Ok, i got movement and a sprite. how do i move it right and it shows the right image and when i move it left it shows the image facing left and down and up?
Fri, 03 Feb 2012 15:07:57 +0000 - Wich is the impact of dynamic memory management in C++ when writing games?
Using pointers, shared pointers objects, safeness about that. Correct ways to do that.
I know there are many things that must taken into account:
Ease of debugging, performance, avoiding leaks.
Wich strategies should be implemented for example in a game engine or a game framework?
I'd like to listen your opinions about that and about most common implementations.
what about a comparison of:
-manual reference counting (drop, grab).
-SharedPointer<someclass>
Fri, 03 Feb 2012 14:36:28 +0000 - I have a struct that I want to xor with a key before saving and then xnor back after loading.
For some reason the first xor and xnor does not produce the original results. But an additional call will. The problem appears to be related to the sign bit.
Here are the two functions
void XOR(unsigned char *data, unsigned int length, const string& key)
{
for (int k = 0, v = 0; v < length; v++)
{
data[v] = data[v] ^ key[k];
k = (++k < key.length() ? k : 0);
}
}
void XNOR(unsigned char *data, unsigned int length, const string& key)
{
for (int k = 0, v = 0; v < length; v++)
{
data[v] = ~(data[v] ^ key[k]);
k = (++k < key.length() ? k : 0);
}
}
Fri, 03 Feb 2012 14:19:38 +0000 - function foo(a)
-- ...
return a, b
end
I got this function which returns a and b. Is it possible to register a C function using lua_register() that returns multiple values the same way? Or should I resort to push a table to the stack instead?
I'm integrating Gwen (Gui system) in my engine. I'm using Open GL 3+ (without fixed pipeline, all in the shaders).
I have a problem drawing a single pixel because it's really SLOW. What I'm doing now is drawing a rectangle with startX = endX and startY = endY, but when the Gui have to render many single pixels (ex: Color pick up box) the frame rate drops down.
Is there any efficent way of doing this?
Fri, 03 Feb 2012 12:52:26 +0000 - I made a simple box in 3Dstudio max and exported it with KW X-port plugin in .X format. Now I'm loading this mesh in my Direct3D project and calculating the bounding sphere of it like this:
m = Mesh.FromFile(My.Application.Info.DirectoryPath & "\Data\Models\Box.X", MeshFlags.Managed, DEV)
Using vb As VertexBuffer = m.VertexBuffer
Dim vertexData As GraphicsStream = vb.Lock(0, 0, LockFlags.None)
objectRadius = Geometry.ComputeBoundingSphere(vertexData, m.NumberVertices, m.VertexFormat, objectCenter)
vb.Unlock()
End Using
Now the problem is that I'm getting some weird results as center and radius:
Fri, 03 Feb 2012 10:34:24 +0000 - A couple months ago I began programming a 3d modeling and animation tool in Java with jogl as the api for rastering. The reason I am posting about it is I would like to make it better. I have a lot of ideas on how to improve it, but I would like some critique and suggestions. One design choice I made some would disagree with. I allow only the formation of quads as faces, triangles and n-gons cannot be created. The scene can be viewed either in perspective or orthographically. Use of textures on the model in the scene can be toggled. Geometry can be viewed as wireframe, flat or smooth. There are currently 6 different modes available in the software.
Object Mode:
Allows for creation of primitive objects (plane, circle, box, cylinder, sphere)
It will support importing/exporting models (.x, .3ds, .obj)
Edit Mode: Currently all objects other than the selected one are not visible in edit mode. The transformation of the mesh is not applied, the vertices are rastered with their raw position data.
Extrusion of vertices, edges and faces.
Edge loop creation and selection
Translation, rotation, and scaling (can be constrained to an axis)
Multiple faces can be filled at the same time. For example if you had cylinder with a section taken out of it, selecting the loops and pressing 'f' would automatically fill in the gap. (it does not always work the way you envision it because of arbitrary potential configurations of faces)
Texture Mode: The screen splits into a 3d view and a texturing panel. The uv coordinates of selected geometry appear in this panel. When an image is loaded, it is applied to any currently selected faces.
Supports unwrapping from perspective and an individual face basis. By individual face basis, I mean it uses the face normal to orient and fill the maximum space possible on the texture. There are many ways of unwrapping models, but I am not familiar with the algorithms.
I am planning to be able to paint directly onto the model once it has been unwrapped. There will still be access to 2d texturing tools in the software. You will also be able to use images to projection paint onto the model.
Bone Mode: Bones can be viewed as octahedrons or sticks. Only one bone hierarchy is permitted per object.
Allows for creation of bones by extruding once a skeleton is added.
There are caps at the end of each bone. Moving the caps will change the head position of the selected bone and the tail positions of all the children.
Grabbing the body of bone and moving will affect the offset of the bone, populating down to the children.
Weight Paint:
After selecting a bone you can click and drag over the mesh coloring it proportionally to the influence on each vertex. Green means there is zero influence and red means full influence.
Bones can be posed by rotating to examine the effect of the current weighting on the rig.
Animate Mode: Poses made in weight paint mode persist in animate mode and vice versa. The screen splits into a 3d view and an animation panel resembling a table. The animation panel contains data about the current animation. The first column contains the names of each bone in the selected object's skeleton. The first row displays frame numbers. Keyframes show up as dots in the corresponding frame column.
The dots can be moved into a different column to change the frame in which those bone poses should reside. They may also be deleted.
I need to write code for IK constraints.
This mode is most recently under construction.
Any feedback about potential changes or additions to the project would be helpful. I am not very familiar with the leading technologies, mostly due to their cost. This will be a continuously improved software as new ideas are fed into it. Ideally I want to be able to evolve this project into a fine grained graphical level creation tool for making my games. It spurred from tediously hard coding constraints and properties of physical elements in a game (ragdolls). I want to be able to generate all that data graphically and export it as one file to save time and headaches.
Fri, 03 Feb 2012 09:25:47 +0000 - so i was developing a physics system, then i feel the necesity to acces the gpu memory from the shaders to change the vertex buffer fast after moving an object, so i started searching and i find the stream output step in the shaders, so i incorporated this step in my program, modifiying the step because i am still not using the geometry shader as the title of this topic says,i writted all the lines of codes required to do this correctly, the problem came when i runned it in debug mode, the program wasnt going further than the D3DX10CreateEffectFromFile(), it wasnt reading my .fx file, so i started searching for the promen and then i realize that when i added the line:
VertexShader vss = CompileShader( vs_4_0, VS2() );
the D3DX10CreateEffectFromFile() wont read the file, so i want someone to tell me whats the problem, is it a library? what i am missing, the libraries i am using are these:
#include <windows.h>
#include <d3d10.h>
#include <d3dx10.h>
#include "resource.h"
#include <dinput.h>
i am not using DXUT i know the advanceParticles sample from the SDK uses this line and the sample works when i run it from there.
So what i am doing at the end of the .fx file just to prove that that line isnt working is this:
VertexShader vss = CompileShader( vs_4_0, VS2() ); ---> this is the line that makes the file unreadable
technique10 Pa
{
pass P0
{
SetVertexShader( vss ) );
SetGeometryShader( NULL );
SetPixelShader( CompileShader( ps_4_0, PS2() ) );
}
}
And what i am finally wanting to do is this:
VertexShader vss = CompileShader( vs_4_0, VS2() ); ---> this is the line that makes the file unreadable
GeometryShader gss= ConstructGSWithSO( vss, "POSITION.xyz; COLOR.xyzw;VEL.xyz;MASS.x" );
technique10 Pa
{
pass P0
{
SetVertexShader( vss ) );
SetGeometryShader( gss );
SetPixelShader( CompileShader( ps_4_0, PS2() ) );
}
}
but without that first line working this final code wouldnt work.
Fri, 03 Feb 2012 08:13:48 +0000 - I have coded for a directshow video player using slimDX direct3d9 but now I want to code the same video player using media foundation and EVR presenter to improve its quality.Can anyone please give me some link or code sample for a video player using Media foundation and EVR presenter using Directx SDk or Slimdxd SDk
Is there anyone who can guide me in the right direction (or article ). I want to generate UV mapping coordinates for my objects in code. So I would like to generate Plane, Box, Sphere, Cylinder etc. mapping for my objects in code. I am pretty sure there would be standartd algorithms out there to do this. I implemented my own algorithm for box mapping, but I am getting bad results on "edges" (where one vertex is projecting to one face of the box and the other vertex to the other face).
I included two images, one with the my generated mapping ("Incorrect Mapping.PNG") and one which it should look like and was generated by 3dsMax ("Correct Mapping.PNG").
Fri, 03 Feb 2012 07:31:49 +0000 - I've been coding a while and have been experimenting with ways to separate my code from devices that do not belong. In doing so, I've also tossed the idea around to create a game-logic framework that is independent from media libraries.
The idea is that I can write a game, reference a graphical device, and simply write adapter classes to interact with the commands given.
For instance, I'm currently using a node-based system to represent graphics. Initially, we have a sprite. We know that this sprite is going to draw somehow but we're not using a library to truly determine anything.
Instead, classes using this graphics will use Nodes that contain manipulative data that can be interpreted later:
Sprite *ghost; // Graphical representation of a ghost
Graphics_Device->insert(ghost); // Add it to the rendering list
....
class Ghost_Simple : public Ghost
{
Graphics::Drawable::Node *my_sprite = ghost->makeNode<PositionData>();
...
void update()
{
(PositionData*)my_sprite->getData()->setImgPos( getX(), getY() );
}
}
...
Logically, graphics are represented and the appropriate data (can be defined easily by users!) will define how these graphics will be used later:
// Visitor pattern
class GraphicsAdapterDevice : public GraphicsDevice
{
private:
SomeAPI::APIGraphics::device *device;
void onDraw(Sprite *spr, DrawData* data)
{
TransformableData* d = dynamic_cast<TransformableData*>(data);
if(d!=0)
{
device->drawImage(d->getImg(), d->getX(), d->getY()); // drawImage is part of some API
}
ColorData* c = dynamic_cast<ColorData*>(data);
if(c != 0)
{
device->drawImageColored(c->getColorRGB() ); // drawImageColored is part of some API...
}
}
void onDraw(Polygon *poly, DrawData* data)
....
}
Quickly you should be able to spot the smell. For one, a lot of dynamic casting to figure out what new data is being sent for these graphics to be interpreted. Secondly, every new image type needs to have a new function to draw it.
Another idea I had was to allow the class itself to handle how it was drawn, but it needed to be visited by the GraphicsDevice to know how to handle it. Then that would violate the ability for these classes to be logically represented and completely unusable in case the user decides to switch APIs.
In summary, I love the idea of representing graphics in such a manner that it exists almost as logic, yet separated from game logic, but it can be easily tied to a Graphics API. This code would be virtually portable anywhere and the only portions the coder would need to worry about is writing the adapter graphics device to render graphics correctly based on some API. (but have all the information they'll need to do so!)
I would appreciate the help getting this model represented correctly. Or perhaps I'm looking at it the wrong way.
Fri, 03 Feb 2012 06:17:56 +0000 - Hi All,
I am trying to understand and use stl bind2nd, but getting compiler error. Could some one please identify as what I am doing wrong.
Any help will be appreciated.
Thanks Kaz.
Fri, 03 Feb 2012 06:12:32 +0000 - hello guys well Im about to start the computer science career with a strongly game development oriented curriculum so here is my question I dont think that I will need to know too much geometry right? I think that I will need more geometric analyzis and stuff in the cartesian plane right? well btw Im studying for the admision exam so I want to priorize what I really need like physical and maths (non geomtry related) some advice please
Fri, 03 Feb 2012 05:34:03 +0000 - I'm designing a top-down twitchy space shooter a la Subspace/Continuum, and am in the process of doing research to plan my server architecture (built in C# with lidgren-gen3, communicating to a Unity Web Client for the game client -- very slick stuff). I'm primarily basing it off of the FPS model, with UDP packets sent at regular intervals to players (20-30 Hz). I have a number of questions regarding these packets.
In particular, I studied David Aldridge's Halo Reach GDC talk, where he talks about flow control and the server model, and I want to adopt something a little simpler to begin with. My simpler system goes a little something like this:
Client:
- Sends control information to the server
- Control information is immediately realized locally
- Other entities in the world are Interpolate based on past received state unless new state contradicts (dead reckoning, etc.)
- (Possible expansion: Receive other players' control input and use that for prediction)
Server:
- Receives control information from clients and modifies the world accordingly
- Each tick creates a new immutable state from the last, to avoid errors caused by update order
- Dispatches delta-compressed state updates to each client regularly (based on their last acknowledged received state)
- If bandwidth allows, dispatches events to justify change in state (weapon fired, bomb exploded, etc.)
- (Possible expansion: Distribute other players' control input to clients for prediction)
I plan on running at least two threads. These will be:
1 Communication thread:
- Handles sending data, and dispatching received data to wherever it needs to go
1..n Arena threads:
- Simulate a single arena's world model and state, receiving information from a communication thread
The arena threads might be multiple threads to manage different sectors of an arena, but let's assume that one arena is one thread.
There's the relevant details, now we're getting to my question. The Halo Reach server paradigm has a Flow Controller, which tells the game logic manager "I have this much room for a packet to send to player X, how would you like to fill it?" then the game logic manager prioritizes state updates and events, and returns a packing of that packet space based on what information is most important and relevant for player X. If I'm understanding that incorrectly, stop me here.
This is complicated with threads, since I'm guessing all of my communication will be through C# lockless queues. Receiving messages and telling the Arena thread about them is fine. The problem is, how do I say the following things (let's pretend this is a chat log between the Flow Controller and the Arena thread):
---
<Flow_Controller>: Arena thread, here's a packet for you of size N, time to fill it.
(i.e. How do I tell the Arena thread that it's time to send out messages, OR should the Arena thread constantly be sending out messages by priority?)
---
<Arena_Thread>: Flow controller, remember that low-priority state update I sent you a minute ago that you haven't sent over the network yet? Well, it isn't relevant now, so forget about it.
(i.e. Once a state update is already in the queue, how can the Arena thread invalidate it so it won't be sent out?)
---
<Arena_Thread>: Flow controller, remember that low-priority state update I sent you a minute ago that you haven't sent over the network yet? Well, here's a new state update about that same entity that's now really important, so forget about the original update and send this one.
(i.e. A state update that was previously enqueued as very low priority message is now really important and should be sent out ASAP.)
---
There's two ways of approaching this, as I see it:
1) 20-30 times a second, the Flow Controller tells the Arena thread that it's time to send a packet, and we can send x bytes for player X, and y bytes for player Y, etc. Once the Arena thread gets that message, it pauses simulating, picks the best messages to send to each player based on those size restrictions, enqueues them for the Flow Controller, and goes back to simulating. Problem: There will be a delay between when the Flow Controller asks for the packet, and the Arena thread gets around to filling it. The Arena thread also has to stop for a period of time (that grows with each connected player).
2) The Arena thread is constantly, asynchronously outputting messages with priorities, maintaining, updating, and deleting old messages to that at any time the Flow Controller wants it, there's a nice up-to-date list of messages to send out with correct priorities based on the current (or very recent) world state. Problem: Standard mutual exclusion nightmare. How does the Arena thread constantly update and maintain this list while the Flow controller is reading it and consuming messages it sent out? This sounds like a lot of locks, and performance compromise. The Arena thread will also have to maintain one of these lists for each player.
So, am I completely off-track here? I really like the idea of prioritizing messages and selecting the highest-priority messages to send to each player based on bandwidth. I'd like to implement it if possible, but if this sounds completely crazy, I guess I could just try the Quake3/Valve model. Any ideas on how to do this packet-packing problem with inter-thread communication would be quite wonderful. Thanks!
Fri, 03 Feb 2012 03:47:36 +0000 - I'd like to know what methods others have chosen to create an API for their engine. I have a couple questions to help get the ball rolling.
How do you organise your engine in the file system so that you can easily generate a copy of the source files required by the end user?
Do you prefer to use abstract interfaces for everything or do you export full classes and use PImpl idiom to hide implementation details and reduce virtual calls?
Currently my file system is arranged so that folders represent modules of the engine. IE.
However, at the moment it would be a manual process to go through each module and copy out appropriate headers into a replicate folder structure for use by the end user in their project. I'd like to find an automated way of doing this
I've been going down the track of exporting classes and using PImpl's but this does kind of make the engine code a little ugly-er and not as straight forward so I was questioning whether to go to abstract classes at the cost of potentially having a somewhat duplicate abstract interface for everything needed by the end user and suffering from virtuals.
Fri, 03 Feb 2012 02:43:04 +0000 - As the title states. The only solution I have come across is to create a wrapper class in C++ managed of the dll object. But honestly I dont know what that means(I do, but not technically). Could someone explain the conecpt in the thread title to me? Thank you.
Recently I have started a project of making tools for a game project of mine. One of those tools is a level/object editor. I want to be able to add a new script to extend the behaviors of an object that is created within my tool. What I'm thinking is there needs to be a template for that object class. In that object template it will call the script that was added and parse through it, adding behaviors to that current object. The scripts would be in C#, similar to Unity. I'm new to this so I was hoping someone might be able to point me in the right direction for this type of functionality. Such as, examples with similar functionality or some websites/books. A few moments ago I found an open source project called CodeWorker, which is a code parser and source code generator. I'm reading through it right now to make sure it's something I can use. My tools are WinForms with XNA. Thank you for the help.
Microsoft XNA Game Studio Express Library:
Learning resources, downloads, support, and community. Microsoft XNA is composed of industry-leading software, services, resources, and communities focused on enabling game developers to be successful on Microsoft gaming platforms.
Microsoft XNA Game Studio 3.0 Microsoft XNA Game Studio is a toolset that makes creating great video games for Windows-based PCs, the Zune digital media player, and the Xbox 360 console (with an active premium XNA Creators Club subscription) easier than ever.
.NET Framework
Ultimate Game Programming is dedicated to bring game programming tutorials and source code. Quite a number of Coding Demo's to download and try out for free. Various Languages.
Nordic. The mission of the Nordic Game Program is to ensure access to quality Nordic computer games for children and young people. Also Nordic Game search for Nordic game organisations or companies by name, field and/or country.
Open Dynamics Engine (ODE) An open source, high performance library for simulating rigid body dynamics. It is fully featured, stable, mature and platform independent with an easy to use C/C++ API. It has advanced joint types and integrated collision detection with friction. ODE is useful for simulating vehicles, objects in Virtual Reality environments and virtual creatures. It is currently used in many computer games, 3D authoring tools and simulation tools.
Simple DirectMedia Layer (SDL) A cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. It is used by MPEG playback software, emulators, and many popular games, including the award winning Linux port of "Civilization: Call To Power."
OpenGL 3D graphics language developed by Silicon Graphics. OpenGL support is built into Windows NT. You can see some examples by checking out the NT screensavers. Some 3D graphics accelerators have OpenGL acceleration built-in. When Windows 2000 was released, Microsoft started to use
DirectX to speed up 3D operations instead of OpenGL. Some games today use OpenGL, and some use DirectX.
Free Game Design Tools. With the new Nokia phone, free tools and lots of time on your hands (you do have lots of time on your hands?) you might want to build some fun games for your friends, family and even people who you don’t know, but might want to pay a dollar for the joy of sharing Christmas with your. If you live in a world with no Christmas, then think of another holiday or birthday. First of all, to make this work you will need a Windows 7 based machine (or Vista or XP) that when you run dxdiag, on the display tab (if you only have one hooked up then you will only see one display tab). Your driver model needs to be WDDM 1.1, not WDDM 1.0. More Moblie Programming links
MySpace Opens Offices To Social Gaming Developers. A MySpace
representative explained in an email to WebProNews, "MySpace is launching a pilot program that will bring social gaming developers in-house to create or
extend their game titles. The MySpace Games Lab is a part of our effort to support developers by providing rapid feedback and helping them quickly turn
around iterations of their game features." Also see Social bookmarks
JOGL. The JOGL project hosts the development version of the Java® Binding for the OpenGL® API (JSR-231), and is designed to provide hardware-supported 3D graphics to applications written in Java. JOGL provides full access to the APIs in the OpenGL 2.0 specification as well as nearly all vendor extensions, and integrates with the AWT and Swing widget sets. It is part of a suite of open-source technologies initiated by the Game Technology Group at Sun Microsystems
Game Programming. Join 124,808 Programmers for FREE! Ask your question and get quick answers from experts. There are 2,172 online right now! We've got more than 500 tutorials and 2,000 snippets.
Allegro.cc is the most comprehensive website on the Internet pertaining to the Allegro Gaming Library. The Allegro library provides C/C++ programmers low level routines commonly needed in game programming, such as input, graphics, midi, sound effects, and timing. It is cross platform and works with many different compilers.
Allegro game programming library Allegro is a cross-platform library intended for use in computer games and other types of multimedia programming. Project file releases :-
SourceForge.net: Project File Releases: Allegro game programming library
The world's largest Open Source software development website
Sun, 07 Jun 2009 10:42:27 GMT - Released at Sun, 07 Jun 2009 10:42:27 GMT by tjaden Includes files: allegro-4.9.11.zip (2429897 bytes), allegro-4.9.11.7z (1629952 bytes), allegro-4.9.11.tar.gz (2139498 bytes) [Download][Release Notes]
Sun, 03 May 2009 07:36:45 GMT - Released at Sun, 03 May 2009 07:36:45 GMT by tjaden Includes files: allegro-4.9.10.zip (2319793 bytes), allegro-4.9.10.tar.gz (2124387 bytes), allegro-4.9.10.7z (1627803 bytes) [Download][Release Notes]
Mon, 23 Mar 2009 12:48:34 GMT - Released at Mon, 23 Mar 2009 12:48:34 GMT by tjaden Includes files: allegro-4.9.9.zip (2336443 bytes), allegro-4.9.9.tar.gz (2144669 bytes), allegro-4.9.9.7z (1646062 bytes) [Download][Release Notes]
Mon, 09 Feb 2009 09:35:41 GMT - Released at Mon, 09 Feb 2009 09:35:41 GMT by tjaden Includes files: allegro-4.9.8.7z (1603415 bytes), allegro-4.9.8.tar.gz (2085426 bytes), allegro-4.9.8.zip (2257751 bytes) [Download][Release Notes]
Mon, 08 Dec 2008 12:28:35 GMT - Released at Mon, 08 Dec 2008 12:28:35 GMT by tjaden Includes files: allegro-4.9.7.7z (1683533 bytes), allegro-4.9.7.tar.gz (2232563 bytes), allegro-4.9.7.zip (2505788 bytes) [Download][Release Notes]
Sound (FMod) Firelight Technologies game audio systems.
Screaming Bee Te first online voice-changing clinic. The clinic is designed to help customers, who use MorphVOX voice-changing software, to optimize the sound of their online game voices.
Sploder is
online game software that allows people to create cool games and publish them on
the web. Sploder even allows you to easily put
Flash games on your site
without having to learn Flash.
Graphics Debugger in Visual Studio, (Game Debugging in Visual Studio 11),
is a debugging and analysis tool that captures detailed information from a Direct3D application as it executes. Direct X, DirectX Links. Metro style games and graphics-intensive apps present a huge opportunity for developers on new devices such as tablets. More Programming and Coding Links
Now anyone can build their ideal game in seconds. With just one click of a mouse, you can create a uniquely playable game without needing any programming knowledge or artistic skills at all.
Offering over 12 billion gaming options, The 3D Gamemaker opens up a whole new concept in gaming, providing fun for all the family.
Instant and amazing results in seconds
Create a variety of exciting game scenarios with over 360 pre-made scenes
Unity 3D Unity 3 is a game development tool that has been designed to let you focus on creating amazing games. Unity is the development environment that gets out of your way, allowing you to focus on simply creating your game. Developing for web, mobile, or console
FPS Creator sets a new benchmark in the game creation market by providing an easy-to-use yet highly flexible editing environment.
As its name implies this is a tool for creating action-packed FPS games with no programming or 3D modelling knowledge required.
Using an intuitive and visual Windows interface you literally paint your game world into the scene.
A vast range of 3D elements are included allowing you to paint hallways, corridors, gantries, walls, doors, access tunnels, ceilings, lifts, transporters, stairs and more. Segments intelligently attach themselves to each other - paint two corridor pieces side-by-side and they'll snap together seamlessly.
Switch to 3D mode and you drop in on your scene for pixel perfect placement of 3D entities. Place a light-switch on the wall and it'll intelligently control the dynamic lighting in the room.
YoYo
GameMaker Do you want to develop computer games without spending
countless hours learning how to become a programmer? Then you've come to the
right place. Game Maker allows you to make exciting computer games, without the
need to write a single line of code. Making games with Game Maker is a lot of
fun. Using easy to learn drag-and-drop actions, you can create
professional looking games within very little time. You can make games with
backgrounds, animated graphics, music and sound effects, and even 3D games! And
when you've become more experienced, there is a built-in programming language,
which gives you the full flexibility of creating games with Game Maker. What is
best, is the fact that Game Maker can be used free of charge.
Game Editor (Game Editor is 100 percent open source GPL, GNU General Public License) If your game is 100 percent open source
GPL v3 too, then you never have to pay us for the licenses. Just get the source code and have fun! If GPL v3 does not work for you, we offer a "non-GPL" license (indie or site), that will help us to pay our developers.
DarkBASIC Professional - FREE Download. This version contains all of the features that the paid for version includes, the only difference is that this version is supported by advertisements.
DarkBASIC allows you to create your own games, demos, slideshows, even business applications using the easy to understand BASIC programming language. Even if you've never coded before, just follow the in-depth tutorials and you'll be generating results in minutes! Harness the power of Direct X and make 3D objects come to life in just a few simple commands.
For the first time ever, the power of the PC and Microsoft's game engine Direct X can now be controlled by everyday PC users. It's no longer the sole domain of the expert 'C' programmer. Anyone with a PC can now make 3D objects move around the screen interacting with other game objects and taking live responses from the game player's inputs.
DarkBASIC allows you to create your own games, demos, slideshows, even business applications using the easy to understand BASIC programming language. Even if you've never coded before, just follow the in-depth tutorials and you'll be generating results in minutes! Harness the power of Direct X and make 3D objects come to life in just a few simple commands.
For the first time ever, the power of the PC and Microsoft's game engine Direct X can now be controlled by everyday PC users. It's no longer the sole domain of the expert 'C' programmer. Anyone with a PC can now make 3D objects move around the screen interacting with other game objects and taking live responses from the game player's inputs.
DarkBASIC Professional - FREE Download. This version contains all of the features that the paid for version includes, the only difference is that this version is supported by advertisements.
The Game Creators
The Game Creators (Includes DarkBASIC) Delivering you affordable and cutting-edge game development tools. The products The Game Creators been building for over 8 years, and the companies we partnered with, all have one specific aim - to enable you to create whatever game you want on your PC. The process of creating your games should be fun, easy and not too heavy on the wallet. The products you need should not break the bank and there will be no more slaving all night over a hot keyboard just to get a simple 3D object onto the screen. With our products you can achieve impressive end results within a fraction of the development time and cost of other languages The Game Creators Forum For Help, Tips and Code Snippets, etc
StencylWorks. 2D game creation done right. StencylWorks isn't your average game creation software; it's a gorgeous, intuitive toolset that integrates seamlessly with the Stencyl ecosystem.
Stencyl Create Flash Games for Mac of PC.Exclusive collaboration and sharing features will have you making Flash games in a flash. For free.
Once your game is ready for prime time, we let you decide how to publish it. Share your game on Stencyl.com with a single click. Embed it inside your own site or blog. Or just export a SWF and do whatever you want with it -- even upload it to third-party portals like Kongregate to make some cash.
This is a promotional video that I created for iStencyl, a program that allows you to make games for iOS devices without any programming knowledge.
StencylWorks isn't your average game creation software; it's a gorgeous, intuitive toolset that accelerates your workflow and then gets out of the way. They take care of the essentials like physics and native APIs so you can focus on what's important—making your game yours
Uses a drag-and-drop gameplay designer.
Stencyl for HTML5 games. HTML5 powers the next generation of web games that work on any PC, any device, anytime.
Sploder is
online game software that allows people to create cool games and publish them on
the web. Sploder even allows you to easily put
Flash games on your site
without having to learn Flash.
POV-Ray. Persistence of Vision Raytracer is a high-quality, totally free tool for creating stunning three-dimensional graphics. It is available in official versions for Windows, Mac OS/Mac OS X and i86 Linux. The source code is available for those wanting to do their own ports.
The Anatomy of a Game Design Document. (Don't build a game without one!!!) The purpose of design documentation is to express the vision for the game, describe the contents, and present a plan for implementation. A design document is a bible from which the producer preaches the goal, through which the designers champion their ideas, and from which the artists and programmers get their instructions and express their expertise.
How to make a video game for free. Everything you need to make a video game at no cost is readily available. Here are the resources, links and information you need to get it done. I am not talking about making some silly little game here. I am talking about making an actual 3d world that you can explore and game in. The games you can make are very similiar to the games like Quake of Half-life. Of course a lot of graphic artist expertise and time goes into these games and your video game won't look as nice as the professional games. But you will be surprised at how nice of a game you can make and will be very proud of your accomplishment. Especially when you give your friends a copy to play. (Imagine their surprise when you tell them about the secret rooms and secret treasures you put in the game!). From Storm the Castle. Lots of Fun, Creative, Amazing Projects and How To's
Video Game Programming The How To guide. You can program a working video game all by yourself. It takes a lot of work and it takes a certain amount of proficiency with either a programming language or a game development platform. But this article doesn't focus on this. This article focuses on what it takes to become a programmer with a game design company. I give you a basic idea of what programming for a game is, what kinds of jobs there are,what you can do to see if you like it and what you can do to prepare yourself. rom Storm the Castle. Lots of Fun, Creative, Amazing Projects and How To's
Make Video Games. The website devoted to helping you make video games. Want to become a video game designer? Have a passion for it? Everything is here including school and career options, tutorials and more.
The Game Creators – game making for everyone. Here you can have fun making your own computer games. Our easy to use game making tools do all the complex scientific stuff, leaving you to create, play and share. If you just want to click together a game then we've got a tool for that. If you want to hand write your own game (coding as the techies call it), we have solutions for that too.
CamSpace is a new fun way to play your favorite PC games!
use Any Game and Any Webcam. CamSpace is absolutely free. Let
the games begin! Also control your computer with your
webcam use the same software to use any object as a mouse.
Video Game Sprites Sprite usually are small graphic elements which have position and time information associated with them. They often have a transparent background and can move independently over the top of other graphics without effecting the graphic they move over. This makes them ideal for things like characters' in a game that have to move about.
Cheat Engine
is an open source tool designed to give you the upper hand in games, but also
contains other useful tools to help debugging games and even normal
applications.
The Internet Ray Tracing Competition
is an open competition. Deadline for still image submission is every two months; for animations, every three months. Participants may use any 3D rendering program. The complete rules for stills and rules for animations spell out everything you need to know about submitting an entry. Ray Tracing is used to produce 3D images, quite often used in game programming.
Toribash is an innovative fighting game where YOU design the moves! Join us
today, and pit your skills against other players all over the world. Earn
credits by winning matches, then customize your character in the store! Trade
items with other players. Win prizes in weekly tournaments. Climb the rankings.
Earn your own Black belt. Better still: be one of the few who make it to 10th
Dan! Toribash is Addictive! Try Wushu, Sumo, Kick Boxing, Sambo, Swords, Judo
and more. Create fighting movies and post them on YouTube. Watch other players
fight.
Chat with them. Defeat them
XNA Game Studio 4.0 for Windows Phone With Windows Phone 7 Series we're
targeting the developers who work in small teams at large studios as well as the
lone programmer working solo on their first mobile game title. We think this
benefits all game developers and continues to grow the use of .NET for games for
indies and high-end professionals alike.
Mobilephone Programming. Develop Mobile Apps, How the make mobilephone applications. The best Mobilephone Apps. Mobilephone applications to bring more life to your phone to life.
Freelance Counter is a small program designed for freelances that will help you calculate your work hours for every job you have. It can also generate monthly report and export it to Excel.
Addictive nature of gaming probe. The "variable ratio of reinforcement" (or operant conditioning) basically sees people acting a certain way because they are rewarded for that behaviour.
Addiction clinic opens for gamers. Some players concentrate with such intensity they are unable to break off playing even at the call of nature."If I had to go to the lavatory I'd pee in a bottle," said Tim."I ate in my room the whole day, I had no social connection with people or with parents."
JPEG (.jpg) Also JBIG Joint Photographic Experts Group, JPEG, and Joint Bi-level Image experts Group, JBIG. As well as our members' site, it offers other useful sources of information about the JPEG and JBIG committees and their standards. JBIG is short for the 'Joint Bi-level Image experts Group'. This was (and is) a group of experts nominated by national standards bodies and major companies to work to produce standards for bi-level image coding. The 'joint' refers to its status as a committee working on both ISO and ITU-T standards. The 'official' title of the committee is ISO/IEC JTC1 SC29 Working Group 1, and is responsible for both JPEG and JBIG standards.
GIF and GIF89a (.gif) including animations and transparency. Graphics Interchange Format (tm) A standard defining a mechanism for the Graphics Interchange Format Data Definition
MPEG (.mpg) (pronounced M-peg), which stands for Moving Picture Experts Group, is the name of family of standards used for coding audio-visual information (e.g., movies, video, music) in a digital compressed format. The major advantage of MPEG compared to other video and audio coding formats is that MPEG files are much smaller for the same quality. This is because MPEG uses very sophisticated compression techniques.
TIFF (.tiff) an acronym for Tag(ged) Image File Format. It is one of the most popular and flexible of the current public domain raster file formats. etc.
DICOM (.dcm) Digital Imaging and Communations in Medicine Format Bitmap (used for medical imaging)
AVI (.avi) AVI stands for Audio Video Interleave. It is a special case of the RIFF (Resource Interchange File Format). AVI is defined by Microsoft. AVI is the most common format for audio/video data on the PC. AVI is an example of a de facto (by fact) standard. AVI Overview by John F. McGowan, Ph.D.
JBIG-KIT implements a highly effective data compression algorithm for bi-level high-resolution images such as fax pages or scanned documents. JBIG-KIT provides a portable library of compression and decompression functions with a documented interface that you can include very easily into your image or document processing software. In addition, JBIG-KIT provides ready-to-use compression and decompression programs with a simple command line interface (similar to the converters found in netpbm). JBIG1 patent information. By Markus Kuhn. For many years, the doubts about the patent situation have prevented the JBIG1 standard from becoming widely used on the Internet (e.g., not a single web browser has support for it integrated). As the author of a freely available JBIG1 implementation, I'm investigating the current patent license requirements for the JBIG1 standard, and this page summarizes what has been found out so far.
PNG home page Portable Network Graphics. An Open, Extensible Image Format with Lossless Compression. Was designed to replace the older and simpler GIF format and, to some extent, the much more complex TIFF format. PNG (libpng)
TweakPNG. It's open source and a free download. TweakPNG is a low-level utility for examining and modifying PNG image files. It runs on Windows 95 or higher (98, ME, 2000, XP, etc.). In order to use it, you will need to be at least somewhat familiar with the internal format of PNG files.
Web Masters.Click Here Now to start making money. A Great opportunity to make some money. Receive
50% by offering your users Ton's of Keywords on
A Great Portal websites. Our Affiliate Program Pays you 50% on Level 1 of Every Sale of our
Text Link both searchable and static Text Link!
A Computer Portal. Freeware, Shareware. Download software. Computer languages and Programming code. Including PERL Scripts and Java Scripts. Webmaster Tools. Internet Marketing, Website promotion.
Hardware Help from BIOS to Windows and UNIX.