Thursday, February 28, 2013

Is this thing on? *taps blog*

It's been a while since i last posted anything here so i guess maybe it's time!

Not a whole lot has been going on of late of interest but there are a few things. To start, I've been giving myself a bit of a refresher on C++.

I started with Allegro 5 which is quite a nice little library. I built a simple little game engine skeleton to mirror, to some degree, the structure of an XNA game. The library seems to be really easy to use once you get setup (which is also fairly easy) and i was able to make significant progress in porting TinyGame (even if it isn't nearly as tiny anymore).

I next moved on to try out Cocos2D-X, a c++ cross platform port of iOS's Cocos2D. This ones setup proved to be much more of a pain. The documentation essentially has you adding a project to the existing solution which i find to be less than ideal. Once it is setup though, I found it even easier to use than Allegro in a lot of respects. I started work on a Tetris clone to try it out. The framework is fairly straightforward, though some things like keyboard input don't work out of the gate making things interesting on PC (makes sense as a mobile library I guess though).

Most recently I've returned to an older project of mine, currently labeled 2D Terrain Test. The core engine was already pretty stable, but I've been cleaning it up and adding new functionality. My primary objective is to fix the rope physics, but that requires a better environment to test in so I've been working on an in game level editor mode. The terrain system already supports several loading methods, both dynamic and from settings files, but there's currently no way to build them.

That's more or less all for now, not much for nearly a year without a post, but hey, there's been all sorts of distractions! =D Growing kids, Skyrim, Sleeping Dogs, Guild Wars 2, a myriad of indie games (Seriously though, if you're reading this go check out Intrusion 2 at your earliest convenience, it's epic!).

Monday, May 28, 2012

Libraries make things bigger :)

Decided to port my ~90 line XNA project TinyGame to Java using LibGDX, cuz, why not?
The setup (application wise) is fairly similar, and Java is a lot like C# right?

Well, it ended up taking quite a bit more time than I originally assumed (at about 3 hours), but it works, same as the original. Technically, it's actually a bit better now, as the XNA version has an issue with artifacts on some of the sprites due to the way the sprites are packed and  the way things get blended with floats.

One thing I'm not happy about is the 5MB package size... Compared to the 14k of the XNA version, it's a regular behemoth. Most of this though, has to do with how the required libraries get packed along for the ride (The code is only ~170 lines compared to ~90), and with that being said, it's a sight better than a 7MB installer required for XNA 4 (and it doesn't have that pesky Shader 1.1/2.0 requirement).

Anyway, if you're interested, you can download it here and give it a try.

As an added bonus, having written it using LibGDX means the "game" cross compiles to Android. Tested it out in an emulator using both 2.1 and 4.0 and it worked well enough. Too bad a device that fits the game (Tall 480,600 or so screen with keyboard) pretty much doesn't exist. XD

Thursday, May 24, 2012

A very tiny game!

So, last night over in XNAChat, a conversation led to someone mentioning having used 93 lines of code for a fairly trivial sounding task. This led to someone claiming that they'd seen games written with less lines than that. This, of course, I interpreted as a challenge, and got to work.

 Took a few of the sprites from the CQX project, hacked about for a couple hours and, 91 lines later, we have mission completed!



You can try the project out here, and if you want to see the terrifying code I came up with, you can look here.

Speaking of CQX; I've nearly finished refactoring the game state management system. Won't be long before it's functionally back to where it was with MUCH more maintainable, usable, extensible code. Stay tuned for more updates!

Monday, January 16, 2012

Just quick post...

Playing around in Java with LibGDX...



I think I could like this thing. Pretty easy to make it do this easy task. Very similar to the XNA I'm used to, but for the inverted Y.

Also, look out world! My terrible art is approaching!

Wednesday, October 12, 2011

CQX Progress Update.

Progress on the Casual Quest XNA port has been coming along rapidly since project start a few weeks ago. Data driven class, baddy and skill systems are all built and functioning. Collisions with the map are fully implemented for both players and monsters, while rudimentary collisions with skills is in progress and partially working. In game chat is also working at this point.
The project is officially greenlit by the original creator, and I have the support of the current maintainer of the BYOND version. Things are looking pretty good so far, let's hope it continues.

Sunday, September 25, 2011

Network Framework up and going

So, using the Network Library RakNet, I've been able to get some semblance of a Client/Server setup going.
Currently Joining a server, toggling ReadyState, and multiple users mulling about on a map are implemented.

Need better handling of Client Disconnects (Should attempt to immediately reconnect once or twice before dropping altogether), as well as Drop In support (Join while a game is running). Perhaps more importantly, there needs to be some actual GAME (No monsters spawn, or anything like that yet). There's no prediction or interpolation, so it'll be pretty susceptible to lag, and in general, there's a lot to do. But hey, Progress!

Tuesday, September 20, 2011

New Project!

This one is already Designed and Arted up, in fact if you've been around the BYOND community you may have heard of it:



Still in the early stages of development, but progressing nicely. Currently the Networking code is under the lens. More updates as I have em!