|
Post by yuriks on Aug 9, 2009 4:59:19 GMT
Due to motivation and codebase maintenance issues (to be blunt, it's rotting), me and Mindless are considering scrapping it. The issues are basically that I'm the sole coder for it and don't have the motivation to work on it alone, and the huge number of bug fixes that have accumulated and need to be ported from Classic.
We can either keep it as is, on the same project as Classic, we could get rid of it completely, or it would start over from scratch based off the current Classic code, on another, separate, project, carrying along the worthwhile parts.
So, how many here use Enhanced? What would you want to happen to it?
|
|
|
Post by hurleybird on Aug 9, 2009 16:42:38 GMT
I think you guys have been going about it the wrong way from the get-go. Opentyrian classic's goal of a true-to-the-original port for other platforms has been realized for some time now, and enhanced due to the fact that it is (or was) constantly added to rarely got a stable build.
You guys definitely need to restructure towards a more traditional model for the welfare of the project. Why do you even need 'classic' or 'enhanced' versions at all? A single switch labeled 'classic/original mode/disable all enhancements' in the options menu would serve as a much more efficient solution than having two different projects requiring tyrian fans to download two different executables.
My suggestion would be to merge both codepaths into one, so that all of the features of enhanced remain, but the option to disable them is added. Work on that codepath until you get a rock solid stable build, and release it as such. Afterwards, create a stable and unstable branch, like most other open source developers do.
|
|
|
Post by yuriks on Aug 9, 2009 19:22:55 GMT
hurleybird: The problem is that adding an option to switch it on the fly is nigh technically impossible, or at least extremely freaking hard. Heck, even making the same code base have both version would be extremely hard.
|
|
|
Post by hurleybird on Aug 9, 2009 20:51:29 GMT
hurleybird: The problem is that adding an option to switch it on the fly is nigh technically impossible, or at least extremely freaking hard Doesen't need to be on the fly really. If it required a restart of the game that would be fine, most commercial games operate that way for certain changes in the options menu. Heck, even making the same code base have both version would be extremely hard. Starting the entire enhanced build over from scratch wouldn't be? I think that any kind of change at this point will require a lot of initial work on your part, no? The benefit would be that after the initial time consuming stage you'd have a much better structured project. At the moment, Mindless seems to already accomplished everything he needs to for a purely 'classic' port, and you seem fed up with the bugs that are always in your always unstable branch. Seems like a merge and reorginization could benefit both of your work ethics.
|
|
|
Post by yuriks on Aug 9, 2009 21:44:24 GMT
By "on the fly" I meant during run-time, since the code will need to be chosen dynamically.
And yes, making both on the same codebase would be harder than doing enhanced from scratch, since it involves somehow making code compile cleanly as two (similar, but) different programming languages.
I brought up merging, but that would mean a Classic version would simply not exist. Mindless said it would be better to just spin Enhanced off as a separate project and I'm agreeing that's the best option.
|
|
|
Post by AntX on Aug 10, 2009 6:31:29 GMT
Here is my humble opinion. Feel free to correct me if I'm ever being off-tracks or anything. On the "classic" port:The main reason why this project was started to begin with was to give the game a second life, in all its old-school glory. However, there are some "features" that are (or would be) beneficial to the "classic" port, since I believe they do not "betray" the spirit and of Tyrian: - Network play is as good as it gets.
- "Classic" should be a standalone, easy-to-install, easy-to-play port of Tyrian to every possible platform. Game packages should include datafiles. Double-click on the EXE/RPM/DEB/DMG/whatever, and there you go, you can enjoy the game.
- A unified, opensource, royalty-free game archive (7z/GZ/BZ2, whatever) that would replace the current datafiles. As long as it doesn't change the gameplay, I don't care.
- Another good example is the full-screen scaler from enhanced, which I just love.
On the "enhanced" port:This guy is a different beast. I can only speak for myself here, but I believe that this baby can go VERY far if given the right resources. Hence my disagreement on the "merging" option. If I look forward, say a year and a half ahead, I can seriously dream of "enhanced" being a full-fledged re-implementation of the engine consisting of a newer, modular core that would accept all kinds of "mods" (scripts, plug-ins, maps, user-added content), and would be packed with a default "mod" called "classic". This "mod" would include: - Faithful-to-the-original gamedata. (missions, ships, enemies, weapons, episodes & datacubes) in XML format, inside the afore-mentioned unified game archive.
- The possibility to include cutscenes, in MKV/XVID or OGG/THEORA format.
- Re-sampled music & sound effects, in OGG format.
- Re-drawn graphics (ships, weapons, sprites in general, weapons, menus, etc.), possibly in 3D, or at least highres 2D renders from 3D.
From this point, the possibilities are endless. We're a long way from there, anyway, but I don't think it is impossible. To sum it up, I think it would be better to split things up from now on. My 0.02 $CAD, for what they're worth.
|
|
|
Post by yuriks on Aug 10, 2009 16:40:48 GMT
Classic right now is basically exactly like what you described, we will be thinking on doing a 1.0 release some time in the future. Anyway, this had already been decided yesterday, and whoever was in IRC should've noticed. The new project is hosted here: bitbucket.org/yuriks/opentyrian-enhanced/
|
|
|
Post by AntX on Aug 10, 2009 20:23:05 GMT
Enhanced is dead, long live enhanced =)
However, I can only wish for some talented (and devoted) people to come around and jump into the "enhanced" project, as classic is now pretty much done, as you stated.
|
|
|
Post by grezzo16 on Aug 11, 2009 14:51:28 GMT
yeah finally someone wrote my thoughts!
i agree with all of you, especially when talking about a "simple compressed package ready to play" every 1-2 months or such.
In my opinion the classic branch should include also tyrian2000 support, because the programmers who had the duty/job/work to do it, are simpply disappeared-> i'm saying this because lot of people prefer use dosbox just to have tyrian2000 features (+1 episode, + ships, + weapons, +modes).
since the game is freeware, is possible to set up a package with all the files needed and release it as FREEWARE: who wants the source code can simply check on this website.
thank you all for you efforts.
byee
|
|
|
Post by filmor on Aug 14, 2009 9:10:07 GMT
I'd really enjoy an OpenTyrian 1.0 Maybe we could gather all ports together to make one amazing download page Is the network part functional? I'd clean up the build system if you want to unify the building for Linux, Windows and Mac (maybe also iPhone, still have to look into that one).
|
|
|
Post by Mindless on Aug 15, 2009 3:08:52 GMT
Is the network part functional? I haven't tested the networking code in (probably) over a year... it may not work anymore for all I know.
|
|
|
Post by mdz8 on Aug 31, 2009 7:41:55 GMT
Due to motivation and codebase maintenance issues (to be blunt, it's rotting) Hurras for finding that! Since the first time I started investigating my hardware incompatibility issues I kept asking myself "how can those guys manage this mess?" The code was in bad need of a strong, possibly destructive refactoring. I thought it sucked in massive amounts of efforts for each minimal update, just thinking at the amount of global variables makes my eyes bleed... and I rank me among the oldsk00l C/C++ users - we won't have any problems in making something global. My compiler also agreed with me, as the compile time were outrageaus. I'm positive a complete refactoring is the least to do, although a complete rewrite may be The Right Thing to do. So, how many here use Enhanced? What would you want to happen to it? Due to my hardware incompatibility issues, I use original tyrian in dosbox. What Enhanced's advantages are supposed to be? I think you guys have been going about it the wrong way from the get-go. Opentyrian classic's goal of a true-to-the-original port for other platforms has been realized for some time now I agree 100%. A single switch labeled 'classic/original mode/disable all enhancements' in the options menu would serve as a much more efficient solution than having two different projects requiring tyrian fans to download two different executables. I personally disagree on this. As you said, Classic is done. Merging the projects and introducing this switch would essentially meas redo classic from scratch as well. I see no rationale in this, really. A +1 against the merge idea. A complete rewrite/refactor would be completely freedom. When the code is merged, we add a very strong constraint: we need to not break Classic. While in theory it is possible to have a switch like you say, it mandates a stronger and formal design. To envision a decent design (one that works togheter with improving the game rather than against it), somebody would need to figure out its needs from now on the next few years... not something you do in a day! [/li][li]A unified, opensource, royalty-free game archive (7z/GZ/BZ2, whatever)[/quote]What's wrong with the current datafiles? Well, some are string-based and absolutely obsolete, but given the amount of data, I hardly believe using a compressed archive makes any sense, even on cell phones! For script data, XML is a +1. For the rest, some annotated PNGs would probably be fine. Personally I find some parts of tyrian's IO system quite modern (albeit hardcoded). I have to admit I am a fan of purely binary file formats which can be checked at compile time and allowing errors to be more trivially detected.
|
|
|
Post by yuriks on Aug 31, 2009 12:12:05 GMT
Due to motivation and codebase maintenance issues (to be blunt, it's rotting) Hurras for finding that! Since the first time I started investigating my hardware incompatibility issues I kept asking myself "how can those guys manage this mess?" The code was in bad need of a strong, possibly destructive refactoring. I thought it sucked in massive amounts of efforts for each minimal update, just thinking at the amount of global variables makes my eyes bleed... and I rank me among the oldsk00l C/C++ users - we won't have any problems in making something global. My compiler also agreed with me, as the compile time were outrageaus. Well, yes, but that's the same thing in classic, and that's the goal of enhanced, refactor stuff not necessarily keeping compatibility with classic. What I meant with that was that stuff that was fixed in classic (genuine bugs) wasn't in enhanced, and some features also weren't ported, and I had no idea which were those, also, I introduced some general breakage in the code which was pretty bad. A codebase reset from enhanced was good. Also, I wanted out to try Mercurial. =P
|
|
|
Post by mdz8 on Aug 31, 2009 17:42:50 GMT
I didn't get this.
The only thing I wanted to point out is that this unamovable, monolithic code would make every possible enhancement hell on earth.
Name a major feature that wouldn't make you crazy - even on the design stage. Really.
|
|
|
Post by yuriks on Sept 1, 2009 2:58:02 GMT
I didn't get this. The only thing I wanted to point out is that this unamovable, monolithic code would make every possible enhancement hell on earth. Name a major feature that wouldn't make you crazy - even on the design stage. Really. Uh, I don't get what you didn't get. I acknowledged exactly that, the code base is a mess, and Enhanced is for refactoring.
|
|