Wednesday, June 27, 2012

What I've Been Up To

It's been too long since my last post, and its only fair that I share what's going on. This past weekend was jammed pack and I had no time to code. However, I've been baking my plans and strategies in my head these past few days and got some time today to finally pour some out. Wasn't too much work, but it feels good to get some progress while the past few days have been frustrating due to my limited availability.

For those code minded, I found a better example code for the Model/View/Controller stuff I talked about before which can be found here. I'm using a slightly modified version of this code that provides a solid base for the various screens that I use in the game. The idea is for every screen to have its own MVC setup which will greatly aide in the organization of the code. Before it was just a cluster fuck on a single location with global calls left and right. Now, everything can be encapsulated correctly and pull only the necessary information each screen requires.

I'm going to be sitting on my button re-designs for a bit longer until I create some better plans. That way when I make time to code I can just blast it in. This seems to be working well, hopefully things will keep rolling.


Tuesday, June 19, 2012

Weekend Progress

Sorry for the delay in giving a progress report. This last weekend was pretty busy and I really wanted to get post something last night but I was playing Assassin's Creed. I swear it was nearing the end but it just keeps going.

With excuses out of the way, my latest work has been heavily on the whole refactoring issue. I've established some of the new engine classes and I'm working on organizing it better than my earlier attempt. Basically, I'm following a better Model-Viewer-Controller scheme that will make the code less interdependent. It's the sort of stuff I've been talking about since forever, but it's quite a wonder once you see it action (as a programmer) and you can swap things left and right with no problem. The window system I'm using now should allow me to have better control of the content by keeping the data and the display separated.

My next main concern is the problematic button interface. I'm looking to take better advantage of event dispatching and less on using Global variables. However, this one is really, really important so I'm going to take as much time as necessary to get this right.

Mostly boring stuff I know, but hang in there guys.

Friday, June 15, 2012

Change of immediate Plans

While coding the farming screen items I discovered how poorly my button group code was made. It's not very well made for dynamic instances. For instance, I wanted to put multiple field instances on the screen in which would have a changing button that would turn from "Plant Seeds" to "Harvest Crop" or hide the button. Not to mention the fact that I wanted the number of field objects to be dynamic. My current system would require a ton of hard coding that would be useless to me once I switch over to a better system.

So I went and spent last night getting headway on doing the refactoring first. This means that farm system testing update I planned wont be coming out soon until the refactoring is done. This is necessary due to the nature of development. You simply don't have all the proper solutions until you understand the types of issues you encounter during the development itself.

I really do hate leading people on and not delivering but I know that the only way I can progress is if I can do these other lengthy changes first. I'll be sharing my progress through design change explanations and interface previews like I had sometime before. In parallel, I'll also be focusing on building tools for testing particular features that require fine tuning. Gagecoalbrace had helped give me the idea to build a tool for testing the growth system independently from the game. It could utilize volunteers to try and balance variables to make the outputting results more reasonable. I'll be sure to let you guys know when this one is ready as well.

Monday, June 11, 2012

Some New Design Ideas

On my ride back home on the bus (I never did get that car), I tried to figure out some better design for CGF. My previous attempts have been mostly in the "meh," category, but I feel like I had a sort of brain blast today.

The first major design change that I believe will be for the better is the transformation of the current fatigue system. Right now, you need to carefully track the health status of each cow girl, even though you are most likely repeating the same activities and have to switch out to rest after so much time. This makes the management system more tedious, rather than helpful. My proposal is changing the fatigue system to an "Action Point" system in which every day a cow girl's AP is restored to her respective maximum. You will be able to queue up as many activities as you can limited by a AP price per activity. The idea is, once your cow girl grows and becomes more skillful, certain tasks will reduce in AP cost and her total AP reserves will increase allowing for more activities. You will not run into the problem where your cow girl is suddenly too tired one day when she was fine the last day.

In order to take the best advantage of the AP system, I believe removing the shift system would be best. Right now it's forced with a training and work shift which have little distinction besides the available tasks. Throwing all the activities into a single pool for a day will solve issues such as at a glance planing and reduce the number of clicks to organize said day per cow.

These simplifications will allow me to build interfaces with greater utility and purpose. I would like to know if anyone has an particular feed back or additional opinions on these ideas. I'm planing in implementing these and other changes like it during my refactoring process.

As for a release, I'm working on it right now but don't feel comfortable on giving an ETA. My last estimations were just terrible. I'll try and update down here depending how tonight goes.

Saturday, June 9, 2012

Weekend Plans - Derailed!

So I've found myself in another busy weekend. I wrapping up some last school things including graduation (I finished back in November) and that's all taking place soon. Kinda sneaks up on you when you aren't looking. The plan for tonight, and if I have any time Sunday evening, is to get out that prototype of the farm system with a few bug fixes.

I'm itching to do plenty of refactoring, but I'm saving that for after this release. I hope I'm not hyping this farming feature too highly with the time I've had you guys waiting on, but I'll do my best to get it out this weekend.

Update


Welp, It's Monday morning and I'm afraid to say I don't have the system working to satisfaction. I ended up being much more busy than I originally accounted for and my last night effort only highlighted additional issues. I'll be getting home earlier these next few days so I'll see what I can do tonight and for the next few days.

Sunday, June 3, 2012

No Release Today - Sorry!

I don't mean to dash peoples hopes, but I didn't get enough time today to get a proper release in. This simply means I'll work on it little by little during the work week. I'll make sure to keep you guys posted on future progress and will of course put up the release once it's ready.

Saturday, June 2, 2012

More Farming Progress

Doing things slightly differently today. I have a nice block of time and I plan to get as much of the farm system working as I can today. Ideally, I'll try to get a build out this weekend, but it's too early to tell at the moment. There's no streaming planned, but if you want to catch me, you'll find me on Fenoxo's chat which can be found here. I'll most likely give an update when I wrap up my work later tonight.

So I managed to do a bit more work in implementing the farm system. The majority of the system is in. You can now allow cow girls to do farm work as an activity which will provide a small cumulative bonus to field crop yield. The actual farm system logic is implemented, I just got stuck on my terrible button implementations and the pop up for choosing which seeds to plant. It will really help once I get the re-factoring going.

I'm not sure what my time availability for tomorrow is, so I can't guaranty that I'll get a build before the weekend is out, but I'll try.