Massassi Forums Logo

This is the static archive of the Massassi Forums. The forums are closed indefinitely. Thanks for all the memories!

You can also download Super Old Archived Message Boards from when Massassi first started.

"View" counts are as of the day the forums were archived, and will no longer increase.

ForumsDiscussion Forum → Sith 2.1, should I do it?
12
Sith 2.1, should I do it?
2008-03-21, 7:06 AM #1
So, I've been mulling around the idea of reviving Sith 2 (in the form of a complete code rewrite). You see, the college semester is coming to a close and I need something productive to spend my time on for the next 4 months (long summer break).

So for starters, It will be written in C++. I will be relying on objects heavily. OpenGL will also be the render of choice.

So here is what Ill propose, I don't know if there where any designs done for Sith 2, but for probably the first month (April) I will work solely on getting a working design. The design will involve CRC cards that I will make available to anyone that would like to help.

After the design is done, I will make all aspects of it public and look for input as well as design flaws ect. This will probably go though the second month (May). Then, the coding begins. Ill start at the bottom of the tree and work my way up. Anyone that is willing to donate code would be appreciated, but I will demand a high standard be followed to the Tee.

So, what do you all think, Am I living a pipe dream? I don't know. But Ill see if I can accomplish it. Any tips for what I might do would be appreciated. Again, I have written no code for this, So I hope I haven't given you guys too high of a hope.
:) ;) :) ;) :) ;) :) ;) :) ;) :) ;) Im Happy
2008-03-21, 7:22 AM #2
Originally posted by Cogman:
Am I living a pipe dream?

Yes, but I would still love to see Sith 2 happen. :P
Naked Feet are Happy Feet
:omgkroko:
2008-03-21, 7:23 AM #3
You could try.

I'm still waiting for a day when I can finally play through BoamSE, Leeza's Destiny and all the merry great MotS levels again without weird errors and XP-farting. G'times.
Star Wars: TODOA | DXN - Deus Ex: Nihilum
2008-03-21, 7:27 AM #4
Sith 2 was like a year long blue balls, in that we got so ****ing excited for it but it never came.
"Oh my god. That just made me want to start cutting" - Aglar
"Why do people from ALL OVER NORTH AMERICA keep asking about CATS?" - Steven, 4/1/2009
2008-03-21, 7:32 AM #5
Well, I'm not promising anything, just that Ill try and get a good design layed out first so that in the event that I don't finish the project, it will be easy for someone else to come along, see what has been done, and write what needs to be done.

I hope to at least get my version to the same point the current version is, and a little beyond (I know physics pretty good)
:) ;) :) ;) :) ;) :) ;) :) ;) :) ;) Im Happy
2008-03-21, 7:32 AM #6
Originally posted by petmc20:
Sith 2 was like a year long blue balls, in that we got so ****ing excited for it but it never came.

...

:psyduck:
Naked Feet are Happy Feet
:omgkroko:
2008-03-21, 7:35 AM #7
Originally posted by Cogman:
I hope to at least get my version to the same point the current version is, and a little beyond (I know physics pretty good)

That's actually where Sith 2 fell off. They have the rendering engine all together as well as the cog jibber-jabber, but not the actual game mechanics, physics, movement, etc. If I recall correctly.
Naked Feet are Happy Feet
:omgkroko:
2008-03-21, 7:46 AM #8
http://www.sourceforge.net/projects/sith2/

Nothing's stopping you :v:

2008-03-21, 7:51 AM #9
Why would you start from scratch? It's already in C++ and uses OpenGL.
Detty. Professional Expert.
Flickr Twitter
2008-03-21, 7:58 AM #10
Sounds great.. would love to see it.
Quote Originally Posted by FastGamerr
"hurr hairy guy said my backhair looks dumb hurr hairy guy smash"
2008-03-21, 7:58 AM #11
I thought about doing a "Sith.NET" the aforementioned engine in C# in Managed DirectX/XNA.
Code to the left of him, code to the right of him, code in front of him compil'd and thundered. Programm'd at with shot and $SHELL. Boldly he typed and well. Into the jaws of C. Into the mouth of PERL. Debug'd the 0x258.
2008-03-21, 8:02 AM #12
Yeah, why reinvent the wheel? There's already been a lot of time and effort invested in Sith2. I'd imagine it would probably take you a lot more time to get to the same point since they were a team, and you're on your own (for now). But what do I know.
ORJ / My Level: ORJ Temple Tournament I
2008-03-21, 8:49 AM #13
I wouldn't waste my time trying to revive it. It was a great idea that wasn't sustained. I wouldn't be as optimistic to say that someone will build upon my work later if I make a good design. JK was only ~10 years ago.
2008-03-21, 9:26 AM #14
Originally posted by ORJ_JoS:
Yeah, why reinvent the wheel? There's already been a lot of time and effort invested in Sith2. I'd imagine it would probably take you a lot more time to get to the same point since they were a team, and you're on your own (for now). But what do I know.


