Sunday, February 24, 2013

PRJ566 Update - engine, life cycle, and revenue

To put it simply, game programming is ridiculously complex to jump into. I've been really lucky to bounce things off my brother as the PRJ class game progresses and to have him as our image designer. After I gathered some resources and sketched out a few things he was able to start work on one of the characters. It was just some initial imaging, but I was completely blow away with how quickly he put together a fairly decent model (he's creating the character as a 3D image and then using flash to take some shots and create a bunch of png's that we can integrate into a sprite sheet). The group also decided on AndEngine (can't remember if I mentioned it), it's a 2D game engine that utilizes OpenGL, it's very awesome... though I feel a bit like I strong armed the group into it. Ah well, they can kill me later if it's a mistake. :)

We have been running into problems in documentation life cycling though. The way the class is structured we're being veered into waterfall design (SDLC) which is fine, but when it comes to coding the whole group would prefer to do test driven coding (originally part of Extreme Programming Design, but recently has been gaining reputability on it's own, separate from Extreme). We'll be approaching both this semester and next semester's professors to check that this is a feasible feature before implementing it into our documentation. Seems like a good decision, yeah?

Oh, and other problem we can't seem to decide on is revenue. So far I'd like a free game, but it might be nice to gather some revenue from ads in order to pay for the server, and other unforeseen costs. My brother did warn me that he'll have to look into getting a professional license for 3DS max if we do end up making any revenue, but that's if you charge for the game, we're not so sure about advertising income... I suppose that's something else I should look into or maybe ask around, that's usually easier.

To be quite honest though, I've been incredibly nervous entrusting this game idea to other developers and designers, but thus far I'm so happy. Ivan's been doing a great job at the software architecture, even when I press him about why he's chosen the systems he has, Justin's really creative, even coming up with a ridiculous back story that was so perfect, and Natesh has been able to handle the responsibilities of project lead so well. We've had problems with people shouting and making rackets in the study rooms and he was able to handle the confrontation so well. I don't know if I could have kept my cool as well as he did in some of the situations we've had. Oh! and of course Jonathan (my brother) has even given some input on how to change the characters to make them a bit more cartoonish. I really wanted smooth lines, no sharp edges (much like the design of Lilo and Stitch) and a really soft look to the game, and he seems to completely get that. I can't wait to see how this game turns out, I'm so excited.

Thursday, February 14, 2013

Setting up a very confusing pathway for Access Database

So, apparently when Microsoft split their programs between 64 and 86 bit, the ODBC Drivers took a hit. So instead of the traditional manner of going to Control Panel > System and Security > Administrative Tools > Device Drivers (ODBC) > Add (in the User DSN tab). Instead go to C:\Windows\sysWOW64\odbcad32.exe > Add > Microsoft Access Driver (*.mdb) > After putting in your own names for the Data Source Name and Description > Select; find your database on your local computer and go ahead and add that. Bit confusing, but luckily I found http://answers.microsoft.com/en-us/office/forum/office_2007-excel/no-odbc-drivers-available-for-excel-or-access-in/001c234b-dfd5-4378-a325-c4f1482fb6fd online on my first Google search (thank goodness for Google! and Microsoft answers!).

Now I'm going back to configuring my system for "data basing with Java" class. Happy Valentine's day.

Tuesday, February 5, 2013

PRJ566 - Initial Thoughts

So in the past few months I've been designing a Game Design Document based on an idea I had while I was sick (I had a few others, but this was the most simplistic). Thankfully I had this as unfortunately none of the proposals seemed to suit our group and this idea became our group's project for PRJ566. Though I have absolutely no experience designing Java apps or games (yikes!) at least I have a good platform to move forward on. So after researching about on the Internets, I found this http://www.raywenderlich.com/12065/how-to-create-a-simple-android-game which I'm super excited about. 2D gaming doesn't have a lot of engines that are free of glitches (as no program is) or documentation to run these engines at least this game shows it's work in it's completion. I'm planning on presenting this documentation to my group and see their reactions to using it as a general framework for us to use off of.

