I thought about asking on the IRC channel but a) that scares me and b) I thought there may be others in my position who are scanning the forums.
I want to help the development team of scummvm, but have little programming experience. Ironically, I help undergraduate students learn programming, but my knowledge is pretty much limited to fairly basic c (I can just about figure out what the compress_*.c are up to, for example, but when I tried looking at the c++ code for one of the engines, my head nearly popped off ). I have a pretty good knoweldge of bash scripting, perl.
Is there anything that less experienced programmers can do to aid development?
I want to help!
Moderator: ScummVM Team
- spookypeanut
- ScummVM Developer
- Posts: 159
- Joined: Tue Sep 12, 2006 9:35 am
- Location: St Albans, UK
- Contact:
- Vinterstum
- ScummVM Developer
- Posts: 580
- Joined: Sun Oct 16, 2005 6:59 am
Re: I want to help!
same with me. according to the devs objectifying engines should be straightforward, but I failed miserably at trying that :]spookypeanut wrote:but when I tried looking at the c++ code for one of the engines, my head nearly popped off ). I have a pretty good knoweldge of bash scripting, perl.
I guess you could give it a shot, though
Re: I want to help!
I must confess, but ScummVM is more C than C++ due to its nature. Moreover, some engines are plain C wrapped into simple objects. So it's not difficult as it appears. Of course, if you looked at our GUI code or SCUMM engine code, that could really scare you, but there are much, much simpler things in those 400,000+ lines of codespookypeanut wrote:my knowledge is pretty much limited to fairly basic c (I can just about figure out what the compress_*.c are up to, for example, but when I tried looking at the c++ code for one of the engines, my head nearly popped off ). I have a pretty good knowledge of bash scripting, perl.
Of course. ScummVM is a big project. What I can come up with right now:spookypeanut wrote: Is there anything that less experienced programmers can do to aid development?
- AGI engine. It is pure C now, and needs improvements, particularly, bugfixing with use NAGI code as a reference. NAGI is more compatible with games, but it uses GPL-incompatible license. Also as clem said, you may try yourself in objectizing, though, aquadran have done most of the work (uncommitted)
- SAGA engine. However, this involves Reverse Engineering and work with x86 assembler. The work consists of "fixing" engine, so it will let IHNM work (and perhaps other games too)
- Implement MS DOS port.
- Develop GUI code. Say, we have FR for loading savegames from the launcher, also there are couple small FRs open (currently they're assigned to me). Consider GUI TODO
- Implement internationalization of GUI. Now we feature full Latin1 font which could be substituted, say, to Cyrillic fonts by means of GUI themes. So it is really possible to implement "language packs" which could be selectable by our theme selection dialog
- If you're familiar with audio generation, there are TONS of bugs/misses there
- Investigate memory leaks on engine restarts. I.e. that will allow game restarting from the launcher
- implement proper Kanji display in SCUMM engine. There is a demo which uses those, so FM-TOWNS full gmae is not required. There are also koreanization patches for several games.
- Add sound to MM C64
- Bug fix MM NES
- Implement proper walking code for SCUMM V0-V2 games
Eugene
PS. And we're nice there on #scummvm
- eriktorbjorn
- ScummVM Developer
- Posts: 3560
- Joined: Mon Oct 31, 2005 7:39 am
I believe that's what we do now. Fingolfin wrote a lengthy mail about it to the ScummVM mailing list some time ago. (I didn't expect you to know that, of course, but it explains things better than I could.)md5 wrote: Pardon the stupid question, but can't this be taken from the code used in the newer SCUMM games (where it works)? I thought that's part of the game logic, after all
Re: I want to help!
I'm not an experienced programmer myself (I do some work in C++ writing my own games, but ScummVM is way beyond my capacity - I use Allegro, and could never write my own sound or graphics code) but wouldn't the open-source SIDPLAY project be a good partner in this respect?sev wrote: Add sound to MM C64
Re: I want to help!
Excatly. In fact, it is not a requirement to write SID emu from the scratch but there are few issues to keep in mind. First, we would like to avoid additional dependencies, so source of that emu should be included in ScummVM source tree. Second, the code in question has to be GPL-compatible, Then, it should be mature.jamyskis wrote:wouldn't the open-source SIDPLAY project be a good partner in this respect?
Speaking of SIDplay, and particularly libsidplay. It is GPL and mature, good. But the library itself is over 10,500 lines of code. Definitely an overkill. We don't need a full-blown SID emulator.
So as a solution, somebody could take some small(er) SID emu, throw away unneeded code, and put into ScummVM. Just take a look what was done for NES APU (engines/scumm/player_nes.cpp and .h). It is lightweitght, accurate and GPLed. Quietust wrote that code.
Eugene