Home » Community » Forums » » Linux Game Development Part 1
  Intel sponsors gamedev.net search:   
[Control Panel] [Register] [Bookmarks] [Who's Online] [Active Topics] [Stats] [FAQ] [Search]

Add Forum to Favorites |  Send Topic To a Friend | View Forum FAQ | Track this topic

Page:   1 2 »»

 Last Thread Next Thread 
 Linux Development Part 1
Post Reply 
Add KDevelop into Dev Tools. It's the best IDE in Linux (IMHO). And of course there's also Emacs and Vim...

Also apps like Gimp, Audacity, Blender etc. could be mentioned?

And you definitely should tell about autoconf and automake instead of make (even if those are covered in part 3).

Crossplatform libraries are missing Ogre and Irrlicht.

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

The only thing I would say is the Linux introduction has some kinda fanboy preachy moments. A sentence with "I think" in it, is only an opinion. Maybe distance yourself a little more in some places. Like instead of "It is more secure.." try something like "it is often praised for being more secure..." So it sounds more like popular opinion than personal opinion stated as fact. The Windows vs Linux thing can get kinda hot so it may be worth the extra caution.

That being said, most people reading it probably won't be bothered in any way.

 User Rating: 1302   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link


(offtopic)

Brief introduction to different games in Linux can be read from this blog and from The Linux Game Tome.

(/offtopic)

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Should add references to eclipse, scons, allegro and clanlib

 User Rating: 1553   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

If you're mentioning scons, you need to mention CMake and waf as well, plus GNU make is a rather powerful tool. And maybe add a formal cry for a decent build system as well :-)

As far as KDevelop is concerned, I agree that it's the best IDE out there for linux at the moment, but i've found IDEs on linux get in the way more than they help, and after a lot of searching i've settled on vim, and life is good.

:wq

 User Rating: 1174   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

This looks like an interesting series of articles, I'm especially interested in the upcoming articles about creating binaries and installers.

If Linux is ever going to be successful as a main desktop OS for non-geeks, Windows-style easy just-click-it installation of software is needed.

Now this is not something that the linux nerds like, they want everything neatly integrated in their distribution packaging system, they cringe at the idea of ignorant users installing potentially harmful software too easily but that's what people want. They can't and are not interested in resolving library versions dependency issues in order to play the latest game.

As for us developers, the lack of a powerful and intuitive IDE is a problem. For C/C++ development, I've yet to see anything on Linux that can compare to Visual Studio. And it's especially hard when trying to get Windows developers with very little unix/linux experience to switch.


 User Rating: 1023   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by Codexus
If Linux is ever going to be successful as a main desktop OS for non-geeks, Windows-style easy just-click-it installation of software is needed.

This is already there! Klik and Autopackage :-)

Quote:
As for us developers, the lack of a powerful and intuitive IDE is a problem. For C/C++ development, I've yet to see anything on Linux that can compare to Visual Studio. And it's especially hard when trying to get Windows developers with very little unix/linux experience to switch.

Try Netbeans and/or CodeBlocks. Both are very close to VS and the former one is better than VS in some cases :-) I am doing all my C/C++-development now with Netbeans :)



 User Rating: 1141   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by Codexus
As for us developers, the lack of a powerful and intuitive IDE is a problem. For C/C++ development, I've yet to see anything on Linux that can compare to Visual Studio.


Previously mentioned KDevelop gets quite close. And with integrated support for tools like svn and Valgrind it's even better (in some areas).

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Eclipse with CDT is pretty good for C++ development. Not quite up to Visual Studio yet, but it's getting there. The next major release is soon (let's hope they improved the intellisense!).

 User Rating: 879   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

I wanted to try Kdevelop but it's not integrated. It depends on Cmake so I could not make projects since I could not install Cmake.
I was easily able to download Eclipse but still haven't tried C++ programming.

Definitly, VC++ is the greatest. I wish I could Wine that thing.

 User Rating: 1245   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

