QuArK Logo
Donate...
Support this project
Download QuArK
Theme
Select your theme:

Web-Server Time...
06/19/2013 - 09:18:35
 QuArK 7... 
quarkQuArK 7 - Project PhoenixDanielPharos

QuArK 7 - Project Phoenix


QuArK 7 - Project Phoenix logoQuArK 7 - Project Phoenix logo (Made by Mooztik)QuArK 7 - Project Phoenix logo (Made by NightRage)QuArK 7 - Project Phoenix logo (Made by triget)

QuArK 7 (working title: Project Phoenix) will be the resurrection of QuArK 6. Main new features will be: cross-platform compatibility, much better speed with larger maps, and even more game support!)

(Also: somebody with better MS Paint skillz should improve my logo. ;) )

quarkQuArK 7DanielPharos
QuArK 7

The current version of QuArK (the 6.x branch) is working pretty well. It's stable, workable and is actually usable. However, under the hood problems loom. For instance, QuArK can't handle large maps: try moving a few hundred poly's at once (or even just selecting them), and see what I mean. This problem is caused by design-issues deep down in the core of QuArK, and cannot be easily fixed. For QuArK to remain "on top" of current games and games yet to come, something needs to be done about this.

The only thing that can reasonably be done, is a complete rewrite (IMO). This also provides the opportunity to switch programming languages, rethink design and come up with better ways of handling things. Here's some main points I'd like to see in this rewrite:

  • Cross-platform (Windows, Linux, Unix, BSD, Mac OS, etc.).
  • Support more games. Think "Unreal".
  • Handle more. Include features such as a "Project Manager".
  • Better speed. Or, to be more accurate, better scalability (handle larger maps, larger models, etc. properly).
  • Better customizability. Let the user bind their own keys! Support skins, custom toolbar-icons etc.
  • Switch to C++/Python instead of the current Delphi/Python.
  • Improve design, mainly the C++/Python connection.

I already have some plans and ideas about how to tackle this huge project. The biggest problem currently however is manpower. A lot of time will have to be invested to get QuArK 7 anywhere, especially because it needs to REPLACE entire QuArK 6! More (and good) programmers are needed to do this...

At this moment, QuArK 7 isn't even in the planning stages. But if you're interested, please DO contact the QuArK team (either through the forums, or just contact the webmaster).

--DanielPharos, 1 November 2009

quarkQuArK 7DanielPharos

Okay, I need to know who's going to do what. From what I can see, there's three main tasks:

  1. Maintain QuArK 6.
  2. Website + forums.
  3. Start QuArK 7.
Task 1) Maintain QuArK 6.

This requires knowledge of Python and/or Delphi. There's not much left to do right now. Open ends: reverse-engineering the MOHAA model format's bone information, and getting the bounding boxes in HL1 mode working properly. Also, I think the bounding frames for Q3 need to be revised. There are a lot of globals in the code (mainly Model Editor) that should be removed, and we might consider switching to Python 2.6. And there's the unfinished Direct3D renderer.

New addons could be added, and some game-support here and there. But I suggest to mainly focus on Task (3) instead.

Task 2) Website + forums.

The main website should be split into a 'QuArK product page', that tries to 'sell' QuArK, and a community portal, with forums and support. Knowledge of HTML, CSS, PHP and SQL would be required. We should migrate the forum from SMF to a SourceForge-hosted phpBB install. Also, we might need more moderators on the forum, although right now we're doing fine.

Task 3) Start QuArK 7.

Required knowledge: C++, Python, Qt, Boost. (note: Not needed in a single person; partial knowledge is fine.)

  • C++ according to the C++98 standard. We shouldn't (yet) depend on C++0x features.
  • Python: newest. Yes, that means 3.x+.
  • Qt: newest.
  • Boost: newest.

I've already got a collection of external libraries listed, mainly the ones Q6 also uses:

  • DevIL (used to be openIL) image library
  • FreeImage image library
  • VTFLib vtf library
  • HLLib gcf library
  • zlib zip library

