Intel sponsors gamedev.net search:   
Tesseract's Game Development JournalBy Tesseract      

How I Work
Preferred Language
Actionscript 3
Development Environment
Notepad++ for coding
Flex 3 SDK for compiling
Graphics
The GIMP, among others

See my personal weblog

Completed (and published) Flash Game Projects:
Games
TriGavoid
Tutorials
Creating Textures with Perlin Noise
Simple Trigonometry and Curves Tutorial



Thursday, February 28, 2008
The latest build of the game is here. Click here to open the game in your browser.

The pixellated, blobby thing in the middle of the screen is the intersection of two Perlin bitmaps.

One contains information for the amount of salt available on a given chunk of land. The brighter the pixel, the more salt can be harvested from that coordinate.

The other is a height-map of sorts. When I generate this bitmap, I perform a threshold operation to see if a given supply of salt is "exposed", e.g. the salt can be harvested without any intermediary steps being performed. Each black square represents an area where the salt is underground, and must be exposed before it can be harvested. This is where the alchemist NPC (creator of explosions) comes in. In order for the miners to be able to get the salt the alchemist must come in and blow a big hole in the ground.

Once all the salt in an area is harvested that area can be used for farming.

Farming can only happen on a black square. That square can either be an area that has been cleared of salt, or an area which has not yet been blown up by an alchemist.

An area which is being farmed cannot be mined for salt at any point in the future. Inevitably, squares which might be mined are lost to the needs of farming.

As the game progresses there will inevitable be a point where all of the available salt is mined, and the land is nothing but farms.

There is a trader NPC, which I am hoping to have up and running soon, which will be able to trade excess salt and food for gold, and will thus ensure the stability of the town.

Note that most of these interactions have not yet been implemented.

The data for the bitmaps is contained in the file called "config.xml", which looks like this:

<config>
	<title>A Dry Harvest</title>
	<instructions info_url="xml/instructions.xml"/>
	<sprites image_url="images/4e6_sheet.png" info_url="xml/spritesheet.xml"/>
	<story info_url="xml/story.xml"/>
	<tech_tree info_url="xml/tech_tree.xml"/>
	<game>
		<initial_population>5</initial_population>

		<world_width>32</world_width>
		<world_height>32</world_height>
		<chrome_seed>374566</chrome_seed>
		<terrain_seed>2275</terrain_seed>
		<terrain_visibility_threshold>0x00400000</terrain_visibility_threshold>
		<terrain_display_scale>15</terrain_display_scale>

	</game>
</config>


My studies in economics lead me to believe that a closed system will inevitably collapse. Hopefully the game will end before this happens.



Comments: 0 - Leave a Comment

Link



Saturday, February 23, 2008
I took a little time last night to explore the world of Creative Commons music, and found the Wikimedia Commons, wherein there is much to be had.

At the moment (though I will most likely change my mind), this is the score to my game.

One small sticking point, easily overcome: Flash cannot do anything with Ogg Vorbis files, which is the format - along with MIDI - most everything is in on the Commons. This led me to discover Audacity, which, among other things, easily converts sound files between different formats.

And life goes on.


Comments: 0 - Leave a Comment

Link



Thursday, February 21, 2008
Debugging a small problem led me to have to institute a new feature.

Each round in my game, a certain number of resources are used for upkeep of the current populace of the hovel/hamlet/village. The game starts at the "end" of round 0, which means that at the end of Round 1, the upkeep costs for Round 1 are removed from inventory before the profits from Round 1 are tallied. The idea behind this is that you cannot use the profits on the same round that they are created. This means that, since there are no profits extant from round 0, at the end of round 1 the village is already in the hole, economically speaking.

Two ways out of this: Make round 1 "special" in that there are no costs for round 1, or start with a certain amount of profit already in the "bank". Well, as a programmer I hate Hate HATE exceptions to rules, so I decided to front-load the inventory. Now there are a few rounds of leeway to get the village up and running before the death toll from starvation and over-work kicks in.

In other news, I am reading a couple of books which go hand-in-hand quite well: The System of the World by Neal Stephenson, and Basic Economics by Thomas Sowell. The first is the third book in a trilogy about (among other things) the creation of the modern system of economics, and the second is an introductory economics textbook geared toward people who have no real understanding of the topic. Between the two I am learning a great deal about how value works, and I realize that even the most complex economic sim I have ever played barely scratches the surface of the real world.

I am also watching the Century of the Self, about how Freud's nephew Edward Bernays almost single-handedly turned us into a society of consumers. If I can wrap my head completely around the ideas in these three sources I will soon take over the world.


Comments: 0 - Leave a Comment

Link



Wednesday, February 20, 2008
..and boy, are my arms tired!

It seems I live in Interesting Times. The several hour a week I had hoped to devote to my 4E6 entry since the holidays seem to have dried up and blown away. Or more accurately, been crushed under a huge pile of ice and darkness. Here in West Michigan we have seen the sun five times since the beginning of the year. My good intentions fell victim to some profound seasonally-affected depression, which manifested as lethargy and ennui.

On the couple of days which were actually nice, I went outside and walked around, trying to rid myself of CRT poisoning and the perpetual fluorescent light-induced headache. If you want to drive yourself insane, be in a room with an old fluorescent light and an old CRT monitor. Notice how things look a little... strange? That is because the refresh rate of the monitor and the refresh rate of the fluorescent light differ, and the oddness is the millisecond flashes of energy going in and out of phase with each other.

Needless to say, my head has not been in a build-a-game space.

I have made progress, however, and the latest build (including code, notes graphics, compiled project, and HTML page wrapper) can be grabbed here. I occasionally throw a new build in that directory. Mostly I just zip a day's work and email it to my Gmail account, as a sort of back-up.

During my not-building-a-game time, I have been working on my Grand Rapids Crime Map and taking photos of the Grand River.

Fortunately, like Superman, exposure to the sun has revitalized me, and I am back at work on the game. Good progress is being made. I am not sure if I will have a complete version done by the end of 4E6, but I will have something at least marginally playable. Even if I don't finish, I have learned more about flash, and game design, and information systems, in the past five months than at any time before. So I have that going for me.


Comments: 0 - Leave a Comment

Link


All times are ET (US)

 
S
M
T
W
T
F
S
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
22
24
25
26
27
29

OPTIONS
Track this Journal

 RSS 

ARCHIVES
November, 2009
March, 2009
January, 2009
November, 2008
October, 2008
September, 2008
August, 2008
July, 2008
February, 2008
December, 2007
November, 2007
October, 2007
September, 2007
July, 2007
June, 2007
March, 2007
February, 2007
January, 2007
December, 2006
August, 2006
July, 2006
June, 2006