I noticed that too, lighting is one of the major things the source
engine sucks at. Hopefully Source 2011 will make the life of modders
10x easier.

On 17 June 2010 15:11, Adam Buckland <adamjbuckl...@gmail.com> wrote:
> Also, after looking at the Portal 2 gameplay footage from IGN:
> http://www.youtube.com/watch?v=5THiN8szSKM (there's 3 parts) am I the
> only one that thinks that the lighting system has had to have a large
> overhaul to support how the levels change dynamically? (particularly
> obvious in the part 1)
>
> On 17 June 2010 14:58, Alexander Hirsch <1ze...@googlemail.com> wrote:
>> Mesa3D?
>>
>> On Tue, Jun 15, 2010 at 5:20 AM, Katrina Payne <fullmetalhar...@nimhlabs.com
>>> wrote:
>>
>>> This also adds a rather odd burden here, that allows Linux to get a better
>>> standing for gaming.
>>>
>>> It is not that unknown that without mixing, Linux generally does not
>>> require
>>> anywhere near as much over head to run as windows.
>>>
>>> The minimum requirements to run a GUI on Linux is about 256MiB of RAM. This
>>> even includes GUIs like KDE and Gnome. Though XFCE and LXCE would be better
>>> if
>>> you really did only have 256MiB of RAM (well if you were using a DE... and
>>> not
>>> a slimmed down WM with only a few programs loaded into it)
>>>
>>> You can do just fine win 1GiB of RAM.
>>>
>>> Linux also, as an OS can run on some old Intel boards--that running an OS
>>> on
>>> would other wise be insane today. a Pentium 1 can still get (some) use with
>>> Linux.
>>>
>>> Not enough to really be noteworthy as a desktop PC... but, this is a lot
>>> less
>>> than the least you will get Windows 7 onto.
>>>
>>> So we have a nice toss up here:
>>>
>>> 1: Linux requires Software Rendering in place. IE: how rendering was done,
>>> before we got silly things like TNT and Voodoo on the market.
>>>
>>> 2: Linux requires significantly less overhead to run, as far as OS goes.
>>>
>>> If we can get it so that we can show Steam running on Linux, using mostly
>>> Software Rendering, and getting it to run as fast as the same game on
>>> Windows,
>>> on comparable hardware...
>>>
>>> This will definitely sell Linux as an OS...
>>>
>>> Which in turn will get various Graphics Card makers on board to add their
>>> support.
>>>
>>> You know--I kind of want to see somebody work on that goal then. I am
>>> almost
>>> ready to dig up some old books that go over the theory of 3d programming,
>>> just
>>> to pull make a software rendering engine for this idea.
>>>
>>> On Monday, June 14, 2010 07:59:45 pm Darren VanBuren wrote:
>>> > Yes, 3D drivers are definitely quite lacking on the GNU/Linux front,
>>> > but if Valve shows support for the development of these drivers, this
>>> > may prompt certain GPU manufacturers to step up their GNU/Linux driver
>>> > development.
>>> >
>>> > Darren L. VanBuren
>>> > =====================
>>> > http://theoks.net/
>>> > On Mon, Jun 14, 2010 at 18:35, Bob Somers <magicbob...@gmail.com> wrote:
>>> > > Something to consider, though, is that the 3D driver support is years
>>> > > behind from *ahem* a particular GPU manufacturer. I won't embarrass
>>> > > them by saying their name, so I'll just say their initials: ATI.
>>> > >
>>> > > Their driver support for Linux is, frankly, pathetic at best. The
>>> > > Fedora team is trying to solve this with their new free drivers in
>>> > > Fedora 13 (which, I'll admit, are quite good), but it's still not up
>>> > > to par with what you need to run a game. For example, the new free
>>> > > drivers have very little (read: practically none) support for basic
>>> > > vertex and fragment shaders. It will be at least another year before
>>> > > the free drivers are up to what ATI's crappy proprietary drivers are
>>> > > now. Even worse, right now you can get the proprietary drivers running
>>> > > on Fedora 11 alright, sort-of on Fedora 12 with some ugly hackery, and
>>> > > not at all on Fedora 13. Literally, ATI's Linux drivers are at least
>>> > > 12 months behind, and the free ones are 12 months behind that.
>>> > >
>>> > > Unless somebody gives ATI a swift kick in the nuts the situation does
>>> > > not look good.
>>> > >
>>> > > --Bob
>>> > >
>>> > >
>>> > >
>>> > >
>>> > >
>>> > > On Mon, Jun 14, 2010 at 5:01 PM, Darren VanBuren <onekop...@gmail.com>
>>> wrote:
>>> > >> Spoiler Alert. It's like the ratman drawing that says "She's watching
>>> > >> you." Canonical is she in that case.
>>> > >>
>>> > >> I'm personally a fan of Fedora, but if Steam on GNU/Linux is
>>> > >> distributed as a tarball, that'd be best in the interests of Valve.
>>> > >> Even if some people (mainly Ubuntu users) would be a bit stuck on the
>>> > >> concept of a tarball, it'd be minimal work for Valve, and maximum
>>> > >> cross-distribution compatibility.
>>> > >>
>>> > >> Darren L. VanBuren
>>> > >> =====================
>>> > >> http://theoks.net/
>>> > >>
>>> > >>
>>> > >>
>>> > >> On Mon, Jun 14, 2010 at 16:49, Harry Jeffery
>>> > >> <harry101jeff...@googlemail.com> wrote:
>>> > >>> It's all down to personal opinion, as long as it does what you need
>>> > >>> quickly and effectively then it's fine. I've yet to see the dark side
>>> > >>> in cannonical so I honestly can't say much about their ethics.
>>> > >>>
>>> > >>> Either way, I <3 Linux and so should Valve.
>>> > >>>
>>> > >>> On 15 June 2010 00:19, Katrina Payne <fullmetalhar...@nimhlabs.com>
>>> wrote:
>>> > >>>> Well a few points:
>>> > >>>>
>>> > >>>> The commands in the Linux Commandline... and well those on any UNIX
>>> or
>>> UNIX
>>> > >>>> Workalike have not really changed since the 1970s. You could pick up
>>> a
>>> book on
>>> > >>>> BASH or TCSH from the 1970s, and still have most of what you should
>>> do.
>>> > >>>>
>>> > >>>> This kind of has allowed for tools to be put around these base
>>> functions, such
>>> > >>>> as autocomplete, history and well--quite a few other really handy
>>> tools, to be
>>> > >>>> added into the Linux CLI, to make its functionality go above and
>>> beyond
>>> > >>>> anything cmd.exe is capable of.
>>> > >>>>
>>> > >>>> I still have yet to look into Microsoft's PowerShell though.
>>> > >>>>
>>> > >>>> This is why most Linux users use the CLI. It has developed into an
>>> experience
>>> > >>>> that is completely unlike the root canal that is cmd.exe. You can
>>> actually go
>>> > >>>> in, and get some functionality from it. A lot of functionality too.
>>> It
>>> also
>>> > >>>> gives the feeling that the user has more direct control--without
>>> that
>>> Pesky
>>> > >>>> GUI in the way (though, technically, this just has a bunch of other
>>> items
>>> > >>>> typically in the way, such as init.d, bash, various bash
>>> extensions--
>>> maybe
>>> > >>>> screen... you are just trading one thing in the way, that is, a GUI,
>>> for
>>> > >>>> another thing, that is a CLI).
>>> > >>>>
>>> > >>>> Now, that said--there are plenty of Desktop Environments ('DE') that
>>> Linux can
>>> > >>>> make use of, that pretty much make requirement of CLI use
>>> unnecessary.
>>> That
>>> > >>>> is, between KDE4, LXDE, XFCE, E17 and GNOME2/GTK, the average Linux
>>> user
>>> > >>>> nearly never has to do anything on the CLI. Unless something has
>>> gone
>>> horribly
>>> > >>>> wrong. In which case, he should be able to get the local Linux Admin
>>> to
>>> fix it.
>>> > >>>>
>>> > >>>> As that technically is what he'd do if something went horribly wrong
>>> on
>>> > >>>> Windows. He'd get his local Windows Expert to fix it.
>>> > >>>>
>>> > >>>> The "required" use of the CLI rather than GUI to properly use Linux,
>>> is
>>> much
>>> > >>>> like how using Vi is "required" rather than EMACS for the proper use
>>> of
>>> Linux.
>>> > >>>>
>>> > >>>> Also, I use Fedora, and typically find it a LOT easier to work with
>>> than
>>> > >>>> Ubuntu. This maybe, because Fedora tries not to be a bunch of
>>> asshats
>>> to the
>>> > >>>> people upstream. The same cannot be said about Canonical, the owners
>>> of
>>> > >>>> Ubuntu. Where, from what I have seen on their policies by past
>>> actions...
>>> > >>>> their MAIN desire is to be asshats to the upstream.
>>> > >>>>
>>> > >>>> I have a long winded rant on why I do not like Ubuntu... I mostly
>>> just
>>> state
>>> > >>>> that nobody uses Ubuntu Linux. Typically most people go over to
>>> another
>>> Linux
>>> > >>>> Distro afterwards, generally agreeing that no matter what Linux
>>> Distro
>>> they go
>>> > >>>> to, be it Fedora, Puppy (well, prior to being based on Ubuntu),
>>> Arch,
>>> Slack,
>>> > >>>> Gentoo, Knoppix, CentOS, LFS, etc., is better than Ubuntu... either
>>> that, or
>>> > >>>> they return to Windows--only using Ubuntu as a rescue disk setup.
>>> > >>>>
>>> > >>>> Right, now then. Back to your regular discussion
>>> > >>>>
>>> > >>>> ~Katrina
>>> > >>>>
>>> > >>>> On Sunday, June 13, 2010 07:20:08 am Harry Jeffery wrote:
>>> > >>>>> People like the command line because it's very fast to do what you
>>> > >>>>> want if you know what you are doing. So far ubuntu seems to be the
>>> > >>>>> most user friendly linux distro and what a majority of linux gamers
>>> > >>>>> might use.
>>> > >>>>>
>>> > >>>>> Personally I'd just use arch-linux and optimize my system...a lot.
>>> As
>>> > >>>>> long as nVidia release decent linux drivers it's all good.
>>> > >>>>>
>>> > >>>>> On 13 June 2010 14:01, Adam Buckland <adamjbuckl...@gmail.com>
>>> wrote:
>>> > >>>>> > A couple of things:
>>> > >>>>> >
>>> > >>>>> > Elan Ruskin gave a good talk on porting to consoles at GDC08. The
>>> > >>>>> > slides are on Valve's website. There's something in there that
>>> may
>>> > >>>>> > help you here:
>>> > >>>>> >
>>> > >>>>> > #ifdef __GNUC__
>>> > >>>>> > #define MAXSI_THREADED_VARIABLE __thread
>>> > >>>>> > #else
>>> > >>>>> > #define MAXSI_THREADED_VARIABLE __declspec( thread )
>>> > >>>>> > #endif
>>> > >>>>> >
>>> > >>>>> > You may wish to use another define for windows rather than an
>>> else
>>> > >>>>> > statement in case you wish to port it somewhere else in the
>>> future.
>>> > >>>>> >
>>> > >>>>> > Also I agree, the Mac and Linux ports are incredibly similar. In
>>> fact,
>>> > >>>>> > on the Mac port a shell script is executed first to determine
>>> whether
>>> > >>>>> > it's running on OS X or Linux.
>>> > >>>>> >
>>> > >>>>> > Finally Linux could be a great consumer platform. Before it can
>>> become
>>> > >>>>> > this, it needs to learn that not everyone is a power user, and
>>> make
>>> > >>>>> > things simple. Learn from the Mac app bundles, and remove
>>> reliance
>>> on
>>> > >>>>> > the command line (for example the output is shown on the update
>>> > >>>>> > software). It scares normal users. That, and a lot of power users
>>> > >>>>> > (like myself), don't want to have to rely on the command line for
>>> > >>>>> > everything.
>>> > >>>>> >
>>> > >>>>> > On 13 June 2010 13:28, Jonas 'Sortie' Termansen <
>>> hlcod...@maxsi.dk>
>>> wrote:
>>> > >>>>> >> I'd like to share a few experiences about porting code and
>>> writing
>>> > >>>>> >> portable code. Scroll down, if you just want my thoughts on how
>>> portable
>>> > >>>>> >> the Source Engine is.
>>> > >>>>> >>
>>> > >>>>> >> Recently I've been porting my in-development digital
>>> distribution
>>> > >>>>> >> platform to GNU/Linux for the fun of it. Naturally, most of my
>>> code
>>> > >>>>> >> didn't work right out of the box. But it is worth that several
>>> > >>>>> >> subsystems actually worked at the first attempt, or with an edit
>>> or
>>> two.
>>> > >>>>> >> For instance, my string system and parser classes/functions
>>> compiled
>>> > >>>>> >> right away.
>>> > >>>>> >>
>>> > >>>>> >> However, stuff like accessing the filesystem, multithreading,
>>> user
>>> > >>>>> >> interfaces, networking, and so on didn't work because it relied
>>> on
>>> the
>>> > >>>>> >> Windows API. The interesting part here is that POSIX does things
>>> > >>>>> >> differently; but almost in the same manner as Windows. That
>>> means
>>> for
>>> > >>>>> >> each Windows API call you use, there is often one or more POSIX
>>> calls
>>> > >>>>> >> that does the same thing (if you add a little abstraction, that
>>> is).
>>> > >>>>> >>
>>> > >>>>> >> Now, some of you heavily suggested the use of #ifdefs all around
>>> the
>>> > >>>>> >> code. You should not use #ifdefs each time you rely on platform
>>> specific
>>> > >>>>> >> behavior, but only in shared function calls or in headers. For
>>> instance,
>>> > >>>>> >> if you have to open a file. On Windows you can call the
>>> CreateFile
>>> > >>>>> >> function, while POSIX supports the open function. That means for
>>> each
>>> > >>>>> >> file opening, you need to write something like.
>>> > >>>>> >>
>>> > >>>>> >> #ifdef linux
>>> > >>>>> >> int FileHandle = open(Path, Flags);
>>> > >>>>> >> #elif defined(WIN32)
>>> > >>>>> >> HANDLE FileName = CreateFile(...)
>>> > >>>>> >> #endif
>>> > >>>>> >>
>>> > >>>>> >> Naturally, this isn't very pretty. And if this was used all over
>>> the
>>> > >>>>> >> Source Engine you would spend a lot of time writing #ifdefs and
>>> checking
>>> > >>>>> >> platform specific documentation. However, I am not saying
>>> #ifdefs
>>> are a
>>> > >>>>> >> bad idea. But instead of using them all over your code, you
>>> should
>>> move
>>> > >>>>> >> them to a shared class or function that simply implements all
>>> this
>>> once.
>>> > >>>>> >> In my code, I declared an abstract baseclass called
>>> MaxsiFileSystem
>>> that
>>> > >>>>> >> implements all the common functions to access the local
>>> filesystem.
>>> So
>>> > >>>>> >> now when I wish to open a file for reading, I would call:
>>> > >>>>> >>
>>> > >>>>> >> MaxsiHandle FileHandle = FileSystem()->OpenFile(Path,
>>> MAXSI_FILE_READ |
>>> > >>>>> >> MAXSI_FILE_SEQUENTIAL);
>>> > >>>>> >>
>>> > >>>>> >> This additional layer of abstraction makes it very easy to add
>>> support
>>> > >>>>> >> for new platforms as you just have to define a new child of the
>>> abstract
>>> > >>>>> >> baseclass. I have also added such a layer for my Window System.
>>> This
>>> > >>>>> >> means I call my own APIs in my actual code, and then it
>>> redirects
>>> it to
>>> > >>>>> >> the Windows API or GTK+ depending on your platform.
>>> > >>>>> >>
>>> > >>>>> >> You might also have noticed I implemented a FileSystem()
>>> function,
>>> in
>>> > >>>>> >> the same manner I have implemented a WindowSystem() function
>>> that
>>> > >>>>> >> returns the window system in use by the current function/class.
>>> This
>>> > >>>>> >> makes it easy to simply swap the window system on the fly. For
>>> instance,
>>> > >>>>> >> my source mod links against my distribution platform (LGPL) and
>>> my
>>> mod
>>> > >>>>> >> then implements some of these interfaces. It could implement the
>>> > >>>>> >> MaxsiWindowSystem class using VGUI and then my programs could be
>>> > >>>>> >> natively drawn ingame with mininal work.
>>> > >>>>> >>
>>> > >>>>> >> Other porting issues includes how the VS compiler breaks a lot
>>> of
>>> the
>>> > >>>>> >> C99 standard. To counter this, I have simply declared a lot of
>>> macros in
>>> > >>>>> >> my header files that replaces platform specific behavior.
>>> #defines are
>>> > >>>>> >> very powerful for this. For example, to declare a
>>> thread-specific
>>> > >>>>> >> variable, I would use this header define:
>>> > >>>>> >>
>>> > >>>>> >> #ifdef __GNUC__
>>> > >>>>> >> #define MAXSI_THREADED_VARIABLE __thread
>>> > >>>>> >> #else
>>> > >>>>> >> #define MAXSI_THREADED_VARIABLE __declspec( thread )
>>> > >>>>> >> #endif
>>> > >>>>> >>
>>> > >>>>> >> And then use the MAXSI_THREADED_VARIABLE macro to declare each
>>> threaded
>>> > >>>>> >> variable. My experience is also that the GNU Compilers throw
>>> much
>>> more
>>> > >>>>> >> errors and warnings than the Visual Studio compiler - and it is
>>> often
>>> > >>>>> >> right to do so. Visual Studio teaches you to write bad
>>> > >>>>> >> standards-breaking code, even if you just compile using MinGW
>>> you
>>> will
>>> > >>>>> >> get to fix a lot of issues that makes your code rather
>>> non-portable.
>>> > >>>>> >> (Like avoiding Microsoft-specific extensions to the C Library,
>>> in
>>> some
>>> > >>>>> >> cases.) But Microsoft did break the standard enough that you
>>> might
>>> need
>>> > >>>>> >> to use some of the above methods for porting, just to get your
>>> code
>>> > >>>>> >> compiling using MinGW.
>>> > >>>>> >>
>>> > >>>>> >>
>>> > >>>>> >> Now to return to the Source Engine. In my experience a lot of
>>> stuff
>>> in
>>> > >>>>> >> the SDK code is already defined using interfaces, classes, and
>>> such.
>>> > >>>>> >> That means the actual porting issues have been outsourced to the
>>> Engine.
>>> > >>>>> >> This, in turn, means that the SDK code will be rather easy to
>>> port
>>> > >>>>> >> compared to the Engine. Fortunately, as the Source Engine
>>> already
>>> is
>>> > >>>>> >> highly modular using interfaces, it is easy to just swap a DX
>>> renderer
>>> > >>>>> >> with OpenGL. As such, they already have the framework to make
>>> their
>>> code
>>> > >>>>> >> work on new platforms - all they have to do is implement their
>>> > >>>>> >> interfaces using the local system calls. If you start to do this
>>> on
>>> the
>>> > >>>>> >> low-level interfaces and move upward, then soon your program
>>> starts
>>> > >>>>> >> working in all its glory.
>>> > >>>>> >>
>>> > >>>>> >> As for a Steam Client for GNU/Linux. It exists. I lost the link,
>>> but it
>>> > >>>>> >> seems that Valve uploads nightly builds of their Steam Client,
>>> and
>>> each
>>> > >>>>> >> day it works just a bit better. Last I heard, the Steam Client
>>> actually
>>> > >>>>> >> logged on and the actual UI was partially drawn. I am not sure
>>> why
>>> Valve
>>> > >>>>> >> is so silent about this - perhaps it's just experimental, or
>>> they
>>> they
>>> > >>>>> >> to make a big deal about it, like they did with the Mac.
>>> Seriously,
>>> when
>>> > >>>>> >> are they gonna shut up about it? Last I saw was that they made a
>>> funny
>>> > >>>>> >> TF2 comic about it.
>>> > >>>>> >>
>>> > >>>>> >>
>>> > >>>>> >> Porting programs to Linux hasn't been very hard for me, though
>>> it
>>> is a
>>> > >>>>> >> lot of work, if you want to do it properly. It seems that the
>>> Source
>>> > >>>>> >> Engine is already highly portable and GNU/Linux build doesn't
>>> seem
>>> too
>>> > >>>>> >> difficult, as it seems from the nightly builds. There is no
>>> doubt
>>> about
>>> > >>>>> >> whether we need a client for GNU/Linux, it is just a matter of
>>> time
>>> > >>>>> >> before they announce and release it.
>>> > >>>>
>>> > >>>>> > Bucky
>>>
>>> _______________________________________________
>>> To unsubscribe, edit your list preferences, or view the list archives,
>>> please visit:
>>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>>>
>>>
>> _______________________________________________
>> To unsubscribe, edit your list preferences, or view the list archives, 
>> please visit:
>> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>>
>>
>
>
>
> --
>
> Bucky
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives, please 
> visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to