Ferby's Blog
These are just some random ramblings, because I have nothing better to do with my time.

Sunday, September 30, 2007

Blitting

By John, Annie, Lucy and the Woof-Woofs at 2:21 PM

So I messed around with the graphics today and changed the way the game is drawn into a blitting strategy. This allows for me to not use Java's default way of handling graphics. So instead of a GUI way to doing things I am now using more of a game way of doing things. Read here for more information on what I used.

I also reworked the fps counter so be more accurate (counting frames rather than guessing based on time spent updating and drawing). I have also fixed the collision so that npcs will not run over you. Plus a few other minor code changes.

I'm getting between 100-120 fps now which is more than enough, but I'm still having the movement bug that Nate noticed. Sorry not sure what that is about yet.

 
Category:

Thursday, September 27, 2007

Input goes OO

By John, Annie, Lucy and the Woof-Woofs at 10:18 PM

Created the Key Manager. Now I just have to add a check and a new class when I create a menu or something else that needs key input. I also refactored some code into an update() method in the for(;;) loop. This seems to be a performance hit. I'm not sure why or if it might be my imagination. Either way menus are next.

 
Category:

Chatty Entities

By John, Annie, Lucy and the Woof-Woofs at 6:29 PM

Like I said last time I got portals working and while doing so I refactored code a bit which produced a familiar bug that entities would move a few pixels every time I'd move and then snap back to their tile. This was a familiar bug, one I had fixed with a couple of methods that would check direction and adjust the entity's position accordingly. It seems that when I refactored the code those methods were no longer needed. So now the drawing works like it should have before without the hacks.

You can now talk to Npcs and they will cycle through their dialog. I also have some more collision detection in to make sure that you don't run over an npc. Now if only they'd be so nice to check to make sure you're not where they want to walk before they run over you.

 
Category:

Monday, September 24, 2007

Portals

By John, Annie, Lucy and the Woof-Woofs at 10:46 PM

Yay, portals and changing maps are in. I also added a fps counter to the title bar and I added a delay to the update function for Npcs so they don't wander constantly now.

 
Category:

Wednesday, September 19, 2007

Version 0.1 Demo

By John, Annie, Lucy and the Woof-Woofs at 10:27 PM

I just released the first demo of the game, release 0.1 (Yay!). You can find all the details about what is in the demo by following that link. This release is basically a graphics demo. There are no real game elements to it yet. Fortunately there are a lot of things happening in the background that are game related that you don't see, and they will make my life easier when I get to more game logic stuff later.

One of the things I want to do with each release is to post what I plan to have for the next version. I posted a list in the release thread of those things that must be in the release, those that I want in the release, and those that I'd love to have but most likely won't see till a release after that.

There are three basic things that must be in the release: menus, changing maps and the object managers. Now the first two are things that you will see and be able to play with in the next demo, but the third is one of those background things that helps me but you never see. Right now I have plans for three managers to help me handle things. First is the key manager which I talked about already. It will handle key presses for the various "focus" components(anything that requires navigation). The second will be an asset manager. This one will handle any external files, images, sound files, etc. This will store all of these files and allow me acces to them from anywhere. This will save memory space by not having each object have its own file when other objects use the same file. The last is an entity manager. This manager will store all the game objects, the map, hero, npcs, etc. Since these objects get passed around to all kinds of different classes it will be hard for me to make sure that they all point to the same object in memeory. This manager is my answer to that. If a class needs the map object then it will call a method in the entity manager and the manager will send the object to that class. Thus making sure that every class uses the same instance of that object.

I haven't set a date for my next release mostly because I don't know when I'll be ready for it. With moving coming up in the next couple of months my time will be shrinking rapidly and my motivation will no doubt wain. Still I'm thinking that I can get this next one out the door before the move happens. And I'm hoping to have an Alpha release ready to play by the time Christmas break rolls around. More details about the Alpha will come later, but I'm thinking it will have all the basic game play ideas in, but not the story.

One last note: I do plan on releasing a postmortem about this game a few months after I finish it. I'll be hitting you all up for proof reading when that time comes.

 
Category:

Friday, September 14, 2007

Parsing and Drawing

By John, Annie, Lucy and the Woof-Woofs at 8:53 AM

I hit over a 100 revisions last week(Yay).

I've written 4 of the potential 8 parsers. Chest, Map, Npc, and Portal are finished and I'm waiting on Hero, Item, Monster, and possibly Options. I'm waiting on the first 3 of those till I'm working on combat since I don't know what things I will need to store for the monsters and items yet. I'll have a much better idea later when I'm acutally working on them.

In the mean time I've been working on the GUI. I've sperated out the drawing code and I created wrapper classes to handle drawing certain this. I have Panel with at the moment just draws a background with a possible border. Eventually I think I'll make them so they hold other components and I can just "attach" labels and such to them and only worry about having to draw the panel from the drawer class. I created a Label class which will draw text with no background, you'll have to place a panel behind it. StatBars are for things like the health bar, mana bar and possibly the experience bar. I'm currently working on the ChatBox and once that is done I'll do the MapDrawer. Once I have those finished I plan on working on menus for combat and game options. I haven't decided how I want to handle inventory stuff yet. I'm thinking I'll have a menu for that. You go into your inventory and select an item. Options on what you can do with it will pop up (Equip, Use, Destory, etc.).

As always comments and suggestions are welcome either here or on the forums.

 
Category:

Saturday, September 8, 2007

NPCs Are Here!

By John, Annie, Lucy and the Woof-Woofs at 3:56 PM

I got the NpcXmlParser working and now npcs are being loaded into the game. I also have the drawing code implemented for all entities. Npcs who are mobile now move around the map with the same smooth movement and animation that the hero has.

Next up is finishing the other 4 parsers and doing collision checks for the entites and randomizing their movement.

 
Category:

Wednesday, September 5, 2007

Loader Problem Fixed

By John, Annie, Lucy and the Woof-Woofs at 11:00 PM

I fixed the problem I mentioned earlier. I also finished the MapXmlParser class and now I can copy that code and edit the elements to match the other 5 parsers.

 
Category:

Xml Woes

By John, Annie, Lucy and the Woof-Woofs at 5:55 PM

After starting the code on the loaders I realize that the way I want to do it might not work. I might have to use the DOM API instead of the SAX API.

I created a map viewer that you pass in the [map name].rpg value and it displays the map and allows you to run around in it without any collision detection and skipping the smooth scrolling stuff.

I'm going to have to sit down and think about how I'm going to do this xml stuff now.

 
Category: