Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.

Don't forget to read Tuesday's email newsletter for your chance to win a free copy of Construct 2!


Member Since 28 Apr 2007
Offline Last Active Today, 02:26 AM

#5193874 Finding right vector to resolve collision

Posted by HappyCoder on 20 November 2014 - 04:19 PM

You could find out what edges are internal to the geometry and mark those so they are ignored in collision.


Another thing I would recommend anyway would be to make your character collision shape a sphere or a pill shaped. Having rounded edges will help your character slide over edges. This will help prevent the player from getting stuck on small bumps.

#5193182 Best Way to Learn 3D Computer Graphics? Help!

Posted by HappyCoder on 16 November 2014 - 08:55 PM

Half my gut tells me to jump into Direct3D and keep plowing away at it while learning the math that is only necessary. 


This is how I learned 3D graphics. If you are excited about what you are doing you will be more focused and do it more often so you will learn faster.

#5193178 Anyone interested in teaming up?

Posted by HappyCoder on 16 November 2014 - 08:47 PM

Don't mean to be rude, but before teaching someone without experience how to program you should be able to at least finish that Pong remake. Maybe you're really good at everything but AI, I don't know, but not being able to finish what is usually considered a "first game" for learning purposes doesn't look too promising.


Aside from that, if you want to create a team of any size you should go to the classified section. You'll probably become friend with your team even if you know them through the classified section if you enjoy working together or won't become friends if you hate the process. I'm not sure how making a team with people using the classified section is different.


I don't see any problem with him wanting to share what knowledge he has so far. Actually, I think it is a good idea to not have too much of a gap when teaching somebody. I sometimes find it very hard to teach game programming to absolute beginners. I forget sometimes that things that comes naturally to me now due to years of experience may not be so obvious to them.

#5191887 What to do if a coding project starts to feel too complex to handle?

Posted by HappyCoder on 08 November 2014 - 09:26 PM

I have found that this happens to me when there are too many inter dependencies in my project. This means parts of my code cannot exist on its own. When designing a large project, I like to think about what libraries would be useful to my project and design my code to  have parts like libraries that don't depend on the rest of the project. Think of the dependencies as a stack of blocks. Upper blocks only depend on the blocks below it. You should be able to remove or switch out upper blocks and the lower blocks should compile and behave just fine.


If you have good structure in a project, it can grow to be very large without being overly complex.

#5191263 RTS Engine

Posted by HappyCoder on 04 November 2014 - 10:37 PM

Since the SC editor appears to not be available separately from owning the game, that is not so appealing to spend money on a game that I will not play. I will read up more on the editor though and keep the idea on the backburner for now. I need to be able to have an environment that is accesible to others if I gather a team or even just co develop with one other. To even have a solid working idea I may need to share to work out preliminary kinks and being able to say hey get this and try it as opposed to pay this and try it is not the greatest way to garner support hehe.


Yeah, I agree that it wouldn't be a good choice if you wanted to distribute your game. It would just be useful for testing ideas out. The idea here is to fail quickly so you can weed out bad ideas and identify good ideas.

#5191235 Extracting From Final Transform Matrix

Posted by HappyCoder on 04 November 2014 - 06:45 PM

You can extract the final scaling, rotation, and translation from a matrix assuming that scaling is uniform. Its called matrix decomposition


Keep in mind this gives the values for the final transform and assumes the order of transformation is scale first, then rotate, then translate. If the order of the matrices is switched you may get different values out of the decomposition then you put in.


As an example, suppose you translated up one unit first, then rotated clockwise 90 degrees. This is the same as rotating first then moving one unit to the right. Matrix decomposition will result in the second set of transformations even if the first set of transformations were used to produce the final matrix.

#5191233 RTS Engine

Posted by HappyCoder on 04 November 2014 - 06:32 PM

I don't know of any engine that meets all of those criteria, of course I haven't done much in depth searching.


If you have some ideas for an RTS, I recommend you use the map editor in star craft II to try out your ideas. The flexibility of that editor pretty much qualifies it as a game engine. The advantage of using SC is it already does most of the work for you, especially if you want to make an RTS. Once you have your idea working in the SC editor, only then then I would consider porting it to other platforms.

#5190956 Player character emotion.

Posted by HappyCoder on 03 November 2014 - 12:39 PM

 Their character is still erased in the end, but it'll be less painful by then. And that's the whole point of the game. (Again, gold star if you can figure out why.)



EDIT: I didn't notice the OP wanted guesses to be a private message. Sorry about that.

#5190863 Player character emotion.

Posted by HappyCoder on 03 November 2014 - 02:05 AM

Be sure to design the mechanics of the game around what you want the player to feel. If you want them to feel a sense of desperation, you should only give them minimal supplies they needs to search. It should feel like they are about to run out of food/health/ammo before finding something that gives them more. By your games description, it doesn't look like you will have ammo but just replace that with something that will be part of your game.


As another example, if you want the player to feel powerless, don't give them a weapon. 


In a game, the mechanics are just as important as art and music in delivering a specific experience.


