Slashdot Mirror


User: jonathanclark

jonathanclark's activity in the archive.

Stories
0
Comments
349
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 349

  1. Re:Get into the industry on How Does One Become a Game Designer? · · Score: 4

    I think that is excellent advise. I'd also add that networking (the people kind) plays a big role - so try to get in contact with people who work at game companies. When they are ready to hire, they will pick people they know before they pick random people. So, read .plan files of developers and if they talk about something of interest to you write them back and try to build a friendship. Don't come of as a braggart - but if you have stuff to show put something in your mail .sig and half the time they will be curious and take a peek. They probably won't browse more than a few pages so put your best stuff up front (code/art/music/etc).

    If you write to a developer more than once, re-introduce yourself or maybe quote your last email because they probably won't remember your name. If you write them enough (with useful info) then they will start to remember and respect you and maybe offer you a job or suggest you to someone who will offer you a job.

  2. Large numbers on Using Lisp to beat your Competition. · · Score: 2

    Reminds me of one math class where our home work was to find the first and last digits of some huge exponent and prove that was right. No one's calculator could handle a number that big so the teacher figured everyone would have to get us to figure out a pattern. But, I just typed in one line of code into clisp under linux and let it run for a few minutes. I printed out the result to prove I was right (the number was something like 8 pages of tiny text long)! The teacher wasn't too happy that I spoiled his logic proof.

  3. Re:LISP is really a simpler form of XML on Using Lisp to beat your Competition. · · Score: 1

    cool. Another convert! :) How do you find GUILE? The main issues with ingregrating LISP heavily into another applications are :

    - garbage collection
    - type information integration with C++ (how easy is to create and access objects from the other language?)

    I remember briefly looking at GUILE, but I was afraid that it was a little too big for many of the applications I had in mind. Know what the compiled code size of GUILE is? How does it do garbage collection?

  4. LISP is really a simpler form of XML on Using Lisp to beat your Competition. · · Score: 5

    I've been a big fan of Lisp since I first learned it, but I've always had trouble articulating why it is so useful. Now that XML is around and the world is saying it's the greatest thing since sliced bread - I have an analogy.

    Lisp and XML both support

    - Arbitrarily complex data can easily represented in text.
    - Parsing of data in an easy fashion.

    However, I think LISP has some advantages over XML:

    - XML standard is becoming too complex, LISP data format is about as simple as you can get. You can write a LISP parser in 100 lines of code. This makes LISP ideal for tiny "fun" applications, to the larger enterprise applications.
    - XML is much more verbose to write - making it easier to read by humans, but also making it something you don't want to write by hand - witness all the tools that have been writing to assist XML writing.
    - LISP allows for execution and interface with code. Sometimes data can't be stored and loaded in a 100% static format. It's very useful to be able to embed calls to your program to generate data on the fly. And it's very easy to mix and match data and code.

    To see LISP in work in the real world, download some of my programs:

    Abuse - a side scroller action game published by Electronic Arts. Almost all the data loaded by the game is specified externally in LISP files. All but the main character's AI functions are written externally in LISP. Source code for this is available.

    EZIP - This program shows my new HTML-like dialog layout library. I encourage you to look at the LISP code that generates the dialog boxes. 3 very nice dialog boxes specified in 100 lines of code. LISP is easier to write than HTML because with an editor that does paren matching you can see opening and closing of rows, tables, and columns. Here is an excerpt of the LISP code from ezip:

    (well /. Say
    "Lameness filter encountered. Post aborted.
    Reason: Junk character post.") when I post the code... oh well

    (This looks better in an editor). What is cool is that changes to variable names such as "filename" and "outname" are automatically applied . If this were an Active-X control with IE showing HTML then I'd have to have a "Submit" button which sent the results of the form, and then parsed the changes I wanted by hand.

    This dialog software uses the same algorithm as IE to layout dialog boxes so when I open I dialog I don't need to specify any sizes in the code. The layout algorithm automatically determines optimal size for tables, cols, and rows. This allows it to calculate a size for the tab control, and a size for the window itself. Language translations just work regardless of how long the German word is for "duck" It's a huge advantage over conventional dialog layout methods like GUI editors.

    Golgotha -A 3d action game that used external LISP files to specify data for the game. This allowed artist to add new models and textures to the game. They may not know lisp but they can copy a line of code and change file names like there is no tomorrow. Source for this is available.

    I'm not going to say that people should go out and programmer entire apps in LISP - but I think it's an excellent way to represent data extern to your program - perhaps better than XML because of the flexibility it can allow you.

  5. Re:Abuse! on Using Lisp to beat your Competition. · · Score: 3

    Check out Abuse (link below), even though the game came out more than 6 years ago the community is still going and active on a daily basis. I attribute this largely to the addition of LISP which made the game very expandable.

    http://abuse2.com

    Recently Jermey Scott made a Win32 port of Abuse and converted the IPX code to DirectPlay so you can play multi-player over the net. That can be found here:

    http://www.uidaho.edu/~scot4875/

  6. Really doubled or part of a cost cutting move? on Google Doubles Server Farm · · Score: 3

    As part of the infrastructure expansion, Google is consolidating. The company is moving out of datacenters in the San Francisco Bay and Washington D.C. areas, and consolidating in a new facility in the D.C. area. That means Google is moving from five to four datacenters--this, after adding three datacenters in the past year or so.

    I wonder if they really need that many servers or they doubled their size in order to have a seemless transistion during the move? I.e. Get the new site up and running and handling load and then take down the old site? Maybe they will sell off the old computers instead of move them. This could just be a PR spin to say "we doubled our size." Just devil's advocates conjecture, but they are probably moving to DC from SF to save money on space - so this is more of a cost cutting thing than anything else.

    Don't get me wrong, I love Google and use it everyday, but I don't see any reason they would suddenly double their capacity.

  7. Re:Read the patent on Worlds.com Patents Quake-like Games? Kinda. · · Score: 1

    I don't know about that... The first claim (below) basically says the the client limits how many people it can draw based on some maximum draw count (presumably, this is so it can keep a constant frame-rate with lots of people in the world). Most outdoor games will do something like this - but they usually limit drawing by distance rather than exact count. An exact count would cause a character to blink in and out unless a gradual cutoff is observed.

    1. In a system for interaction between a plurality of users in a three-dimensional, computer-generated graphical space where the system includes at least one server coupling a plurality of clients where each client addresses a client display, a method of representing interactions among the plurality of clients on a display of a target client comprising the steps of:
    identifying a position of a local avatar of a user of the target client, the position being a position relative to the graphical space;
    determining a maximum displayable avatar count for the target client;
    determining a total avatar count for the server, wherein the total avatar count indicates the number of clients connected to the server;
    when the total avatar count is greater than the maximum displayable avatar count for the target client, limiting the number of avatars processed by the target client to the maximum displayable avatar count, wherein the step of limiting is performed at the target client; and
    displaying, on the client display, the avatars processed by the target client.

  8. Re:What about garbage collection? on Next Generation C++ In The Works · · Score: 2

    I'm aware of that garbage collector (I use it for a number of projects), but it is has a number of limitation because it doesn't have any support from the compiler. That collector for example, knows nothing about your data structures so it has to assume everything could be a pointer forcing it to scan the entire heap. This is not practical for real-time application where GC needs to be done incrementally. Yes, the xerox collector can run experimentally in incremental mode using page protection - but this makes it hard to debug on many platforms and though I have not tested the speed, I suspect it has a fairly dramatic performance hit if you application accesses a lot of data. Also hardware page protection is not available on all platforms (DOS, game consoles, embedded systems, etc).

    Right now if you want fast incremental GC you have to make you own smart pointers and do reference counting for all global roots. It would be nice to see compilers with reference and resource management builtin so you don't have to make everything look like template hell.

    Also it's a misnomer that GC adds more overhead in terms of speed. Applications written to properly use GC spend less time copying/freeing objects than their non-GC counterparts so on average a GCed program with a good collector will have better performance. Not to mention I recall a study showing that c++ programmers spend some 50% of their time dealing with allocation/deallocation and a large percentage of bugs are related to memory leaks and premature frees. On average GC makes your program go faster and it almost always speeds up your development (which is more important these days).

    I've written a few garbage collectors myself using smart pointers to track global roots and then I use thread-suspension during collection to deal with currency issues. It would be nice to see something like this standardized and supported by the compiler and support libraries (i.e. enumurable counting pointers and thread suspension). It could be toggled on/off by class so that there is 0 overhead if you choice to not use it.

  9. What about garbage collection? on Next Generation C++ In The Works · · Score: 1

    I didn't see/hear any discussion on garbage collection. Anyone know what they think about this? That is my main reason for wanting to use Java or C-sharp.

  10. Re:I've seen this before on TuxBox: Rising from Indrema's ashes · · Score: 2

    Does the vast quantities of useless apps currently available for Windows (or for that matter, Linux) make the quality apps any worse?

    If you take what I said and apply it to the PC arena, you will see that way over 99% of the games are crap. This does affect the "quality" PC games in many ways.

    - User's expectations of PC games are lower. Because they've download and bought so many crap games, they don't expect much from a PC game in general. A user will only pay for what they expect to get, so in general PC game titles sell for less than console game titles. Because of lower profit returns on PC products coupled with higher support and product returns the publisher is able to spend a lot less on development and it's marketing.

    - Crashing, Install Problems, driver problems, etc are frequent in PC games especially in "low quality" games that aren't tested well. This scares users off from buying new games. Console games work every time, so why risk wondering if it's going to run?

    So, low quality games significantly reduce the income for developers of high quality games. The quality of a game is not always, but usually determined by the budget allocated to it. Square Soft makes some awesome titles with awesome budgets for the PS. These games would be impossible to make for the PC. There are no PC titles that have 80 full-time artists working on it...

  11. I've seen this before on TuxBox: Rising from Indrema's ashes · · Score: 2

    I've seen this before.

    A project fails and someone with absolutely no clue jumps to capture the publicity of the project.

    but Riley and Isley pledge to provide daily updates to TuxBox project members. The project also has regular IRC channel [irc.openprojects.net #tuxboxproject] where developers discuss their issues.

    They are expecting volunteers on the net to magically build a console for them because they maintain a news page and IRC channel. It's not gonna happen. Consoles take a lot of $$$ to finish and manufacture, not just skills. I worked with Sony to help create the PlayStation 2 and I can say with 100% confidence that such a product could never have been created without a serious budget, even if you delude yourself into believing you are
    saving development time by using the Linux kernel. There is a reason Indrema failed and it's all about money.

    Open consoles sound great, but really they suck. The cost of consoles is subsidized by the profits of a software titles. If the console is open then:

    a) there is no money recouped from software, and thus the hardware will be much more expensive.
    b) More expensive hardware means less sales of hardware - which means no one will want to sink development money into making new games for this thing. A port of a top ten game cost on the order of $300k-$1m to do. There aren't going to be enough units out there to make that money back.
    c) There will be no quality control, 99% of the games for this thing will be crap. Who wants to pay $600 to play crap when they can get a DreamCast/PS2 for half that with good games? A big job of Sony/Nintendo, etc is do quality control on titles (though developers hate it, its good for consumers).
    d) Marketing budgets? If your hardware is not subsidized, then you have to mark your price up further to cover marketing budgets. This further gets into the problem of lower hardware sales leading to fewer software titles etc.

    No, I don't believe the pair listed in the news article have any intention of getting out a product - merely trying to grab attention. They don't appear to have any experience in this industry, programming or business-wise. A true sign of someone who couldn't finish this project is someone who starts IRC channels.

    I think these people have read one to many stories about how Linux was created by "a lose band of volunteers" There is no parallel between how Linux was created and how a game console is created. The "kernel" is one of the least important parts of a console.

    From the Indrema mailing list:

    > From: Owen Swerkstrom
    > It will
    > > be a miracle for Microsoft to get their Xbox out
    > by fall, let alone a
    > group
    > > of open-source idealists (indremists?) to somehow
    > build up and
    > mass-produce a
    > > console from scratch.

    http://idn.indrema.com/www-discuss/msg03398.html

    I think that hits the nail on the head.

  12. Trademark violation? on CueHack For CueCat Released · · Score: 1

    The logo on this page looks remarkably similar to the original. I wonder if CRQ has a case against them?

  13. Re:Cross Language Too on Game Programming w/ the Simple Directmedia Layer? · · Score: 1

    When you develop games, cross-language means C/C++ with support for other *natural languages*. i.e. French, German, Spanish, etc.

  14. Re:I emailed the author of the article. on Day In The Life Of Net Scam Artists · · Score: 2

    Firstly, I'd like to quibble some semantics with you. These kids are not 'hackers', they are 'crackers'. A hacker wears a white hat. The crackers wear a black hat. As far as that goes, these kids are not even crackers, they are spammers and thieves.

    You can argue all you want, but "hacker" is understood by the general public, but "cracker" is not. In the same light, "Virus" may be something different from a "Trojan Horse", but you tell that to an average computer users and they'll say "huh?" MSN is written towards the general public and while the author may very well know the difference between cracker and hacker, he/she would rightly chose to say "hacker" rather than wasting the readers time with a paragraph explaining what a cracker is. It is a sign a good author to target the language to the reader. You just need to accept the fact that the general population isn't interested in learning a billion vocabulary words to make you happy. While it may seem important to you, it's useless trivia to most of the world.

    I would argue that the language of hacker and cracker does not even have the meaning you say. You can be a cracker and still be "one the side of good". Crack is actually a very positive word. "That is a crack team." Cracking generally means to "crack open", as an a bank vault, a copy protection scheme etc. It implies an action, not an intent. So a locksmith might be called to crack a safe for which the keys were lost, or I might be consulted to crack a copy protection software scheme and test it for weaknesses before it is released. I consider myself both a hacker and a cracker, but I do not use either talent for evil.

    jc @ crack.com (yes, my real email address)

  15. Re:Man.. that was way harsh. on CNET Reviews Windows XP Beta 2 · · Score: 1

    Also, try this one.. it will lock-up every Unix system I've come across:

    main() { while (1) fork(); }

  16. Re:The system needs reform on Don't Trust Code Signed by 'Microsoft Corporation' · · Score: 1

    I couldn't agree more. Verisign has a monopoly on certs root keys, and they milk it for tons of money by making the keys expire every year. Really, advances in decryption do not occur so rapidly that this is implemented for the sake of security. A 5-yr cert might be appropriate, but 1-yr is ridiculous.

    I hate to say it, but this case is a good indicator that Verisign is doing almost nothing for the money they charging. For issues of identity and authentication, I think the government is in a better position than a private corporation. I think the US govt. should step in and force verisign to hand over their root key and do the job for them - before Verisign hands out too many more bogus certs. And since Verisign truly has a monopoly on root keys that are integrated in 99% of browsers, the government would have legal authority to do this.

    What is truly ironic in this case is that Microsoft is the one that gave Verisign this monopoly in the first place - and they go and screw the one corporation that really matters to them. Doesn't Microsoft already have their cert built into the browser anyway?? I guess they have to go to Verisign to get Navigator support.

  17. Re:How do you deal with illegal activity? on Free Wireless For Fun And / Or No Profit · · Score: 2

    This isn't a new problem. Public libraries offer anonymous internet access that can be used for illegal activities. If someone commits an illegal act using the libraries internet connect, the library isn't liable for that persons action because they fall into the public carrier category.

    Likewise, running a open wireless network could shield you from legal prosecution. It would be difficult to prove any action was commited by yourself rather than a 3rd party.

  18. Re:Lord British has been gone for awhile... on Lord British Gives UO2 the Axe · · Score: 1

    Yes. He left and has been leading a pretty private life now. Anyone know what he is up to?
    When I lived in Austin I used to hang out with his sister and play roller hockey with the Origin team. Most of the programmers I know from Origin have moved on to other companies - so I don't get the inside gossip anymore.

    Is he still doing the Halloween and July 4rth thing?

  19. Re:This does solve one problem.... on Earthlink's Extra HTTP Header · · Score: 2

    I can get your location from your IP address fairly accurately.

    checkout:
    http://jonathanclark.com/where.php

    --

  20. Re:Why Don't They Go After... on NCR Claims Palm Infringes As "Personal Terminal" · · Score: 1

    You don't have to sell something to infringe on a patent.

  21. It might be possible on The Bride Of Macrovision · · Score: 2

    It's possible to create CDs that use polymers that degrade after they are exposed to laser light. It would be too expensive to make the whole CD out of this stuff, but the first part of the CD is all you need and it adds a few cents to the production cost.

    I don't think this is what they are doing - but I've seen a company or two try to implement software copy protection this way. It allows the install program the ability to determine if the CD has been installed before. And as far as I know this is compatible with most CD players.

    Assuming you were able to corrupt the right bits of a music CD, then it wouldn't play anymore.

    Pretty nifty idea, but I worry that a customer's computer might crash or lose power during install and then they wouldn't be able to install again.

  22. GF3 also has "free" visibility testing on More on the GeForce 3 · · Score: 3

    I think one of the coolest things about the GF3 is the ability to get a pixel write count back for a polygon. i.e. you draw a polygon and it tells you how many pixels were "written" to the frame buffer due to alpha and z-buffer test.

    And since you can turn off color and z writes, you can test visibility with no changes to the frame buffer. This is perfect for a portal game where you can cull entire rooms if they are not visible because of things you traditionally couldn't compute. If there is a big fireball in front of your face, or a character/pillar is blocking the view. If you have a few monsters that require a significant amount of time to draw, then you can test to see if they are visible first by rendering a coverage polygon first.

    You can use this to test the visibility of lens flares so they fade smoothly in and out as they go behind other objects.

    You can also use this in game logic in combination with a shadow map to tell how much "in the shadows" characters are. This can make the AI more realistic.

    Getting back pixel write counts from the hardware has a very long latency, so it can't be preformed super frequently - but it's a lot faster than trying to read and process the z-buffer yourself.

    And for those of you not wanting to spend $600 for a GF3, just wait for the Xbox - it's including almost exactly the same hardware for half the price.

  23. Re:HTTPS on German Publishers To Use Sniffers to Censor Web · · Score: 2

    If you block all traffic to a specific site then SSL doesn't help. Because of the nature of SSL server cannot virtual host SSL so they will never have to worry about blocking multiple sites based on IP.

    SSL would prevent them from blocking individual URLs because they can't read the HTTP request. You can always get around any filtering system using a proxy that supports SSL (unless they block all proxies...) but Joe Consumer is probably not going to figure that out.

    One interesting aspect of SSL, is that it can be used to tunnel any data, not just HTTP request (see this) so you could use it to access Napster servers.

  24. Re:who's left? on 3Dfx No More -- NVidia Purchases Video Card Maker · · Score: 1

    Don't forget Sony. All the PS2 chips bring down their cost and afford them a big research team. They have expressed interest into making PC consumer versions of their PS2 technologies.

  25. "Corel To Sell Linux Arm" on Corel To Sell Linux Arm · · Score: 2

    Corel selling ARM based linux systems doesn't sound like they are getting out of the business. It sounds like they are getting pretty deep into linux territory.