project-navigation
Personal tools

Author Topic: How to dive into the source code on Linux.  (Read 3800 times)

madrsihands

  • Guest
How to dive into the source code on Linux.
« on: March 08, 2015, 08:42:47 pm »
Now that I finished building my new AMD computer I'm ready to tinker with UFO AI.  I have some non-traditional programming experience, but I'd rather get my hands wet with direct experience by fiddling with the source code.

I see a lot of Quake tutorials online, but they run the gamut from basic engine coding to mapping to character design to texturing.  What's more annoying is most of these tutorials have been written for Windows, where as I'm a Linux user.  Even though I've been using Linux for like six years now, I still feel like a noob as just the root directory structure seems mysterious to me.  With that I'd like to ask where one starts modifying the UFO AI source code and can begin understanding how to contribute to the project, from a Linux point of view.

For instance, how can I model, texture, and import a new character designs into the game?  Can you use Blender to modeling?  How can I add new character animations to the game?  How do you guys pace yourself with polygon counts and bit-map sizes?  I'm going to try fiddling with the Radiant engine you suggest for building maps, though is their a good tutorial for Linux users about how to install and get it running?  How do you interface Radiant with the game to import new maps? 

Also specifically, is all the operating source code for UFO AI in its extracted directory or does it download extra files to /bin, /usr and/or /lib?  In other words could I just manipulate files in its extracted directory to reprogram the game, or do I have to go somewhere else in my directory tree to do this?  Does something else somewhere have to be updated to do this?

Offline DarkRain

  • Project Coder
  • Captain
  • ***
  • Posts: 747
    • View Profile
Re: How to dive into the source code on Linux.
« Reply #1 on: March 09, 2015, 05:49:47 pm »
With that I'd like to ask where one starts modifying the UFO AI source code and can begin understanding how to contribute to the project, from a Linux point of view.
Well, what do you want to do? Honestly our technical documentation is lacking and often outdated, and no exactly easy to find, so don't hesitate to ask if you don't find what you are looking for.

Quote
For instance, how can I model, texture, and import a new character designs into the game?  Can you use Blender to modeling?  How can I add new character animations to the game?  How do you guys pace yourself with polygon counts and bit-map sizes?
Did you have a look at our modelling section? It will of course not tell how to actually model, texture or animate — there are plenty of tutorials, web sites and books dedicated to just that topic out there, but the section contains guidelines and useful information, like supported formats, dimensions, etc. Yes you can use Blender so you shouldn't have problems finding learning material

Quote
I'm going to try fiddling with the Radiant engine you suggest for building maps, though is their a good tutorial for Linux users about how to install and get it running?  How do you interface Radiant with the game to import new maps? 
We have our own radiant UFOradiant, for Linux I think you are best compiling it yourself, how did you get the game's source? If you are using git it might be as easy as running ./configure and make uforadiant, running uforadiant and setting the base directory. Also have a look at our mapping section.

Quote
Also specifically, is all the operating source code for UFO AI in its extracted directory or does it download extra files to /bin, /usr and/or /lib?  In other words could I just manipulate files in its extracted directory to reprogram the game, or do I have to go somewhere else in my directory tree to do this?  Does something else somewhere have to be updated to do this?
Depends if you are compiling from git everything should be where you downloaded the game's source, unless you have run make install also if you are running a packaged version from your distribution either will indeed copy some things to different locations... or are you running the windows installer on wine?

madrsihands

  • Guest
Re: How to dive into the source code on Linux.
« Reply #2 on: March 16, 2015, 12:19:45 am »
what do you want to do?


Well I would really like to make a visibility system, but it seems more of a coding and display problem that is much more challenging.  Right now I'm trying to work on map design, as I find too many tutorials go on tangents about how to design a model or how to code.  Plus I hope working with your map editor will give me an idea how to work on the code latter. 

how did you get the game's source?


I think I got it off of github as I have DSL.  Does the source often get updated and are their git commands I should use to remain abreast of project development?  And no I believe I complied directly from the Linux version of the source, though on my XP machine I could run UFO AI off the bat.  Haven't tried running the Windows binary in Wine.

Offline DarkRain

  • Project Coder
  • Captain
  • ***
  • Posts: 747
    • View Profile
Re: How to dive into the source code on Linux.
« Reply #3 on: March 18, 2015, 06:36:20 pm »
Well I would really like to make a visibility system, but it seems more of a coding and display problem that is much more challenging.  Right now I'm trying to work on map design, as I find too many tutorials go on tangents about how to design a model or how to code.  Plus I hope working with your map editor will give me an idea how to work on the code latter. 

Well that might be indeed a more complex task than you want for diving into the source...

Quote
I think I got it off of github as I have DSL.  Does the source often get updated and are their git commands I should use to remain abreast of project development?  And no I believe I complied directly from the Linux version of the source, though on my XP machine I could run UFO AI off the bat.  Haven't tried running the Windows binary in Wine.
Yes the source is updated constantly (github only mirrors the development version after all) most of the time you should use the following git command to update to the latest source version: git pull --rebase