Hello, we apologize but forum registrations are non-functional at this time. This issue should be fixed around mid-December. Until then, please stop by our Discord channel if you'd like to get in touch with the team. Thanks!

Programmer Roll Call

For discussion of the code running behind the game

Moderator: Staff

rujasu
Developer
Posts: 758
Joined: Sat Feb 24, 2007 10:40 pm
Location: Maryland, USA

Re: Programmer Roll Call

Post by rujasu » Tue Jun 17, 2008 10:30 pm

Yeah, I strongly support the second idea. I think we need to stop looking at the engine as "incomplete" as it's clearly good enough to make a complete game out of. We can improve it as needed, but don't worry about it being "complete" or "incomplete" whatsoever. If it does what we need it to do to finish the game, then it's good enough. Yes, some things will need to be added, but they can be added as needed. And things like battle animations can be put in as we get the content for them (looks at Jetryl) and as we get programmers who want to work on that... but nothing really depends on the audio/visual features.

Once we get the context support done, and the editor released, I'd like for us to put some serious focus into creating the game demo. But let's not get ahead of ourselves too much yet...
User avatar
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:

Re: Programmer Roll Call

Post by Roots » Mon Sep 15, 2008 4:44 pm

Now that I've "officially" made my come back and we are about to put this next release out the door, I've been thinking about what my priorities should be for tackling some features for our next release based on what we have up here: http://allacrost.sourceforge.net/wiki/i ... _Checklist . Here's what I think I'll be working on post-release

(A) Finish my clean-up of the map mode code, then work on updating the management of map dialogues.

(B) Implement environmental sound support to maps.

(C) Fix all known issues in the video engine GUI code and make whatever API changes are needed there so that the GUI interface API is "final" and does not need any more changes in the future.

-----

I don't want us to forget the ideas I proposed we try out:

Idea #1: Focus team efforts on more narrow areas and allow more overlap between programmers

Idea #2: screw the engine, lets focus on getting the game done

-----

So I'll apply those ideas to my three tasks here:

(A) I think it would be good if I could pull gorzuate in to work with me on the map dialogue issue. It's something that will effect the map file format and of course he and I will need to come to a decision on that. Plus dialogues will eventually need to be supported in the editor so its good exposure for him. Also I wouldn't be surprised if he was a little sick of the editor and wanting to explore something different. :)

(B) I've already taken steps to get ElonNarai to work on this. I sent him an e-mail last week about it and assigned a bug tracker task to him with (what I think is) a solid plan for the implementation. It requires audio engine support to get this fully implemented, so I thought he could do the map mode code part and I could do the work in the audio engine.

(C) I don't think we have any OpenGL-savvy graphics programmers around here. Maybe we could try to hire someone with a graphics background and one of their first jobs would be to work with me on this. Its a good low-level entry task and they could leverage me to learn about the video engine design (since I rewrote most of it last year). Also they would compensate for my lack of graphics knowledge and I would compensate for their lack of experience with this particular engine.

The reason I'm suggesting to do this video engine work now, despite my idea #2 proposal, is because we have a lot of menus in every game mode except for pause. If any of the changes we make in the GUI code trickle down and require tweaks to the underlying menu code (I'm half-betting it will), then we need to get it sorted out ASAP. Otherwise we would be creating more work for ourselves later if we get all the menu code right, then change the GUI code and have to tweak it so that its all correct again.
Image
User avatar
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:

Re: Programmer Roll Call

Post by Roots » Tue Sep 16, 2008 4:40 pm

If we go ahead and do idea #1 (focus on smaller areas of code), I think that we should be figuring out right now what those areas should be so we can get right into it following the demo release. We don't need to be simultaneously working on development across every game mode and every engine anymore if we go through with this plan.


I think we should focus on perfecting one game mode at a time. That means we implement every single feature for a game mode before we move on to the next. The game mode might still have some bugs or other tweaking still required, but it should really be 95% done and ready to go for the next release.

Of course there's also the engine, the editor, and the global code and not just the game modes. So as we go along working with each game mode, I propose we also choose the appropriate tasks in these code areas that are required for the current game mode we are working on and also any prerequisite work that we may need for the next game mode we're to work on.


Okay, let me give you an example. In fact, this is what I propose we should do. First, lets work together on MapMode. It's already been cleaned up significantly so it shouldn't be too messy to work with. I don't have access to the feature list because the wiki is down, but this is just an example anyway. All sub-bullets (-----) that follow below a main bullet (-) are "supplemental work" outside the map code to support the feature.