In all honesty, I haven't found an IDE that comes even remotely close to Visual Studio, and I've tried quite a few of the often praised Linux IDEs.

KDevelop wins hands down as far as features are concerned, but I'd rather play with traffic than actually have to use it. There's nothing in particular about it that I have a problem with, but overall the GUI just feels like a complete mess.

Anjuta has a nice feel to it but forces you to use automake, and since I loathe automake that rules out Anujuta.

CodeBlocks also looks like it has potential, but it just doesn't feel like it's quite there yet.

Eclipse, the last of the big players (in my opinion), is by far the best IDE on Linux (and I'd rate is as second only to VS on Windows), but last time I used the CDT plugin (about 6 months ago) it needed a lot more work on configuring the build system to make it truely useful on anything but the smallest projects.


Yes, I'm picky

 User Rating: 1639   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

Quote:
Original post by anylo
Quote:
Original post by Codexus
As for us developers, the lack of a powerful and intuitive IDE is a problem. For C/C++ development, I've yet to see anything on Linux that can compare to Visual Studio.


Previously mentioned KDevelop gets quite close. And with integrated support for tools like svn and Valgrind it's even better (in some areas).


vim got a drop down list (CTRL-N) lately, if someone could enhance this list to represent function names including their parameters that would help a lot and maybe class member listing.

I personally don t use any IDEs, a console with 12-20 tabs doesn the job.


 User Rating: 1093   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Great article, it's nice to see people giving consideration to developing for additional platforms. Without turning this post into another "HAY YOU SHOULD USE THESE TOOLS THAT I USE!" (though I do love me my scons building!) I'm curious as to why you'd use FreeImage instead of SDL_image. Is it any better? I just like to use the latter since I'm pretty much always linking to SDL anyways.

 User Rating: 1081   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

I use scons as well, but one think I dislike is the dependency checking, is there a way to cache dependencies? Checking them every time you compile your app slows down the buildsystem quite a bit

 User Rating: 1093   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Thanks for reading, guys! I didn't expect the article to generate this much discussion!

There are a lot of other tools I could have mentioned in my article, but I didn't want to create a catalogue. Besides, I only felt comfortable recommending tools that I had actually used (except for Mono, which I've never used but which I know would be needed by .Net developers).
Quote:
Original post by Codexus
This looks like an interesting series of articles, I'm especially interested in the upcoming articles about creating binaries and installers.

These articles have been running in the ASP newsletter for the past several months, and these are the 2 more popular ones, primarily because there's little or no information about this on the net. I got most of my information about building "universal" binaries from Gerry Jo Jellestad over at icculus.org, who was very willing to share his knowledge with me and help me get my Dirk Dashing binary built. If it hadn't been for him, I would have given up on the Linux version altogether - I don't know how I would have figured it all out on my own. I think a lot of other commercial and indie developers feel the same way when they look at Linux.

Hopefully these articles will help plug the gaps and provide at least one way to distribute a game that will install and run easily on any distro. There may be other ways to do it, but Gerry's approach (which I've documented in the next two articles) works very well for commercial developers. I've already helped Ilya Olevsky at Valen Games port Lunar Domination using this method, and I've been working with Roman Budzowski from Anawiki for the past few weeks to get Runes of Avalon going on Linux.

If you want to see the end results of using the information in the upcoming articles, you can download and install Dirk Dashing from:
http://www.mygamecompany.com/Products/DirkDashing/linux_download.htm


You can also visit http://www.valengames.com and download Lunar Domination. It uses a different installer, but is still easy to install and run. I would provide a link to Runes of Avalon, but I'm not sure if Roman has released the new Linux version to the public yet.
Quote:
Original post by Stukkm
I'm curious as to why you'd use FreeImage instead of SDL_image.

