Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 10 Nov 2006
Offline Last Active Today, 01:08 AM

#4988661 Simple diffuse light. Weird Behavior.

Posted by Ashaman73 on 10 October 2012 - 03:58 AM

First off, your glsl haa no line breaks making it incredible hard to read.

Then your left texture, what is it ? The diffuse map, in this case it would contain pseodo light information which will result in a weird look at the edges.

For the usual lighting methods, do you multiply by a distance factor?

Yes, it is even sometimes useful to not only reduce the intensity with distance but to clamp it to a certain area (ie. sphere). A simple,smooth clamping function would be

normalized_distance = min(1.0, dist / max_dist);
final_intensity = (1.0 - normalized_distance * normalized_distance) * intensity;

I'm told the Phong Reflection Model may be better suited in this case.

Better suited compared to what ?
You should choose a diffuse model (ie lambert) and a specular model (ie phong or blinn).

Here you can see the diffuse lightingmodel demonstrated in blender and here the specular models. Lambert,phong,blinn are the easiest one, the others are more complicated.

#4988651 Login Server - Best Practice

Posted by Ashaman73 on 10 October 2012 - 03:18 AM

hi ruithamus,

I really like the progress and level of execution of your game and the way you try to de-escalate a conflict, but you have a somewhat blind eye on this situation. Posted Image

To answer your question in short: take any cheap (web-)server to handle your logins, before the login process will be the bottleneck, you will have mastered a lot of other challenges not yet encountered.

The long answer is, that you have some ambitious goals, which reaches too far into the future. I got this mood from time to time myself, so I feel with you Posted Image But the truth is, that you don't have a game yet (you will see that in a few years from now on). It is a common law of software development, that 95% of the software is done in 5% of the time, but the last 5% of the software needs 95% of the development time. The feeling that a software is almost done is somewhat delusive Posted Image

Therefore it is always dangerous to solve problems ahead of time, it binds resources otherwise good invested in other parts and most often don't solve a problem at all, because there will be no problem.

The hard part about developing a game is, to overcome the impulse to overhaul/refactor/extend the game and go back to the existing base and polish it. This needs a lot of discipline and many hobby software project breaks at this point, because they sprint through development, making great progress and adding new feature to stop once the actual work starts by polishing the game and adding content.Posted Image

#4988614 3rd party software for game dev

Posted by Ashaman73 on 09 October 2012 - 11:22 PM

Sounds good sofar.

When it comes down to 3d modelling, you need to decide how much effort you want to investigate into 3d modelling, either buy them ($$$), create low poly/abstract or do the whole pipeline (sculpting, modelling,rigging,animation etc.). For the latter one I would sugguest to start with blender, because blender is the only free available tool which supports everything on a very high level (sculpting, animation, 3d painting,baking, modelling etc.), though there are always special tools available which do a better job (sculpting=sculptris, baking=>xnormal) and finally you need a 2d tool like gimp (which is very good in version 2.8!).

