Help offer? - Updated 27.10.2009

Old and abandoned stuff goes here...
User avatar
Crypton
Arronax's Best Friend
Arronax's Best Friend
Posts: 420
Joined: Wed Jul 08, 2009 5:04 am
Location: Abyss
Contact:

Help offer? - Updated 27.10.2009

Post by Crypton » Thu Jul 09, 2009 11:14 pm

Please post here only help offers!

What We need to help with?

-Help with programming OpenArcanum (which written in C++ and its using OpenGL and Qt framework).

-Help with recreating Arcanum game content, graphics, sounds, speech.

-Help with creating new stuff for extended version of OpenArcanum, like new items, npc, story and so on.

-Improving ArcanumAlive website, I’m sure that somebody is able to design this website much better, we’ll need some Arcanumish style for this website, with some document system integrated (currectly its Wordpress). Also some download system should be added, as well as image galeries system. (This site is able to handle PHP, MySQL, Zend Optimizer and ASP Scripts).

-Moderating forums, we need some trustful guys that will manage forums.

-Writers, who will write some articles in English, you’ll be using a Wordpress for writing new articles.

This should be all, maybe I forgot something, so I’ll add that later…

If you wish to help, please send me PM or write your offer in this topic, any help will be greatly appreciated, respected and credited!

Thank you!

Update:
Not actual anymore, moving to bin...

:happy-wavemulticolor:

User avatar
Koorac
Ailing Wolf
Ailing Wolf
Posts: 48
Joined: Sat Jul 11, 2009 10:06 pm

Re: Help offer?

Post by Koorac » Sat Jul 11, 2009 10:11 pm

I'd be willing to help you with the C++ coding. I will be away the next week though, so I'll only be able to start next Saturday.
If your interested please tell me.

User avatar
Crypton
Arronax's Best Friend
Arronax's Best Friend
Posts: 420
Joined: Wed Jul 08, 2009 5:04 am
Location: Abyss
Contact:

Re: Help offer?

Post by Crypton » Sun Jul 12, 2009 12:54 am

Welcome Koorac, nice to see you here too :happy-partydance:

Sure, if you wanna join, I'll be happy if you do, so I'll contact you when we start writing new engine, it could be after next week I think.

Also if you want to start, after your vacation, can you start writing a sprite rendering class?:) You could use SDL library or any other, maybe its better to ask radzh what will be the best solution for sprite rendering, because you will need to cooperate together and it will be nice if you agree with one solution.


If you wish to start writing that class, there is some info:

ART files will be converted to 32 bit RGBA sprites, so you could use some PNG image for rendering tests.

My delphi sprite renderer class has this function:

Code: Select all

procedure TSpriteRenderer.DrawSprite(const DrawRect: PRect; const Sprite: PSprite; const Color: DWORD = $FFFFFFFF);
With this function, you can draw sprites scaled, alpha blended and colored, so your version should have these features as well, because those are the most required features in sprite renderer.

Here is definition of sprite types:

Code: Select all

  
  PSprite = ^TSprite;
  TSprite = Record // One frame
    IsLoaded: Boolean;
    Texture: IDirect3DTexture9;
    ColorKey: DWORD; // Transparent color
    Data: Pointer;
    Size: DWORD;
    Width: DWORD;
    Height: DWORD;
    DeltaX, DeltaY: Integer;
    Left, Top: Integer;
  end;

  PSpriteStage = ^TSpriteStage;
  TSpriteStage = Packed Record // In ArtView, its called Pictures
    SpriteTable: Array of TSprite;
    SpriteCount: DWORD;
  end;

  PSpritePack = ^TSpritePack;
  TSpritePack = Packed Record // Whole Art file loaded
    StageTable: Array of TSpriteStage;
    StageCount: DWORD;
    SpriteCount: DWORD;
    IsAnimated: Boolean;
  end;
So what do you think, do you feel okey about starting writing that class?:)

User avatar
Koorac
Ailing Wolf
Ailing Wolf
Posts: 48
Joined: Sat Jul 11, 2009 10:06 pm

Re: Help offer?

Post by Koorac » Sun Jul 19, 2009 1:15 pm

Sorry I couldn't answer any earlier, I just came back home today.
I would be interested, but the first step will be to decide on which technologies/libraries we'll use.

User avatar
Crypton
Arronax's Best Friend
Arronax's Best Friend
Posts: 420
Joined: Wed Jul 08, 2009 5:04 am
Location: Abyss
Contact:

Re: Help offer?

Post by Crypton » Sun Jul 19, 2009 3:56 pm

Koorac wrote:Sorry I couldn't answer any earlier, I just came back home today.
I would be interested, but the first step will be to decide on which technologies/libraries we'll use.
Nice to see you back :)

Thanks for interest, and yes, we should decide which libraries we use, so do you have any recommendations for graphics library for that sprite renderer? It should support 3D rendering, and sprites will be drawn as textured quads, this will allow to do a lot of effects in future.

:dance: :drool:

User avatar
Koorac
Ailing Wolf
Ailing Wolf
Posts: 48
Joined: Sat Jul 11, 2009 10:06 pm