The downside to this project is that the documentation development life cycle is still yet to be decided on. After speaking to a game designer, I've been told that waterfall (aka Standard Development Life Cycle) and Agile are the most common, and though SDLC is recommended for the course, I'm curious to see if my group would like to extend our knowledge by using the Agile development life cycle.

Also, as a side note we'll need to set up a common repository for our documents. The group seems to be thinking of GitHub (which I always think is GetHub, stupid ears), or tortoise. I haven't a lot of experience with GitHub, it sounds familiar but my brain blanks on it. Nope, just checked. Doesn't look familiar. Sounds good to me, also seems to support Eclipse. Nice. Though I wouldn't mind trying out MongoDB.

Friday, January 11, 2013

The Intricacies of the Human Being


So it's been a while, but I've been somewhat sick, so let's just not go there :) I'll admit though, during this time, crime of all crimes, I wasn't able to code much. And whatever people say, it's not like riding a bike, things are forgotten and it does come back to bite you.

Being sick though, it got me thinking to the intricacies of the human body, which always makes me think of a short clip I saw on the net. It was meant to be a joke but its always been something at the back of my mind, something I wanted to examine to the level of difficulty and maybe program myself. It was essentially displaying God as a programmer that was setting up the world. It never went into fine detail, just him logging into his computer, (password "Omniscient" meaning all knowing) creating light, heavens, earth, sun, stars, seacreatures, land animals, birds, humans, etc. It was a cutesy way to put it, but just the Objects mentioned, well, setting up a very rough idea of human:

Human
Gender
Name
Location
PhysicalAttributes
  CirculationSystem
  SkeletalSystem
  MuscularSystem
  DigestiveSystem
  EndocrineSystem
  NervousSystem
  ImmuneSystem
  ReproductiveSystem
  EyeColour
  HairColour
  NoseType
  Height
  Weight
EmotionalAttributes
  Empathy
  Happiness
  Intelligence
  Introvertness
  Warmth
  Reasoning
  EmotionalStability
  Dominance
  Liveliness
  RuleConsciousness
  Social Boldness
  Sensitivity
  Vigilance
  Abstractedness
  Privateness
  Apprehension
  OpennessToChange
  SelfReliance
  Perfectionism
  Tension
LevelOfCrazy
OverallHealthLevel
OverallPhysicalAttractiveness

This isn't even really any extensive detail. And note, this is not trying to be dismissive or insensitive, but when you consider the precision of humans, it would be simply exhausting to list it all here... Which means I'll be coming back to it constantly. Come to think of it, most of these would need to be defined as ints because they influence one another. For example, intelligent people are correlated to a lower level of happiness (which seems fair since it would be unfair to have a extensively high level of happiness, intelligence, and attractiveness in a person). Or short, since this would be a large program and we should be conscious of memory space. Good gracious...this may end up being a lifelong project...

Note-most of the Emotional Attributes are from the 16PF (a psych test that describes your personality)

Friday, October 29, 2010

FSOSS!!

So today was FSOSS (amazing so you know, you should have been there!). I went to Evan Weaver's, Dawn Mercer with speakers: Ken Ono and Mike Hoye, David Humphrey, Cathy Leung, Scott Downe, andd... the guy from Mozilla... Matt Thompson, I think (Disclaimer, I'm dumb and thus cannot be held accountable for my spelling or logical errors).

