Jump to content

  • Log In with Google      Sign In   
  • Create Account


japro

Member Since 25 Aug 2009
Offline Last Active Oct 02 2013 05:18 AM
*****

#4986336 Master or "Diplom" ?

Posted by japro on 03 October 2012 - 04:08 AM

Im in Switzerland but I can still comment on some of the critique points of the Bachelor/Master thing. The problem with the bologna system is that it mostly fails at what it was designed to do and disrupts things that worked before. One of the central concepts for example is that the ECTS points should be transferrable and uniform across universities... but they aren't. If you go for a semester/year to study at a foreign university you still have to run all the stuff by your own administration and your university might "rate" the lectures you do there differently than the university you take them at does etc.. How much something is "worth" in terms of points might even be inconsistent within a university. We for example had the case that there was a "Numerics of Partial Differential Equations" lecture that was given for CSE students at the beginning and got you 10 points (which was still low given the amount of work you had to invest). Then this lecture also was added as a possibility to the CS curriculum. But because apparently 10 points would give CS students "too many points compared to their other lectures" they reduced it to 7 points, even though its still the exact same lecture and just as much work.
Then something especially the lecturers complain about is that the system requires some standards in regards to how and what can be used to asses performance. As a result some courses/lectures that worked before without an exam for example (typically this was the stuff you took out of interest an not because it was required) had to be changed and as a result got less popular/were dropped entierly.
This actually goes along with another concern which is that the point system encourages people to select lectures depending on point/work efficiency instead of interest.