- Roots: fix visual bugs in map mode display

- rujasu: Improve path finding and general AI of NPCs

- ElonNarai: implement walking sounds and other sounds on maps
----- Roots: add necessary distance attenuation and other support to audio engine

- WinterKnight: add save points and a save menu into maps
----- rujasu: add support for multiple save game files in the global code

Roots: make changes to dialogue management and display system

Roots: update map file format
----- gorzuate: work with Roots on new file format definition and make changes to map editor to accommodate them

- WinterKnight: incorporate code for lighting and other visual effects into maps
----- ElonNarai: implement necessary graphics support for effects in video engine

- rujasu: make all map text translatable
----- MooShi Cow: finish gettext and internationalization support in system engine




Again this is just an example, but hopefully you see what I'm getting at. We'll be able to work more closely together to achieve a common objective. And with this many people working on map mode every day we'll get that sucker nailed a heck of a lot faster than we would if I did everything alone.

Maybe before we begin our work on every game mode as we go along here, all the programmers can get together on IRC for a quick meeting and the "resident expert" of the code (the person who knows it best) can give us all a quick overview of how the code is structured, how it works, and the important things that need to be understood about it. That would get everyone ramped up on the code a lot quicker I would think.


What do you guys think about this plan? I actually really like it and look forward to trying it out if we decide to do so. And if we do this for one game mode and its too difficult/frustrating working in this fashion, there's no reason we have to continue to do so. We'll keep trying different ways of organization and collaboration until we find something that works great. Post your thoughts. :angel:
Image
User avatar
gorzuate
Developer
Posts: 2575
Joined: Wed Jun 16, 2004 9:03 pm
Location: Hermosa Beach, CA
Contact:

Re: Programmer Roll Call

Post by gorzuate » Wed Sep 17, 2008 12:34 am

My thoughts: cool :approve:
Image
User avatar
ElonNarai
Developer
Posts: 207
Joined: Sat Apr 19, 2008 8:43 am
Location: Netherlands
Contact:

Re: Programmer Roll Call

Post by ElonNarai » Thu Sep 18, 2008 3:50 am

Hmm... Seems doable. However some parts should be more specefic. "Fixing visual bugs in map mode display" is a bit too general for my taste.

I do have one other question: For lighting we are not using OpenGL lights? Afterall the game is 2D and the kind of lighting we want is different than what OpenGL can provide. Light is often used to make 3D models look more 3D, since our game is flat (2D) we will be more working in the realm of special effects. Simulating light coming through windows (like in a church) would look nicer and cooler in my opinion.
Documenter and coder
Image
User avatar
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:

Re: Programmer Roll Call

Post by Roots » Mon Sep 22, 2008 11:36 am

We'll get into specifics when we need to. For now I'd just like for everyone to get a general sense of what we are all going to do. As for the lighting question, I don't really know. I'm not a graphics guy. In the engine I think we have a combination of 2D and 3D lighting setup. If you really want to discuss this though, I suggest we take it to a more appropriate thread instead of diluting this one.
Image
User avatar
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:

Re: Programmer Roll Call

Post by Roots » Mon Sep 22, 2008 10:51 pm

Since rujasu is on downtime this week I'll go ahead and take over as programming lead until he returns. I want to get the ball rolling by discussing the first few steps I think we should take.


First, no one seems to be opposed to the idea of working tightly together on specific parts of the code and then moving forward. So, lets give it a shot. We'll do it for one game mode first and after that's completed, evaluate how well things seemed to go and if we should continue with this development method. One thing I'm still uncertain about is what do we do with our contributing programmers. We can't really assign them to anything of high-importance, because who knows if they'll follow up on it or not (or complete it in a reasonable amount of time). Maybe we should just assign them to miscellaneous tasks and let them know that if they do a good job, they can start working with the pros (us :angel:) on the real important stuff. ;)


Second, we need to decide how many new programmers we are looking to bring on to the team. To do this, we first have to figure out how many programmers are active on the team, and whether they are staff or contributor level. We will know that information within the next two weeks or so. Once we do, we should all discuss here what resources we have and what resources we need. If we're really crazy, we might even want to hire enough programmers to split into two teams and have each team working on different game modes simultaneously.