While I may not throw away everything, there is a fair amount of code in the current Sith 2 project that I don't even want to try and make correct.

If you don't believe me, do a search for "goto" in the sith2 code. goto should NEVER be in any modern code and Sith 2 is no exception.

The next problem I have with just adding to what has been done is that I don't see any design anywhere. Part of the reason I wanted to start from scratch is so that I could have a design first that would be easy to follow rather then just hacking in solutions to current problems (Physics is something that is much easier to be designed with it in mind rather then as an after thought as is what kind of happened with sith2).

Ill read over the code again, but I don't think I'm going to try and save a lot of the original code. Of course, if I do use any of it I will need permission from Jon'C and the gang.

Quote:
I wouldn't waste my time trying to revive it. It was a great idea that wasn't sustained. I wouldn't be as optimistic to say that someone will build upon my work later if I make a good design. JK was only ~10 years ago.


Well, thats not to say that someone will build on it, just if someone 4 years later wanted to they could (isn't that about when sith2 died?). Like I said, I'm not looking to pull off a miracle here, just giving myself a project that will keep my hands busy.
:) ;) :) ;) :) ;) :) ;) :) ;) :) ;) Im Happy
2008-03-21, 9:32 AM #15
BTW, its code like this
Code:
Sith::Res::Model::Model(std::string SystemName) : Sith::VFS::Resource(SystemName)

{

	return;

};


That makes me cring (and is found all over). What the heck is that there for? There are no comments before it, or after it, it just is. (found in 3dofile.cpp)
:) ;) :) ;) :) ;) :) ;) :) ;) :) ;) Im Happy
2008-03-21, 9:39 AM #16
if joncy can't even finish it, i have no faith in anyone else "giving it a shot"
free(jin);
tofu sucks
2008-03-21, 9:39 AM #17
Isn't that one of the reasons Jon`C quit? He was pissed off at the horrible coding job some guy was doing on the rendering portion or something?
2008-03-21, 9:44 AM #18
Joncy quit because of the horrible coding job that is JK.
2008-03-21, 9:55 AM #19
Originally posted by Cogman:
BTW, its code like this


It's because Model inherits from Resource. The Resource interface must contain a unique resource identifier string in order to work properly, and this string cannot be changed (it is constant). Model's constructor must pass the resource string to Resource's constructor. This is an extremely basic feature of C++. Are you sure you want to be starting this project?


I didn't write all of the code in Sith 2, and I didn't review the code that was submitted to me before adding it to the project. Oops. My bad. I don't recommend reusing any of Sith 2's code for any reason.
2008-03-21, 10:05 AM #20
The thing is, that could have easily been an inheritance from the class Resource, there is nothing in there Identifying Resource as a constant (in my eyes). Nothing saying that is what it is doing without first having a foreknowledge of what is in the code.

So, am I sure that I want to do this? Yep. Can I do it? Well, my current skill set probably wouldn't allow me to sit down and hack the entire thing out, but I plan to learn as I go (I do have a basic understanding of OO design and can read most code pretty well).
:) ;) :) ;) :) ;) :) ;) :) ;) :) ;) Im Happy
2008-03-21, 10:17 AM #21
Originally posted by Cogman:
The thing is, that could have easily been an inheritance from the class Resource, there is nothing in there Identifying Resource as a constant (in my eyes). Nothing saying that is what it is doing without first having a foreknowledge of what is in the code.


Resource is not a constant, the resource string is. The resource string must be set in order for the resource manager to function properly. The string must be a constant, and thus must be set in the constructor initializer list, and the string is accepted by the base class to enforce compliant behavior.

I'm pretty sure the entire VFS namespace is exceptionally well-commented, but regardless the objective was to cause a visible compile-time error in the event of non-conformant behavior, which is always ideal.
2008-03-21, 11:19 AM #22
Originally posted by JediGandalf:
I thought about doing a "Sith.NET" the aforementioned engine in C# in Managed DirectX/XNA.

this
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2008-03-21, 11:25 AM #23
I think even if you resumed work on the existing Sith2 engine, it would take the better part of your 4 months to implement the missing features- networking, physics, ect.

I would guess the complete rewrite would take far longer. Good luck.
My favorite JKDF2 h4x:
EAH XMAS v2
MANIPULATOR GUN
EAH SMOOTH SNIPER
2008-03-21, 11:37 AM #24
Sure do it.
2008-03-21, 11:41 AM #25
7 people will play.
2008-03-21, 11:41 AM #26
thats pretty optimistic vinny
free(jin);
tofu sucks
2008-03-21, 11:49 AM #27
I'd play...
Looks like we're not going down after all, so nevermind.
2008-03-21, 12:15 PM #28
Originally posted by Emon:
this


You could even implement COGCodeProvider and access messages through reflection. :suicide:
2008-03-21, 12:33 PM #29
The code snippet that Cogman posted is a pretty essential part of OO. It's how you would implement anything from intentionally limited subclasses to dummy mock objects for testing to full blown null objects.

