SuperQuake3 - I'm Back

Locked
Silicone_Milk
Posts: 2237
Joined: Sat Mar 12, 2005 10:49 pm

SuperQuake3 - I'm Back

Post by Silicone_Milk »

Well, I'm back and interested in Quake 3 coding again.

I had started a project a while back I had dubbed "MilkQuake". It's intention was to convert the Quake 3 source code to C++.

I dumped the project and moved on with other things.

But, I've decided to pick the project back up and hack away at it with a new method of working.

More on this later!
^misantropia^
Posts: 4022
Joined: Sat Mar 12, 2005 6:24 pm

Re: SuperQuake3 - I'm Back

Post by ^misantropia^ »

Not to discourage you, but what exactly is the point of this conversion?
Silicone_Milk
Posts: 2237
Joined: Sat Mar 12, 2005 10:49 pm

Re: SuperQuake3 - I'm Back

Post by Silicone_Milk »

It's programming for the sake of programming.
AnthonyJ
Posts: 130
Joined: Wed Nov 15, 2006 7:51 pm

Re: SuperQuake3 - I'm Back

Post by AnthonyJ »

I have toyed with the idea of returning to my C++ build of Q3 too (I got a fair way into the task before Q4 came out)

As for why, well I hate working in straight C compared to C++, and there are some changes that I'd consider making to Q3, but not while its straight C.
^misantropia^
Posts: 4022
Joined: Sat Mar 12, 2005 6:24 pm

Re: SuperQuake3 - I'm Back

Post by ^misantropia^ »

C++ is an overcomplex monstrosity of a language, but that is just my opinion (granted, having the STL is nice).

Experience teaches that C++ developers who go all out with the features of the language, write code that has to be rewritten from scratch in a few months or years, because it becomes an unmaintainable moloch. Stick to a subset and stick to it closely...

...but I disgress. The reason I started typing this post, was to ask:

- why rewrite in C++, unavoidably introducing new bugs, while you already have something that works?
- what are these changes that are so fiendishly difficult to implement in C but not in C++?
AnthonyJ
Posts: 130
Joined: Wed Nov 15, 2006 7:51 pm

Re: SuperQuake3 - I'm Back

Post by AnthonyJ »

I disagree - well written C++ code can be much more maintainable than C code. Obviously badly written code of either type is going to end up in a mess and need rewriting sooner or later.

Theres nothing you cant do in C but thats not the point - I dont want to, as I dislike not having some of the goodies from C++. There are also examples in the Q3 code of places which are begging for some inheritance, and working around the lack of it. I've pointed out the render command one before, so this time I'll point out the way theres duplicated code between the QVM interpreted and compiled code paths (complete with some minor differences where one has been updated but not the other) which abstracts out quite nicely into a base class with derived implementations with virtual funcs overrided for the interpreted and compiled codepaths.

As for what features, well theres a whole bunch of things that I've considered doing. One of them is a new implementation of a GTV server, which would probably be a much neater solution in a C++ codebase as I suspect it'll be able to reuse a lot of code from both client and server.
mars.ninja
Posts: 1
Joined: Sun May 04, 2008 4:09 pm

Re: SuperQuake3 - I'm Back

Post by mars.ninja »

I encourage the project. It would be extremely useful to have the code transformed to well put together OO code. Keep us posted on your progress.
Silicone_Milk
Posts: 2237
Joined: Sat Mar 12, 2005 10:49 pm

Re: SuperQuake3 - I'm Back

Post by Silicone_Milk »

I actually discovered that Quake 3 has been ported to "managed C++ with Visual Studio 2008/v9.0 and .NET v3.5."

http://gregs-blog.com/2008/01/22/update ... t-is-done/

Im interested.
AnthonyJ
Posts: 130
Joined: Wed Nov 15, 2006 7:51 pm

Re: SuperQuake3 - I'm Back

Post by AnthonyJ »

Silicone_Milk wrote:Im interested.
I'm not - thats simply an exercise of making it compile in managed mode, not in refactoring and restructuring the code into a more logical form.
Silicone_Milk
Posts: 2237
Joined: Sat Mar 12, 2005 10:49 pm

Re: SuperQuake3 - I'm Back

Post by Silicone_Milk »

Regardless of that fact I still think it's rather interesting.
Silicone_Milk
Posts: 2237
Joined: Sat Mar 12, 2005 10:49 pm

Re: SuperQuake3 - I'm Back

Post by Silicone_Milk »

I've come to appreciate C more as of late.

I feel that perhaps I would be better off putting my time and energy into a more worthwhile project.

I hate being so indecisive :(
^misantropia^
Posts: 4022
Joined: Sat Mar 12, 2005 6:24 pm

Re: SuperQuake3 - I'm Back

Post by ^misantropia^ »

It's known as coming to your senses and I, for one, congratulate you for it!
Silicone_Milk
Posts: 2237
Joined: Sat Mar 12, 2005 10:49 pm

Re: SuperQuake3 - I'm Back

Post by Silicone_Milk »

found a worthwhile project.
Not Quake 3 related though.

Started work with voxels and octrees while pouring through some old x86 asm books I've picked up from the library.

I believe Ill find this to be a much more educating experience with a greater chance to yield something useful as a result of my tinkering.
Locked