Allegro.cc - Online Community

Allegro.cc Forums » Off-Topic Ordeals » Allegro needs your help!

This thread is locked; no one can reply to it. rss feed Print
Allegro needs your help!
m c
Member #5,337
December 2004
avatar

git is shit
linus is a hipster
48bit colour was a gimmick when the ps3 came out, and is still a gimmick considering that almost everyone is using 6bit TN panels.

(\ /)_____#_____####__#
(O.o)¯¯¯#¯¯¯¯¯#¯¯¯#¯¯#
(> <)__####__####__####
Megabytes are where I keep my Data.

Izual
Member #2,756
September 2002
avatar

The only thing i miss from Allegro 4 is 256 color display mode and its fast memory bitmaps. Otherwise i find Allegro 5 vastly superior to its predecessor.
Unfortunately my programming skills are not that good to add what i miss, nor do i know if its even a viable option to add 256 color display mode on hardware we have today.

RIP Allegro 4, we will never forget you.
All hail to Allegro 5.

Thomas Fjellstrom
Member #476
June 2000
avatar

I've heard the performance of the memory drawing code has been improved significantly.

256 color could probably be done with a shader?

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

Elias
Member #358
May 2000

Yes, ex_palette is 256-color mode for example.

--
"Either help out or stop whining" - Evert

bamccaig
Member #7,536
July 2006
avatar

Chris Katko
Member #1,881
January 2002
avatar

bamccaig said:

Now add a n00b friendly interface that doesn't require shader programming.

It's actually super easy once you play around with it for simple stuff (read: NOT bump mapping). You just can't debug as easily since we're talking about millions of bytes floating around inside the GPU, far away from main memory.

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs

Schyfis
Member #9,752
May 2008
avatar

beoran said:

Also, there are many ways to write games these days, either game libs for Java or Javascript, or whole game engines like Unity but they are not our competitors. Our main competitors are SDL 2 and SFML 2 and I find Allegro 5 much easier to use that both those libraries.

I just want to pop in and disagree with this. I think Java game libraries are direct competitors to Allegro. Two years ago, I came back to Allegro for its Android port. I didn't get very far- even after coming to the forums for advice, I was unable to get Allegro compiled for Android on Windows. There's just so much platform incompatibility with Allegro. It feels like all the Android tutorials were made for Linux, and the whole experience really turned me off.

Or rather, LibGDX turned me on. I've said it in a similar thread, but Allegro needs a lower barrier to entry to survive in the future. GDX has an extremely easy setup process. It even came with a little GUI-based project setup utility. I had my first program running on Android within a couple hours... significantly less time than I spent trying to get Allegro compiled and working for Android! Now I'm using LibGDX for everything, because it's so ridiculously easy to get it running on other platforms.

So basically, A5 needs to turn people on like other libraries do. The real issue is barrier to entry.

________________________________________________________________________________________________________
[freedwill.us]
[unTied Games]

Dennis
Member #1,090
July 2003
avatar

To lower the barrier, as has been suggested before iirc, it might be a good idea to have a downloadable standalone virtual machine image.

That image should probably run some Linux variant (Ubuntu?) and have Allegro5 alongside an IDE already pre-installed, so people can fire up the VM and just start writing code.

Also, the VM should include a project template and ideally, that template should have multiple compilation targets pre-configured for cross-compilation to different platforms.

beoran
Member #12,636
March 2011

OK, I'll admit that certain java libraries like LibGDX, lwjgl, or Slick2D can also be considered Allegro competitors, although the fact that they are Java libraries means that you have to sacrifice some performance for convenience. And of course there are Pygame, Gosu, Love2D, etc that make using SDL even easier at an even higher performance cost. But for many games on contemporary computers performance doesn't matter that much which means they may be indirect competitors of Allegro too.

I also agree that the Android port certainly needs some tender love and care to make it easier to install and use also on windows. And of course as was said before, we need easy binary installations, maybe combined with IDE's, maybe through VM's, maybe through msys2 to get people started much more easily with Allegro.

Looking at the LibGDX web page though one thing jumps to my eye and that is that it's full of video tutorials. I think that's a great idea! We need to make many video tutorials for installing Allegro for different platforms/sub-platforms/IDE's and put them on our web page to show off that it's not that hard to install Allegro if you know what you are doing.

