Game Design Ideas

Recently I’ve started looking into mobile development again, mostly Android, with webOS and Maemo(now MeeGo) as later possibilities. What makes this time different, is that instead of writing pointless projects to learn, I actually have a specific project I want to create(always a good motivator). Now this particular project is a game, more specifically a (likely turn-based) 2D strategy game based in a scifi universe I’ve created. The biggest thing I’m trying to decide on the game’s design is the actual game play mechanics.

Since this will be a mobile game(and only mobile for now), I’m leaning towards turn based pretty heavily.  The reason is that most of the time when I (and I suspect many others) play games on a cell phone or other mobile platforms, it’s while waiting on something else or some other in between time. It’s usually not I set time to sit down and do, so getting involved in a fat moving game that you can’t put down, like Star Craft doesn’t usually work for me. A turn based game is generally easier to put down and come back to.

The problem is that the game is on a small scale, so that leads me to more of an RPG approach. So you’ll have many units to move around the map and control them like you would in any other strategy game, but once you enter combat, it takes on more of an RPG feel. You’ll be able to attack with specific weapons(a pulse cannon or a missile), launch evasive maneuvers, or try to flee the battle. This is also where I want to make some compromises between real time and turn based strategy. In a real time game, it you send a small scout ship ahead and it gets attacked, you can usually save it if you have heavy forces near by. It doesn’t always work that way in turn based games; the little ship can try to run, and may be destroyed, but no one is coming to help. There are two ways I plan to combat this. One, is that the units do not have to be on the same “tile” to be in the battle, just with in weapons range of one another. So if that a heavy cruiser is in range of the ship attacking your scout ship, it’s in the battle. The second is being about to call for reinforcements. So if that heavy cruiser is one turn away from being in range of the battle. the scout ship can call for reinforcements and launch evasive manuvers, and after a turn, the cruiser will join the battle.

While I’ve not seen this specifically implemented before, I’m sure this probably isn’t an original idea, so if you know of any games that have something like this, let me know. So any thoughts or suggestions?

Server Upgrade Success

Last night I swtiched my server from Ubuntu to Debian and so far seems to be a success. There wasn’t technically anything wrong with the old one, but when I set it up, all I had on hand was an Ubuntu 8.04 desktop install CD, so I had a lot of unneccesary desktop packages installed and being the desktop version I have a some what shorter support window and would have to upgrade in a year anyway. The public facing web server stuff was able to be set right back up, but there were a few hang ups with some of the local services, but they seem to be fine now.

Domino’s New Pizza

Last night I tried Domino’s new pizza last night, not so much because I wanted to try it, but mostly because it was cheap. So was it any better? Technically it was better than the old pizza, but from where it was coming from, better doesn’t necessarily mean good.

Let’s start with the meats. That was one thing they really couldn’t screw up before and it’s mostly the same here. The cheese seems to be the same white cheese they keep calling mozzarella, but certainly doesn’t taste like it, but it is largely the same as most other national pizza chains.

The only real changes appear to be the sauce and the crust. The sauce has been upgraded from ketchup to a cheap jar of spaghetti sauce. Not a big change, and not exactly good, but technically an improvement. The crust is still mostly chewy cardboard, but the outer crust has been improved somewhat. Now it’s covered in the same garlic seasoning that you’d find on bread sticks. So at least the outer crust has gone from pretty much inedible garbage to free bread sticks. I’d rate that as the only real improvement. Overall, it’s the same crappy pizza now with free bread sticks.

Old and New Projects

First the old project, Junecode. It’s a project that’s been floating around in my head for a long time in a lot of forms, but never a whole lot of code to show for it. Originally I was looking for a larger scale content management system for my site, Junetech, and was using either PostNuke or PHP-Nuke, and the initial version of Junecode existed as a customized and striped down fork or which ever one of those I was using at the time. Due to it only existing on my shared web host at the time, when Junetech shutdown at that time, away went was was then Junecode.

Over time Junecode was the name I attached to the idea of a blogging system I would write, but never got around too. Finally a couple of months ago, I sat down for a weekend and threw together a minimalist blog system in PHP/MySQL, mostly to brush up on my PHP and MySQL, but I’ve decided to upload it to the long empty Junecode site on SourceForge. The project is here.

