Hello, New coder possibility.

Hello, New coder possibility.

Postby Akando » 30 Jun 2011, 06:27

I am currently going to school to get my AA in CS, and then go on to USF for my BS. I would like to help out with this game for the following reasons:

1)I've wanted to play a good game about dungeons since I was a wee little nintendo player.
2)It would help me to learn about coding better, and get a headstart on my classmates.
3)I think the idea of opensource games is a great thing.

I have been playing with C++ and OpenGL for over a year, and I have been trying to use crystalspace (I assume is the main engine seeing as you have a cmake in the files directories) I have not used Ogre as of yet, but have looked at it a couple of times. I think I was able to even get it to compile properly one time. If you guys could point me in the direction of how to download the source code so I could start looking it over and trying to help out. I'd love to give it a shot, and I've been using blender for a year or so as well. As well, I have done Graphic Art since High School as well.

Thank you for the assitance.
Akando
 
Posts: 8
Joined: 30 Jun 2011, 06:21

Re: Hello, New coder possibility.

Postby charlie » 30 Jun 2011, 11:57

Hi Akando.

OpenDungeons does not use Crystal Space. It uses Ogre3D, which is a (and more widely used) 3D graphics engine - so perhaps does a little bit less than CS (which is a 3D game engine) but this allows more flexibility with the game architecture.

Cmake is a build tool. Maybe CS uses cmake, but so do many thousands of open source projects.

Ogre3D: www.ogre3d.org
Cmake: www.cmake.org

Building OpenDungeons from source:
http://opendungeons.sourceforge.net/ind ... rom_source

Further developer documentation (i.e. design) for OpenDungeons:
http://opendungeons.sourceforge.net/ind ... umentation
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2131
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Hello, New coder possibility.

Postby oln » 30 Jun 2011, 13:40

Awesome! We really do need more programmers.
The developer doc site is slightly outdated, as we now have a menu, where the game can be started directly.
Also, the "if(serverSocket != NULL || clientSocket != NULL)" code is being phased out, for a class containing the game state instead.

Building should be simple if you follow the steps on the building from source page charlie linked to. If you have any issues, feel free to ask.
There are several areas needing improvement, you can work on any area you want if you have any wishes. Otherwise, I can give some suggestions:
  • Work on the AI framework stuff (basically an interface for an AI to interact with the game.)
  • Implement sound effects more places
  • Storage of config/screenshots etc. in home folder. (Not sure if this is finished or not.)
  • Implement missing network functionality.
  • Refactoring (Might be a bit boring, but it is a nice way to learn the code base.) This involves:
    • Reducing the usage of public variables, and use getters/setters instead
    • Reduce the usage of global variables. (E.g see globals.h) and send them as parameters or something instead.
    • Make the game use the GameState class rather than checking sockets to determine if the player is a client or server.
    • Split up some of the really large functions (e.g in creature.cpp.)
    • Probably much more.
  • You can also look at the improving the use of Ogre materials, lights and shaders

There is a more comprehensive list here:http://sourceforge.net/apps/trac/opendungeons/report/1

If you are interested, I can set you up with git access so you can commit changes as well.
User avatar
oln
 
Posts: 1020
Joined: 26 Oct 2010, 22:16
Location: Norway

Re: Hello, New coder possibility.

Postby Akando » 30 Jun 2011, 17:36

Ok, working on building it now. Let me look over the code for a few days and start writing down my ideas. I work better when I print out some code and look it over and add it instead of typing it into the computer. When I have a couple of improvements I'll bug you about the access to the source after that. Thanks for the great starting points.
Akando
 
Posts: 8
Joined: 30 Jun 2011, 06:21

Re: Hello, New coder possibility.

Postby oln » 30 Jun 2011, 17:44

Sounds good :)
User avatar
oln
 
Posts: 1020
Joined: 26 Oct 2010, 22:16
Location: Norway

Re: Hello, New coder possibility.

Postby Akando » 30 Jun 2011, 17:46

Running into one problem, when I try to do the git command in cygwin or command prompt it says it is not valid.
Akando
 
Posts: 8
Joined: 30 Jun 2011, 06:21

Re: Hello, New coder possibility.

Postby StefanP.MUC » 30 Jun 2011, 19:10

Welcome. :)