And this is something everyone can help with! Re-do the installation of Allegro on your platform while recording it and post the video. We can then link them, first on the wiki and later on the web page.

I agree that lowering the barrier to entry is important, but since Allegro is a C library, the barrier will always be a bit higher than for game libs written in higher level languages. But I think documentation such as video tutorials can help people get over that barrier more easily.

Thomas Fjellstrom
Member #476
June 2000
avatar

Schyfis said:

I was unable to get Allegro compiled for Android on Windows. There's just so much platform incompatibility with Allegro. It feels like all the Android tutorials were made for Linux, and the whole experience really turned me off.

There's a reason for that. Android is linux, and the SDK and especially the NDK was made to use on linux. Trying to get it all to work on windows is like pulling teeth.

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

Chris Katko
Member #1,881
January 2002
avatar

There's a reason for that. Android is linux, and the SDK and especially the NDK was made to use on linux. Trying to get it all to work on windows is like pulling teeth.

A wild virtual machine appeared!

It used boot Linux!

It is super-effective!

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs

bamccaig
Member #7,536
July 2006
avatar

A virtual machine image sounds absurd to me. I hate that idea. The Perl Catalyst framework offers that, IIRC, and it completely turned me off. It shouldn't be that fucking hard to get up and running that it's easier for you to load a virtual operating system that has already had the components installed for you. :P

Computers are wondrous things! They follow instructions exactly! Automatically! If we can tell a human how to do something, we can tell a computer how to do something even more precisely! It should not be extreme for us to provide a simple installer package for Windows.

Let's face it, that is the main barrier. The developers care less about Windows than ever before. It has become the red-headed step-child. Which would be fine if it wasn't also the predominant operating system used by beginners. Having an easy installation in Windows is important for the quantified measure of success for the project.

Fuck a virtual machine because a beginner probably won't know how to use Linux so the learning curve would still be too much to just start coding. You need an up-to-date Windows installer package. Something that will install the library and its dependencies, perhaps with the option of also installing a bundled copy of MSYS, and perhaps even a graphical IDE like Code::Blocks.

* Allegro Library *
[X] Allegro 5 library run-time (plus dependencies) (Required)
    (*) Monolithic (includes all the addons in one library)
    ( ) Separate addons
[*] Allegro 5 development files (e.g., header files) (Optional)
[*] Allegro 5 examples (source and executables) (Optional)
[*] Allegro 5 documentation (HTML format) (Optional)

* Bundled Development Environment *
[*] MinGW vX.Y.Z (GNU environment sufficient for development) (Optional)
[*] Makefile template (Optional)

* Bundled Graphical Development Environment *
[ ] Code::Blocks vX.Y.Z (integrated development environment) (Optional)
[ ] Code::Blocks project template (Optional)

Protip: That is a LOT of work to accomplish, let alone maintain, but if you really want to make Allegro accessible to n00bs that is the way to do it.

I remember when I was still in college and Sam introduced me to this community I had no idea how to install the library. He basically had to walk me through it. We didn't learn any of those skills in college, and learning by searching the forums, etc., is a lot of work. That is not a friendly invitation. Maybe we could get away with it back then because it wasn't overly easy to just pick up anything, but these days there are much more friendly options so if you expect to make Allegro friendly you need to match them.

For Android development, I say fuck it, in that case people should be booting into Linux. The Android platform is a Linux-based platform. They are already targeting Linux. They should not have a problem with booting into Linux. It's no different for iOS: AFAIK, you need to have a Mac (or a Hashintosh) to develop for that.

beoran
Member #12,636
March 2011

If it is that windows is being somewhat neglected, then it's because there aren't enough Allegro developers who use windows on a daily basis, but also because supporting Windows is often (not always) harder than supporting Linux. So we need more contributors to Allegro for Windows. Which was kind of the point of starting this thread...

I also agree that need a windows installer with all the bells and whistles. Perhaps NSIS can help us there, it can even be scripted to make Windows installers from Linux. I still think video tutorials would be an additional help, even with an installer, but yes, the installer is probably even more useful.

Chris Katko
Member #1,881
January 2002
avatar

bamccaig said:

A virtual machine image sounds absurd to me. I hate that idea.

You mean, my current development environment? Wherein I run Windows on the host for compatibility with 99% of all software and fastest drivers, and Linux in a VM for access to some of the best development tools ever created? Your loss.