And now for a new project, Articulation. It is a GUI for Concordance to program Harmony remotes. Initially it was just going to be the current Congruity GUI with a way web rendered directly itegrated to give an experiance closer to that of the regular Logitech version. I’ve since decided to do the GUI in native GTK+ instead of wxWidgets, so I’m in the middle of a rewrite of Congruity to GTK+, then I’ll worry about the web part.

Windows 7 Party Pack

Today I got my Windows 7 Party Pack in the mail. Yes, for the same goofy launch parties in the videos, but what the hell, it’s a free copy of Windown 7 Ultimate, which should be a nice upgrade from the copy of Windows Vista business I got for watching some developer videos at its launch.

Instead of inluding things really needed at a party like food and beer, Microsoft seems to have have just gone with the lame end of party supplies and thrown in some streamers, ballons, napkins, a card board “center piece” and a big poster. For activites, they have thrown in a puzzle and a deck of playing cards, which makes the lack of alcohol even more puzzling since copius amounts would be required to make either of those much fun at at party.

And what will the guests bring home? About half a dozen small cards with advertisments/coupons and a large bag to take them home in. So it’s probably best not to tell your guests what they’ll be getting before the come to the party.

Of course I took a few pictures of all this(also first test of the camera on my new BB Tour). Later on tonight I’ll probably install Windows 7 and should have a review up soon(right after my reviews of my E71, Ubuntu 9.04, the Pre, and my Tour).

Back to Programming

In order to make myself a more well rounded job candidate and ensure that my resume is accurate, I’ve been refreshing my knowledge of some programming stuff I used to do. This weekend I started off slow with some web programming involving so PHP, but mostly focused on MySQL. It was actually kind of nice to get back into it, though I didn’t actually get too far into the project I want to do. Mostly I reviewed some PHP and MySQL books, writing some small code snippets, but nothing big or interconnected yet. Luckily I finished an online JavaScript class recently, so that was a nice JS and HTML refresher.

Once I feel comfortable with the web stuff, I’m moving on to Python, and I’ll probably throw in some Perl. Luckily these are the one’s I’m most up to date on since they’re a little more used in my day to day Linux use. After that, I think I might put off the Android development and go for some .NET/C# stuff since it’s probably more marketable, and the Android stuff is more for fun. Hopefully by the end of the week I’ll have some code to post.

Job Hunting and More

A couple of weeks ago, I officially decided to get out of the Air Force. So that means I’m looking for a job. Right now I’m looking in Kentucky(but not closer than 100 miles from Cincinnati), Tennessee, and the Carolinas, with most of my energy focused on the Carolinas. I’m really hoping to find something in the Raleigh or Research Triangle Area of NC since it seems to be such a great place to live and work, though I’m not limiting myself at this point. One up side of being an IT guy is that I can pretty much work anywhere with computers, which is just about everywhere these days.  I’d appreciate any advice, leads, or any help at all. My resume is here.

So far the biggest problem I’m finding is that while I feel I’m qualified for a great many jobs, I’m having trouble “proving it”, mostly when it comes to Linux admin jobs. I use Linux at home all the time, there aren’t even any Windows machines in my house, and have years of experience using it, but unfortunately my professional work in the Air Force has been almost all Windows. While I will work as a Windows admin(servers, I don’t really want to do PC support anymore), I would really like a shot at Linux. Just for my own purposes of brushing up on things in case I do get a Linux job, I’ll be setting up a new backup server this weekend, and I’m probably going with CentOS for no other reason that it being mostly Red Hat.

I’ve also pretty much decided to stop working on what will probably be a mostly worthless online degree. Instead, I’m going to take this opportunity to flex my long dormant programming muscles. I’ve got a few projects planned over the next few months. One that I’m most excited about kind of goes back to my beginnings. My first programing project was a picture view written in Visual Basic. While it wasn’t much to look at, I was still proud of it. This new project will go just above picture viewer into some organizing territory, and this time it will be written in Python/GTK+ and targeted at Linux. While I’m writing it as more of a programming exercise and am not aiming for anything close to iPhoto or Picasa right away, I do hope I stick with it as a long term project.

