2007-07-18

Low-Hanging Fruit Week

Filed under: Games,Programming,Technology,Writing — Tags: , , , , , , — D. Moonfire @ 13:37

CuteGod Development: (44 / 172 requirements)
Wind, Bear, and Moon Proposal
Muddy Reflections Reading
Summer Biking: (183.8 / 400.0 km)

Today, I’m rode my bike into work again. Just as yesterday and I am very, very exhausted. I know that my body will adapt to doing 20 km two days in a row (had to walk almost three meters though yesterday), but it isn’t fun until the rest of me adapts. As my dad says, my struggle comes from the extra weight I’m carrying (i.e. a polite way of saying I’m fat). I can consistently average about 38 minutes to go 10 km, including both ways. Which is pretty good, given that the way home is uphill most of the way.

The ride in was pretty good, mainly because I was excited that I finally got something off my chest. There was some work with dh_creatclipolicy that has been hanging over me for the last couple of months, my obligations to the Open Source community, and I’ve been stalling. Last night, I finally got off my ass and made it work. It just needs some cosmetic changes, maybe a bug fix or three, and I should finally be able to say it is done.

I have no energy for CuteGod, as I knew I wouldn’t. I found a good (free) installer maker, so I’ll be able to offer an installer program the next round. I also was made one of the project developers for BooGame since I’m going to be adding some features to it. And, to my surprise, I was made one of the project leadertypes for prebuild. Again, that is because I’m going to scratch an itch I have and make it a bit better to use. One thing I like about the OSS community, sometimes you can just send in changes and sometimes you just step forward to help everyone. Admitedly, I haven’t done much with CeGui# or SDL.NET, both of which I’m developers for, though I have submitted code to both (a Irrlicht.NET backend and the “Moonfire Demos” which have since been removed, respectively).

I think this week is “get rid of small things” week. Trying to knock off a couple of things that have been haunting me. Depending on my mood, I might try to write a short story or two. I have a (hopefully better) story for Steam Punk Magazine which I want to write. Plus, getting read to tile my living room (I have 54 boxes of tile on my sun porch which thankfully has a concrete floor to handle the weight) and GenCon and my vacation next week. Oh, and gaming this Saturday.

It’s going to be a busy set of weeks coming up.

2006-08-30

Staring the Turf Wars Scenario Editor

Filed under: Games,Programming — Tags: , , , — D. Moonfire @ 15:40

Last night, I was messing more with the automatic rules for placement in the region editor. I got it so it determines if a tile is considered flat or not (there are some minor bugs). In the following picture, the blues are places you can put a tile, red are too steep for a tile.

turf-wars-screenshot-8a.png turf-wars-screenshot-9b.png

I also started the scenario editor. The first part of the scenario editor is placing of buildings, this is also used in the game. At the moment, I’m going to just create a “plate” at large as the building being placed and let the player see where it can or cannot be placed. That should give me a good basic start on this entire process.

turf-wars-screenshot-1a.png turf-wars-screenshot-2a.png turf-wars-screenshot-4a.png turf-wars-screenshot-5a.png turf-wars-screenshot-6a.png

Ideally, when you move the mouse around (while holding the spacebar at the moment), it will move the plate around and turn it blue when you find a valid spot. You can rotate with the right mouse button. However, there is a little bug with the Irrlicht.NET CP code (that will be fixed as soon as it gets into SVN, I think) that prevents me from finding where the mouse is over; that should be fixed “soon.’ and I’ll be able to move forward with this.

2006-08-28

Tile Layout in Turf Wars

Filed under: Games,Programming — Tags: , , , — D. Moonfire @ 14:35

This weekend, I spent a good amount of time trying to figure out how to place buildings in the game. The approach I decided to go with basically creates a “tile” that will match the terrain of the map. The rules of for the tile (such as if it is too steep or if it gives bonuses) will be set in the region editor while the scenario editor will be used to set the default building layouts.

This took me quite a bit to figure out and I’m still not done. The rules for how steep aren’t in there (I’m going to stay steep if all four corners aren’t the same height) and I really want to get the building placement stuff done.

But… some screenshots:

turf-wars-screenshot-1.png turf-wars-screenshot-2.png turf-wars-screenshot-3.png turf-wars-screenshot-4.png

The following screenshots are the retile process. Basically, I just take all the tiles and put them at the highest hight, then drag them down until they hit ground. It isn’t really fancy or anything, but at least approximates the ground layer. The most important parts are when there is one or more tiles at the same level, which there are regions that have that. Those are where the building placements are going to be in the scenario builder. The white tiles won’t be visible to the user in any other stage, this is just for setting region controls.

turf-wars-screenshot-5.png turf-wars-screenshot-6.png turf-wars-screenshot-7.png turf-wars-screenshot-8.png turf-wars-screenshot-9.png turf-wars-screenshot-10.png

2006-08-25

CeGui# Work for Turf Wars

Filed under: Games,Programming — Tags: , , , , — D. Moonfire @ 13:24

