Welcome!

Hey, I'm Skylar, a kid aspiring to become a competent programmer. This blog is here to detail my dabbles in development.

My dream is to one day become a professional programmer and do some game development in my spare time.

Thanks for visiting my blog, and I hope you'll come back!

Pages

A Big Low =(

Well school has started back up, and it would appear as I have little to no free time. Any free time I can get, I'll put into Charge development, though. So hopefully during Winter Break, I can get it all finished and polished up.


So I won't be making many, if any posts, during the school year, unfortunately =(.

Yay! Back to it's Former... (Opposite of Glory 0.o?)




Well I just got back from camping today. It felt good to get out and get some of the good ol' outdoors. I caught like 8 fish, so I'm happy =p.

Anyways, let's get back to development. I worked a little bit today, and took maybe half an hour to code in the Drone and Revenant. The glitch is completely gone, and with how easy it is to code in enemies, I'll consider making another type of enemy or two, perhaps. The next thing I have on my list is the Enemy Machines, so I don't know how long those will take.

What I need to do for them is:

  • Create a (global? static?) timer for them to share.
  • Create an integer that will change based on the level (will get smaller and smaller) which will be when the timer goes off.
  • Create a system so that the enemy is created at the machine, and then goes into some row and into the field of play.
  • Maybe have a 'life' element to them so they can't be so easily destroyed
  • Make them be able to shoot every 2nd tiem increment(time increment is the integer I talked about) and the bullet will be shot towards the player.

So it isn't a very big list, but some of the stuff may get complicated.

So after I get that done, I just need to add in the protector, then I have a whole lot of effects I want to code in. After all that gets done, I'll consider adding in different types of enemies (maybe a Boss of some sort?). Well that's really all I have to say, I made a little video, but I'm gonna let my friend edit it, so he can get some practice using Sony Vegas, so the vid may look a bit nicer, or not, but hopefully he'll get better and can edit all my videos.

So when he finishes editing that, I'll post it, and let you all know.


Well that's it for me, good luck on any of your own projects.

A Whole Week and No New Posts ???

Well I promise I didn't die =D. Anyways, I've been doing a lot. But I finally got something done, it probably seems small to everyone else, but it's a huge accomplishment for me. I fixed the glitch that haunted me for so long. But now I've actually taken a huge step backward... I recoded the entire game. But the code is now much better. As I was looking at an earlier back up I had, the code was the result of big design flaws. So I got a much better design now, and I'm ready to really start cranking it out on this project.


So now that the little intro is done... Here's what I've been doing...

Well I decided I was going to start delving into a GUI library, I chose wxWidgets and as soon as I got it all set up, I decided that a level editor wasn't that important to me yet. So I looked through some of my books, and found a nice book on AI, so I've been reading that. It has great examples!
It's called Programming Game AI by Example, and I really recommend it =D. So instead of learning a GUI lib, I've been reading up on AI. I've also read a little from Code Complete, so I hope to finish these two books, and more, so I can gain some more knowledge =D.

Anyways, after about 3-4 days of not even looking at the Charge source code, I jumped into it and started code crunching. It seemed all my attempts were futile, so I looked at all my 'design docs' (I use that term VERY loosely) and found I should just recode it. So 3 days after that, I'm here, and I've fixed the bug. The bug was still there 15 minutes ago, but it was a little different, but I was able to fix this one.

So the things that are not in that were in my last build are:
  • Drone
  • Revenant
  • Particle Engine
So it's not really that much. I've decided to throw the particle engine into the whole effects stuff, which I plan to do last.

Right now I wanna focus on the AI. So I plan for the Grunt to be extremely stupid, but it'll be so stupid that it will be like half dangerous. The Drone will be a bit smarter, and the Revenant will have the best AI. From there there will be A-Machines and Protectors. A-Machines will create new enemies every time interval, which is determined by the level you are on. At first it may be 10 seconds per enemy per machine, and it may get to the point where it's less than a second. The protectors are the other type of enemy, they just take bullets for the machines, pretty much, and will sometimes shoot, but that will be an effect thing for later.


So after I get all that AI stuff done, and get the game to a playable state, I'm going to start building up some effects like power ups, particle engine, different bullet types, status bar, (maybe a Boss???), and whatever else I can think of.

After that, I'll try my best to find a graphicist, and sound artist, otherwise it'll be public domain or my crappy graphics.

Well that's all for now, I probably forgot to mention in there, there will be some down time til the next post. I'm going camping tomorrow, and summer is coming to a close. I'll try to get the Drone + Revenant coded before school starts, but once school starts, I don't know how hectic it will be or how much free time I'll have. I'll make posts whenever I can, and have something relevant to post about.

Update for the Sake of Not Updating?

Well, I've been going mad over this bug, I've even rewrote every relevant piece of code, and it just doesn't look like it's going to get fixed. I've decided to take a short break from that, and explore some other things. So I started today and I looked at LazyFoo's tutorials for Creating a Level Editor and Tile Engines. I made my own little demo, and it's pretty sweet =p.


It works just like LazyFoo's but I changed a few things here and there (Didn't Copy + Paste, Mind You). I changed how it checks for a click, by using the state, and not checking only when there's an event, so that you don't have to have a new click. You just click and drag every where. There's also some other stuff I changed, but I can't exactly remember, I'm quite tired right now.

