• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
November 28, 2020, 06:54:16 am

News:

Use of ePSXe before 2.0 is highly discouraged. Mednafen/RetroArch is recommended for playing/testing, pSX is recommended for debugging.


Programmer Here - Where can I help?

Started by CoderBrandon, April 22, 2012, 04:36:25 pm

CoderBrandon

Just found out about this project and I'm really excited and impressed by the quality of it so far. I'm a programmer and would love to help out wherever I can. I'm not a python export, but I've worked in a few other languages, mostly web development related - C#, AS3, Javascript, PHP.

I was able to DL the github code and get the server and 2 clients running and able to play a short game. I also played around with the code a bit (had to fix an issue where the config.prc was trying to pull from the panda3d folder which I assume is because I'm on windows).

So let's coordinate - where can I help? what's the next items on the todo list?

Kokojo

I keep leaving, I keep coming back. Boomerang boy.

Kivutar

LOL.

Hi CoderBrandon. Welcome and thanks for your help proposal.
We have a long todo list, wich is still in our head (yeah, I'm not a good project leader xD).
Well.. it depends on your skills and what you like in game development. Please tell me more of that you know and like.

For example:
- Have you played FFT?
- Do you know FFT internals?
- Do you know ASM?
- Do you know 3D?
- Do you know design patterns?
- Are you an artist?
- When you read tethical code, do you understand it?
- Are you interested more in building the engine to create custom games or to emulate fft closely?
- etc

Here are the parts of tethical, and who participated to the code:
- Game Client (me & lirmont)
- Game Server (me)
- The database (lirmont)
- The Control panel (lirmont)
- Migration scripts (me, lirmont, and the ffh guys)

State of the project:
I almost stopped to code for 7 monthes, the client, the server and the migration script have not changed since this time. Lirmont developped the database and the control panel during this period. The server and the database are not yet linked, this is the next big step, and it is hard to do (well).
Pretty much everything is unfinished.

Please read the code and tell us more about you. You can also meet me on IRC.
Tethical, an online FFT clone

CoderBrandon

> Have you played FFT?

Yep - I own the PSX and PSP versions and have beat them multiple times (and FFTA and FFTA2 at least once each). I also have played a lot of other tactical SRPGs - everything from Tactics Ogre to Makai Kingdom

> Do you know FFT internals?

I understand most of the advanced topics and formulas/algorithms but I'm sure there is a lot I don't know.

> Do you know ASM?

I know what it is and how it works but haven't messed with it much

> Do you know 3D?

Only enough to open blender and hamfist my way through it using youtube tutorials

> Do you know design patterns?

I've used a bunch: OO, MVC, Event Driven (async), Factories and some others.

> Are you an artist?

Yes and no. I can do art but I don't usually like it. I'd rather code and edit the occasional art asset as needed. I do like to do UI design, though and have done a good bit of web related UI design.

> When you read tethical code, do you understand it?

For the most part - there was a bit of a learning curve because I don't know the python syntax too well. Once I found the panda3d API docs and did a few python quickstart tutorials it started making a lot more sense.

> Are you interested more in building the engine to create custom games or to emulate fft closely?

I don't think those are mutually exclusive. I'd like to help build an engine to make custom games and the demo game happens to be similar to FFT.

---

More about me: I'm a senior level web developer in my full time job and I do game development as a hobbyist. My portfolio site is here: http://coderbrandon.com . Most of my game related stuff has been in Flash/AS3 using Flixel. I've done some multiplayer work before using Player.IO in C# and AS3.

Where can I find the database and control panel stuff? I can start seeing what's needed to link them together. I've done a fair bit of database and form work in the past.

We should probably start an internal todo list and/or milestone planning just so we can all be on the same page. I'm not sure if it's still free, but I used http://lighthouseapp.com/ in the past and it was pretty good.

CoderBrandon

Update: Found the control panel topic and have DL'ed everything and I'm now attempting to get it to work.

Kivutar

Ok very good. Your profile is great and I liked your portfolio too.

I totally agree for the TODO list. I registered tethical at http://lighthouseapp.com/ but it is not free if we have more than 2 members in the team. Few monthes ago, we used to put our bug reports and feature requests on github https://github.com/Kivutar/tethical/issues?direction=desc&sort=created&state=open . It's a pretty minimal UI to manage bugs. What do you think of it? and you @lirmont? and @Lijj if you read this topic?
Tethical, an online FFT clone

lirmont

I agree that issues should be tracked (re: a more complete TODO list should be made at this point among contributing members), but I don't think the amount of people working on the project or the project's service requirements result in a need for anything more dedicated than what's on github. However, I wish that the forum could have some integration with it (even if it's just a manual copy in a sticky thread). Considering that this is where Tethical's development discussions are, I think it would cut down on people misunderstanding the current status of the project. What I mean is, I see people log into IRC and ask how to "play Tethical" (but then get disappointed that, lo and behold, it's a development build and not a game that's being released). People working on the project could be made moderators of this sub-forum to do that manual copying (to keep the first post in such a thread up-to-date).

In contrast, if you ever want to provide support for Tethical's engine or there are more than a handful of dedicated programmers, then I think you'd want an issue tracker.

Kivutar

It's ok for now to have what github provide just for us, developers. The project is too young for us to provide serious support, nobody uses it except us.
I start filling the github tracker with few tokens.
I ask ET on IRC to make both of you moderator on the forum.
Tethical, an online FFT clone

CoderBrandon

Github is good for issue tracking at the moment I think. It doesn't have all the bells and whistles that you get with some others, but who cares about all that fluff.

I was able to get lirmont's control panel downloaded and running with only a few hiccups which he helped me through in IRC. The one problem remaining is that the 3d maps are not loading their textures but that's fine for now for what I need to do I think.

I'll start looking over the issues on github and pick one to work on :-)

Kivutar

Tethical, an online FFT clone

CoderBrandon

Sorry - I had some work overtime come in and devour all my free time - starting to settle down now.

I've mostly worked with SVN, but I've used git a little bit. There are a few things I haven't quite figured out or that work differently than I'm used to. I saw that I now have access to the github repo so I'll attempt to check some stuff in soon - Let me know if I break anything :-)

My next steps I think are learning a little more about python and the best way to structure our files so that we can keep shared code between the client and server in one place and also the most efficient way to start breaking the client main.py into separate logical files.

After that I'm going to figure out what needs to happen to plug lirmont's control panel stuff into the game.

Kivutar

QuoteI've mostly worked with SVN, but I've used git a little bit. There are a few things I haven't quite figured out or that work differently than I'm used to. I saw that I now have access to the github repo so I'll attempt to check some stuff in soon - Let me know if I break anything :-)

The best ressource to learn git: http://progit.org/book/
The main difference with SVN is that git is decentralized. When you clone a repository, you get all the history and not only the code. This allows you to commit/checkout on your local repository while not connected to the net, let's say in a train trip. Then when you get an internet connection you can push all your commits to the remote repository. git has branches. you can create as many local branches or remote branches, they keep a group of commit away from the rest. Many people use them for feature development. They create a local branch for the new feature they want to develop, commit, commit, commit, finally push them on a new remote branch, and ask the maintainer to merge this new branch to the main branch (called master). However with github people prefer to fork the entire repository in their personal account and ask for the merge using github web interface. We have to choose one of these workflow and stick to it.

QuoteMy next steps I think are learning a little more about python and the best way to structure our files so that we can keep shared code between the client and server in one place and also the most efficient way to start breaking the client main.py into separate logical files.

Very good choice to start contributing!

Thanks a lot.
Tethical, an online FFT clone