Wednesday, May 30, 2012

Perforce Fun

It was nice that we had a long Memorial Day weekend but that just means that I have to fill my hours in the remaining four work days. Therefore I've been generally exhausted from long days in the office and the stress for my company's pending E3 announcements. While I'm not high enough on the totem pole to really feel the heat, the tension is high all around. I expect to have little output until the weekend, but I thought it was best to give a little info.

But besides making excuses, I did manage to get around to playing with my own local Perforce Server. It's something I've been meaning to learn to do for a while and it's not as terribly difficult as I once thought it would be. For those who work on projects, especially group projects, a type of version control system is a must for keeping you material backed up as well as readily available to team members. The magic is that I can review changes between files over time and backtrack as necessary in case of bugs or other issues that occur. Perforce also allows you to organize your changes before you save them onto your server and provide all sorts of labels and additional information. While it may sound like overkill, it is really worth learning how to use and is an invaluable tool. Using my personal server will give me a bit more control over the service and still allow outside users access. When/If I get a team going on this, everything will be ready to go full throttle.

Sorry if this post became a bit too tech focused or sounding like an ad pitch, but I felt it was at least valuable to share.

Saturday, May 26, 2012

Progress on Field Screen

The stream ended up a little short. It might be a better idea for me to try and work earlier. As for what I was able to do, I made some headway on the field screen. Fairly simple stuff, as I was quickly noticing how entangled my code is and trying to remember how to set up specific objects I've previously modeled. I've arranged a few windows to provide the interface for viewing the status of the player's fields and what character's are currently working the fields. I'll spend the next effort in actually wiring in the functionality.

 The second thing I'm excited about is trying out my own personal Perforce server. For those interested, Perforce is a version control service that not only backs up your projects, but also provides the ability to backtrack file changes and grants access to multiple users. It's similar to SVN, but it has a few more bells and whistles that I've learned about from my job. I'll be using this along side of my re-factoring efforts in order to build a stronger foundation for the project to stand on.

Thursday, May 24, 2012

Weekend Plans and Potential Saturday Stream

So I was driving home from work today and my car went kaput. The engine belt was damaged and I had to get it towed to my house. Not the greatest or worst thing in the world, but you will see how it matters in a moment.

The current plans for the weekend revolves around building a functional prototype of the farming system. You will be able to grow a few crops to either sell for profit or provide food for your cow girls. I'm still figuring out the specifics of the system, but my aim is to test out at least one type of prototype in order to get player feed back. Depending on how the system turns out I'll see if I can quickly release an update for everyone to toy around with.

While I'm receiving feed back on the farm, I plan to re-factor much of the engine base code. I've been recently reading the "Pragmatic Programmer" and have come to realize that my code is strongly non-orthogonal. For the technically interested, this means that the code is not well modularized or separated. Much of the code has overreaching dependencies that as exemplified in the book, is not unlike the difficulty of flying a helicopter. The goal is to make cleaner, maintainable code that will be easier to expand on as well as debug.

As for my plans for the stream, I'm looking to spend time on Saturday either in the morning or late evening. As I hinted earlier, I'm most likely going to go car shopping this weekend and not sure yet when that will be taking place. I'm hoping by Friday night I can get a time for those interested in joining in.

EDIT: Looks like it will be Saturday evening. I'm going to aim for 8:00PM(Central Time) but I can't guarantee it yet. I'll plop a new post when I start.

Sunday, May 20, 2012

Fixed a few issues

I had a bit less time to work than I thought I would this weekend. Saturday morning was my open time slot and it just so happened the fuse box was being replaced at that time. Oh well, it needed to be done.

Looking over the code, it was much less cringe worthy than I thought it would have been, so I guess that means I'm improving. I was checking on the few bugs that were reported and I added the feature to deplete food as it is eaten. The cow girl can also end up skipping a meal now if you no longer have any food. There are no real demerits set but as expected this will result in a net weight loss. Later on you can expect sickness and maybe even death.

There was also an issue where weight wasn't being applied correctly for the milking task. The idea was that milking would cause minor breast growth over time, but the wrong values were being triggered. I'll be testing these a bit first to better tune the growth.

The issue mentioned about getting cow girl bars stuck on the screen is a bit more obscure for me, so if anyone can provide a test methodology to reproduce the bug would be greatly helpful.

I'm also finding myself struggling to find a good balance in design for implementing the farming interface. I'm still not too happy with the current design for the cow girls' role in farming. I'm thinking around too many ideas on how exactly a cow girl activity will effect crop growth. Would they simple boost its growth rate? Will greater skill mean a faster boost? Is there quality to consider? What does it mean for more than one cow girl to be working the fields?

I thought I had these things figured out but as I checked my notes, it appears I never really settled on it. Not to mention how it would actually display still remains a mystery. If you guys have any ideas I'll certainty listen.

I may try to stream next weekend if I get some decent plans down first. I'll try and give a date and time by Thursday or Friday.

Friday, May 18, 2012

Sorry for the Disappearance! An Excuse and Future Plans




I can only begin with an apology. I can't help but feel that I've taken the mantel of an abusive parent that will give his child abandonment issues. While words can only convey so much, I'll first at least give some form of explanation.

The last few months have been difficult to say the least. Being out of school for over 5 months and not having any form of work/income was getting a little too much for me. Working on this project helped keep my morale up but this last month I was panicking. With some pretty poor timing I had originally decided to get artist on board and raise funds to do so. After the first week or so with little success with getting people on board I couldn't face my combined predicaments and tossed all my efforts into getting work and coping with my personal onslaught of mental despair.

Luckily, just recently one of my contacts finally pulled through and I was just able to get a full time position at a game developer company. This has pretty much been a dream come true for me and has been a major boost to my morale and provided a much needed structure to my previously unemployed time.

While this does mean I have physically less time to actively work on this project, I now have that drive to work again. I'm looking towards using my weekends to spend time on coding CGF with the weekdays doing some minor planing. The work I did between the last build and now isn't substantial enough to warrant an update yet, but I'll at least give a progress update this weekend. I imagine most of my time will be used reacquainting myself with the code base but I'll see what I can do.

I must especially apologize to those that have been kind enough to donate towards this project. I've gone and updated the donation tracker here and I'll make an effort to date my tracker updates. The funds I have collected have not been touched, as they were originally intended for hiring artist help, but I'll need to either find help soon or strategize another proper use of these funds. It was asked in a message so I'll mention it here; I will not share any of your identification or personal information that I receive from the donation. It's only a common courtesy.

Thanks for sticking around.

Also, I wont bother deleting any of the criticism I've received because some times people need to say what's true. It should serve as a nice reminder.