Initially QuArK 7 will be just a shell/wrapper around QuArK 6. Slowly, Q6 will be replaced by Q7 features. This is my plan:

Start Q7 as a 'Project Manager', that, whenever you open up a map or model, launches QuArK 6 instead for the editing. This way, we don't have to write a map editor to have Q7 be a usable map editor! In steps all components of Q6 would be duplicated in Q7, and eventually Q6 would be dropped from Q7.

Needed in initial release:

  • The ability to call external editors. (For example: Q6!)
  • Being able to open pak-files. (Saving NOT needed.)
  • Image editor (very basic). Use this to get the basic QObject and Undo/Redo system figured out.
  • Being able to load and save work-files. This will be a different format to Q6's. Probably XML-based.
  • Filesystem, Fileloader/saver plugin system.
  • Threading and locking. Although probably not heavily used, need it from day 1. (Note: This is difficult to do properly in Python!)

There are a few additional notes:

  • In order to keep the code-base clean and healthy, a clean and clear design document is needed. I've already got some very good ideas that I'll write down.
  • To reduce the amount of bugs (because there will be bugs!), some precautions should be taken. We're already using the CVS on SourceForge; let's keep using that. Also, all of the possible compiler-warnings and CPU-exceptions should be turned on. (Think floating point exceptions, integer overflows, ...)
  • I also want to know what kind of extra features the community wants (that is, on top of what Q6 can now already do), so that we can make sure these features are actually possible to build in.
  • Q7 will be as cross-platform as possible. Windows (95 and up), Mac OS (X), Unix, Linux, BSD... I'm not too experienced with non-Windows OSes, so I'm not sure how much is involved here. There will be outside restrictions though. For example, Python 3 doesn't run on Windows 95.
  • Q7 will be able to do non-Quake engines. Think Unreal. This is NOT a priority, and we shouldn't focus on this until we've actually got a proper Q6-replacement going.



Main concept:

QuArK 6 can do a lot, but usually isn't the best in a single thing. However, it's the best in doing them all in a single program! I want Q7 to have that as well, and in fact do it more. We should make it much more clear to users that they can use external editors for editing particular types of files. Yes, this means full integration of competitors: GtkRadiant, UnrealEd, 3D Studio, ... People should be able to use Q7 for 'project management' only, and replace ALL of Q7's editor-components with external programs. This will make QuArK very dynamic, and that way even GtkRadiant users can use QuArK!




Concrete plan:

Right now, I need to know who's going to do what. Who all knows C++ and/or Python, and how well? Are you up to speed with (for example) design patterns, like 'memento' and 'command'?
Are there any people interested in maintaining QuArK 6? Either coding, or addons?
I need to know what you expect, both from QuArK 7 and from me. (Note: I don't have much time; I'm doing a PhD.)
I'll have to clean-up the little bit of source code I've got for Q7, and put it on the CVS.

Any other hot items I forgot?

--DanielPharos, 7 November 2010

quarkQuArK 7DanielPharos

I've opened up a dedicated section on our forums for QuArK 7 related topics here. Currently, only I can create topics in the subsections, but everybody is welcome to pitch in with their (on-topic) comments.

There's already 3 people that have join the SourceForge project, and I'm getting ready to post the little bit of code I've already got. It seems this Phoenix-bird is about to start rising from the ashes!

--DanielPharos, 27 November 2010

quarkQuArK 7DanielPharos

I've started working on the design document: here. Comments are welcome: please post them in the proper Q7 forum thread: here.

--DanielPharos, 30 November 2010

Notice...
Remember the good old days? Look in the archived news section!
InstaPoll...
There currently are no active instapolls. See here for old instapolls.

Check it out!

Game made with QuArK!
Useful Links...
Daikatana
- Planet Daikatana
- DaikatanaNews.net



For more links, check out the Links page.
Sites of Interest...
Get The Quake Army Knife (QuArK) at SourceForge.net.

PlanetQuake

Quake Files

Rust / Gamedesign.net

id Software