I'm using OpenGL for rendering in my cross-platform games, not SDL. I had my own custom code for loading images into GL textures that worked just fine, except when I ported it to Mac and tried running it on a G4. I spent several days trying to get it to work, failed, and then asked the folks at idevgames for alternatives. They recommended FreeImage. I found it extremely easy to integrate into my existing architecture, and I was able to build on Mac, Linux, and Windows with no problems. I've never used SDL_image, but maybe it would have worked too.


 User Rating: 1034   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by GolfHacker
Thanks for reading, guys! I didn't expect the article to generate this much discussion!


Heh.

If you mention words "linux" and "game" in the same sentence it definitely will generate discussion. Usually it's "There's no games in linux!!!" nonsense etc.

Quote:
I'm using OpenGL for rendering in my cross-platform games, not SDL. I had my own custom code for loading images into GL textures that worked just fine, except when I ported it to Mac and tried running it on a G4.


Actually SDL and OpenGL are used quite much together. But it's not the only way how to do it as you told.

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by Goober King
The only thing I would say is the Linux introduction has some kinda fanboy preachy moments. A sentence with "I think" in it, is only an opinion. Maybe distance yourself a little more in some places. Like instead of "It is more secure.." try something like "it is often praised for being more secure..." So it sounds more like popular opinion than personal opinion stated as fact. The Windows vs Linux thing can get kinda hot so it may be worth the extra caution.


I second this. I started to read the article because I was actually quite interested in seeing the differences between game dev on linux as opposed to other systems. However, I stopped reading right after "It is tremendously stable, very reliable, and much more secure than Windows. Linux also offers several different file systems, like ReiserFS and XFS, which are noticeably faster than FAT32 or NTFS on Windows." (bolded = where I got annoyed). You really could have stopped at very reliable.

This isn't in any way necessary to communicate how to make games on linux. This is the kind of fanboy silliness that keeps me away from linux.



Oh internet... so many idiots... so few bullets.

Linky goodness: [journal] | [Gorgon]


 User Rating: 1436   |  Rate This User  Send Private MessageView ProfileView Journal Report this Post to a Moderator | Link

Personally, I find VC++6 to be the best version with VC.NET (pick whichever you want) being second.
It costs money but it is worth it.

If someone could do the same for Linux. Just 1 perfect IDE and well integrated. I don't know what "make" is and don't care.

When I was studying at university, they showed us to use gcc. That's not a good way to program. Debugging is not easy.

I would prefer to program in Windows and just compile on Linux. Perhaps the next article can focus on how to program and debug on Linux with lots of details. I use Kubuntu as well.

 User Rating: 1245   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

What linux needs more than anything (from my point of view) is a decent build system. Because as far as i'm concerned, vim (or emacs if that happens to be your preference) is a far better 'IDE' than visual studio or any such IDE, even sans intellisense (though both emacs and vim have intellisense like functionality through plugins)

EDIT: i realize that might be sort of inflammatory, but it's hard to describe how much faster i code now that i've learned to use vim effectively, the more you learn the more keystrokes you save, and what's more you rarely have to leave the "natural position" on the keyboard < /fanboyism>

oh yeah, and Dia is a really good UML editor as well, definitely worth mentioning.

cheers
-Dan

 User Rating: 1174   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

This is a nice idea and I am all for it.

I think the most important point to emphasize on IDEs is that you have MANY options to choose from. The problem I have with most of those linux IDEs is that they are buggy, lack clean integration, and are often cumbersome to use. One of the truly liberating aspects of unix development is that you can whip together a makefile and some simple build scripts, and get an huge amount of productivity accomplished - I think thats the real charm of unix, as is the numerous choices you have to solve a particular problem. In most cases, you can typically use the technology of choice without consequence - I think that rules.

As far as honest game development on linux (as a desktop platform), its a long long ways off imho. Honestly, I dont think its a usefult topic - and if it will exist on ANY unix it will blossom on OSX imho. You could get into SDL, OpenGL, etc.. and the comparisons but its basically the same data as most of the topics on here. I am sure there will be disagreements, but I'll rest on that opinion until at least 1 shopping cart of serious titles exist for linux.