Re: Help offer?

Post by Koorac » Mon Jul 20, 2009 5:49 pm

I'd vote for Qt and just OpenGL. Qt has everything else we need in a nice cross-platform library.
Just create a QGLWidget and then draw on it or make it fullscreen. Qt has the advantage of being OOP, safe, easily translatable and allows you to create an overlay over the Glwidget so we could easily paint the GUI.

User avatar
Crypton
Arronax's Best Friend
Arronax's Best Friend
Posts: 420
Joined: Wed Jul 08, 2009 5:04 am
Location: Abyss
Contact:

Re: Help offer?

Post by Crypton » Tue Jul 21, 2009 12:22 pm

Okey then, Qt and OpenGL, radzh voted same as you, so I'm voting same, since I'm not too much experienced in designing engines and coding in C++ :D

Now the question is, if that GL widget is able to what we will need to, and its:
-Rendering 2d sprites with Z order, so it needs ZBuffer
-Rendering scaled sprites
-Rendering colored sprites
-Rendering with texture filters, we need them for rendering lights and shadows
-Rendering with alpha blending, including functions: Sub, Mul, Add

This is what I needed in that delphi engine, so new sprite renderer should have at least these features. Probably, the hardest part for me, was coding functions for rendering lights and shadows, to make them look like original.

I guess that these features are not in that GL widget, so we need to learn OpenGL and add that features by ourself...

Have you already started writing that sprite renderer? because I've started rewriting my code to C++ with Qt a week ago, so it will be great if you start writing that, so we could have "something" before end of summer holidays :)

:orcs-buttshake:

User avatar
Koorac
Ailing Wolf
Ailing Wolf
Posts: 48
Joined: Sat Jul 11, 2009 10:06 pm

Re: Help offer?

Post by Koorac » Tue Jul 21, 2009 1:52 pm

All the QGLWidget does is it gives you a frame to perform the openGL operations in. Otherwise it just contains utility functions for drawing text, adding an overlay etc. Also I think it's possible to draw Qt widgets over it which could make it much easier to create the GUI.
Crypton wrote: Now the question is, if that GL widget is able to what we will need to, and its:
-Rendering 2d sprites with Z order, so it needs ZBuffer
-Rendering scaled sprites
-Rendering coloured sprites
-Rendering with texture filters, we need them for rendering lights and shadows
-Rendering with alpha blending, including functions: Sub, Mul, Add
That's all included in openGL.
Alternately it would be possible to use the QPainter class which has methods like that included already, but it's not as fast (although I seem to remember having read that it uses openGL in the newer versions).
Crypton wrote: Have you already started writing that sprite renderer? because I've started rewriting my code to C++ with Qt a week ago, so it will be great if you start writing that, so we could have "something" before end of summer holidays :)
Just did a few basic openGL rendering tests with Qt yesterday.
Would be good if you could send me your code, so I can also start porting a bit.
Furthermore I think we should start with SVN straight away. If you're interested, I've already got a host and repositories we could use. SVN would make it possible that we have all our work synced straight away.

User avatar
radzh
Ailing Wolf
Ailing Wolf
Posts: 29
Joined: Thu Jul 09, 2009 1:15 pm
Contact:

Re: Help offer?

Post by radzh » Fri Jul 24, 2009 7:29 am

Koorac wrote:Alternately it would be possible to use the QPainter class which has methods like that included already, but it's not as fast (although I seem to remember having read that it uses openGL in the newer versions).
QPainter is pretty fast even in software mode, and it does have OpenGL capabilities built-in:
The QPaintEngine class provides an abstract definition of how QPainter draws to a given device on a given platform.

Qt 4.0 provides several premade implementations of QPaintEngine for the different painter backends we support. We provide one paint engine for each window system and painting framework we support. This includes X11 on Unix/Linux and CoreGraphics on Mac OS X. In addition we provide QPaintEngine implementations for OpenGL (accessible through QGLWidget) and PostScript (accessible through QPSPrinter on X11). Additionally there is a raster-based paint engine that is a fallback for when an engine does not support a certain capability.

If one wants to use QPainter to draw to a different backend, one must subclass QPaintEngine and reimplement all its virtual functions. The QPaintEngine implementation is then made available by subclassing QPaintDevice and reimplementing the virtual function QPaintDevice::paintEngine().

The big advantage of the QPaintEngine approach opposed to Qt 3's QPainter/QPaintDevice::cmd() approach is that it is now possible to adapt to multiple technologies on each platform and take advantage of each to the fullest.
I'd opt for standard Qt classes for renderer implementation. Optimization is concern of a future.

User avatar
Koorac
Ailing Wolf
Ailing Wolf
Posts: 48
Joined: Sat Jul 11, 2009 10:06 pm

Re: Help offer?

Post by Koorac » Sat Jul 25, 2009 7:24 am

Your right, using a QPainter will be more efficient in terms of time needed to code. Later we can try and rewrite everything in openGL.

What do you think of using standard Qt widgets for the GUI?
An example of accelerated widgets over a rendered scene can be seen here: http://doc.trolltech.com/qq/qq26-openglcanvas.html

Locked