But I also have to say that typically its not such a big deal in your day to day studying Posted Image its still your responsibility to not fall into the trap of chosing lectures by points and figuring out your semester at a foreign university (which usually does work out). I also never heard that someone with a Masters is valued lower than someone with some other form of Diploma (in Switzerland we don't even have that option anymore).

What I was wondering myself though is how this all aligns with the US university system. You often hear, especially from games industry people, stuff like that they don't care about Masters degrees and there is also this "4-year degree" thing people keep talking about that flat out doesn't seem to exist over here (in some european countries). It's pretty much a given here that you get a masters degree. Leaving university after getting a bachelor degree in three years is fairly exotic as far as i can tell (with the possible exception of "Fachhochschulen"). Your goal is pretty much to get a masters degree and the bachelors is just an intermediate step. In the old system the equivalent of that was not really regarded as a degree on its own i think.


#4986053 Real Time Tactics game design

Posted by japro on 02 October 2012 - 08:16 AM

I really liked Ground Control back in the days. The unit balance was fairly broken (artillery is ridiculously overpowered in single player and multiplayer is mostly about deoploying special weapons first/from the right angle), but it does a really good job at not having these overly artificial gameplay mechanics like explicit cover locations, control/resource points etc. In single player you configure your units and get dropped in from orbit and that's all the units you get. No infinite reviving like in DoW2 or reinforcements.The multiplayer modes were also straight forward. It had game modes like last man stading (one drop), deathmatch (constant reinforcements and points for kills) and a siege mode also with reinforcements and the goal was for one player to destroy some structure in a given amount of time while the other defended. I would generally prefere to see such straight forward mechanics/modes well executed instead of some "innovative" contrived game mechanic.


#4983940 Handling inputs the right way

Posted by japro on 26 September 2012 - 04:26 AM

Something I've used in the past was having something like
[source lang="java"]interface State { void processInput(InputEvent event); State getNextState();}[/source]

The gameloop then forwards all events it doesn't handle directly to the currently active state and at the end of the game loop queries the next state and sets that as active. That avoids this global switch construct which will get out of hand and unmaintainable pretty quickly.


#4978222 Efficient way to handle multiple texture fetches in shader?

Posted by japro on 09 September 2012 - 03:15 AM

For separable filters such as gauss or box filters you can get away with n+m fetches instead of n*m but that also requires two stages. Summed area tables might also be of interest. Also explicitly fetching from lower mip-map levels might be of use.


#4975689 OpenGL book for beginner

Posted by japro on 02 September 2012 - 05:21 AM

Well it obviously means you don't have all the new features like geometry shader, tessellation etc. to play with. But as far as coding style and deprecation goes I think you can get a good approximation of "modern OpenGL" by not relying on things like the matrix stack and default attributes. Just consistently use VBOs, custom attributes and stay clear of the matrix stack...


#4971018 Lighting in caves

Posted by japro on 18 August 2012 - 11:45 PM

What I did here: http://pic.twitter.com/foX0EZvS was trace a bunch of rays for each surface. The Minecraft thing is essentially a special case of the ray tracing where you only use a single ray pointing straight up. The Problem with this is that its pretty expensive and it becomes fairly hard to determine what has to be updated when a single block is removed and you end up updating a whole bunch of surrounding blocks etc.
From a results point of view this look very nice though. I spent a lot of time thinking about optimizations like mipmapping the terrain and use that to accelerate the raytracing etc. But the problem is always that you will miss some sort of detail when doing that (thin walls become transparent etc.).


#4970374 OpenGL Texture Blur?

Posted by japro on 16 August 2012 - 05:30 PM

Set GL_TEXTURE_MAG_FILTER to GL_NEAREST instead of GL_LINEAR.


#4967024 OpenGL 4.3 - compute shaders and much more

Posted by japro on 07 August 2012 - 08:44 AM

You guys are no fun Posted Image. I was having so much fun with compute shaders (actually, still have Posted Image).
gravitational n-body: https://github.com/progschj/OpenGL-Examples/blob/master/experimental/XXcompute_shader_nbody.cpp


#4966735 OpenGL 4.3 - compute shaders and much more

Posted by japro on 06 August 2012 - 11:59 AM

OpenGL 4.3 is here:
http://www.khronos.o...or-enhancements

specs:
http://www.opengl.org/registry/

Beta drivers from Nvidia:
http://www.nvidia.co...driver-4.3.html

And I obviously had to quickly try out compute shaders:
https://github.com/p...pute_shader.cpp

Yay! Posted Image


#4965822 "Seeding" Multiplayer Games?

Posted by japro on 03 August 2012 - 06:30 AM

Isn't Day Z partly peer to peer based? One obvious issue with the torrent comparison is that torrents most likely don't care about latency and in a "graph" of peers the total usable bandwidth is actually higher than with a central host, while the same doesn't hold at all for latency. Well actually it sort of does since the latency via multiple peers is generally "higher" which is not what you want at all.


#4965663 Best Practices With Templates

Posted by japro on 02 August 2012 - 04:33 PM

Correct. In C++11 you can somewhat emulate something like that though by using a "factory function" and the auto keyword.

template<class T>
struct Holder {
   Holder(T value) : value(value) { }
   T value;
};

template<class T>
Holder<T> make_holder(T value)
{
   return Holder<T>(value);
}

//...

auto myholder1 = make_holder(3.15);
auto myholder2 = make_holder(42);
//...



#4965197 So I started writing Example Programs

Posted by japro on 01 August 2012 - 07:26 AM

Today I had some fun with ARB_shader_image_load_store (core in 4+): https://github.com/p..._load_store.cpp
It solves the electromagnetic wave equation on a 2d grid with shaders. Thanks to the extension the update can be done in place so there is no fbo ping pong rendering required. Just a single texture.
wave_equation.png


#4964466 Compressing vertex attribute normals

Posted by japro on 30 July 2012 - 06:31 AM

I think what he meant is store two components (x,z) and then get the third one from y = sqrt(1-(x^2+z^2)). that doesn't give you the sign of y but for example in a heightfield you can usually assume that the y component has to point "up".


#4964130 Best Practices With Templates

Posted by japro on 28 July 2012 - 05:10 PM

You usually don't have to provide an explicit template argument. The compiler will deduce that for you if possible... So there is usually no syntactical overhead with function templates.
template<class T>
bool IsWithin(T number, T min, T max ) { /*...*/ }

int a,b,c;
double d,e,f;
isWithin(a,b,c); // ok
isWithin(d,e,f); // ok
isWithin(a,e,f); // here the compiler will complain since it cant figure out which type to choose for T
isWithin<double>(a,e,f); // ok

To restrict the types a template will "accept" look at boost::enable_if (or std::enable_if if you are using c++11)


#4964109 Learning Open GL Advanced Features

Posted by japro on 28 July 2012 - 03:48 PM

I personally would still concentrate on 3+. The reason being that using 2.x after understanding 3+ is really easy while going from 2 -> 3 there is a high chance that you have to "unlearn" things that got deprecated in newer versions. Using pure programmable pipeline also has the advantage that it exposes more of the inner workings as opposed to the "easy" blackbox that is fixed function/matrix stack. It's just more transparent.




PARTNERS