Third, we need to decide what modes we should work on in what order. Some are going to be more difficult than others. In fact rujasu and I had a discussion on IRC a few days ago about how very tough battle mode is going to be, because its going to need a ton of new features and capability for this next release. For that reason, I think we should do it last so that we don't get bogged down early continuing to work on the same code for a long period of time. Plus I'm not sure how "clean" the battle code looks right now. Basically, I want us to start off with something that we can ease ourselves into without too much frustration and then gradually build up our confidence and knowledge of how this game works. Having said that, here's the order I propose we follow and the degree of difficulty of each mode.
  1. MapMode (medium)
  2. BootMode (easy)
  3. ShopMode (easy)
  4. MenuMode (easy)
  5. BattleMode (hard)
The reason I propose map mode to go first is that it has recently had a lot of cleaning work done and right now its very fresh in my head. I'm the only active person on this team with a lot of experience in map mode (I wrote most of it). I also don't think the features we need to add to map mode are too complicated. We already have a great code base here that is very flexible and easy to extend.


Fourth, we need to decide what features absolutely must be available in the demo, what features we would like to have (but can live without), and what features are completely off the table. For brevity, lets refer to these as green, yellow, and red features respectively. This is a discussion that should really involve the entire team (and hence we'll hold it either on the general forums or in an IRC meeting), but we are really the ones who have enough knowledge to decide whether something is feasible to do or not.



So how does that sound to you all? Post your thoughts, disagreements, or whatever on this tentative plan.
Image
rujasu
Developer
Posts: 758
Joined: Sat Feb 24, 2007 10:40 pm
Location: Maryland, USA

Re: Programmer Roll Call

Post by rujasu » Mon Sep 22, 2008 11:15 pm

I can't go into too much detail at the moment, but just a quick thought here... what are the crucial tasks for Boot/Menu/Shop modes? Menu and Shop mode do have some interface issues, but they're basically on the order of "wishlist" AFAIK, and it would probably be best to assign new hires to those tasks in the hope that they get done. If they don't, we can get them cleaned up very quickly before releasing the demo. As for BootMode, are there even any seriously desired features in the queue for that? Well, unless you count saving/loading multiple files, which one of us could probably set up in a day or two.

Actually, how about this... if there's anything for Shop/Menu modes to do, list all of them and I'll take personal responsibility for them. (Meaning, I'll try and knock all of it out this weekend.) I'm familiar with that area of the code, and I'd prefer to just take care of what needs to be dealt with there, rather than worrying about someone else trying to learn the workings of the code just so they can complete a small feature/bugfix. If there's a major task in one of those areas, we'll deal with that when it comes about.
User avatar
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:

Re: Programmer Roll Call

Post by Roots » Mon Sep 22, 2008 11:29 pm

http://allacrost.sourceforge.net/wiki/i ... _Checklist

Basically, boot mode, menu mode, and shop mode need to be 100% complete. That means, we should probably never have to work on them again. It should be exactly as it is in the final game. If you think you can get that all knocked out in a weekend, well I'll give you my dictator throne. :bow:


Seriously though, one big feature we need is equipment comparisons (+/- values for current vs. prospective equipment). Another thing we need is to view detailed stats about weapons and armor. And lets not forget status and elemental effects embedded in them. And boot mode does need multiple save file support, yes, but its not just a matter of presenting the user with a text list of save files. It needs to have a preview modes listing the save location + graphic, play time, save location, sprites of the active party, drunes, etc. All the text needs to be perfectly aligned in all three modes. Shop mode needs to be able to show which characters can equip each selected ware. Etc. etc. this isn't something that can be pumped out in a weekend. These three modes need to be damn near perfect. But if we assign contributors to those modes and focus ourselves on map and battle mode, that might be a good thing.
Image
User avatar
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:

Re: Programmer Roll Call

Post by Roots » Sun Sep 28, 2008 1:34 pm

So, its been an entire week since we made our release and AFAIK, I'm the only one working on code. I know for certain that I'm the only one that has committed anything since then. What gives?
Image
User avatar
gorzuate
Developer
Posts: 2575
Joined: Wed Jun 16, 2004 9:03 pm
Location: Hermosa Beach, CA
Contact:

Re: Programmer Roll Call

Post by gorzuate » Sun Sep 28, 2008 7:12 pm

What gives for me is that I'm still trying to figure out why the editor crashes on my system. :huh: Once I do that I can add a bit of code to editor_main.cpp and not duplicate the resources for the game and the editor. Then I can upload the new OS X package file (which would be based off of rev 1421 I believe). Then I can start doing other things... :eyespin:
Image
rujasu
Developer
Posts: 758
Joined: Sat Feb 24, 2007 10:40 pm
Location: Maryland, USA

Re: Programmer Roll Call

Post by rujasu » Sun Sep 28, 2008 11:12 pm

Roots wrote:So, its been an entire week since we made our release and AFAIK, I'm the only one working on code. I know for certain that I'm the only one that has committed anything since then. What gives?
I'm coming off my downtime right now, and I've started to work on some code regarding multiple save files. Beyond that, I haven't decided what I'll start working on yet.
User avatar
prophile
Senior Member
Posts: 324
Joined: Fri Jan 27, 2006 12:18 pm
Location: Chaldon, Surrey, UK
Contact:

Re: Programmer Roll Call

Post by prophile » Tue Sep 30, 2008 4:40 pm

I am idle, give me things to do.
Alastair Lynn / Resident Whinger / Allacrost
User avatar
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:

Re: Programmer Roll Call

Post by Roots » Tue Sep 30, 2008 5:35 pm

prophile wrote:I am idle, give me things to do.
How about this? I'd really like to have this feature ASAP, even though its not critical for our next release, it will make things a hell of a lot easier when figuring out placement of GUI controls IMO.
http://bugs.allacrost.org/view.php?id=169

This is also something that we'll need to have fairly soon when we begin our collective work on the map code:
http://bugs.allacrost.org/view.php?id=65
Image
Linds
Developer
Posts: 145
Joined: Tue Jan 09, 2007 2:21 am
Location: Sydney, Australia

Re: Programmer Roll Call

Post by Linds » Mon Oct 20, 2008 3:48 am

Sooo... Hey again all... How is everyone?

I'm on the return, and also looking for a little something to do. Any little tidbits I could hack at?
User avatar
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:

Re: Programmer Roll Call

Post by Roots » Mon Oct 20, 2008 9:53 am

Hey Linds. :)

Here's something small. (I also suggested this to prophile in my previous post, but I don't think he's working on it)
http://bugs.allacrost.org/view.php?id=169

Also since you have some graphics background, maybe you'd like to help me with a bug I'm struggling with in the video engine. I'm not familiar with OpenGL which makes it difficult for me to figure out what's wrong here.
http://www.allacrost.org/forum/viewtopi ... 7&start=40

Finally here's our todo list for the next release. Feel free to take any unassigned task listed on here.
http://allacrost.sourceforge.net/wiki/i ... _Checklist
Image
Linds
Developer
Posts: 145
Joined: Tue Jan 09, 2007 2:21 am
Location: Sydney, Australia

Re: Programmer Roll Call

Post by Linds » Fri Oct 24, 2008 2:59 am

Got the textbox support underway now, but wondering about this on the API level: Did you want to enable this on an item by item basis or just turn it all on/off at once with a global switch?

PS - Not sure if anyones seen this yet, but luabind 0.7.1 was released, with lua 5.1 support.
User avatar
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:

Re: Programmer Roll Call

Post by Roots » Fri Oct 24, 2008 9:19 am

Good question. Hmm, I don't know. How about you implement whatever the easiest solution is?


Hadn't heard he news about Luabind. I think we should wait a couple months and then do the upgrade.
Image
User avatar
Roots
Dictator
Posts: 8669
Joined: Wed Jun 16, 2004 12:07 pm
Location: Austin TX
Contact:

Re: Programmer Roll Call

Post by Roots » Sun Oct 26, 2008 8:26 pm

Alright we have three new programmers here now: Winnis, VerMan, and Rippig. Lets find them something to do initially to get them started, and then we'll see where things go from there.

VerMan: You said you wanted to improve your knowledge of graphics programming in your application so I suggest we get you started with something with that goal in mind. :) I'm working on a bug in the graphics engine right now. Take a read through this thread: http://www.allacrost.org/forum/viewtopi ... 652#p25652 We also have an issue with how to get our pixel art to display nicely at a more zoomed-in view of the map, which kind of ties in with this bug. Read more here: http://www.allacrost.org/forum/viewtopi ... =18&t=1742


Winnis/Rippig: It would be nice if we could get you rolling on the map mode code since that's what we're focusing our attention on right now. Do any of the unassigned tasks listed here interest you? http://allacrost.sourceforge.net/wiki/i ... _Checklist You can maybe also take WinterKnight's tasks, because he's been missing for a while now and I have no idea what he's up to.
Image
User avatar
Wiinis
Newbie
Posts: 15
Joined: Tue Oct 21, 2008 10:34 pm
Location: Hawaii

Re: Programmer Roll Call

Post by Wiinis » Mon Oct 27, 2008 4:16 am

I can pick up the improving NPC task under map mode. Don't know if I should post it here to pick up the task or what. And also I can't get an account on the bug tracking site.
Locked