Some of my work isn't not really finished, but the basic frameworks exists. So I can extend the todo list that oln started:

  • As an easy starting task you could try to clean up some code (like oln said: removing globals, splitting large functions, or to understand the code: ordering of independent if->return combinations to speed up some code parts, create new classes of stuff that "lies about", e.g.), that's how I started and is probably the best way to get into a project
  • I implemeted a GUI class (GUI.h/cpp) and a Translation class (Translation.h/cpp) that is a wrapper around tinygettext (gettext alternative). They basically work (tested it), but they are still not used to do the translation. This maybe, maybe not needs some looking into CEGUI (our GUI framwork), depending on how deep you would hack into it.
  • I did some tests on a Minimap (MiniMap.h/cpp). Currently svenskmand is working out coloring and layout for it, but the generating code is still missing completly (so, no problem if you do a complete restart of the MiniMap project). Basically this would be something like a function that iterates over all Tiles (Tile.h/cpp) of the Map (GameMap.h/cpp) and evaluate/interpret/plot their states. But you could also try some other fancy stuff if you have good ideas.
  • click your way through the several TODO comments in the code, they maybe contain some tasks that could be a good way to start, there are some really old ones that could need attention
StefanP.MUC
 

Re: Hello, New coder possibility.

Postby Skorpio » 30 Jun 2011, 19:41

Hey, welcome aboard! :)
User avatar
Skorpio
OD Moderator
 
Posts: 775
Joined: 05 Dec 2009, 18:28

Re: Hello, New coder possibility.

Postby svenskmand » 30 Jun 2011, 20:47

Firstly welcome :D Secondly I have some remarks to oln and Stefans suggestions:
oln {l Wrote}:
  • Implement sound effects more places

To make the sound effects work properly with the game (be in sync and at the right volume) we would need a editor (in the map editor) that can playback mesh/model animations and then the user can specify which frames where sounds should start, and at which volume. Right now we have some sound effects, but they are all pretty much out of sync or have a unnoticeable volume, that would be a very needed tool for doing proper sound work. Also you will be working both with graphics and sound at the same time, but it will probably also be challenging for at starting job.
oln {l Wrote}:
  • Refactoring ...

I would not recommend this as refactoring requires intimate knowledge about the code-base, it would be better to get to know the code base first, else you might end up doing refactoring that would go against the current ideas in the code base. I would suggest implementing something new and pretty small, as a start.
oln {l Wrote}:
  • Storage of config/screenshots etc. in home folder. (Not sure if this is finished or not.)

There should not be much to do code-wise here. It is the installers responsibility to tell the game where to store this stuff, so the game should just read a path out of a config file and then read and write stuff to that path. I will let you know when I get this working in the windows installer. For linux we need a guy who knows how to make deb-packages, both in general and for this task.
StefanP.MUC {l Wrote}:
  • I implemeted a GUI class (GUI.h/cpp) and a Translation class (Translation.h/cpp) that is a wrapper around tinygettext (gettext alternative). They basically work (tested it), but they are still not used to do the translation. This maybe, maybe not needs some looking into CEGUI (our GUI framwork), depending on how deep you would hack into it.

The translation should be the right startup job. It is pretty new in the code base, and should be pretty simple to do, unless CEGUI will cause trouble. So starting here would be the best in my opinion.
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Hello, New coder possibility.

Postby charlie » 30 Jun 2011, 21:53

Akando {l Wrote}:Running into one problem, when I try to do the git command in cygwin or command prompt it says it is not valid.

Google is your friend:
http://www.google.co.uk/search?q=git+cygwin

However, I don't know if you will be able to compile OpenDungeons using cygwin.

There are Windows build instructions:
http://opendungeons.sourceforge.net/ind ... ad#Windows

(Did you not look for those? You don't seem to be finding the elementary documentation, which is a bit concerning.)
Free Gamer - it's the dogz
Vexi - web UI platform
User avatar
charlie
Global Moderator
 
Posts: 2131
Joined: 02 Dec 2009, 11:56
Location: Manchester, UK

Re: Hello, New coder possibility.

Postby oln » 30 Jun 2011, 22:02

We sorted it over irc. The link to the git download was a bit outdated and seemed to point at the wrong site.
User avatar
oln
 
Posts: 1020
Joined: 26 Oct 2010, 22:16
Location: Norway

Re: Hello, New coder possibility.

Postby Akando » 01 Jul 2011, 06:03

I figured it all out, and am looking over ever thing now. I was downloading the wrong thing from the git site, and that is what kept giving me problems.

Oln has been helping quite a bit to make sure I get going as fast as possible :)
Akando
 
Posts: 8
Joined: 30 Jun 2011, 06:21

