Add new discussions at the top. Move old or voluminous stuff to a subpage occasionally, or delete if truly trivial.
Get inspired again?
RRL (10/18/2006) I just handed a copy of the 3Impact Game Engine (www.3impact.com) to DWM. I bought a copy of this engine for a $100.00 bucks over year ago to test some low poly game models I had been working on and thought you guys might find it useful. Check out their site for more info. If you do get inspired again I will be available to make models and textures for you. You know where you can find me ;)
RRL hopes DWM can get Lisp to work with 3Impact.
Signs of life?
DWM (7/25/2004) Made a lot of progress on getting Subversion up on my system. Took a while because I had to upgrade Apache (major rev) and make sure I had security locked down tight. You can see the results so far at https://danm.homelinux.org/sdx. Would've gotten further, but a lot of stuff needed doing around the house. (More on my home page.)
DWM (7/19/2004) Wegiz has started to fool around with DirectX9 a bit again. I have been occasionally fooling around with programming activities peripherally related to SDx. There is life, barely.
Now that Subversion has graduated from beta to released status, I set up a Subversion service on my Linux server at home. Since I now have a DSL connection, I think it's viable to move our source control there, since JDH doesn't keep his CVS server up 24/7. (My server's always up, since it's our gateway to the net.) I have a few more things to do before I expose my Web server to the wild, wild net, though.
I've been toying with Lisp whenever I get a chance. I'm still enamored of the idea of using Lisp for top-level control of the programs, and am pondering what the interfaces between Lisp and various other parts of a system should look like. All Lisp implementations can talk to C interfaces if you do some work to define the latter via the Foreign Function Interface (FFI), details of which vary from one Lisp to another. At least one Lisp (Corman) makes it relatively easy to interface to COM code. So questions arise as to whether Lisp should talk directly to something like DirectX9, or whether a custom DLL (written in C++ or perhaps C#) should abstract the services we need. I'm not sure where or if .NET fits in. The core physics simulator is another good candidate for non-Lisp code, for performance reasons (subject to further evaluation).
If you're wondering why Lisp intrigues me so much, look at some of the resources on the net that describe the Common Lisp Object System (CLOS, pronounced "klohss"). It's a beautiful improvement over typical OO systems. One very interesting aspect is the ability to dynamically redefine a class, with all extant instances being reshaped at run-time to conform to the new definition. This has stunning implications for software maintenance of a 24/7 network service.
Sure is quiet around here these days...
JDH (9/14/2003) Well SDx has fizzled out a bit recently but who knows - with the change of seasons maybe we'll get inspired again? And on an inspirational note... We just hosted a party for some friends who are leaving for Australia and at that party I just me a full time game and toy inventor. He works mostly with board and card games (tried his hand at computer games in the late '80s but recognized that it wasn't for him). It was a very interesting conversation - he used to be a computer programmer (used to work for Ed Lieberman in fact!) and he and a friend started designing games back in the seventies. He got his big break (and turned full time) on the Trivial Pursuits fad of the 80's - he and his business partner designed "Professor Hoyle's Trivia Cards" which Hoyle's sold ten million packs of. They got about a nickel a pack (apparently it's common for a game inventor to get 5% of the wholesale net price). This is what persuaded him and his partner to go full time. Of course the bottom fell out of the trivia market shortly after doing this - and as he put it "suddenly the once a quarter royalty checks for $100,000 had lost a couple of zeros". I don't think he's had as major a hit on his hands again - but also I think he does OK for himself (their house in the Old West side of Ann Arbor is bought and paid for). Most of all he's working at what he loves on his own terms. He was a very interesting guy.
And now for something completely different...
JDH (9/10/2002) Ack! I don't feel like I'm a bad guy but maybed I'm not sensitive enough. Tommorrow is 9/11 and while without a doubt it deserves pause for thought and reflection about many aspects of life I have to ask can the US do nothing in moderation? Every newspaper, TV, radio show and every commercial enterprise can't seem to want to commemerate quickly enough. Even the victims relatives that I've heard interviewed have asked for moderation and that they be allowed to move on with their lives. Victims of other tragedies have spoken of feeling forgotten as the rememberances focus solely on these horrendous acts of mass murder. My company feels it necessary to tell (or at the least suggest to) me how to pay respect - I can work that out for myself thank you very much. Maybe I am just a bad guy...
Sorry that this is way, way, way, way off topic but I figured I could air my feelings to this august and intelligent group of individuals and that you'd tell me if I was full of shit...
DWM (9/11/2002) I hadn't noticed the problem, because I've only watched maybe two hours of TV in the last two weeks. Since I'm on vacation, I haven't even been listening to the radio. (That usually happens while commuting -- although in the last few months I actually spend most of my driving time working out s/w designs in my head, with the radio off.) What little news I get has been from Slashdot.
My wife brought the 9/11 thing up recently. She was concerned about the local school's plans to make a big deal of it. She thinks they're unnecessarily scaring the children.
America is not a land of moderation, that's for sure. Pres. Bush and the media are working on whipping the country up into a war frenzy, I fear. The only thing that can distract them is sports, another area of non-moderation. The good news is that we might be able to harness this obsessiveness some day in order to sell an obscene number of subscriptions to a new online computer game. :-)
Corporate email has been getting more and more offensively stupid at Creative over the past two years. I think as an organization gets larger, it ends up with more people that spend most of their time thinking about non-business issues on the job. And unfortunately, some of those have the authority to send email to the entire company. I've found myself starting to giggle hysterically whenever another email about dress codes arrives ... help me.
Maybe we can get Owen to tweak the spam filter to mark internal broadcast messages about dress codes and 9/11 as **** SPAM ****.
DJH (9/11/2002)
I most definitely have noticed the obsession the media and the nation as a whole has with wallowing in remembrance of the attack.
Actually, the people who are most 'sensitive' are making things much, much worse.
The do-gooders associated with schools and influencing policy/trends for dealing with kids have for years taken the attitude that children must be treated like fragile crystal, and that any slightly annoying thing will cause permanent trauma and require lifelong psychiactric assistance. Bullfckingsht. The do-gooders are completely ignoring the fact that people survived and progressed quite admirably in this nation and elsewhere when day-to-day life was miserably hard, and when death and personal tragedy were things you dealt with on a regular basis. Sure, it's all couched in terms of "it doesn't need to be that awful anymore, so oughtn't we do whatever we can to protect kids from such things?". No, we oughtn't, because that prevents kids and adults from learning how to deal with the real world. The real world is not Barney and Tele-Tubbies. The real world is full of bullies and accidents and things you just need to be able to accept.
They teach "sensitivity" and "conflict management" in schools these days, which in our experience means:
- sensitivity: Don't tell rude people they're rude or require them to act in an honorable fashion if you're a WAS(P) and they're not; you must let them have their way to your detrement and to the detrement of everyone else.
- conflict management: There is no such thing as a bully, everyone is reasonable, don't stand up for yourself, get a lawyer to resolve all disagreements.
These philosophies dovetail quite nicely with their approach to 9/11: tell the kids it was awful, truly awful, and they should be horrified and it's perfectly resonable for them to curl up into incoherent balls of emotional hysterics. There is no mention of teaching the kids to accept the facts and figure out a way to steel themselves so if or when something awful happens to them they are able to survive and rise above it.
And this isn't just the kids, either. They're conditioning today's adults to instinctively reach out for help rather than attempting to draw upon their own fortitude to analyze and recover. It's one thing to deny grief, it's quite another to let it take over.
DWM (8/21/2002) Ack. I'm lost in a maze of twisty little Web links and search engine pages. Do you have any idea how many game development libraries there are out there, free and otherwise? It's bewildering. I could spend weeks wandering around the Web reading about them, and reading technical papers on related topics. In fact, I think I already have...
DWM (8/23/2002) I was just poking around a bit in the Web statistics reporter for the site, and was amazed to notice that there were seven hits this month on http://spookydistance.com/uts.zip. That's a little unit test system library for C++ that I put together at home, and which we use at work. I posted a link to on the Ward Cunningham's original wiki a while back, and then forgot about it. Nobody has sent me email about it in a while, though. I suppose if I cared enough I would set up an email list etc. etc. But I'd rather write a space simulation game. :-)
BTW, I finally updated a bunch of stale junk on our home page 1, and I fixed our forlorn public wiki so that it's able to save files again. I'll have to talk to Frank about setting up a method for getting a backup of the site.
Oh and another thing... we reached the critical number 'four' on /Upgrading Our Operations Infrastructure, so at some point in the not-to-distant future, we'll get that process underway.
Internet Mailing Lists
DWM (8/18/2002) Apropos of nothing in particular: As I was browsing the net today, I ran across a very nice service. To explain what it does for you, I have to explain a little bit first. (Most of you may know all this already.)
Nowadays, one of the better information sources on the net is mailing lists. The USENET newsgroups tend to be full of spam, flames, and general lunacy, except for the rare moderated newsgroup. So many interest groups have turned to either Web boards (blech) or mailing lists.
There are problems with mailing lists, though. For instance, it's nice to be able to peruse a mailing list before subscribing. Also, some mailing lists (like the Debian User's list) are like a firehose open wide. (I've been on this list for a while, and I get well over 200 messages a day in my mail box from it.) There are a number of archiving services on the net that store mailing list content and let you peruse it. The problem is that they all use Web interfaces to access the archive, which is icky. (That's a technical term.) There are also services that convert a mailing list's content to a newsgroup, letting you access the archive via a newsreader. (My ISP, AT&T Worldnet, includes many mailing lists on its news server.) However, these services usually do not let you post to the newsgroup through the news server, which is inconvenient.
Well, I just found a service, [GMane] (the 'G' is silent) that aggregates many mailing lists in a news server, and lets you post to the mailing list through the server. I'm going to try using this so I can stop clogging my modem connection with Debian user rants.
Where to Start
DWM (8/18/2002) I've been thinking hard about how to get the ball rolling here -- which piece of the jigsaw puzzle to pick up first, as it were. Here's what I'm thinking:
- Bandwidth availability is not increasing as quickly as one would hope. (Contrary to the sentiment on /Nasty LPB Question.)
- Game viability hinges critically on network performance, at least and especially with respect to the flight simulation portions.
- During design, we should prefer more CPU overhead over more network overhead in almost all cases.
That said, I think we should focus on getting together the networking bits that will allow us to use dead reckoning techniques efficiently for (at least) the physical simulations. This should include the vertical slice of code that will allow us to easily create new distributed objects.
When we have something working here, members would have a tool for Simple simulations to get us started, which could test the system out. Or, work could start immediately on our physics engine, or on our physics controller loop that uses a third-pary simulator.
Steps for the above:
- Select basic development tools: C++ compiler, basic build tools, misc. support libraries. (See Technology, and the relevant section of Interesting Links.)
- Decide on a third-party network library, if any. (I'm inclined to roll our own; Net-Z and OpenSkies look really cool, and maybe we could negotiate initially cheap royalty-based licensing, but I'm not excited about the prospect of negotiating with salespeople.)
- Get source control running.
- Sketch out C++ APIs for distributed objects. (Medium level of abstraction at this point.) Get agreement on them.
Other stuff that can/should go on simultaneously:
- Game design, as always.
- Client design: graphics library selection etc.
Thoughts?
BTW, I hope you like the new SDx wiki logo. I threw it together in ten minutes with Paint, inspired by one of Microsoft Media Player's skins, which looks like a stylistic atom with orbiting electrons. I was listening to the B-52s at the time, hence the retro colors and look. :-)
/Upgrading Our Operations Infrastructure
Istvan (8/6/02) Just for the record, Perl has well and truly spoiled me for all filehandling and string-related manipulations. Spent 30 hours or so over the weekend on two projects (first one took under six hours) to end my intermediate C++ course. I'm now really commmitted to learning how to embed Perl scripts into C programs so I never have to go through that again, except in further exercises for the student. Gah. I also found it pretty rude/funny (and yah, I can laugh - this one was a 10 min fix) that the "standard" string class is unsupported by the fstream member functions. This we call a standard? Anyway, looking forward to sleep later this week.
DWM (8/10/02) File manipulation is a little bit easier with Perl, but embedding Perl is overkill. C++ provides the facilities to write very nice libraries. The problem is that file manipulation (as in manipulating file names, directories, etc.) was never standardized in C or C++. The calls commonly available on UNIX systems (link, unlink, etc.) are a defacto standard, and actually work reasonably well in most C++ systems. You just won't find them explained in most text books that focus explicitly on the standardized parts of C++ libraries.
I'm not sure what you mean about the standard string and fstream. std::string works just fine with all stream classes derived from std::ostream. If you're working with VC++, note that CString is Microsoft's standard, and yeah, that one doesn't work with the ostreams -- although this is easy to fix by defining your own simple-dimple operator<<. It's seems pretty stupid that Microsoft doesn't do this themselves.
I love using Perl for quick one-off scripts or very small programs where I don't want the overhead of setting up everything for a compile/link build. But once you know the standard C++ library and its common extensions well, you'll be able to write most data manipulation algorithms almost as easily in C++. Unless you need regular expressions -- that's sorely lacking in the C++ standard library, and is in fact being considered for inclusion by the standards working group.
BTW, I got your email asking about the site renewal fees. I've been meaning to look up how much it cost. I will, eventually.
Istvan (8/12/02) I was using an older Borland compiler (5.0?), and I literally had to write a quick function to convert a std::string to a cstring in order to get ifstream::open to play nice with the string filename arguments I wanted to use. Kind of silly, but it was easy to do. I'm still going to see what I can learn about making C++ and Perl work together. Even if it's relatively impractical, as you suggest, it's abstract knowledge that may be handy someday. Obviously, the fundamental solution is to become better accustomed to C++. Tehre were several possible class projects that I didn't choose to tackle. I plan to mess with them in the next couple of weeks, now that class is over.
Send me email on the site renewal fees when it's convenient, thanks.
Istvan (5/20/02) Went totally bananas here on the Wiki today. Combo of some pent-up ideas and pent-up inclination to reorganize some of our communal discussions, along with fresh inspiration from mucking with Earth And Beyond last week. Also, sort of a last hurrah before I vanish on vacation for a couple weeks. No, I haven't quit my crummy job. If and when I do, my activity here will probably spike even more strongly.
JDH I commend you for your efforts! ;-)
JDH Beware the perils of Sam's Club - we went shopping Sunday morning for the usual bulk items we get from Sam's Club. Imagine my surprise when we came home with an Xbox Bundle (woo! hoo!). They were selling the console, 2 games an extra controller and the "DVD kit" (a remote which lets you watch DVDs on the console) for $329 (lot's of other places are still selling the Xbox alone for $299). So once again I'm straying from the path of active SDx development - but, heck, it means that now we really must do a console version of SDx, right?
Istvan ... console ... version. Suspending other concerns momentarily, what's the status of rumors that consoles will be Internet-capable sooner or later? I've paid zero attention to the console market since I ditched the Atari 2600. If it's viable to write a console client, the market potential might be worth it. Might be better for userbase than Linux, just in terms of user volume related to development time, by the time we are really serious.
JDH The Xbox has an ethernet port on the back - MS is going to start a game network (this year I believe) for $49 bucks a year (including a headset for voip stuff). The Xbox is basically a P3 700 (I think) with an 8GB HDD (I think) - not sure about the memory - in other words it's very much a PC in a different skin with a different OS (but DirectX compatible). I know that it uses a different memory model than your typical PC (it maps the video memory and the main memory differently I believe). It certainly has the horsepower to be a client (as I assume does the Sony PS2 and the Nintendo Game Cube). I believe that providing a console client (hang in there Istvan - don't faint on me!) is more of a licensing issue than a technology one ...
DWM I'm really enjoying the bios. It would be even more fun to hear all this over a few beers, but I guess this is the cyber-equivalent.
I'm trying to catch up with stuff at home and at work so I can put some time into SDx again.