Quote:

I remember when I was still in college and Sam introduced me to this community I had no idea how to install the library. He basically had to walk me through it.

So it's okay to not know how to install it in windows, but installing it in Linux is absurd?

Enjoy your metro interface. 8-)

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs

bamccaig
Member #7,536
July 2006
avatar

You mean, my current development environment? Wherein I run Windows on the host for compatibility with 99% of all software and fastest drivers, and Linux in a VM for access to some of the best development tools ever created? Your loss.

For one thing, you're potentially wrong about the fastest drivers. When Valve began working on Steam for Linux and porting Valve games to Linux they began kicking back to AMD and Nvidia to work on their Linux drivers. The end result is that in a short amount of time they managed to get Linux ports running faster than Windows ports that had had years of development time...

For another thing, I personally have a Debian VM running inside my Windows because I cannot live with Windows alone. Windows sucks. That said, I run my VM, not some half-baked PoS VM that somebody assembled for their one software project. If everybody did that we'd all have 20 VMs running and no CPU or memory left to host them.

By all means, if users want to run Linux in a VM for the Allegro development I'd encourage them to do so. It's way better. However, if they knew how to use Linux they'd be doing it already and Windows support wouldn't fucking matter. A VM is not a solution.

So it's okay to not know how to install it in windows, but installing it in Linux is absurd?

Enjoy your metro interface. 8-)

You're a n00b and I could run circles around you in *nix. Lay back down before you hurt yourself. >:(

furinkan
Member #10,271
October 2008
avatar

bamccaig said:

You're a n00b and I could run circles around you in *nix. Lay back down before you hurt yourself.

Them's fighting words... :-X

Chris Katko
Member #1,881
January 2002
avatar

8-)

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs

bamccaig
Member #7,536
July 2006
avatar

Chris Katko
Member #1,881
January 2002
avatar

If you read carefully, I never really said install a VM just for Allegro. I said it's a much better development environment.

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs

Arthur Kalliokoski
Second in Command
February 2005
avatar

I never really said install a VM just for Allegro.

I install VM's just for one game at a time. :o

“Throughout history, poverty is the normal condition of man. Advances which permit this norm to be exceeded — here and there, now and then — are the work of an extremely small minority, frequently despised, often condemned, and almost always opposed by all right-thinking people. Whenever this tiny minority is kept from creating, or (as sometimes happens) is driven out of a society, the people then slip back into abject poverty. This is known as "bad luck.”

― Robert A. Heinlein

Chris Katko
Member #1,881
January 2002
avatar

Sometimes... I recompile the Linux kernel in asm.js just so I can put a VM in my VM in my VM.

Mmmmmm... dat 3 MIPS.

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs

m c
Member #5,337
December 2004
avatar

No one* uses the library that doesn't have lots of tutorials.

Tutorials = usage.

*comparatively

(\ /)_____#_____####__#
(O.o)¯¯¯#¯¯¯¯¯#¯¯¯#¯¯#
(> <)__####__####__####
Megabytes are where I keep my Data.

beoran
Member #12,636
March 2011

We shouldn't bicker about what is best, VM's , installers, tutorials, etc. They're all useful. Now if we put the same intensity in actually making those in stead of just arguing, then the job will be done in a week or two.

Polybios
Member #12,293
October 2010

Is the to-do-list on the Wiki for 5.2 an "official" one reflecting the thoughts of the core devs? Ie. is there a master-plan of what 5.2 should look like?
Maybe more people would be willing to help out if tasks were more clearly stated? ???
For example, the todo-list mentions multiple instances of API-reviewing, which seems to be a bit vague to me, I mean, it's not a specific task.

It shouldn't be too difficult to get more people to test all the examples on their available systems.

beoran
Member #12,636
March 2011

Yes, that roadmap is mostly official, but it does need probably need some more clarification.

Those API reviews are mostly for the people who designed those API's, but it also means that the API of the subsystem in question needs suggestions on how the API should be. Concrete suggestions are always welcome. Don't just say "that API sucks", but suggest things like "maybe we should add a function X because..." , or "change the parameters of function y to a, b,c because", etc, etc.

And yes, even just running all of the examples compiled from the latest Git version and reporting any bugs or missing features you can find on your platform(s) is immensely useful! So please do that if you can. :)



Go to: