Friday, September 23, 2011

Lots of updates

I'm writing this post from my phone because I keep forgetting to write an update when I'm at the pc.

A few things have changed since my last post:

I've put the platformer on hold for now because I couldn't motivate myself with the concept I had planned.

Now I'm working on a tower defense style game with some elements like levelling and permanent upgradesto keep it rewarding.

The 2D camera class has been improved and simplified and I'm using it for this new game.
It centers around anything I want and it moves when you move your cursor to an edge of the screen (not sure if I'll need that for this game though).

For now I have a simple, functional tile system that will do for now.
It's mainly a manager class that holds the size of the map and the tile width and height but it works great.

I've made some sketches and wrote down game ideas while I was at work and it really helped a lot for speeding up the development.
I advise every (game) programmer to do the same, a pen and some paper is still the best way to make concepts.

Anyway, I'll try to add a screenshot of my progress next time when I have access to my pc.


Wednesday, September 14, 2011

Event based game development & platformer

I'm not feeling all that well and I find it a bit more difficult to concentrate, but I've studied some code again and delved a little deeper into C#.

Up until now, I've only used events in Windows Forms programming and used polling (updating and checking everything every frame) for my game concepts.
This tutorial however has helped me understand how to implement and use events to make my code better and easier to reuse.
Simple menu
I've made simple Menu and MenuItem classes together with events to easily create functional menus.
They're a bit ugly now, but I'm still working on improving the logic so bear with me.

I'm studying the platformer sample from App Hub now and seeing how they did the basics, so I can make my own platformer style game and hopefully add some unique twists.

Sunday, September 11, 2011

Camera and learning from code

I've been studying some source code from some examples and this had helped me on creating a simple 2D Camera that can either be moved by updating it and feeding it positions or by letting it automatically follow the position of a game object (by using a overloaded Update method that receives a Vector2 as a parameter).
It also has zoom and rotation, but I can't really rotate or zoom in/out on a specific point yet.

The code for it is a static class that I can reuse in my games and keep on improving whenever I get a new idea for it. Very handy.

I've implemented it in the core of the RPG I'm making and it seems to do quite well:

Zoomed in
Overview of the Kingdom Of Red Lines

(That sprite I'm using there is borrowed from RPG Maker VX by the way, and I use it only for prototyping, I still have to draw one if the prototype works.)

I'm thinking about either making a platformer or a tower defense game now to get a little better hopefully. Although this is a step in the right direction for the RPG, I still feel like I don't know enough yet to create everything that is needed for a fun RPG.

EDIT: I've also made a small video too:

Thursday, September 8, 2011

Small Updates

Ballz title screen
I've worked a bit on Ballz, I added a title screen and a game over screen and got rid of some bugs.
The spawn rate of birds is higher now and for every level up you get an extra ball (might make this every 2 levels or add this as a perk in the near future).
I've cleaned the code up a fair bit too because I rediscovered the GameComponent class (this blog helped me understanding it much better than the e-book I read), so every state in the game has a different component assigned to it that only activated when needed. (Title screen, in-game and game over)

I've also added a little indication in the RPG as to what tile is activated when you press the action button.

My "RPG"
I'd like to finish up the Ballz game now and start another project to work on and gain some more experience.

Maybe I should think about creating something a little more advanced, but not as complicated as an RPG for now, I got a feeling that if I now blindly start coding up the core of the RPG, I might have to rewrite most of it later on because I'm still not familiar enough with the XNA framework and maybe even C#.

The learning process is going well, but as with all things, I guess it needs time.

Tuesday, September 6, 2011

Ballz Update

I'm getting faster and better at writing code it seems.
I've added the following today:

  • spawning birds
  • level and experience system (that doesn't do anything yet)
  • improved collision of ball and paddle a bit
  • modified my sprite class so I can choose what frames exactly I want to use from a spritesheet to show an animation
  • added death "animation" and sound for the birds
  • bouncing sound changed, it was way too annoying and distracting
  • added bounce sound to paddle/ball collision (before only the wall bounce would make a sound)
  • added a small class for showing floating text (e.g. "EXP + XXX")
On the right you can see the result.
It's not much, but I'm glad this first project is coming along nicely.

I'll try to include a video next time, so the changes are more clear.

Monday, September 5, 2011

First Post!

Welcome wanderer,

I'll introduce myself:
I'm a 22-year old belgian hobby programmer and gamer with only basic programming skills.
There are a few apps I've made, but those were very simple and were made some years ago.

Hungry for more, I've started developing again last year on Android.
The learning went.. okay, but I still didn't really have a clue about the finer aspects of Java and the Android SDK.
Recently I gave it up because I wanted to make a game, and that just wasn't possible with my low knowledge of the framework.

Alpha of Ballz
So I went back to my old friend C#, who I was familiar with because I had written some programs before with it, and I always thought Visual Studio was the best IDE for me personally.
Using C# together with power of DirectX using the XNA framework is really enjoyable.

I'm still struggling though, but this time I feel I can make it and create some cool applications and games in C#!
Currently I'm working on creating a simple BreakOut style game to get more familiar with XNA and game programming in general and also a small RPG but that's in a really early stage.

Here's an early screenshot from the BreakOut style game named "Ballz" for now: