Need an expert programmer or team to make fixes, additions, and adjustments to my website and server. I have attached pictures that correspond with the project discription. Please review it in detail before bidding. Please clear up any questions you may have about this project prior to bidding. The first part of the document is posted below because of file size requirements of GAF.
Need Java code developer, php code developer, server expert, html code expert
This project is very large and complicated. I have had numerous programmers attempt to work on this project but with no success. I am looking for a seasoned programmer or programming team to make fixes and additions to my website code, server code, and java code. I will also need the person hired for this job to document my existing source code so that future programmers can understand the work that has been done. Also all work that you do should be documented and is required to be turned in to me once the project is completed and payment is received.
The concept behind my website is similar to Yahoo games specifically the game spades. Users come to my website register and then can make decks of cards that can be played against other players via a java applet and a p2p like connection. The games they choose to play very from one to the other with different rules for each specific game. For example we have yugioh and World of Warcraft games on the site now. Each of these games are called trading card games or collectible card games. Each of them has different rules on how to play X game.
I hired the first programmer jewel about 2 years ago to develop an applet that would allow users to play trading card games with each other via p2p. Jewel crafted the first version of the applet which was the basis for the next version that was created.
Next I hired Vitaliy to create a java applet out of the base program and incorporate it in an html page so that users could play online without the need to download and load a programmer or patches. Vitaliy did a great job doing this and in the process also created to other applets: A deckbuilder applet (which is used by the users to create decks of cards to be used in the game applet (the game applet is where users play games via a connection). Also he created a game start/chat applet where users can gather to talk with other players and to start up a specific game type. There were lots of bugs and still are lots of bugs that have occurred since me and Vitaliy stopped working together but in general all the applets work good enough to use them.
Neither programmer documented any of the code so I have been told by programmers that the code is sloppy and un-documented. So as part of this project I would like the code cleaned up and documented correctly.
The actual website is partially created with the use of Xoops content management system.
In the past few months I have hired numerous programmers to fix the bugs and other specific issues such as slow play, disconnection problems when users are playing, and lag spikes in game. None of the programmers have been able to fix the issues. I have heard that my server is too slow (btw the server is linux 2GB RAM, 3.1 Ghz processor, 500 Mbs bandwidth). As part of this project I would like the server to be evaluated to see if it is suitable for my website and applets. The applet source code is all done in java and the server side code is done in php.
What else needs to be done:
I am trying to be as specific as possible so that there is no miscommunication on my part.
Currently we are having a lot of weird random bugs on the site and I am not sure what the causes are. I would like the site, server, and applets to be evaluated for security. I don’t want anyone being able to hack in to the site easily. Also I want to make sure the java applets used to connect users to games are secure so that users’ information and computers are safe from malicious persons. I would also like all the passwords for the website admins and server admins changed so that only the person hired for this job and myself knows them. Finally I would like all the code for server and website backed up and given to me so that if I ever need to change servers or shut down either the site or the server I will still have all the code.
All new code created is my property and is not to be distributed to any other persons without my authorization. All code and documentation will be turned over to me at completion of project before payment is fully received. Partial ‘good faith’ payment may be received prior.
I am having issues with the website batch emailer. It doesn’t seem to want to batch email anymore and I would like this fixed.
The programmer hired for this position should get familiar with all the front end java applets and what they do and how to use them. I can walk any programmer through the basics of how to use the site and applets. This is real important as it will give you a better understanding of what problems are occurring and possibly why.
Now I will take you through step by step as if you were a new user coming to my site and problems that occur.
First users register and then log in. They will want to create a deck so they click on the deck manager tab on the left side.
Once they click on that tab the screen above will load (picture 1 in attached file). The default page is the yugioh deck manager page. Next we want to click on the WOW tab as it is the most frequently played game on the website. After clicking on the WOW tab the picture below will load up (picture 2 in attached file).
This deck manager is a java applet that loads. At the top left you can see the name of the deck we are working on. All decks created by users are stored on the server. Underneath of that you will see 3 tabs: Main deck, fusion deck, and side deck. The main deck is where users add cards to the deck that allows users to play them in the game applet. The fusion deck area is where users add a hero card (only for WOW) which is used in the game applet. The side deck area is where users add cards for the side deck to be used in the game. The main deck has to have at least 60 cards in it. The fusion deck hero will only have 1 card, and the side deck will have 10 cards only. To add cards to the side, main or fusion deck you need to click on a card name in the large box on the bottom portion of the deck manager and then click add cards. Any card you click on will display the picture of the card in the left box. After users are finished they click save deck. In the bottom left you can see an import XML deck. This is currently not working and needs to be fixed. There are other 3rd party programs that allow users to make decks. The idea behind the import XML decks is that users can use these other programs then import them to the site. Cards are added to the site by myself in the file managers cardsets file for each game. The images are .jpg and we use .set files for card information. A special program was created to merge the .set files and .jpg files into [url removed, login to view] files. Sometimes the deck manager has bugs when it goes to load an error X box appears and then the cards don’t load and it appears that all the cards in the deck have disappeared. Usually if you close the browser and reenter the site and deck manager it fixes the bug. I would like this bug fixed as well.
After a user creates a deck they will want to play with other users. They need to click on the game tab on the left. After clicking on this tab the game start java applet will load to the default chat room. Underneath of the default chat box there are picture icons. We need to click the WOW (World of Warcraft icon) to get into the game start page for that game (see picture 3).
As you can see in the top right there is a user waiting for someone to join his game. You can see it shows info about what kind of game it is that he has started. All a user has to do is click on his name and click join and then the game applet will load for that user. Once the game applet starts to load it will ask the waiting player if he want to play a game with X player. Also music starts playing on the waiting users computer to inform him that he has someone wanting to play. Once the waiting player accepts the game he will prompted to choose a deck to play as will the connecting user. Then the loading cards box will show up and load the cards for the games.
Below the user waiting box is the players playing box. It shows who is currently in a game. If users get disconnected during a game they can choose to wait for the opponent to reconnect. If this happens the user waiting will show up at the top box again and it will say waiting for reconnect. Below both boxes is the game options to setup a game. There are many different options users can choose from. The WOW game has 3 different game structures users can play. The first is constructed deck (users make a deck in the deck builder then load it to play against another player and his deck). The second is sealed deck. This is where users are given a certain number of cards from different booster sets of cards (a booster set is a set of cards that come out to add new cards to the game, each booster set has a different name and is abbreviated in the game start area). They then make the best 30 minimum card deck they can in 20 minutes then play the other player. Finally there is draft format (which needs to be added) where players sit in pods of 8 players. Each player gets six packs of cards. They each open a pack at the same time and choose a card to put in there deck. They then pass the pack they just opened to the player to the right and choose another card. This continues till all cards are gone. They then open the next pack and this time pass to the left and do the same as before. This alternating continues till all packs of cards are gone alternating passing right then left for each other pack. After decks are constructed with the chosen cards the 8 players will play a small tournament against each other.
Things that need fixing from the previous paragraphs are as follows”
1. The game start applet is buggy and sometimes changes text to different colors by itself.
2. The tournament format tab on the left needs to be added to the game start applet so that it is more front page and not hidden. (a tournament is when a certain number of players play in a sealed, draft or constructed tournament.) The whole tournament function in its current format on the site needs to be changed to make it more useful. I can discuss this more in detail once the programmer is hired.
3. Draft play needs to be added as a choice to the game start area. Also the applets for this will have to be created so it is playable and integrated with my current applets.
4. The sealed game choice is buggy and doesn’t always work correctly. The bugs need to be addressed. Also it doesn’t give the correct rarity of cards and this will have to be fixed so rarity is taken into consideration.
5. The ability to watch other users games needs to be added so that in the users playing area you can choose to join a game in progress to watch as a 3rd party. Also the ability to choose whether or not users can watch your game needs to be added as a choice in the game start area.
6. The sealed deck maker doesn’t allow you to put more than 30 cards in a deck and that needs to be fixed.
7. I would like once a users sets up or joins a game that the game applet opens in a new window.
8. I would like the ability for users to be able to play games against themselves if they want to.
Once a game starts or you join a game the next applet loads see picture 4.
This picture is the game applet and is where most of the problems with the site occur as it is the most used. The big blue area is separated into different parts. Currently in this picture no cards are loaded. The top bar is the opponents area. This is where his deck, fusion, and side deck will load. The bottom area would be my area. The long bars on the top and bottom is the area where users add cards to there hand. The middle large box is where user play cards into. The programmer hired will have to walk through a game to get used to how the applet works and all the features that need to be fixed or adjusted. This is the easiest way to let you know what needs adjusting. The main problems with the game applet are as follows.
1. Users in game are frequently disconnected during the game.
2. Cards don’t always load when the users connect.
3. The applet will tend to lag so it takes forever for it to perform a single action. It may be on the opponents side or the other players side.
4. Certain in game functions stop working.
5. The refresh game doesn’t do anything that I can tell.
6. When typing in certain boxes the chat types in the chat box instead.
7. Sometimes when users are disconnected and reconnect they cant talk or see each other actions.
8. The speed of the applets actions and server communication needs to be sped up.
9. When the game applet loads up it cause the users PC to run up its resources being used to 100 percent. This doesn’t seem right to me and I would like it fixed.
10. I would like some additional minor features added to the applet.
11. Currently if users want to change decks they have to exit the start a new game. I would like the ability for users to stay in game and choose new decks to play with.
12. Card images don’t always load.
13. Sometimes when you reset to a new game it doesn’t load the cards and the play area appears blank.
14. Some users get error messages that they “cannot register user” or “request not accepted” when they attempt to join games.
Finally I have some new banner designs that I would like added to the site. I also have a few changes to the layout that I would like added. The person applying for this job should understand java, php, html, server code, server management. You are being hired as the expert in all functional areas of this website and server. You should know how to add code to the server and site and make modifications to the server as needed. I expect the person hired for this project to be flexible with additions or changes. Also I would prefer a person or company hired for this project to be dedicated to this project and this one only until completion. I appreciate good English communication skills and timely email responses to you from me. Please don’t bid if you do not understand all aspects of this project. Do not bid if you are going to ask for more money than what you are bidding. If alternative payment other than GAF is requested then the programmer is responsible for all the transfer fees to transfer money and will come out of the final commission. I don’t want a programmer that thinks they can fix and add features I want a programmer that KNOWS they can fix the problems. You can register and check out the website at www.onlinetcggames.com.