During Evan's we heard about the academic background of open source and how it got started at the school, Dawn explained how financial breakdowns for funding for these companies, and how to obtain grants (numbers hurt my head...), David talked about audio components, Cathy talked about the game jam results from Wednesday (which I'd signed up for and not shown up for because, once again, I'm a moron and thought I had signed up for her Friday class and was extremely upset when I realized I'd missed the class... just about cried in class, felt bad too, Cathy looked a bit mad at me :( ...), Scott talked about boring stuff (kidding, he talked about the stuff he's been working at during his work term at CDOT, which included a puzzle he made by setting a video into a grid, breaking the grid and scrambling it, it was pretty stellar), and Matt talked about Mozilla and it's fight for world domination... or at least world web domination. It was pretty neat, how the web is a community, and we're all citizens there mucking about in a public park, where the park is free but we're responsible for it.... made me wonder whether we should have enforcement in our park, or whether letting everyone run wild is a bad choice? Would it be better to over control or under control any environment? tyranny or anarchy? I don't know, not an answer I have... just wondering about parental controls, etc for children, since they're a huge market on the net.

Dave's presentation, the whole thing about audio components and the attempt to make it visual using images and speech, by use of sound breakdown (both tonality, frequency, etc) and transcribed subtitles, it got me to thinking, if a linguistic were able to dissect sounds into the English language (or any language really) then the videos wouldn't need to be transcribed but could just be run, or run once and then save them over the original video (saved into phonetics, and phonetics saved into exact spelling which is displayed as subtitles, subtitles then translated (I've seen a couple sites on this, not sure about their accuracy)). Sounds could also be saved into colour palettes that could be overlayed over the words in order to describe the tonality of the person (sarcasm, anger, etc) based primarily on tonality and volume (Disclaimer - I'm not sure that this is an accurate breakdown of sound, but it seems like something I could find out, this is just my best guess).

On a different note, my brother has started doing game design at RCC (traitor, I know!). His school stresses learning programming though (woot woot!), and this has been great. Not only do I have something to discuss with my hermit brother, but I've been able to teach him about it (loops, if else, switches, etc), and it has reminding me of the basics, and I'm really kind of enjoying it. I also had someone in the open lab ask me a question on C, and the things students can come up with as mistakes, its phenomenal! You really have to know your stuff to see someone else's mistakes because it's something you'd never even consider doing, so you think, well maybe... but no. Just no. They're sneaky those new programmers, sneeeakky.

There was something else I wanted to discuss... I forget now though, its been a long day. Started with a cup of tea made with coffee instead of hot water, and ended with killing Bambi... :( It was a dark road, and it ran at our bus (not kidding).

Oh I know what it was! DecimalFormat! Oh I love DecimalFormat!
In java if you write...
//http://www.java-forums.org/advanced-java/4130-rounding-double-two-decimal-places.htm original source of this...
DecimalFormat twodec = new DecimalFormat("#.##");
return Double.valueOf(twodec.format(temp));
this returns a number with two decimals spots? Why yes it does! Its that easy! BOOYA!
Thank you good sir who posts awesome code like this! You rock apple sauce!

Well, its bedtime for me, long since past! Love you all! Have a great weekend and party hearty!

Saturday, March 20, 2010

Virtual Muddles My Mind

Alright, so small dilemma... I have to declare an instance of another class (BField) in my class (BForm)'s constructor, this would all be well and fine if it weren't for virtual. In BField's constructor (it has no empty constructor mind you), there is something that references (void* data = (void*) 0) to be passed in. This is reference to a virtual member of BField's class (virtual void* data()). So, when I try to add something in to that position from BForm with my BField member, I get error C2259: 'BField' : cannot instantiate abstract class. Or rather, I assume this is what causes it.
So instead of this:
BField* _fld[MAX_NO_FIELDS];

_fld[_curidx] = new BField(row, col, "problem here-Virtual Element", framed);

I have to figure out how to override the virtual element of the BField constructor. I'll come back to this when I figure it out. Go Team!

Wednesday, March 17, 2010

Casting

I bloody hate casting. I have avoided it until this point.

I spent about half an hour knowing what I wanted to "return" from one of my functions, but getting a compilation error C2440, something along the lines of can't change type1 into type2. Took me a while to get why return *this was attempting to return an instance of BForm (the class I had declared and was working in) instead of BField, which was the type I was supposed to return. It was strange also because I had thought I had previously attempted casting for BField, but I suppose I must have forgotten the &. Still.... Damn you casting! I will conquer you and CRUSH you between my toes! Victory!!!

So just to recap:
BField& BForm::operator[](unsigned int index){
return (BField&)*this;
}
does nothing, but still, VICTORY!!! *kicks casting*