I wish I had more time to write more often, but I've been quite busy lately. I have however something to share, and it's not much since it's publicly available, but it's still something worth having a look for those who, like me, didn't know about it until yesterday.
I'm talking about the System.AddIn namespace (the 3.5 version, it's an assembly you must reference).
While researching for plug-in frameworks, I've found that our beloved framework allows you to create extensible applications with very little effort. You don't have to code your own assembly attributes, your own interfaces, your own versioning gimmicks, and more importantly your own external assembly loading routines (which are most likely to revolve around the black magic-y world of AppDomains). This doesn't mean, however, that you don't have to design the way these addins interface with your host application - that's another story.
Two CLR Inside Out columns (this, and this one) introduce the System.AddIn pipeline. I wish I'd found this stuff sooner.
Two things I do not like: The first is the way the pipeline is layed out in terms of directory hierarchy; it's surely clean enough, but I don't like it when someone else decides where I should put my assemblies (.NET has a local assembly copy paradigm if you aren't going the GAC route), so, in this regard, it could be improved and allow for a little bit of customization. The second, you need to create different projects for the pipeline segments and I for one already have to deal with enough projects already. However, the shining beauty of this umpteenth incredibly useful feature of .NET quickly dissipates any shadow of doubt. Man, I can't believe I just wrote that.
Thursday, October 30, 2008
Monday, October 20, 2008
Of Shame
I'd like to crystallize in a blog post the wisdom of an australian "developer" named "openglaussie", as seen over at Gamedev.net.
Please note how he also edited his posts later on. I'm not sure I feel like commenting on this right now.
Edit: well, while I'm waiting for the report I'm working on to finish crunching numbers, I guess I can spend a few minutes writing down how I feel about this.
That people of other countries have a low consideration for italians is nothing new. It's a sad reality, not shared across everyone of course, but it does happen. However, we're talking about game development here and I'll keep it at that.
I think Italy never ever had the possibility to grow in the gaming industry. We simply don't have a business for that. Many bright minds fly away from this country towards more fertile fields, where they can actually work and make a good living out of their talent. The idea of a game dev convention is both a good and an irrelevant news. A good news, seeing as there's always the need to spark a start, but irrelevant, since I really doubt it'll help investors create business. It's all about earning a living eventually (for big companies even more so). We had a few good productions in a distant past (Milestone with Screamer and a few other racing games, or Lightshock with Pray for Death which was a very nice fighting game at the time), but then it all stopped.
I really think it's hard to start competing with multi-millionaire companies ex nihilo. I also think we wouldn't be able to create a Cave Story clone (which is an amazing game, a one man effort worth gold) even if we really wanted. Why is it so? I don't know, all I know is that they can convention all they want, but that's not gonna help unless someone starts changing the business. And this is something not happening overnight.
I for one have always been interested and secretly in love with game programming. I never found anyone to share this passion of mine with where I live. The italian game dev site reminds me of the desert, with a few, lone explorers along its path.
But then again, I can't complain. I for one am not doing much to change this. I cannot.
I guess nothing good will come from spaghetti eaters, mafia bosses and short , tan people, who bullshit others as a way of living, italians are the worst catergory in everything.
[...]
I don't think i have a wrong attitude, is just my way to put things on, i don't sugar coat, no way, italians aren't good at making games, i am not talking about knowledge, since we all know that italians universities are among the best ( only in litterature ), [...] technologically italy is many steps behind, no entertainment culture finalized at videogames [...], they don't use their cars anymore to spare oil
Please note how he also edited his posts later on. I'm not sure I feel like commenting on this right now.
Edit: well, while I'm waiting for the report I'm working on to finish crunching numbers, I guess I can spend a few minutes writing down how I feel about this.
That people of other countries have a low consideration for italians is nothing new. It's a sad reality, not shared across everyone of course, but it does happen. However, we're talking about game development here and I'll keep it at that.
I think Italy never ever had the possibility to grow in the gaming industry. We simply don't have a business for that. Many bright minds fly away from this country towards more fertile fields, where they can actually work and make a good living out of their talent. The idea of a game dev convention is both a good and an irrelevant news. A good news, seeing as there's always the need to spark a start, but irrelevant, since I really doubt it'll help investors create business. It's all about earning a living eventually (for big companies even more so). We had a few good productions in a distant past (Milestone with Screamer and a few other racing games, or Lightshock with Pray for Death which was a very nice fighting game at the time), but then it all stopped.
I really think it's hard to start competing with multi-millionaire companies ex nihilo. I also think we wouldn't be able to create a Cave Story clone (which is an amazing game, a one man effort worth gold) even if we really wanted. Why is it so? I don't know, all I know is that they can convention all they want, but that's not gonna help unless someone starts changing the business. And this is something not happening overnight.
I for one have always been interested and secretly in love with game programming. I never found anyone to share this passion of mine with where I live. The italian game dev site reminds me of the desert, with a few, lone explorers along its path.
But then again, I can't complain. I for one am not doing much to change this. I cannot.
Thursday, October 2, 2008
Designing a Magic System
I just found out this amazing series thanks to gamedev.net dailies.
Designing a Magic System by Andrew Doull
(Plus a fine article from Craig Perko - found in the series above)
Seeing how magic and its systems have gotten a formal definition over time is both entertaining and enlightening. I used to design a pen and paper RPG rules for fun when I was in my teens. The act of balancing, adding to or removing from a specific rule set is not as straightforward as it might seem. Actually, while I'm all for coming up with cool ideas about magic and so on, I must admit players (including me) are used to defined schemes. So, I guess, we're not just balancing fireballs versus shields, but also marketability versus innovation.
And makes me wonder if we will eventually get used to "common" magic...
Designing a Magic System by Andrew Doull
(Plus a fine article from Craig Perko - found in the series above)
Seeing how magic and its systems have gotten a formal definition over time is both entertaining and enlightening. I used to design a pen and paper RPG rules for fun when I was in my teens. The act of balancing, adding to or removing from a specific rule set is not as straightforward as it might seem. Actually, while I'm all for coming up with cool ideas about magic and so on, I must admit players (including me) are used to defined schemes. So, I guess, we're not just balancing fireballs versus shields, but also marketability versus innovation.
And makes me wonder if we will eventually get used to "common" magic...
Monday, September 29, 2008
A change of... hosting
About to move to my newly bought domain... redirect your bookmarks (as if you bookmarked this site, ha!) ;P
Edit: as I mentioned in the comments, the new site is not ready and I'm not sure how long it'll take... :]
Edit 2: I guess I shouldn't have mentioned this "change" seeing as I'm finding blogspot so much more comfortable. It has everything I need at the moment. I'll post again should I ever actually change the hosting of my blog. Hurrah for pointless posts! :D
Edit: as I mentioned in the comments, the new site is not ready and I'm not sure how long it'll take... :]
Edit 2: I guess I shouldn't have mentioned this "change" seeing as I'm finding blogspot so much more comfortable. It has everything I need at the moment. I'll post again should I ever actually change the hosting of my blog. Hurrah for pointless posts! :D
Tuesday, September 23, 2008
A wicker soldier
Tuesday, September 16, 2008
Parallel Profiling
Did some profiling during my lunch break, since I was curious to see how a one-day implementation of a parallel library would perform against a super rival like Microsoft's TPL. This simple console app has been run in release mode, so no debug stuff lying around. My work laptop's a Fujitsu-Siemens Amilo Pro, Intel Core Duo 1.86 GHz, 1.75 GB RAM.
Rainweaver.Parallel Tester
100000 iterations Bessel function.
Comparison mode.
Parallel (RNW): 21076 msecs elapsed.
Parallel (TPL): 15877 msecs elapsed.
Sequential: 44302 msecs elapsed.
Ratio: Parallel RNW is 2,1020117669387 times faster.
Ratio: Parallel TPL is 2,79032562826731 times faster.
The results are pretty self explanatory, considering noise and everything. While this makes me a bit sad, I'm still happy to see that the difference is not that humiliating - at least, that's how I see it, and it's granted it could be oh so much better. All in all, my implementation is not optimized nor has been given that much forethought, so I can consider this a small step towards Nirvana and a great first-hand experience in parallel coding, which is invaluable.
I'd like to congratulate the TPL team on an awesome job. Can't wait for the release of this great library.
Rainweaver.Parallel Tester
100000 iterations Bessel function.
Comparison mode.
Parallel (RNW): 21076 msecs elapsed.
Parallel (TPL): 15877 msecs elapsed.
Sequential: 44302 msecs elapsed.
Ratio: Parallel RNW is 2,1020117669387 times faster.
Ratio: Parallel TPL is 2,79032562826731 times faster.
The results are pretty self explanatory, considering noise and everything. While this makes me a bit sad, I'm still happy to see that the difference is not that humiliating - at least, that's how I see it, and it's granted it could be oh so much better. All in all, my implementation is not optimized nor has been given that much forethought, so I can consider this a small step towards Nirvana and a great first-hand experience in parallel coding, which is invaluable.
I'd like to congratulate the TPL team on an awesome job. Can't wait for the release of this great library.
Monday, September 15, 2008
Coming next...
I've been dealing with a few interesting issues and finalized a good part of my base libraries. The time has come for me to start working on Darkmana. I've been messing around with my codebase to find out I was misusing a bunch of objects, resulting in a few annoying exceptions while using TV3D. Hopefully the problem has been understood; the lessons is, when dealing with multithreading, don't assume to follow the same sequential logic you'd use normally. This might be a given, but it's usually not. One enters in this focused state of mind in which everything clicks perfectly, just to find out an important thing has been left out at the very base of the structure.
Enough intro. In the next days, I'll commit some time to work on these subjects:
Enough intro. In the next days, I'll commit some time to work on these subjects:
- Parallel library: why, yes, even if there's one available for download over at Microsoft, I needed to roll my own. I can't rely on their release date (which is unknown at the moment) and on code in beta stage (adding to my own). Luckily a superb Channel 9 video with a throrugh explanation helped me disentangle a few doubts (link for the interested).
- Using the above library to create a proper loading screen. Loading screens are cool, but only if I'm the one making them, otherwise they're annoying as hell. I'd love to let the player move the main character around until the world fades in around him upon load completion. Wouldn't it be cool? I think so.
- Programmatic animations and AI. This is going to become a big matter, there are so many things I need to finalize first.
- User interface: that will be one of my last concerns. I'd rather have a simple guy running around and jumping than a working user interface at the moment. I have learned a lot from my past experiments with user interfaces, and this time I'm sure it won't be as painful as the first time (I'm not even considering the actual first time, since it was a mess :P).
Subscribe to:
Posts (Atom)