Some speedup

There is 2D hardware acceleration. As for not supporting openGL everywhere, it’s more a manufacturer issue when they refuse to provide drivers or even docs. Closed source drivers are also usually of poor quality (at least on linux).

I tried 1024*768 and it’s running as fast as my emulated H3 windows version in 800x600, as long as I use the right screen depth.

The move to openGL will also prevent vcmi from running on a wide variety of handheld devices. Will it be possible to keep SDL at the same time ?

AFAIK Stallman cares only (or rather mostly) about software not about hardware. That means the software that makes use of CPU and makes it “work” should be free in his opinion, but technology behind the CPU doesn’t have to be free…

There are some open CPUs or GPUs though if you are interested:
en.wikipedia.org/wiki/Open_hardware
One very efficient and prominent technology here is Sun SPARC architecture, which provides great CPUs.

As stated in my post above I agree with you. 3d accel should not be needed for a 2d game … If screen depth is the problem there should be some hack for it ? Maybe asking Battle for Wesnoth devs about it would be a good idea ? I mean they use SDL but do not have performance problems in higher resolutions

[EDIT]

Also here are some screens from Loki game version of H3 … It’s a native SDL Linux version working at 800x600 … Judgning by the CPU use I think SDL can do it and there is no need for OpenGL :

s1d2.turboimagehost.com/t/1725026_as24.png s1d2.turboimagehost.com/t/1725027_as23.png s1d2.turboimagehost.com/t/1725028_as22.png
It’s on a amd turion x2 laptops running at 800 Mhz as it didn’t need to switch to full power 1700 MHZ… Considering that I think optimization or not Vcmi for sure can do better with SDL. I think something is wrong somewhere as Loki didn’t have lot’s of programers to do great optimization either.

I don’t know in what condition it is. I don’t play games on Linux. I just don’t have any reason to think that ubuntux is lying.

It’s just a simple consequence of ubuntux’s statement about openGL support in Linux distributions.

I just believe that what ubuntux has written is true… please point out where I say more than he said about Linux.

So my only fault is that I haven’t checked if his words are true… so I don’t know why you fucus on my post instead of his.

So there is nothing wrong in having openGL 1.3 or even 1.4 drivers as a requirement… or should I check it on myself to not be harassed by other Linux users who think it’s not true?

Handheld devices could have not enough memory for VCMI… you need at least 256 MB to be sure to run VCMI with any map. Additionaly maintaining two renderers at the same time would be harder, make code uglier and need more support. I’m not sure if it’s good option.

It’s interesting… there are a few other heroes III remakes and some of them use openGL for rendering. It’s just faster and more powerful. It’d make it possible to add some interesting graphical effects easily such as adventure map scaling. Anyway, the decision hasn’t been made yet, we’re just considering the use of openGL.

But they could just have well optimized code of Heroes III.

Btw, while we’re at portable devices: I’d love to see VCMI on the Pandora one day, so if you decide to use OpenGL, could you try to keep the code OpenGL ES compatible?

@Tow Dragon:

From reading that your conclusions are :

So you see Ubuntux said that some Linux users do not have OpenGL support … He was wrong at the fact that there are almost no open drivers and the emulation thing (as more cards are supported by open drivers then by the blobs), but he did clearly mention the blobs from ATI and NVIDIA.

Your conclusions from this statement imply that :

  1. Linux doesn’t have any OpenGL accell in every significant distro.
  2. Linux developers are incompetent.
  3. Linux sucks and is unable compete with technology from 10 years ago.

My point was not to harass you. I just felt that your argument here was emotional and out some unknown superstitions against Linux … I posted about it an civil way not calling you names or doing anything else that one could call harassing . Sure my response is harsh but I feel that your statement is also harsh and unjustified.

Interesting … However wouldn’t it make objects blurry ? I mean those are just 2d sprites not 3d models so scalling would blur them at some point ?

Would moving to openGL speed up Vcmi development ? or would it slow it down ? One other benefit could be using OpenGL effects for spells (which in case of going standalone at some point would free a lot of stress of doing new spell animations)

BTW are those other remakes advanced projects ? Why not join forces with them then ?

Yes of course they did have it … as they ported it to Linux. Nevertheless as I said free games like Battle for Wesnoth use SDL and work just fine at big res, and I don’t think they do some enormous optimization work.

[EDIT]
If you go OpenGL road I think OpenGL1.3 should be max, because some older cards do not support OpenGL 2.0 just 1.3 … like for example Radeon 9200 … You may call it old but for many those are enough and IMHO it would be a bit strange if a game like HoMM3 could not run on those … wouldn’t it ? and yes that limitation is also for Windows since the chip has support for 1.3 specs … Of course it still can run OpenGL 2.0 games but all 2.0 instructions are emulated thus very slow. Consider also laptop users which in many cases do not have great GPUs … For example my quite new laptop has a card that has just OpenGL 2.0 support …

