Skip to main content

Crossing Paths Again

As far spending stay-cations go, I think I can take a certain yuppie pride in this one.   Every single day for the past 9 days, I got my lazy arse up on a treadmill for about half-hour, mostly to make sure I was adequately woken up to do something productive.  It worked.  Over half the rest of the day was spent honing my game development skills.

I figure you are probably more interested in what I did with the rest of the day; it is just a heck of a lot more interesting talking about completed games than it is talking about me bashing my head against code.  So lets put that best foot forward, and just leave my game development talk to this: I am definitely getting better with practice.

Revisiting: Animal Crossing: New Leaf.

It has been awhile, I actually managed to wean myself off of the New Leaf for over a year now.  However, given how my coding routine has personally mandated half-hour breaks every once in awhile, I can complete the daily grind in this game in about two sessions.

Daily grind is right; every day in Animal Crossing is the same thing:
The adorable bunny girls are
pretty much the only reason to keep
playing Animal Crossing.
  • Shake all the fruit from the trees.  Re-plant perfect fruit trees as necessary.   Trees fruit every few days since the last harvest, so passing up on harvesting them is money down the drain.
  • Bash all the rocks in town with a shovel.  One rock will be the money rock, the quickest way to make money in the game, so brace yourself against something.  Another rock, a "fake," will break apart when struck with your shovel, becoming ore.
  • Dig up anything you see buried.  It will either be a fossil, gyroid, or pitfall seed.
  • Go to the museum.  Identify all fossils, donate any the museum does not have.
  • Sell all the junk you found to the Re-tail. Given that you only have so many inventory slots, you likely will have done so several times in the earlier steps.  If you see a villager wandering around Re-tail, push them into some of the junk you're selling, they'll give up about twice what Re-Tail would give you for the item up to a cap (about 10k bells).
  • Chat up every villager you see.  Sometimes they will just chat you up in return.  Usually, they will ask you to perform a favor, which will make them like you better and probably give you something to sell.  If they are considering moving out, you have the option to talk them out of it. 
  • Go to Timmy and Tommy's store, painstakingly compare everything they are selling to what you have in the catalog machine.  If the random number gods are smiling on you, you find something you have not already put on the catalog, and purchasing it will allow you to use the machine to buy it again later.
  • To do the same with wearable clothes, visit the stores belonging to The Able Sisters and Kicks.  (It's rather awkward having to go back and forth to the catalog machine for this, no wonder the official prima guide allows you to just check things off you have collected.)
  • Take another trip to Re-tail to sell all the junk you bought just so you can buy it again later if you need it.  Alternately, fill out up to four letters and send that junk to your villagers because there is a fair chance they will reciprocate.
  • Put some of the money you made today towards paying off your house loan.  Start a new house extension if that was paid off yesterday.
  • Put some of the money you made today towards paying off the city project.  Start a new city project if that was paid off yesterday.
  • Congratulations, you have completed your daily grind.  You may now save the game and quit.  If you still have not had enough, engage in fishing, bug collecting, diving, or visit Tortimer Island for mostly more of the same with a hefty bell-earning bonus attached.
That is quite the diversity of activities but, given enough days of this, it will nevertheless get boring.   You could say this is partly my fault: if you don't want to do the same thing every day, then don't.  But this is which way the incentives lay, the earning of bells (the name of the game currency) for the only truly persistent things in the game: your house, its contents, and the state of the village.
http://artricahearts.tumblr.com/post/60888604342/those-nooks-are-crooks
At the end of the day, I am left lamenting that the company you keep (your fellow villagers) is too basic to care about them.  There are only eight "personalities," and the difference is primarily what dialogue comes out of their random number generators.   They barely have any memory at all, I think the dialogue may reflect if you have done enough favors to earn a positive relationship score with them or not, but that is about it.  They are nevertheless a proven model of how procedurally generated townfolk can be done, and that is relevant to my interests.

Relevant Game Development Tie-In.

At the risk of souring my motivation to develop my game, I am going to tip my hand slightly and say that the Animal Crossing series reflects the kind of game I want to make because I like the idea of procedurally generated microcosms.  The primary reason why I am even developing a game of my own is because I an unsatisfied with current microcosms.  Granted, this is hardly saying anything new: this would seem to be a recurrent goal on this blog.

Alright, then, to be more specific, my current project in GameMaker Studio is to harness the power of abstraction from earlier games (like Ultima V) and see what kind of microcosm I can pull off with present-day hardware.  How is that supposed to work?  Well, when Richard Garriott and company made many of games, he had to work in assembly language on computers with only single digit megahertz processing power.  So, despite any conjecture that GameMaker Studio loses some power to not being a lower-level programming method, if I were to adopt some of these earlier methods of overwhelming efficiency, I should certainly be able to realize some incredible microcosms on computers with gigahertz of processing power going for them, right?

For the sake of morale, I am going to say that completion of the project is not truly my goal, because completion is always tantalizingly out of reach and, if I grasp for it for too long, I am liable to ragequit out of frustration.  No, the real goal needs to be "to refine my craft" because, whether or not I succeed or fail in making progress, I will always succeed in practicing .

Granted, even having practiced a bit in it now, I do have a few points of awkwardness in GameMaker Studio I would like to complain about:
  • The IDE does not track variable names defined in scripts at all, so you only really know if you mistyped a variable name when the runtime error fails to find the variable.  Fortunately, it does remember the names of scripts you've created, and you can even define an intellisence reference for them.
  • The room builder is so awkwardly laid out that I actually feel more comfortable drawing my room with code, whether via the "creation code" portion of the room or via objects you place in the room.  It is pretty bad when the key to using the room builder comfortably is don't use the room builder.
  • GameMaker Studio is only quasi-object oriented.  You have have one kind of predefined object, it has some limited capability to pull off inheritance.  This object has event handlers for a large assortment of predefined game events (including 16 "user" events which can be triggered manually but do not accept arguments and cannot be named).   Instances of objects have the ability to hold variables which you can define in the create event, which is similar to a constructor.

    That is about it.  You do not get the power to do cool things like code custom interfaces directly into the object.  You cannot define objects as variable within other objects or even create custom data structures.  I cannot pull values or run code from objects that have not been instantiated.  I find myself writing a lot of custom scripts to get around this, specialized for performing specialized operations for specific kinds of objects, and I have noticed that the built-in functions are built similarly.

    The result is workable, but it hearkens back to earlier versions of C and is a real downgrade for those of us who have been spoiled by more modern languages.  BYOND has a lot better object oriented programming support than this.  However, BYOND uses an interpreter, and I suspect the reason why GML works the way it does is they try to pre-compile more code in order to achieve greater efficiency, which is not a bad idea when it comes to games.
Honestly, what do I expect?  You use somebody else's engine, you play by their rules, and all my complaints about GameMaker Studio mostly come down to growing pains to get used to their methods; the more I use the software, the more used I get to their methods, and the more I take a shine it.  If I keep practicing, I wager I could put together some impressive programming miracles.

I was sort of hoping to have coherent enough of a game together that I could be excited about playing with my fancy new dynamic content engine by adding lovely pieces for it to mix and match for unlimited adventures.  However, it seems that one eleven-day staycation is not going to be a sufficient amount of time to accomplish this, so I return to work in a couple days knowing that I will need to keep plugging away at it for many weeks to come.

Comments

Popular posts from this blog

Empyrion Vrs Space Engineers: A Different Kind Of Space Race

In my quest for more compelling virtual worlds, I have been watching Empyrion: Galactic Survival a lot this bizarro weekend, mostly via the Angry Joe Show twitch stream.  What I have concluded from my observations is Empyrion is following in Space Engineers' shadow, but it is nevertheless threatening the elder game due to a greater feature set (the modding scene notwithstanding).

Empyrion is made in Unity, whereas Space Engineers is built on a custom engine.  While this does put Empyrion at a disadvantage when it comes to conceptual flexibility, its developers nevertheless have a substantial advantage when it comes to adding features due to a savings of time spent that would have gone into developing their own engine.  Examples include:
Planets.  Empyrion already has planets and space to explore between them, whereas in Space Engineers planets are in the works but still awhile away (so you just have asteroid fields to scavenge).Enemies.  Space Engineers' survival mode boasts onl…

Resonant Induction Really Grinds My Gears... In A Good Way

From about 2pm yesterday until 8pm today, I've been dabbling with my latest custom mod mix for Minecraft 1.6.4, which is this time very much Universal Electricity focused.
Aside from the usual GUI enhancers and Somnia, the primary contenders in this mix were:
Calclavia Core - Of course: this is the base of the Universal Electricity system.Resonant Induction - This seems to be largely focused on increasingly more advanced methods of refining ores divided across 4 ages of technological progression.  It also includes some really cool things such as assembly lines.  I'll primarily be talking about just a few blocks out of this mod today.Atomic Science - A mod dedicated to generating more of those lovely universal electricity volts via the power of splitting the atom.  Build your own nuclear reactor!  Deal with nuclear meltdowns!  You maniac!ICBM - A mod dedicated to generating more destruction using those lovely universal electricity volts (and more than a little gunpowder), it cer…

Sometimes, The Cat Skins You

The formula for cat girls is simple enough: young girls are cute, cats are cute, so young girls who are also cats are cute times two, right?  ... Cat Planet Cuties (a.k.a Asobi ni Iku yo) does not stop there, it includes girls with guns, nudifying weaponry, and even failed romantic comedy that shows lots of skin.  Cat's out of the bag: Cat Planet Cuties is basically straight up wish fulfillment.

The overall plot is pretty simple.  The Catians are a race so advanced that they have not changed in over 70,000 years.  They discover Earth, a planet whose people have uncanny resemblances, right down to speaking the same language!  Desiring an escape from their cultural stagnation, they rename their own planet from Earth to Catia and dispatch a scout to assess the viability of first contact with this new Earth inhabited by humans.  High jinks ensue.

Other than an excuse to see some fun sci-fi devices, the plot sucks. Let me count the ways:
Kio Kakazu - The male center of our harem, a 1…