I am trying to think of a mechanic that conveys unexcapable haunting memories. The best I can think of is something similar to a random encounter in an rpg but it takes place in the players imagination. Each encounter leaves you weaker than before, grinding down on the player.



Also, be sure to communicate clearly when they player is making progress. If dying in the game is expected and is part of the progression the player should feel like they have made progress when they die. In order to guide the player through the different emotional states you could have something different happen everytime they die. This could even be something simple as some dialogue or text that appears after each death. Another idea is to have the world change slightly after each death to try and direct what the player should do. Again, the important thing is that the player should feel like they are progressing through the game otherwise they will get frustrated and stop playing.

#5190861 Dual-Purpose Transform Hierarchy (2D)

Posted by HappyCoder on 03 November 2014 - 01:30 AM

In what situations do you have a transform with no game object? What other information is carried with a game object? I ask that because it might be a good solution to require transforms to be attached to game objects, anything that only needs a transform would have the small overhead of a game object. The game object would have nothing nothing but a transform attached to it so the extra memory for the game object class would not be an issue. This would allow you to store the hierarchy in the transform only without gaps in the game object hierarchy. This is how unity approaches the problem.

#5190858 Best C# engine for beginners

Posted by HappyCoder on 03 November 2014 - 01:23 AM

Just to throw it out there, you might want to look at mono game. It isn't a full game engine. Instead it supplies some nice functionality that simplifies interfacing with graphics, sound, and input but does nothing with physics and scene organization. It will take more work to get your game off the ground with monogame but offers a little more flexibility at a lower level.

#5190009 My goodness multiple inheritage is like a taboo. Why?

Posted by HappyCoder on 29 October 2014 - 02:29 PM

There have been times that I have found multiple inheritance useful, but in these cases I only have one class that I think of as the base class and all other base classes are more like interfaces. I still have some functionality in the "interfaces" at times.


As an example

class IUpdateReciever
    void DisableUpdate();
    void RenableUpdate();

    virtual void Update(float deltaTime) = 0;

    virtual ~IUpdateReciever();
    IUpdateReciever(UpdateManager& manager);
    UpdateManager& mUpdateManager;

This is an example of an interface for any class that should recieve an update message. By designing the class in this way I can force all instances of IUpdateReciever to be added to an UpdateManager, I can keep common behavior in one place, such as storing the update manager and disabling and reenabling updates. Most importantly I can implement the destructor that will remove the update receiver from the update manager. This guarantees that the update manager wont have a pointer to an update receiver that has been destroyed. So in summary multiple inheritance can offer some nice features when used properly.


But just to be clear, it is really easy to abuse multiple inheritance. Below is an example of what NOT to do.

class MeshRenderer


class LuaScriptBehavior


class PhysicsObject


class GameObject: public MeshRenderer, public LuaScriptBehavior, public PhysicsObject


// Use aggregation like this instead
class GameObject
    MeshRenderer mRenderer;
    LuaScriptBehavior mBehavior;
    PhysicsObject mPhysicsObject;

Truthfully, my example above of IUpdateReciever could even be refactored to use aggregation like the second game object example instead of inheritance and still maintain many of the same benefits. IMHO, my IUpdateReciever isn't abusing multiple inheritance. The class is very minimal and wouldn't cause the dreaded diamond inheritance problem. There is no one right way to do things, you just need to understand the advantages and disadvantages to how you end up doing it.

#5187065 max size for level using floats

Posted by HappyCoder on 14 October 2014 - 07:53 PM

You wont be able to specify the position with much precision on the edges of your star system. The limiting factor here is the fraction part of the floating point number. Your universe is about 2^58 meters across. A double has 53 bits of precision in the fractional part. This means, at the edges of the universe, you will only be able to represent the position of a ship in increments of 2^5, or about 32 meters. Floats are even worse, you can only have 24 bits of precision. This is about a precision of 2^34 meters or about 16 billion meters. Not good.


I would use 64 bit integers to store the galactic coordinates of objects in your universe. That would give you precision to about 2^-6 or about a precision of two centimeters. Of course, when rendering your scene, you wont be able to work in integers. So whenever you are rendering anything, you need to convert all of your coordinates to a local origin, then convert all active object coordinates to floats that are relative to the local origin.


EDIT: fixed computation error

#5184661 Visual Programming Language for Shading?

Posted by HappyCoder on 02 October 2014 - 05:21 PM

Take a look at Directed Graph Shader Language.


This is directx specific tool meaning you wont be able to create GLSL with it. One challege with shaders is they are usually tied to a specific game engine. That makes it harder to have a generic shader making tool you can use anywhere.

#5184614 new MOBA idea

Posted by HappyCoder on 02 October 2014 - 12:41 PM

Characters can be heroes from: 

1. different mythologies (Greek, Norse etc.)


That's what Smite does. If a game studio used that as an idea, that means it must be a good one. ;)


However, I agree with what jHaskell said, coming up with spell ideas is not the hard part. Most of the challenge comes from a well balanced game with good counterplay.