Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 07 Oct 2010
Offline Last Active Jan 12 2013 11:13 PM

Posts I've Made

In Topic: The Singleton Pattern: To be or not to be [used]?

08 November 2012 - 03:41 PM

I'm aware of that. But how would you suggest approaching the design then?

In Topic: The Singleton Pattern: To be or not to be [used]?

08 November 2012 - 03:28 PM

Swiftcoder has made a very good point... dealing with multiple threads...

Now that I consider this, perhaps I can redesign the allocation process to create a dictionary of NativeMemoryManager instances indexed by the hash of thread it was created on. That way each thread in the application has its own instance. If the thread is terminated prematurely all resources could be released (EDIT: Unless another thread requires them)...

In Topic: How would you make something like this?

08 November 2012 - 12:47 AM

All-in-all, very practical to implement. Only the way the animation system runs needs to be modified, and that modification is trivial, since it is extremely easy to calculate what kind of impulse needs to be applied to get from one orientation to another over a fixed amount of time.

Could you explain how you would go about making those calculations? I'm considering implementing this and some other things...

In Topic: How powerful is Java?

06 November 2012 - 12:06 AM

@ Aeramor:

I agree with pretty much everything you said. I've never liked Java. I won't say language A sucks or language B is the greatest, but Java always seemed slow and unstable to me, whereas C# applications are snappy and responsive like C/C++ applications. I also agree that Java IDEs don't even hold a candle to Visual Studio; its really the best IDE for Windows available, and you can also of course use it to develop cross-platform applications.

However, I disagree with this:

If your end goal is to be an engine developer somewhere like Epic or Rockstar games you need to be learning C++ [...]

Yes, he does need to be learning C++... but not because it's the only path to being an engine developer, but because knowing C/C++ is an essential skill for any game programmer worth his salt! The 2000-teens are going to be the era of the managed engine. For years gamers have been accepting a lot of unstable code (consider Skyrim's tendency to CTD and lose textures at run-time) because applications/games are growing so large and complex that no mere mortal can manage all of its memory and resources. In this context C# and the CLR looks more appealing every day because its gains in memory efficiency, stability and type-safety are beginning to make it a more performant choice than native languages. This is precisely why my company is developing a managed engine in C# instead of using the traditional approach of C++...



In Topic: How powerful is Java?

05 November 2012 - 10:04 AM

Programming languages do not have any quality or property called "power"... So you'll never see anything like:

Language: C++
Horsepower: 700
Torque: 580lb-ft

There's simply no such thing... Posted Image

Some languages perform differently from others, but there are no hard-set rules about performance either. Generally, languages compiled to machine code (native binary for the CPU) are faster than "JIT'ed" managed languages which are faster than interpreted languages. But there are even exceptions to this general rule... On quite a few occasions I've written and tested C/C++ and C# code side-by-side and seen the C# code out-perform the native code. There are various articles you can find online if you're more interested in language performance.

Any language that is Turing-complete (which is pretty much every programming language) is theoretically capable of calculating/simulating the entire history of the known universe; provided it runs on a system with unlimited memory. Therefore there's no reason you cannot create the same game in C, C++, Java, C#, Visual BASIC or assembly language.