Friday, June 12, 2009

Speed Coding

I'm working on a series of videos for youtube based off of those speed painting videos that started showing up a few years ago. I'm going to be making a small game where you have to climb to the top of a tower. In the first video, I set up the basic frame work for the game. The second one is going to set up a basic camera that will follow the player around as he goes higher and higher, and will have all of the floors set up. The third video is going to be mainly about the graphics, with animated sprites and possibly a small particle engine. The fourth video will set up the menu system, as well as a victory screen. The final video will introduce a sound system, as well as a possibly updated control scheme.

Source File:

Monday, June 1, 2009

Anagram Generation

Heres a simple algorithm I developed to test if a word can be made out of the given letters.

  1. Fill a 255 sized array with zeroes
  2. Loop through the given letters, converting them to ascii and then incrementing that location in the array
  3. Get a word from the dictionary file
  4. Do steps 1 and 2 again with the word from the dictionary file.
  5. If any of the locations in the second array are bigger than the 1st, the word is not an anagram
  6. Else, add the word a list
  7. Go back to step 3 untill you are out of words in the dictionary file.

Edit:

Heres a proof of concept for that algorithm. I also made a little bot to type it for you. I'd suggest having a copy of notepad running when you use this.

source code and dictionary file included.
http://www.megaupload.com/?d=A1XVC576

Thursday, May 28, 2009

Demo Rising


Okay, so a beta Demo of Maze Plus should be up soon. Its just one level. The Menu systems aren't implemented yet, so its just a preview of the puzzle system and the graphics, which still need tweaked a bit.
Please realize that this is an early work in progress, and I'll probably release another version before the final project's released. See 2 posts ago with the road map for more info on this.


UPDATE:
The beta demo is now available for download. Post on the comments for this post for any problems/questions/bug reports.

link: http://www.megaupload.com/?d=45MINNBI

Thursday, May 14, 2009

Random Post

So its been a while since I've posted so I thought I'd say some updates.

I've been enrolled in an intensive French course, and since I spend most of my time alone other than that, I really think I may be spending more time in French than English.

My Maze game is at about 0.1.3 right now. I've been working on a few small programs for my own ammusement, so Maze + is on the back burner, but I'm planning on working on it some more tonight.

I'm thinking of setting up some better way to keep my code library organized.

Saturday, April 18, 2009

Mazes Plus current state and road map.


I'm still plugging away at my maze program. My most current version is shown to the left. I just finished the texture generation code for the walls and floor. I still need to do the buttons (currently green rectangles) and make the sky look a bit better. I still have alot to do, so I'm listing how development should be going.

0.0.1 Set up a simple one polygon Map, with the ability for the player to walk around.

0.0.2 Make a simple 4 wall room with basic collision detection.

0.0.3 Set up buttons, and allow the player to use them

0.0.4 Set up the begining of texturing

0.1.0 Basics of the world set up and working (currently here)

0.1.1 Collision Detection set up completely

0.1.2 Doors added

0.1.3 Doors interact with buttons

0.1.4 End of level flag added/implememnted

0.2.0 One complete level set up, Public Beta released

0.2.1 Menu system set up

0.2.2 Level from file support added

0.3.0 Multilevel support

0.3.1 Communications added, (allows the program to put messages up on the player's screen)

0.3.2 Tutorial Level Added

0.3.3 All other levels (aprox 16) completed

0.4.0 Demo released

0.4.1 Reserved for Bug Fixes

0.4.2 Reserved for Bug Fixes

0.5.0 Audio Support added (if time allows)

1.0.0 "Completed" Product released

1.0.1 Reserved for Bug Fixes

1.1.0 Modified for mod support (Map maker should be released some time around here)

1.2.0 Bug fixes

1.3.0 Program 'finished'. No more work to be done, except for any necessary bug fixes.



I'll probably have a playable game ready some time during summer.

Thursday, April 2, 2009

Mazes Plus (the plus is for buttons)


I'm planning on making a program roughly based on Logic Quest 3d. In the game, you travel around mazes in first person. There also buttons that you can push to open and close doors. For example, you may need to open a door to be able to pass through the area, so you go to find its switch, but when you hit it, the place you are in is closed, so you have to go find a second switch to open up that door.

I made a simple drawing in The GIMP to show what the first level might look like. I'm not sure what kind of HUD I'm going to use in it, if any.

I'm considering using procedural generation to make the graphics. Procedural generation where the computer generates the graphics (in this, the images put on top of the geometry, called texture maps). For example, to generate the brick walls, first the computer would start with a blank red image. Then it will draw white horizontal lines across the entire image. The it will add shorter vertical lines between each of them. Finally it will randomly generate some noise to add realism. I followed the same algorithm to make the brick images used in the example shown above.

Procedural generation has several advantages over traditional art. The biggest one is that an image may take several megabites of size if it is big, where as a procedurally generated image only takes a few lines of code. Another advantage of procedurally generated imagry is that by adding some random variables, each image can be slightly different. This is useful if I would want to make an entire forest of procedurally generated trees. Normally, I would have to make many different models of trees, so they do not all look the same. However with procedural generation, all I would have to do is write code for a tree once, then I could let the computer make every tree in the forest unique!

Procedural generation does have some downsides. Mainly it takes alot more computing power to redraw these images every time the program loades instead of just loading it from a file. Also, one has to be careful to make it look realilistic. For the example image above, I decided to quickly come up with an algorithm for drawing the ground, and it doesn't look too good. For the actual game, I will have to come up with a new algorithm that looks better.

I can't say exactly when this project's going to come to fruition, I have a couple other projects I'm also working on, and theres only so much time once can program each day!

Sunday, March 29, 2009

Orbiter on the launch pad.




I've been wanting to blog about this game for a while. Its called Orbiter. Orbiter is a flight simulator, but its mainly designed for flying in space. Yes, the default game comes with all of the planets and a good number of moons. Ever wonder what it'd be like to fly to Venus, or launch a satellite on a Mars? Well now you can try it out.




Not that you'll be able to really do much when you first get it, the learning curve is pretty tough. I'd recomend searching for some autopilot mods. Even someone who's been playing flight sims for years, such as myself, will still take a few hours before you can 'properly' land the shuttle.
I'd really recomend you download as many mods for the game as you can, or else you'll never be tempted to do much more than a few flights.
There are mods to increase realism, replay historic missions, or even build your own space station!
The requirememnts are pretty low (I was running a virus scan when taking the screenshots), which is good, considering you'll be running on accelerated time alot (unless you feel like waiting a year to get to mars).

I'm running my own pretend space agency, and I'm documenting it a bit. Be sure to look out for that.















Get Orbiter :

http://orbit.medphys.ucl.ac.uk/

Get Addons:

http://www.orbithangar.com/