Here's a complete list (including PR-tools):
OpenOffice Base => database with quick form creation to export your game data into a suitable format (don't use excel or oo calc for this task!).
Fraps => inexpensive, yet very powerful recording tool
MovieMaker => Free, yet useable video tool
sculptris => free sculpting tool
xnormal => free baking tool
gimp => free 2d painting tool
lua => free, good and fast scripting language, good as well for writing some smaller utility tools.
wordpress => for your website
free commander => free file manager which although can handle ftp (upload your game to your website etc.)

#4988303 Are GPU drivers optimizing pow(x,2)?

Posted by Ashaman73 on 09 October 2012 - 05:59 AM

Now the question is: Should I bother optimizing it myself, or do the drivers usually optimize something like this?

This is the old discussion of 'oh, if I write this cool pretty fast asm, I can beat the compiler' topic. The general consense on this topic is, that the compiler will be most likely better than your handwritten optimization, maybe not today, but tomorrow. Especially if you consider different plattforms and future driver and hardware updates.

#4987961 Improving AI of MMORPG Raids

Posted by Ashaman73 on 08 October 2012 - 05:57 AM

I think that this topic is more suitable for the game design forum.Posted Image

1. Boss stops using abilities that are not effective. For example, if 80% of the players have a large resistance to ice abilities then change to a different ability. This may take a few tries to come to the conclusion that the ability is not being affective but once that decision is made the strategy should be changed.
2. When players run to a specific location to block line of sight why doesn't the boss position himself in the optimal location in the room to affect as many players as possible. Positioning is a big factor in current MMO raids. Why is it that the boss is so willing to move around if it puts him at a disadvantage. Having him fight at different locations in the room could easily increase the sense of a better AI.
3. If a player is low on health why not switch targets to kill the player who is low? Maybe this is too powerful or maybe it could only be used for players that are inside his vision.
4. Maybe even learning from previous battles how he was defeated and changing some of the encounter to counter the strategies of players. I'm not sure that all these AI changes need to take place in real time but the idea is that no two encounters are the same.

In short: you don't want perfect AI

In long: the goal of a game should be to make the game interesting and challenging to the player. That is, if the player almost died to defeat a boss is much more satisfying than kill the player instead to give him a learning session. If you make the boss too clever, it will just wip the raid for what ? For the ego of the developer ? The trick is to give the players the feeling that they are immersed in a hard fight and to be honest, classic AI is just a little, almost unimportant, part in such a play.

I call it classic, because in my opinion, the AI-director of L4D is heading in the right direction. It makes a repeating game experience more challenging and interesting while keeping a relative constant difficulty for the player.

#4987948 Best way to manage render targets, buffers, etc...?

Posted by Ashaman73 on 08 October 2012 - 05:17 AM

I've seen what happens when a group of people, who have experiance with making games, try to do just that...

I've seen the same happens once too, it is like target practising without target.

#4987094 Why games should be challenging?

Posted by Ashaman73 on 05 October 2012 - 06:35 AM

Nice write up. But IMHO casual and challenging in one game is really problematic.To overcome a challenge you need not only to learn, but to master it.

But this is very time consuming. You need to learn all the time and don't forget already learned knowledge. But the latter is what a casual gamer want to avoid. He want to start a game, play for some time and then will not touch it for an other month. When he picks it up again, most of the knowledge is gone and he finds it incredible difficult to dive in again.

Even if you make a casual game challenging, you will get in trouble. A challenging game requires mastery, which requires dedication. But a player who will dedicate his time to your game expects suddenly depth.

You are trying to pull at both ends of a rope at once. Casual gamers who are looking to have a good pasttime will avoid a difficulty casual game, and a core gamer, who is willed to dedicate his time in a game, will avoid a casual game, because it has not much depth.

A possible solution to this problem is increasing difficulty/challenge over time and don't start with hi-difficulty or the requirement to learn all the skills to play. A tower defense game is a good example. In fact it is a strategy game with resource management. In an endless mode you will survive only if you master it, but at the beginning a casual gamer can success with randomly placed towers.

#4987015 how to handle character to vehicle controls?

Posted by Ashaman73 on 04 October 2012 - 11:25 PM

You can define an controller interface, which controls the movement of an entity depending on given input, like

class ControllerInterface
  void inputForward() = 0;
  void inputLeft() = 0;   

Then you can inherit and implement this interface for different game entities.

class CarController : ControllerInterface
class CharacterController : ControllerInterface

In your player class switch the controller depending on the players state:

class Player 
  CharacterController charController;
  CarController carController;
  bool inCar;

  ControllerInterface getController() {
	 return inCar ? carController : charController;

#4987013 Client/Server setup

Posted by Ashaman73 on 04 October 2012 - 11:18 PM

Model-View-Controller design pattern

In other words, you need to seperate the game model data from controller and view data. I.e. your game entity (model) could consist of

- position
- rotation
- scale
- model_name

Then you can define a physic controller, which changes position and rotation depending on input and finally you create a render view which contains the render data to the according game entity.

This way you can divide the single components quite easily, like
Client: game model + render view
Server: game model + physics controller

#4986702 Goto: How should I work the code out?

Posted by Ashaman73 on 04 October 2012 - 03:34 AM

In your pseudocode just exchange goto through break, that's it.

Longer answer: break will break from the current for/while/switch statement, regardless if it is embedded itself in an other non-loop/switch statement, like an if-statement.

#4986660 Iterating through a collection

Posted by Ashaman73 on 03 October 2012 - 11:40 PM

Sure, you could use break to exit the loop, but if your teacher don't like it (it is infact essentially a goto), then your second is almost right:

[source lang="java"]int i;boolean foundEmptyStrip = false;for (int i = 0; i < airstripArray.size() && foundEmptyStrip != true; i++ ) { if (airstripArray[i].getPlane == null) { airstripArray[i].addPlane(plane); foundEmptyStrip = true; }}if(i== airstripArray.size() ){ System.out.println("There are no empty airstrips");}[/source]

#4986020 Is social status of game character important to players?

Posted by Ashaman73 on 02 October 2012 - 05:08 AM

Will players be put off by such a dramatic departure from the more typical formula which allows player opportunities to pursue ever advancing progression in wealth, prestige, and status?

Does it matter ? Simulations are not really games, but a simulation could be played as a game.

If you play a game, you want to archieve something. Simulations don't define a goal, but the player himself can define some goals to challenge himself.

The question therefore is, is your simulation attractive enough to be played ? Well, simulations are a niche (well, are the Sims still a simulation ?) , so don't expect to be the next big hit, but simulations are definitly attracting people.

A trick is, to make an open end game (aka sandbox), defining some goals and leave the game open. This way you have a game motivation with an open end, where the player is able to challenge himself. I.e. getting the biggest farm, trying to survive as outlaw, trying to cheat the goverment etc.

#4986011 UV Mapping big texture (incl bump mapping)

Posted by Ashaman73 on 02 October 2012 - 03:40 AM

Is this a good way to do it?

In common: no

The reason is, that the hardware only support certain max texture resolutions, older hardware only 8192x8192 or even 4096x4096 and this is not much if you unwrap your whole level automatically.

The other issue is, that environment art often reuse texture extensively to keep a good level of texel density.

But there are always exceptions,i.e IdTech5 has mega textures support, which could be used to do it this way. But this is the only game engine which comes to mind using this technique in games and the engine is not available (only to bethesda).

#4985986 A Unique FPS Game

Posted by Ashaman73 on 02 October 2012 - 02:00 AM

Now, I want to join a group of people that are fun to work with, I want to do a creative thing, a unique PC exclusive and bring back gaming.

Take a look at the classified section.

#4985976 Lighting newb?

Posted by Ashaman73 on 02 October 2012 - 01:08 AM

Even if your game is 2d, the math behind this kind of lighting is 3d. I would recommend the book real-time rendering for all the basic stuff, it is really good and will explain all you need to know about normal mapping.