That will cover some Python and desktop programming warm ups, but another area that I’m not as rusty in, but still need some refreshing is web development. What I want to do with this is just a little recipe database for use inside my home network. With it I’ll be brushing up on my PHP, HTML, JavaScript(maybe some AJAXy stuff), and especially MySQL(I really need to work on my database programming). If I get right to it and don’t get too distracted, this could easily be a weekend project, but I don’t see myself getting that much free time.

Finally, I plan to branch out into something new, mobile development. This one is the most distant, and most subject to being forgotten about. I don’t even know exactly what type of program I want to write yet, but I do want to do a little bit of Android programming. I also need the Java practice since it’s one of those things I’ve learned in school, but never actually put into practice outside of the assignments in class. Overall I think they are some solid projects and small enough in scale to make them quite attainable, assuming I can just find the spare time.

Easy Compromise For Ubuntu

In the latest builds of the testing version of the next version of Ubuntu, the Ubuntu team has made a slight misstep by making the Google search bar default to a custom Ubuntu start page. As far as I’m concerned, Ubuntu adding its own custom search to default search bar from ad revenue is perfectly acceptable. In fact, if I were to make my own distro, I would likely do something similar. The only real problem is that they are replacing Google with their own custom search. Even if it is based on Google, it should clearly be branded as Ubuntu search, with a “clean” Google still available. Just make it easier to opt-out, that’s all that’s needed, though I would prefer they go even further and offer search options on first run with the Ubuntu search as the default.

A Month with a Nokia 3555

For the past month or so, I put away my shiny Nokia E71 and have been living with a dumb phone, namely a Nokia 3555. While they are both Nokia phones and the 3555’s S40 might bear the slightest resemblance to the E71’s S60 OS, they are completely different beasts, but the 3555 with S40 comes out surprisingly well. The 3555 came free for signing up with new service with Cincinnati Bell. It actually looks a bit nicer and seems a bit sturdier than your basic free phone, and it’s also 3G, though that part may not matter much.

Coming from a smart phone, I don’t really use voice much, but instead use text, e-mail and web browsing. While I knew a non-smart phone wasn’t really meant for this, I just wanted to see what was possible out there. Out of the box the situation was grim. No mail client and the built in web browser isn’t that great it slow, and while it renders well for this class of phone, it’s far from ideal. Text messaging at least was alright(about the same as every other phone), though the lack of a QWERTY keyboard took a long time to get used to, but now I can finally type on T9 after all these years.

Despite all the initial shortcomings, I soldiered on with the phone, and lucking it supports mobile Java apps quite well. While S40 isn’t a smart phone OS like S60 with all its native apps, S40 does at least support a wide range of Java applications that really saved the day for me. The first stop was Opera Mini. If you have a dumb phone, or even many smart phones as a backup, get this browser. I was already a fan of Opera Mini when it replaced Blazer on my Treo 755p to make web browsing usable, and I even have it on my E71 as a backup web browser for the occasional stubborn site that won’t let the native browser display it nicely on the small screen. Messing around page layouts to fit to a small screen is a tricky thing, but I don’t think anyone does it better than Opera. It actually made browsing on my little 3555 pretty decent. As for mail, I’m not aware of any JavaME  POP3 or IMAP clients, but I use GMail, so Google mobile app worked admirably, though I’m not a huge fan of the GMail interface it general, but it gets the job done. One more must have app that I was able to use was Google Maps, though the 3555 has no GPS, so not as useful as on the E71. One major issue I had with the 3555 was the data speed. While EDGE data on the E71 isn’t fun, it’s near unusable on the 3555. 3G on the 3555 feels closer to EDGE of the E71, though a lot of this could be attributed the slower rendering of the browsers, and at least the job does get done for the most part.

All in all the 3555 far exceeded my expectations as an “in between” device, though it obviously does not end up as practically a laptop replacement for communication purposes like my E71 and most modern smart phones can for many people.While on the go I could get basic mail and web browsing, though unlike my E71, I would still end up looking for PCs to use. The moral of the story is that I was pleasantly surprised by the 3555, but I’ll be keeping the E71(or some other smart phone) while keeping the 3555 in a drawer as a backup.

Tor Relay

In addition to setting up a proxy, also consider setting up a Tor relay. Instructions are here, and should be possible for even the less technical among us. I’ll probably end up keeping the Tor relay up and running no matter which way the Iran thing goes since there are people else where under oppressive regimes that are constantly monitoring internet traffic(China, North Korea, UK, etc).