Spent most of last night working on the CeGui renderer for Irrlicht.NET CP. For the most part, it seems to work perfectly, but I have two major problems with it. One, the images don’t quite line up, I’m hoping to get that fixed properly, and the fonts aren’t really even. I’m assuming that one is related to the other.

cracking.png

I also changed the file structure around so this would be appropriate for actually importing into the SVN for CeGui# and helping others.

Once I get all of this working perfectly, I’ll have the GUI done for Turf Wars with significantly need work than if I created/reinvented the wheel myself.

2006-08-03

LoaderLock when using Managed DirectX and Irrlicht#

Filed under: Games,Programming — Tags: , , , , — D. Moonfire @ 19:28

Still browsing to see what is the “best” engine I can use for Turf Wars. At this point, Irrlicht.NET is really winning out, as long as I can figure it out. From what I can tell in the last day or so of browsing, I’m going to have to create the area/zone in memory, building it up so it looks like the old Sim City 2000 game. That way, when the Lord of Earth gets involved, you can shape the world.

I played around with Irrlicht# which actually follows the CLS, but… isn’t quite there yet. Sadly, the engine won’t handle what I want it to without me spending a fair amount of time playing with the engine itself. Maybe if I finish the game early, I’ll port it from Irrlicht.NET (Windows-only) to Irrlicht# (hopefully Linux-friendly too).

However, in the process, I got this annoying LoaderLock issue when trying to run the Irrlicht# example. Someone pointed out a link:

That resolved my problem, but I just don’t think it is there yet. So, Irrlicht.NET seems the best method to start with, assuming I can actually get it to build the work in memory. Failing that, I’m going to have to drop down to Tao.OpenGL and puzzle it out at that level (and create the loaders, and create the everything else). Or, I could actually try to get OgreDotNet working properly and see if that can resolve my problems instead.

On the other hand, I think I’m moving forward with trying to get something worthy of a screenshot in the game. Last night, I threw together a mesh which I could rotate around. I just want something more… related as a screenshot.

2006-08-02

Turf Wars Review

Filed under: Games,Programming — Tags: , , , — D. Moonfire @ 14:28

Being the end of the month, and a few days before GenCon and my birthday, I sat down and trying to see where Turf Wars was going. I got enough of the game to actually see it and, while I was pretty happy with the view, I think I would have trouble making the game “fun” as opposed to just a challenge.

So, giving that view of things, I think I have an idea of how to change the game around so it can be “fun” or at least closer to games that I’ve enjoyed in the past. The micromanaging of the vassals needs to go, that was getting too difficult. The orders will probably stay, but change in their format.

I think I’m going to start with the building arrangement. In the current version, all buildings were 30 meters by 40 meters, but I think I want to have more irregular-shaped buildings, along with the ability to lay them out. Maybe have what you can build based on the businesses in the area (you need a road construction company to make changes to the roads, an aborist (can’t spell) to remove or plant or purchase plants, etc).

I also browsed through the various game engines, it appears to be either Ogre3D with OgreDotNet or Irrlicht.NET. I’m going to start with Irrlicht.NET and see if I can managed to get most of the game out.

2006-06-22

Turf Wars: Initial Screenshots

Filed under: Games,Programming — Tags: , , , — D. Moonfire @ 15:33

Well, in my off hours, I’m still working forward on Turf Wars (TW). This is hopefully going to be my submission to the GameDev’s 4E5 contest. I decided to start with a basic Model-View-Controller (MVC) approach to the development. The model is the internal engine, TurfWars.Engine and related classes. It actually has details for every single game element in the game.

It also keeps track of what players knows what. The main reason for this is to give the ability to have a snapshot view (how much money does my enemy have now?) that doesn’t automatically update over time. So, you might have some “stale” information about your opponents which may or may not be still accurate. Of course, trying to keep up all the details is also hard.

To handle this, I created a series of View classes. For every component, there is one view for every player. Well, technically if the player doesn’t know about it, there is no view for it. This is the part I need to focus on and clean up at the moment, but it seems to be fairly progressive in details. You’ll see from these screenshots that the two windows show different things. Both players know what “AI #2″ has for favors, but not each other.

tw-001.png tw-002.png

The other major part of the application is the ability to handle time. I decided that the model is semi-continious. This means that it handles event over time. I set up the front end, however, to be either real-time stragtegy (RTS) or turn-based strategy (TBS). The difference is that the TBS will just advance 24 hours (or 6 or 12, whatever) at a time while the RTS version does incremental changes every tenth or hundredth of a second. I put in a little bit of code that automatically gives money to the user over time, so you can see the results. These images show money over time, look at the “current time and date” bit to see the advancement.

tw-003.png tw-004.png
tw-005.png tw-006.png

Still encouraging on the development side. I’m going to focus on the model of the application, then work on a “prettier” front end using the Irrlicht engine for 3D graphics. This is a major undertaking compared to WordPlay, but I also think that it is in my skill set and I won’t have to give up “too much” to get it working. Not to mention, it has to be done by the end of November, so I should have enough time.