so the best choose is to use library which could use many differ acceleration libraries, such as allegro (can sdl do that easily?).
ie. in allegro in most cases the only thing to change between rendering sources is the change argument for the initialization function. Standing on that every machine/system has to be compiled separately, you simply can choose that some types of rendering are unavailible (ie. DX on linux), whithout greater mess (#IFs on #includes and some function to prevent choose unavailible mode)
allegro even has easy way to reinitialize graphics in middle runtime ie. pregame may be in 800x600 no-accel and ingame may be DX or GL in one of known resolutions, all based on config. switching between windowed and fullscreen versions is easy too

Firstly, he mentioned them so there must be a significant number of them. They use certain Linux distributions - if all of them use exotic distros but together thay make a significant group then I’ve mistaken. But:

Ubuntux wrote that sometimes drivers do not exist… so what’s wrong with this?

I haven’t wwritten why they are not able to provide it. Maybe they just don’t have enough time?

Linux is certainly able to compete with many modern MS technologies. Besides, I’ve also better reasons to don’t like Linux than this one. It’s interesting that the only set of applications that works flawlessly in Linux for me is shell (usually I use bash, sometimes tcsh and sh).

Actually it was a bit emotional, I’ve even posted an emoticon :). I had bad experience with Linux.

Yes, they would be blury but it wouldn’t be a big problem if used only for a preview of a bigger area.

It dependds on how many problems it would make and how much time we would save on optimization of SDL renderer.

In fact you can always make such animation in another application and convert it to def… but doing everything in openGL in VCMI could be more simple.

Only one of them is quite advanced, but it’s developed in Delphi and the programmer is not intreested in helping us. The rest of them are much less advanced then our first publicaly released version.

Everybody has certain reasons to not join forces. One of those projects is developed by our former programmer who just thinks that our code is very ugly and prefers to start from scratch.

Nvidia provide very good drivers for GeForce cards and this work very well like in windows, I tested some games.

About “Battle for Wesnoth”, realy fantastic game, I downloaded this yesterday and this worked very fast. But see, here is more differences between BoW and VCMI. BoW don’t have a lot animations, all objects in maps are constant. Well, this game don’t need refresh screen all the time, only “move” object. And in VCMI a lot of object are animated, tress, buldings etc. Anyway, BoW had awesome engine in SDL.

I think OpenGL in VCMI can help, and if it’s fast way to improvement performace, why not ?

I don’t really get from where this conclusion can be drawn … I’ve re-read all ubuntux post in this topic and I really do not know.

When you use Linux you should buy hardware with consideration of it. Even if 99% of hardware has at least basic OpenGL support the 1% is really the fault of users because they bought unsupported hardware.

With that we should close this topic

That’s why I posted about HoMM3 version by Loki … It’s in SDL and can work on a 100- 200 Mhz CPU judging from the cpu use (just as original h3 can) … The stated goal of Vcmi team was to work on a 500Mhz CPU and in my maybe limited understanding I see it happening without some heavy and hard optimization…
As ubuntux wrote just changing the screen depth made a big difference …

That said I’m not against OpenGL … I just don’t see big benefits of using it unless some 3d objects/effects are used in this game. Furtermore going OpenGL somewhat adds extra development time to port the existing code to it and make new graphic subsystem. So in the long run it means the first playable release of VCMI will move in time even further.

Thanks, but I’m not going to start using Linux for my everyday tasks soon.

I agree with this, Windows is far from being perfect - but works very well for me. If only it were as customizable as *nix systems…

I hope nobody will scare away because of my comment. Linux users are important for me and I don’t want to discriminate them because of my OS preferences.

I think Delphi was quite popular some time ago, but undoubtly its popularity decreased lastly. Modern programming tend to have C-style syntax (C++, C#, Java) tend to have C-style syntax instead of Pascal-style syntax.

apropos allegro… look where on sourceforge.net rank lists is allegro and where is sdl, so if believing that allegro rulez over sdl !!! allegro is an library with great history, and have many addons made by various people, contain all needed i/o (keyboard, mouse, timer, joystick, graphics, midi sound, waveform sound, file i/o, access to system specific objects, simple gui routines) and even math functions, easy to use, but nice controllable for PROs (in more sophisticated version)…

but looking how you write VCMI it can be some more time than just a week to port vcmi, but we can define inter-interface between existing sdl-optimized functions and allegro layer to ease porting

memory bitmaps are base objects for image manipulation in allegro, and support vary types of bitmaps by the same BITMAP* object, contains easy primitives drawing and even simple 3d support, has built-in directx support on windows version, and in allegro code for specific gfx-library could frequent be ported to another gfx-library by simple few lines definition based preprocesor script.

color palette operations could be ther automatised without leaving out control on it, so make drawing heroes-specific 256-color bitmaps easier than in sdl-extension you wrote

LOOK AT THIS

Name Relevance Activity Rank Registered Latest File
Allegro game programming library 80.81% 99.81% 478 2000-05-13 2009-05-04
sdl 61.09% 99.50% 1,263 N/A N/A

RANK (lower better) allegro 478 vs sdl 1263 - so coooool!!!