When the level editor exits, everything is saved and then the generated map file can be put into the demo that displays the map and let's you move around. I spent well over an hour creating some complex map with it, and then found the sprite moved much too slow, so I had to crank up the speed =p.

Anyways that's what I got done today. I'm thinking of changing the scrolling in it and having it display the different tiles in a bar that can be dragged around to put it somewhere out of your way. Then you could click to select the tile you want to use. (Thanks to retrothomas for the idea)

Anyways I'm thinking of learning some kind of GUI library, so I can make a nice looking and complex level editor that I can use in future projects.

I have ideas for 2 games I want to make, and I'm thinking I want to make them 8-bit, so I can first of all play around with SDL's Palette system and then I can also make them the awesomeness that 8-bit is.

So right now I'm gonna play around with the simple level editor and make some adjustments with it, etc. Once I'm familiar with the method, I'll start looking into a GUI Library, so if you know of any good ones, comment below =p (Not that anyone even reads my blog xD).

A New Day Brings a New Glitch =(

Video Link!

Well today I spent all of my coding time trying to figure out this nasty bug/glitch. Nothing seems to click with it, I've tested it hundreds of times, I've gone through relevant and irrelevant pieces of code and I just can't seem to find it. Well I'm done for today but maybe someone else can help out while I sleep =D.

So I posted a video which you can see above that show's the glitch, and I've posted all the relevant code in here:

http://palib.pastebin.com/m5314b872


So if you find anything that may help, contact me at xianforce@gmail.com please =/.

Thanks for any support =D.

Day 9 of Charge Development




Well I lied in my last post =p. I said that I was going to work on a different type of bullet next, but as I thought about it, all my bullet ideas really revolve around effects, I think effects should be one of the last things, so I decided to finish all the enemies and get the game play working correctly, then go through and add in all the effects I want and create more levels.

So now I've gotten the next enemy: Revenant.

As of now, Revenants are represented by purple triangles, and in this little test there are a total of 5 enemies: 1 Grunt, 2 Drones, and 2 Revenants.

The Revenants are meant to have the best/most complete AI. I think how I have set them is good for a first level, but I'm planning on giving speed increases, and maybe some 'team AI' in later levels.

Another thing that got done was collision changes. As I was thinking about different bullet types I wanted to implement, it became quickly apparent that circular collisions weren't going to cut it. I needed different widths and heights in some scenarios so I've reverted back to bounding box collisions.

Neither of these things caused any problems at all, the only errors I got were from simple things like forgetting a semi-colon, or forgetting to include a header.

Well that's all that's been done today, I'm still making out some plans for how I'm going to implement Protectors. I'm thinking I'm going to have to implement Protectors and Motherships at the same time to see if they work correctly.


But I've also thought up of a better (in my opinion) game play. Instead of having Mother Ships, I could make some machine. This machine would have a timer on it and would create new ships every so often. As the levels progress, more and more machines are there. Whatever enemy comes out would be either completely random or maybe some kind of order. Protectors would do whatever they could to protect the machines. Like if a player shot a bullet and it was headed towards the machine, the protector would take the bullet.

Well those are my ideas for now, I'm leaning towards the second, because I think it would provide more interesting game play, and that way levels could either be really quick, or really long.

Well, hope to make another post tomorrow, ciao!