I would hazard a guess that OO code that doesn't use empty methods somewhere is probably using excessive amounts of conditionals to achieve the same thing, which is really bad coding.
Detty. Professional Expert.
Flickr Twitter
2008-03-21, 1:28 PM #30
Originally posted by EAH_TRISCUIT:
I think even if you resumed work on the existing Sith2 engine, it would take the better part of your 4 months to implement the missing features- networking, physics, ect.

I would guess the complete rewrite would take far longer. Good luck.


And, I understand that. 4 months is pretty short for one person. I'm going to have to guess that there was at LEAST 1.5 year of development on DF2 by the original makers (Dark forces came out in 95, DF2 was released in 97). So given that, I am assuming that it will take me upwards of 2+ years to finish it (That is, if I don't loose focus first. yeay!).

However, I'm going to have a fair amount of free time on my hands during the summers (most likely) so it should not be hard for me to put in some large amounts of development time.

To be clear, I don't really expect to finish in 4 months without some stroke(s) of programming genius. But I do expect that I can make a good start by that time.
:) ;) :) ;) :) ;) :) ;) :) ;) :) ;) Im Happy
2008-03-21, 1:30 PM #31
Originally posted by Detty:
I would hazard a guess that OO code that doesn't use empty methods somewhere is probably using excessive amounts of conditionals to achieve the same thing, which is really bad coding.


Actually it gets worse than that. In C++ if you don't provide an often-empty virtual destructor on base classes it can prevent the destructors of derived classes and derived class members from being called. C++ doesn't hold your hand, which is why it's a terrible programming language for almost every job and every programmer.
2008-03-21, 1:46 PM #32
For all the people thinking it could only be used for replaying JK and MotS: The main reason I wanted to see Sith2 completed was because it could be used for standalone games and modified to fit custom needs. It's not just another way to play JK.

I'd say go for it, i'd love to see an open source game engine using resources that I already know a lot about. If anything, it'll keep you occupied for the time off.
2008-03-21, 1:56 PM #33
[http://imgs.xkcd.com/comics/goto.png]
On a Swedish chainsaw: "Do not attempt to stop chain with your hands or genitals."
2008-03-21, 2:10 PM #34
:psyduck:

Write it in C#.

Seriously.

Please?

C++ is disgusting.
2008-03-21, 3:24 PM #35
Originally posted by Stormtrooper:
The main reason I wanted to see Sith2 completed was because it could be used for standalone games and modified to fit custom needs. It's not just another way to play JK.

Cue Jon`C telling you that JK has a horrible engine design and anything like it should never ever be used for a general purpose engine.

Also, yeah, the goto's were Sige's code. Now he works for LucasArts. :psyduck:
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2008-03-21, 3:29 PM #36
Originally posted by Jon`C:
C++ doesn't hold your hand, which is why it's a terrible programming language for almost every job and every programmer.


The archaic C++ is still so widespread and will be around a while for performance driven apps. However, I can't wait for a modern systems programming language that is powerful but doesn't look like ***. Hopefully something will come of D.
2008-03-21, 3:29 PM #37
Even if you do make a standalone engine, would it still be back to sector-based level editing? Such an unfriendly way to make maps.

But good luck
SnailIracing:n(500tpostshpereline)pants
-----------------------------@%
2008-03-21, 3:32 PM #38
Originally posted by JDKNITE188:
Hopefully something will come of D.

I'm not sure how mature the language and compiler are (version 2.0 is in alpha and looks promising), but the main thing that held me back was lack of a good IDE. There are many libraries and bindings for other, common libraries for D, but most of them are made by the D community, which would be fine, but a lot of them haven't been finished and completely tested.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2008-03-21, 4:39 PM #39
Originally posted by Echoman:
Even if you do make a standalone engine, would it still be back to sector-based level editing? Such an unfriendly way to make maps.

But good luck


Yep, it would have to be sector based to keep compatability. However if I do finish it, there would be nothing stopping me from adding bsp support (assuming I learn exactally how that is implemented. I haven't done mapping for anything except jedi knight)
:) ;) :) ;) :) ;) :) ;) :) ;) :) ;) Im Happy
2008-03-21, 4:44 PM #40
Originally posted by JM:
:psyduck:

Write it in C#.

Seriously.

Please?

C++ is disgusting.


but, but, ... I love C++ :). Any programming language can be pretty, it all depends on the programmer to make it such. Some are easier to code for (C#) others are easier to move across platforms (C++).

Though, please take note that I realize that mono does a good job of allowing C# to go from one OS to the next. I just prefer to use what I know.

My main reason for using c++ is because I am not familiar with C#. My next reason for using C++ is that it will be easier to port to different OSes. I hope to first get this game working on linux then on windows (Just for a good change :))
:) ;) :) ;) :) ;) :) ;) :) ;) :) ;) Im Happy
12

↑ Up to the top!