Cosmoviking platforms.

So after last weekend’s conference, I came away with two things: one, sickness, two the idea of responsive web design for ComsoViking.

That’s always been a concern of mine: I want people to play the game. I have friends who have iOS devices, I own an android, and another who owns a Windows phone. That’s looking at three different platforms, plus of course the native Java I’m programming in to get the concepts down flat.

That’s a lot of GUI bullshit to get it t work.

Then, it occurred to me again (I saw again because I had thought of this before, but not thoroughly enough), why not program it for a browser? Technically it’s workable. The connections to the SQL database through PHP would work fine. Layout and interaction could be handled by html. Everything is handled via Menus. The biggest hang up would be to figure out how to use the “back” button, but if done right, that’s less of a concern.

The biggest advantage: 100% compatibility among any platform, including internet TV. No need to figure out how to do something in four different aspects: design a responsive site that works with the PHP, most of the hard work is happening server-side, and the game is good to go.

Even the plan to offer it in two forms would work: one for free, the second (which is at least double the exploration, more ships, more options) could be subscription.

So. We’ll see how it goes. I’ve got to get off my butt and do something with it once I feel better, the first couple images came in and things are looking sweet and awesome. Good times, good times!

CosmoViking…APACE!

Still working on the game on occasion. Now that the classes have kicked back in full time, it’s actually been nice getting back in to the swing of having more to do than I’ve had for the past year.

This coupled with getting back into Skyrim for a bit (I know, I know…but I less than three that game) has killed some time.

However, today, during one of the conference talks that was a bit beyond my necessity level (so I stop listening) I got the battle system worked out completely now. The correct messages are being shown, the correct adjustments to the ship are being done. My next two goals for CosmoViking (since Keith has gotten the ship graphics down) will be to work with the “rewards” at the end of the battle (or on finding a new star system), and getting the ship purchase functions ready to go.

Once that’s been put in, I really need to take a look at these “balance” sheets again for each ship. The intro ship is getting its ass kicked. Which, at the time being, is pretty much what I want to happen, to help ensure the need to earn more money and really earn some cash to upgrade the ship.

At the very beginning, a player will have to do some exploration to find another planet. Then they can start thinking of bounty hunting (really NOT recommended with the entry-level ship), but definitely trading, and hoping like hell that they’re not attacked. If they are attacked, they may win they will likely not. The next level of ship up isn’t a huge cost, but it’s absolutely required that they get the idea down of the basic ideas of earning money: exploration and trading. Once you’ve got those basics down, then a person can consider the next style of ship to tackle.

Good times!

GUIs are a pain.

All I want to do is have different GUIs set up to call when that function of the program needs them. THAT’S ALL I WANT.

Well, not all I want, I would also like the program to run in an intelligent manner. Actually, I would like that more than the different GUIs.

That’s pretty much the story of today’s programming. It wasn’t a complete bust, I did get the basic functionality for pillaging, nuking, or settling on planets, not to mention a bit more efficient check for visited systems and a better mapping string to flag planets on the string. This weekend I had completed the assets for system/planet descriptions.

I have the feeling that this would be less of a pain if I wasn’t randomizing the systems and planets available to each new game. On the other hand, that’s a challenge that was figured out right the first time. Adding the descriptions in were a bit of a pain today, but workable.

I need to get some basic GUIs set up at about this point in the game so I can see the functionality of the additional classes created from here on out as far as the battle system and the merchant system is concerned.

