Jump to content
  • Advertisement

snk_kid

Member
  • Content count

    3318
  • Joined

  • Last visited

Community Reputation

1312 Excellent

About snk_kid

  • Rank
    Contributor
  1. snk_kid

    SlimDX Compile Times

    Consider looking into Unity Builds.
  2. snk_kid

    Conceptual Programming - Weak Objects and Interact

    Quote:Original post by Drew_Benton Quote:Original post by snk_kid This seems a lot like a component-based game object system (or trying to be). Quote:Original post by Telastyn Indeed, and a... overly flexible component based system at that. Personally, I think going somewhere with mix-in inheritance and more meta-programming sort of approach would be better. But that reminds me that I need to make a good COP example for my hobby language. I wasn't quite thinking about component based designs when I was working on this, but I see the similarities now. See I really wanted to integrate in a scripting language rather than have to make "programs" that would interact the objects, but Lua was driving me mad. Might invest in learning that more solidly or a diff language before I try to jump in with it (yet another thing on the todo list) That reminds me, I really should probably start reading this Design Patterns book because I am pretty weak on that knowledge overall. Looking back at some of my old ideas (oh jeeze I cringe at some of my posts to this day), such as On Static Class/Global Variables Void* Messaging for Classes Self Managing Objects Self Tracking Object Design I've always been a fan and intrigued by such designs and I persist in trying to find something "fun" to do with it, but lately I understand why most of those will fail as I have them: concurrency. My new cEntity class is thread safe, from the ctor, copy ctor, assignment operator, and all member functions. However, there is a problem if I try making them track themselves, I must have a way to initialize a critical section before the 1st class instance is created and destructed after all class instances have been destructed. Some sort of manager or simple factory could encapsulate that, but then the objects themselves don't need to know of each other explicitly. I'm too much of a "it needs to be right" person to settle with an implementation that I knowingly see as misimplemented, so I'm thinking it's just not possible in a sense of thread safety. Oh well, I tried [grin] Anyways, I'm just wandering around because I see an unsettling parallel between life for most people and general programming. That is, as you grow up and go through school, your knowledge of things increases quite a lot. Once you get to your job and work, it seems to not quite flatline, but it slowly crawls up for most people it seems. "Learning" is no longer the focus as much as just "working" to solve whatever current problem there is. Programming seems that same way in that, it would seem we are all mostly just end users of it and are not trying to make it better or learn more on it for the sake of improving it. Sure, we can use it more efficiently now, but then what? You have people that are really good binded to a language so as that language gets old and phases out, that's a knowledge pool that is decimated. And then the cycle repeats. I dunno, I wonder if we are really even moving "forwards" in the programming field. I mean the whole C# XNA thing is heading in the direction of trying to make programming an everyday thing for anybody, and that's definitely not a good thing. Just look at their logo image. For the masses Wow, that makes me cringe. It's not that I'm worried about job uncertainty or being replaced so to speak, but I don't think we are moving in the forward direction anymore. But who am I to even speculate on what's best [rolleyes] Back to work I go. I hope you didn't take my comment in the wrong way, I was just trying highlight similarities and possibly that you're trying to solve the same problem. Have you seen this article before? A Data-driven Game Object System, it also takes into account of incorporating a scripting language. A friend of mine has over over-engineered a 2D game & game engine (on purpose lol), everything is totally and I mean totally data-driven, you define game elements in XML and the game objects are component based, they communicate using message passing architecture. P.S: While the GOF design book is great it wont talk about things like component based object systems
  3. snk_kid

    Conceptual Programming - Weak Objects and Interact

    This seems a lot like a component-based game object system (or trying to be).
  4. snk_kid

    XNA GameFest London 2008

    Quote:Original post by jollyjeffers Quote:Original post by superpig Quote:Original post by snk_kid I was at the gamefest too, by the way it was me who brought up C++0x in the MS directions to parallel computing ;) Oh! Hi [grin]small world! go on, admit it - you didn't come over and talk to us because we were causing trouble asking stupid questions [lol] Jack Hehehehe, was it you two who sat next to me in that track? and laughed when i mentioned C++0x :P Someone also laughed at me at the end of the multithreaded rendering track when I mentioned about ATI's conference talking about alternate frame rendering that will be done (or already is) on multi-core core GPUs :(
  5. snk_kid

    XNA GameFest London 2008

    I was at the gamefest too, by the way it was me who brought up C++0x in the MS directions to parallel computing ;)
  6. snk_kid

    Part II: Choosing a language

    F# has metaprogramming facilities, not as flexible as nemerle but it does have one advantage over nemerle's macros (until they implement it) and that is some support for multi-staging at runtime with combination of quotations and LINQ i.e. online partial evaluation (runtime specialization) declaratively which can be more useful than purely compile-time metaprogramming. If your not sure what it is imagine bascially taking a generic algorithm/function where you have unknown variables at compile-time but you know a more specialized optimal version for specific cases. What you can do is multi-stage it for when varibles are known at runtime and it will always use the more optimal version for those cases. Of course you can do this using virtually any .NET language via lightweight code generation (LCG) using reflection with DynamicMethod but this method is quite low-level and it's not declarative and the language is not the same language used (or subset) to write it, apparently LINQ uses LCG to optimize expressions so if you use quotations with LINQ you get declarative runtime specialization for free. There is one slight downfall with this method in F# as compared to properly implementated runtime multi-staging (as is done with MetaOCaml) which is a slight overhead with using DynamicMethod but it's not so bad so long as whats actually being done out weights the cost of DynmamicMethod. Anyways you might want to think about whether you really need the full power of nemerle macros and extending syntax or whether F#'s quotations & writing combinator libraries is enough for your needs.
  7. snk_kid

    Laziness and Monads

    The macro could (or maybe already does) implement some optimizations like memoization, if you look on Don Syme's F# blogs he has a blog showing you how to implement memoization in F#.
  8. snk_kid

    Wondering

    check your messages ;)
  9. snk_kid

    Untitled

    I have had endless trouble with the incompetent staff from the TV license department, they have even tried taking me to court for £60 even though i've sorted out 5 times already. The whole TV license is just ridiculous ploy to make more money from british citizens for no gain. You might be asking why well first of all UK terrestrial television (or any kind for that matter) is rubbish and doesn't cover my tastes in one slightest bit (i hate any form of reality show). Second and most important of all anyone watching any BBC channel in another country do not have to pay for TV licenses so the whole concept of a "TV license" is just ridiculous.
  10. snk_kid

    University programming

    Quote:Original post by baldurk We do java in the second semester here too, that should be fun and games :). I'm afraid to say the more haskell the you know (heck even a little) the less "fun and games" Java will be :)
  11. I haven't been following your progress however I think it's not worth trying to emulate std C++ containers & algorithms model, this model isn't entirely correct (theoretically-wise) besides. Take note that with the advent of C++0x and first-class Concepts it is highly likely the entire framework is going to be reworked on. The C++ standards committee are fully aware of the short-commings of the standard library containers & generic algorithms model, Boost.Iterator library addresses some of the issues but it's not enough. Anyways I think you could use a more suitable & more theoretically correct model for C# (especially with C# 3.0 and above) however there is just on major problem, you cannot constrain type variables (generic type parameters) for all types t such that t supports a particular or a set of operator overloads. You would have to use named methods which kinda of sucks. Also C#'s generic type constraints need some working to have better support of datatype-generic programming, read Variance and Generalized Constraints for C# Generics it seems that microsoft maybe working on it in the future.
  12. snk_kid

    Graphs

    Quote:Original post by Daerax hehe i know n00bish Nah you're quite an intelligent lad, you just need a gentle guide in the right direction [smile].
  13. snk_kid

    hoorray

    Did you know i was using nemerle extensively a couple of months ago? [wink]
  14. snk_kid

    Happy Panda

    Okay so the name has changed to STL/CLR and it's been put on hold until the next version of VS, read more here, oh well....
  15. snk_kid

    Happy Panda

    You know Dinkumware was suppose to being writing STL.NET, i don't know whats happened with it all as it was suppose to be available around the release of VS 2k5 .NET.
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!