Impressed with the ipod touch
April 21, 2009 at 12:01 am | In Uncategorized | 3 CommentsTags: ipod touch new toy
I’ve got to say this new iPod touch I’ve gone and bought is pretty bloody cool. I’m typing this post on it right now actually. It’s pretty fast for typing on and it corrects a lot of words automatically when you get things wrong.
So yes, apple, you’ve done well here. I’m getting addicted to it. It does so much. It does make me want an iPhone now though to get the gps and phone too.
I love tower defense games
March 16, 2009 at 1:36 am | In Uncategorized | Leave a CommentTags: addictive games, master of defense, tower defence, tower defense
I’ve just spent the last four hours playing a tower defense game, this one’s free and here’s the link: Play Warzone – Tower Defence.net, for your tower defence games
I just find them very very addictive. I’m tempted to take a quick break from the platform game engine and make a quick one myself. It’s always good to have side projects and I think this would be a good one, they’d be some nice programming functions in there too, like A* pathfinding and a lot of code using types for the different towers and enemies.
Another one I really like is Master of Defense, http://www.master-of-defense.com/ this one costsjust over $20 but is well worth it.
The only real problem I have with them is the amount of time they take up. Before you know it, it’s dark outside and you’ve been playing all afternoon. It’s like playing World of Warcraft all over again!
I’m supporting the people of Gaza
January 8, 2009 at 8:30 pm | In Uncategorized | 3 CommentsI know this is very off topic but I wanted to write this.
I just read that in the last 13 days. Over 700 palestinians have been killed, several hundred of these were children, and today, 2 aid workers were shot and killed by isreal even after being given the green light to go into the area.
This makes no sense to me. Why aren’t all the other nations condenming Isreal for this clearly random bombing of Gaza? How is it fair that a technically illegal country which Isreal is, is allowed to murder so many innocent people? The people of Gaza were there long before Isreal was and have only attacked Isreal in the past due to Isreal blockading supplies and making life very hard for people in Gaza.
Isreal is not acting proportionally to the attacks they’ve had from Gaza, they are simply murderers using the small number of Isrealis killed by rockets from Gaza as an excuses to kill hundreds, soon to be thousands of civilians in Gaza.
Sorry for the long delay…..
January 5, 2009 at 5:57 pm | In Games development, blitz basic, blitz3d | Leave a CommentTags: blitz basic, blitz3d, game development, Games development
I’m working on a busy project out in Dubai right now. I finish it early next week, after that I’ve got over two weeks off work with nothing much to do besides the odd trip to go see some freinds.
This all basically means I can spend time working on the platform game engine from the start of next week. I’ve been putting it off for a number of reasons, the main one being that I’m worried I’ll not be able to live up the expectations of my subscribers, but I think I just need to forget about that and get on with it. So remember to check out my channel: http//www.youtube.com/amcadam26 and subscribe too so you get emailed when I post new videos.
Big tutorial update on my platform game engine
November 9, 2008 at 7:26 pm | In Games development | Leave a CommentTags: blitz 3D, blitz basic, Games development, platform game engine
I normally upload tutorials that just cover one extra function. But with the platform game engine, it would take me years to do all the videos to cover the whole engine. So I’m choosing instead to kind of copy what some other developers do on youtube and just upload every few hours while I work on it. This means every few minutes in the clip you see what I’ve done in the last few hours. It’s good cause it means the code gets written much quicker.
Check out my latest video now: http://www.youtube.com/amcadam26
Blitz3D Showreel uploaded to Youtube
November 6, 2008 at 5:10 am | In Games development | Leave a CommentTags: blitz basic, blitz3d, games showreel, Indie Games
I’ve uploaded a video showing some o the best games made in Blitz3D. this is an answer to the mails I get asking whether Blitz can make any good games:
http://www.youtube.com/watch?v=w149E_VnO_o
I can’t stress enough, that the quality of the game is due to the time, effort and skills of the development team that makes it, the actual language used makes little difference. Blitz3D may be limited to Directx7 3D effects but is stil capable of making very good games. It really comes down to having a good design document for your game, putting in the time and effort, and not expecting to write the next killer game in one night, even the simplist games will take days to write and get them to the point where you could show them to others and release them.
Using functions in Blitz3D / BlitzPlus
October 30, 2008 at 9:45 pm | In Games development | 2 CommentsTags: blitz basic, blitz3d, functions, Games Programming, indie development, indie programming, programming
I’ve had a request to show how to use functions in blitzbasic from TheLividePianoist, I’ve been slow to answer, so here we go:
simple maths function:
purpose of function is to return double the number you send it:
<code>
x = 2
y = double(x)
print y
waitkey
function double(z)
return z*2
end function
<end code>
The function header: function double(z) just means that the function is called double (you can call functions what ever you like, as long as there’s not already a function called that), and the (z) tells it to expect a variable called z. z could be anything, in this case it’s a number.
when a function exits, it can either just end using the “end function” line, or it can return a value to the part of the program that called it in this case it’s “y=double(x)”, x gets passed to the function, which get’s written in z, which the function doubles and returns to that part of code assigning the return value to y.
Here’s another quick example:
Say you always centre your text, using text x,y,”hello”,1,1
Instead of having to write ,1,1 on the end everytime, why not write a function called ctext that automatically centres your text?
<code>
graphics 800,600,32,2
setbuffer frontbuffer()
ctext 400,300,”This is the centre of the screen!”
waitkey
end
function ctext(x,y,mytext$)
text x,y,mytext$,1,1
end function
<end code>
The function declaration: function ctext(x,y,mytext$) tells the function to expect to be given an x number, a y number and a string of text (hence the $ after mytext):
Then instead of returning a value, we simple call the text function with these values and put ,1,1 on the end to centre the text over the x and y coords chosen.
Hopefully this has cleared things up a bit for you, if you’re still unsure, please let me know.
New Tutorials on writing a platform game online now
October 13, 2008 at 9:31 am | In Games development | 1 CommentTags: blitz 3D, blitz basic, Games development, indie coding, platform game
I’ve begun producing a series of tutorials on how to write a 2D sidescrolling platform game using Blitz Basic. These should work fine in either BlitzPlus or Blitz3D (or Blitz Basic 2d if you want).
So far we’ve got a basic tile map editor and a character who can run left and right and jump.
I’ve got some ideas for what features to add, this has mainly been by looking at major platform games that have come out over the last 20 years and picking out the common features. So we’ll be trying to add the following:
slopes, lift, floating platforms, doors, animated tiles, treasure chests, enemies to be jumped on, breakable tiles, flying sections, powerups and what ever else I can think of.
I’ve already had a number of mails showing interest in this series, so I’ll try to make it a good one. I’ll try to get a general level structure working first, then each tutorial after that will look at adding in more features.
Aside from that, there’s the level editor tutorials. These will have to tie in with the platform game videos. So for instance, I’ll produce a level editor video which adds doors onto the level, the type of doors you get in mario which basically transport you from one area of the level to another. So obviously we then have to add the code to the game engine to handle these doors. The ordering of the videos will be a new level editor video, followed by a game video when adding new features in. Sometimes you’ll see a new game video without a level editor one for when I’m updating the game engine but not affecting the level structure. Level editor’s are very closely tied in with the game engine, but not totally.
The ultimate goal with these videos really is to build a generic platform game engine, that can be used for any type of platformer. So whether you want to write a mario style game, a megaman or a sonic game, you’ll be able to use this code.
The next step will be to use this code as a base for an overhead RPG tutorial series, but that’s a long way off yet, and will involve much more complex functionality such as conversation code for speaking to characters, quests surrounding a storyline and a complex inventory system.
Anyway, here’s the link, go enjoy yourself: Click Here!
Platform game WIP post 1
August 22, 2008 at 8:20 pm | In Games development | 1 CommentTags: blitz basic, blitz3d, Games Programming, indie games development
I’ve started writing a platform game. My feature list I’m aiming for is based on games like Mario and Sonic, so moving platforms, enemies you can kill by jumping on them. But I also want to put in more advanced features like wall climbing, swinging on ropes, large sprites, full screen graphical effects, etc….
The main problem you hit when writing a platform game is deciding how to structure the levels in memory. I’m going for a basic approach of using a 3 dimensional array. The first two dimensions are the grid reference of the map tile, and the third is the type of tile. So map(3,4,0) would be the tile type at grid ref 3,4, and map(3,4,1) would be the collision type of that same tile. A value at map(5,8,2) is an object at that grid reference, right now I’ve got coins and alcohol workign as objects to pick up. Coins give you points where as alcohol bottles make the whole screen go wavy using a simple screen effect I came up with recently. I’ve almost finished deciding how to put in the enemies. As the enemies won’t be set in place at map coordinate, they will have starting coords, then move freely from that point, so enemies will exist outside of the map array as seperate objects of my enemy type. The enmy type contains fields to cover things like: movement speed, graphic name, behaviour, hit points, etc…. I’m hoping to be able to expand this to use it for RPG characters in a later game.
Anyway, back to the map editor, I’m going to try using a GUI module for blitz3d, there’s a number of free one’s available from the blitz website that look pretty good. I’ll want them to be able to access different tiles and objects for placing on the map. Currently it works by pressing the space bar to switch between tiles and objects, and then scrolling the mouse wheel to switch tiles or objects. REally I want a grid showing all the tiles so I can select tiles from there and also see all the objects and any other features to add to maps. Such as player starting places and enemies too. I also need to be able to specify level size, background graphics, weather effects, and any other settings for the level such as time limits and where doors lead to, the list is pretty endless. I think the main things is to get the basics working first, enough for a simple game to work, then add things to it one feature at a time, until I have a complex level editor. Of course the game has to be able to handle all these features fo the levels too, so any level loading code is shared betwene the level editor and the game using an include statement. This also makes it important to use the same variable names in both the editor and the game. I’ll be trying to share as much data as possible between the two actually as this will aid me in writing further games. Having seperate modules of code, which you can include in other code, is the first steps in writing a game framework, so I could have common code for menu screen, loading screens, options menu’s, controller config screens, that sort of thing. This way I can have several games all being written at once, and fixing a bug in one will fix the same bug in all the other games. Obviously a map editor would only be good for platform games or rpg’s, but other modules such as menu systems, title screens, options screens, would be transferrable over to any type of game. same goes for highscore tables and split screen multiplayer code too.
Obviously with a map editor, there’s no reason I could change my game code to be C++ based instead of Blitz, and keep the map editor written in Blitz, the only problem here would be that the map loading code would need to be re-written into C++ meaning changes to the map code would need to be written both in blitz and in C++.
Anyway, enough rambling, I’m off to go code something. I’m uploading a video fo my platform game tonight, so you can see how far I’ve got with it so far. I’ll also be doing a series of video tutorials on how I implemented different features in the game as I go along. The tuorials may take a while to appear though as I want to be happy with the code before I do a tutorial on it.
My youtube channel is: http://www.youtube.com/amcadam26
Two new youtube videos
July 23, 2008 at 12:26 am | In Uncategorized | 1 CommentI’ve uploaded two new youtube tutorials on Blitz basic. They cover how to replace your mouse cursor with a custom one, and how to do simple animation of images/sprites.
My channel is: http://www.youtube.com/amcadam26
Blog at WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.