So that’s tomorrow’s job. $R(#&’n GUIs.

CosmoViking programming pause

I need to continue the planet descriptions…I got through about a quarter of them last night (I had to lecture last evening). I plan to finish that up today.

On the programming front, I’m going to take a short break from the programming of the game to mess around with the android SDK. I RPG about once a week with some friends (like Keith and Kuha) and since I’m a relative n00b at the process, I have no dice. It’s always a pain to rummage through piles of dice trying to find the one ten sided die (there may be like two of them, possibly, between Kuha and Keith), or to try and find the 8 sided die. Or the caltrops that were thrown to stop a celtic cavalry charge the last week.

Naw, I’m kidding about that last one, but Dice do hurt a lot if stepped on.

Instead, I’m going to use the very small amount of skill I’ve got and program a small dice rolling program for android. That way I’ll have all the dice I need on my phone. Sure it doesn’t come in handy dandy little bag, but it’s better than nothing. And is likely some good training for porting CosmoViking over to android in a couple weeks’ time.

Not a whole lot of programming today.

There were a confluence of things that cut down on the programming. However, I did get around to setting up another subsidiary java script that will allow me to type up all my planet/system descriptions and save them as their own file. I had started doing that and got about 3 files in…that’s when I thought to myself “I’ve got to do this 137 more times?”

It wasn’t the description, it was the task of going new file, then renaming the file, then opening it in the program, editing it, and saving it. I did it three times when I thought to myself “Good lordy, there’s a better way somehow isn’t there?”

I’d already been populating planetary files and game files, reading/writing/creating files per game iteration…and setting up load buttons. It was pretty sweet.

Today involved a little bit more programming/adjusting with textfields and buttons and event recognitions. It was a bit of a pain to figure out exactly what I was doing, but after typing out three sample programs from my java book, I grasped on pretty quick how to handle it. The program is slick. Very pared down graphically, doesn’t look like much, but it does the job I needed it to do (take all of the repetition and pain out of creating new files and renaming them).

Now, it will run through as many times as I need it to, take the description text from the text field, open a new file, drop it in there, and move forward. Since the names of the files will be the numbers of the systems, it makes it really easy to deal with.

Yesterday I mucked about a bit and got a preliminary system map display (with x’s and o’s) to test the movement functionality. Some of the things got fixed from that. This evening I’ll finish writing the descriptions for the systems and planets, and tomorrow will integrate the functionality of the ship battle system with the description and system exploration. Now that I know how to do button events, and set up display frames, it will be much easier to test functionality and bring things up to where I’d like them for slicing in graphics.

After that the space time continuum is programmed and working, then the work on the settlement part begins. Once the settlement and such is figured out, then the mercantile system will be put in place. Then the mission situations will be put in place. I am really excited, this game is coming together almost hand in hand with what I’m learning in the java book.

Also, learning file manipulation is really handy for the web work I’m doing.

Ship battles

So I finished the list of ships this morning and the way to change/adjust and go about loading the enemyShip class in Java. This afternoon was spent programming the battle system that would pass in your ship as well as create the enemyShip based on what/where the fight is taking place (and whether or not it’s a bounty attack or a ship move).

Once the basics were done, I ran some reports on that (over 100,000 battles “fought” with ship types), then I tweaked some of the attributes of the standard ship classes and ran it again.

Then this evening I programmed in the ability to dodge or to miss dependent on the maneuverability of your ship. It necessitated increasing by about 4 times the amount of munitions increased with each standard ship class. Now I’ve programmed in the “runaway” function (just to test what percentage of battles would work like that, were a human to run when the HP was less than 25%), still a lot of draws happening. I may have to increase munitions again.

I am going to check yet this evening, and then set the program to fight through the ship battles by about 10 fold more to crunch the numbers to see what I can see regarding the tweaks.

I don’t mind some draws happening (when it’s between ships of the same class, for instance) but one third of the battles here were draws and that is problematic for balance issues.

To be completely honest, I never imagined the amount of work that I’m putting into just starting with the balancing out of the ship classes. And to also be completely honest, I never thought I’d have this much fun just looking at raw win/loss rations when looking at classes of ships.

Good times, good times. Soon, I’ll get into the GUI walk throughs in my java book, and have some rudimentary user input to start testing the flight/battle/pinging options.

All in all, this was a very good day.

Programming a game

As I had mentioned before, I’m working on setting up in Java (a new language for me, but reminiscent of C++ and familiar enough that I can hack it with the help of one of the books I bought for it) a game. I am using Java because, as Kuha pointed out, Java seems to be the language that ports the easiest over to android and to Windows 8 (and windows phone). This I like very much.

I am programming something along the lines of a space exploration/settlement/trading/bounty hunting game. There won’t be real time combat, it will be simplified combat. The trading will be mildly more complicated, the exploration will be fun (something lacking in the pirates/taipan type games), and the settlement options I hope will be enjoyable enough not to make it a pain in the butt.

I’m also hoping the game will be enjoyable enough to play for short bursts of time, longer if you wish. As well, since the entire system is randomized for planet locations, it promises a bit of a different game each time around. I’m planning on at least 20-30 ship types too.

Why so many ship types? Because there will be benefits dependent on how you want to make your money (settlement/exploration, bounty hunting/pillaging, or merchant class). Or a mix of all of them.

I’m adjusting number of ship types based on my experiences in Privateer. You had a choice of one of three ships: slow and armored with minimal merchant space, but heavy heavy sheilding, medium class ship that wasn’t as slow, not as armored, but lots of merchant space, and then the mercenary class ship (fast, heavy weapons load out, minimal merchant space). I always felt that when you went the mercenary route that you left out the merchant aspect of the game (and the ability to make much cash on the side while killin’ pirates and the like), and it bummed me out. So I figure 20-30 different styles of ships will help people avoid similar circumstances.

We shall see though. I’ve got a bunch of work to do on the game before programming such things into it. The other day I got the system generation down, learned more Java, and will begin programming the game states (read: where you are and the options thereof) this weekend.