Re: Hello, New coder possibility.

Postby StefanP.MUC » 01 Jul 2011, 10:40

In case you didn't know already:
Our Code Guidlines :)
StefanP.MUC
 

Re: Hello, New coder possibility.

Postby Akando » 02 Jul 2011, 17:44

I am running into a bit of a snag that no one seems to be able to fix.
I got ogre built, but when I try to build CEGUI it either asks me specify a debug executable, or tells me it can not find the lua.h file. I linked it directly to the file, and still gives same error.
I asked the ogre3d people and the CEGUI people and neither of them know where I get a CGEUIOGRE_LIBRARY from. Without this I am unable to get cmake to finish running through.

Any imput would be appreciated.
Akando
 
Posts: 8
Joined: 30 Jun 2011, 06:21

Re: Hello, New coder possibility.

Postby StefanP.MUC » 02 Jul 2011, 18:17

You don't have to build Ogre and CEGUI yourself. You need the pre-built SDKs from their websites.
StefanP.MUC
 

Re: Hello, New coder possibility.

Postby Akando » 02 Jul 2011, 19:24

When I google CEGUi it takes me to a CEGUI wiki, I dled the latest verison which is 0.7.5. I do all the project, premakes things and it still is not working. Other then the premake I have a bunch of source, lib, and include files.
CMAKE still tells me I need a CEGUIOGRE_LIBRARY that I can not find in either OGRE3d or CEGUI.
Akando
 
Posts: 8
Joined: 30 Jun 2011, 06:21

Re: Hello, New coder possibility.

Postby StefanP.MUC » 02 Jul 2011, 20:12

This is what you need:
CEGUI/lib/libCEGUIOgreRenderer.a
StefanP.MUC
 

Re: Hello, New coder possibility.

Postby Akando » 03 Jul 2011, 06:26

I have finnaly beat the beast that they call CEGUI. I went through all the stuff with CMAKE and it cleared the configure, and let me generate. Now I have ALL_BUILD, INSTALL, OpenDungeons, and ZERO_CHECK Vc++ projects. Missing anything?
Akando
 
Posts: 8
Joined: 30 Jun 2011, 06:21

Re: Hello, New coder possibility.

Postby oln » 03 Jul 2011, 21:58

That sounds right.
(Also, for info, I am on holiday at the moment, so I'm not really able to work on the code. I do check the forums though. Will be back, at latest, the start of august.
User avatar
oln
 
Posts: 1020
Joined: 26 Oct 2010, 22:16
Location: Norway

Re: Hello, New coder possibility.

Postby svenskmand » 04 Jul 2011, 00:40

Have a nice vacation :)
Jamendo.com - The best music store on the net, uses CC licenses.
User avatar
svenskmand
OD Moderator
 
Posts: 1850
Joined: 09 Dec 2009, 00:07
Location: Denmark

Re: Hello, New coder possibility.

Postby Akando » 04 Jul 2011, 06:52

Have fun with the Vac.
Akando
 
Posts: 8
Joined: 30 Jun 2011, 06:21

Re: Hello, New coder possibility.

Postby MyEmail » 06 Aug 2011, 02:59

New programmer test: Using modular arithmetic, write a C program to calculate the result of the following problem without using subtraction operators:
{l Code}: {l Select All Code}
y = (x - 192) + (x - 417)

Where "x" is 587. Bonus points for bit-operator optimizations!

Just kidding. That is one of the questions I use to recruit new developers, but I don't run this project so your in luck :). Just for fun, here is a solution:
{l Code}: {l Select All Code}
x = 587
y = ((x + 0xff40) & 0xffff) + ((x + 0xFE5F) & 0xffff)
MyEmail
 
Posts: 107
Joined: 06 Jul 2011, 08:58

Re: Hello, New coder possibility.

Postby metalhead#1 » 18 Aug 2011, 17:37

i am intreasted in cosing this game i know c\c++ can i code for this game
metalhead#1
 
Posts: 2
Joined: 17 Aug 2011, 14:14

Re: Hello, New coder possibility.

Postby StefanP.MUC » 18 Aug 2011, 18:00

Yes, of course. :D

Checkout our git repository and have a look at the README file, it contains a good starting point (including links to relevant wiki pages about compiling and a coding guide).

The source code contains some TODOs. If you have your own ideas or wishes about features and coding tasks, feel free to suggest them here on the forums.
StefanP.MUC
 

Who is online

Users browsing this forum: No registered users and 0 guests