That being said, I strongly believe in the discussion of unix game development as it relates to the server side. Unix offers very stable, inexpensive, enterprise class features for building large server clusters. Seeing how MMOPRGS are huge today, I think this would be a great topic of discussion that we could all learn a lot from. Multithreading, NFS/AFS file access, clustered SQL db paradigms, Memory mapped files, networking code, Lobbies, etc.. are all topics that dont get as much attention and would be excellent topics on linux - I think you could go a long way with these topics and produce one hell of a series that people would get a great deal of benefit from.

Since Fedora/Ubuntu/etc.. are free, and will run nicely on older hardware, this presents a great opportunity for client/server tutorials and whatnot.



Bravo for starting the idea up - good luck, I look forward to reading it.


#dth-0

 User Rating: 1121   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Someone mentioned NetBeans, and I'd like to mention SunStudio which is based on NetBeans. Not complete, but a pretty good IDE imho. Switched to it recently after several years of vim, and it works well for me.

 User Rating: 1077   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by joanusdmentia
In all honesty, I haven't found an IDE that comes even remotely close to Visual Studio, and I've tried quite a few of the often praised Linux IDEs.

Try Netbeans :-) (I know, I am annoying :-D )
You can use any compiler you want, any build system, anything. Works just great. The code completion is the only thing which requires some more work to match IntelliSense. Everything else is on par with VS or even better than VS :-)
Performance is very good (it is a Java program, just like Eclipse), I can use Netbeans on my very old IBM Thinkpad (512MB RAM). Eclipse on the other side is just unusable slow...

@GolfHacker: Would you or someone from gamedev add a link to Distrowatch to the article, please? I personally don't like the distributions you recommend and there are so many others out there (FreeBSD, yeah :-D )

Hope to read more from you soon :-)

 User Rating: 1141   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Quote:
Original post by Enrico
This is already there! Klik and Autopackage :-)


That's just wishful thinking. Yes, there are tools available to make that easier, that's good. But if right now, I take a linux-virgin and tell him to download and install the latest version of, for example "The Gimp". All he will find on the download page is a source package that he won't know how to install.

The Gimp is one of the most well known projects and they don't provide a binary version with an installer. Why? Because it's not the linux way. It's assumed that if a user doesn't know how to compile an application he should just use whatever comes with his distribution and be happy with that.

As long things are like that, normal users will not find Linux a very attractive environment.


 User Rating: 1023   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link

Firstly, having an intro to Linux game development is a great idea. The article has a good list of packages, and the tutorial structure is looking great. I do have a question though: Who is your target audience?

The reason I'm asking is this:
Quote:
[1] For those of you who may not know, Linux is a free operating system...

And
Quote:
[2] So let's assume you have selected a Linux distribution, downloaded and installed it, and spent some time learning how to use it. You've got it configured the way you want...

Now if you're writing for those who can do all of [2], it would be unnecessary to explain what Linux is. On the other hand, if you're aiming for a person who is somewhat new to Linux, it may be a good idea to explain some steps in doing [2], or perhaps even a tutorial on setting a typical Linux dev environment for the other parts of the tutorial.

Perhaps you may consider a statement at the start explaining what sort of assumption is made about the audience? That way you can still shape the tutorial any way you intended.

Just my 2 cents... keep up the good work mate :)

P.S. There's Mono project and MonoDevelop which is a Visual Studio lookalike. Might be a good idea to include both.

 User Rating: 1015   |  Rate This User  Send Private MessageView Profile Report this Post to a Moderator | Link
Page:   1 2 »»
All times are ET (US)

Post Reply
 Last Thread Next Thread 
Forum Rules:
You may not post new threads
You may post replies
You may not edit your posts
You may not use HTML in your posts
Jump To:
Administrative Options: