Hello Guest, please login or register.
Did you miss your activation email?
Login with username, password and session length.

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - therabidwombat

Pages: [1] 2
1
Other Projects / [Completed] Dirt
« on: February 03, 2011, 03:56:51 am »
You are the adorably deceased, pickaxe-wielding cat "Dirt," trapped underground for reasons unclear. Where are you? Why have you been falling for so long? What else is down here with you?

Excavate potentially infinite screens of dirt, gems, mysterious artifacts, and clues about... well, that's a little unclear. Why don't you start digging and find out?


FEATURES:
-Endless, persistent world
-Digging,
-Shinies
-Multi-directional gravity using the accelerometer
-Plenty of mysterious secrets to unearth
-Ambient soundtrack carefully crafted to maximise immersion even on iPhone speakers
-You're a skeleton cat with a pickaxe wearing boots

CREDITS
Stephen Gazzard - Lead Programmer
Lopi Mackenzie - Programmer
Jennalee Stad - Concept Art, Additional Art
Josiah Tobin - Lead Artist, Sound Design, Lopi stand-in

Dirt was designed collaboratively with much love by the family of the Broken Kings House.

http://itunes.apple.com/ca/app/dirt/id416198139?mt=8#

2
Other Projects / [Completed] Broken Kings' 2nd iPhone App: Ant Attack
« on: October 29, 2009, 10:27:03 pm »
Hello all you happy Zelda fans,

I am here today to announce something specifically non-Zelda-y. It is called Ant Attack, and it is the second game by Broken Kings, my company. Like Castle Conflict, which I posted here before, it was developed exclusively by myself and former ZFGC member Josiah Tobin (aka FRoG32).






Youtube video:
http://www.youtube.com/watch?v=FDGOkssCIFM

App Store link:
http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=335925156&mt=8

We hope that those of you with iPhones who are able to play it enjoy!

To get you guys started, here are a couple of promo codes:

7FMFXLFE66R4
3P6L7MYF4MXF

3
Hello all,

Long time since I been here ... I've moved on to professional game development and have my own company now ... but this is where it all started for me, back in summer '04, so I figured I'd make a quick appearance and let you guys know that my company released its first game earlier this week.

It's for the iPhone and it's called Castle Conflict. So if anyone here has an iTouch or an iPhone, give it a try! It is only $1.99, so I'm starting small...

Some screenies for you guys:




Website is at: http://castleconflict.brokenkings.com/
It's not much yet, I've got a guy helping me out by making a landing page, but it's not up yet...also have a youtube video in the works. So hopefully there will be something a bit nicer up there shortly.

If any of you are able to play it, let me know!

btw...there seems to be a lot of new faces here. I don't know how many of you guys I actually know anymore. xD Nice to meet anyone new in the past two years

4
Other Projects / [Demo] Population Control
« on: March 17, 2007, 11:07:57 am »
Population control is a game that I made by myself in my own 2D engine. The actual gameplay programming took place starting last Tuesday and ended yesterday (Thursday), so it had a really short development cycle. However, it's a simple game, and it is essentially feature complete. At this stage I may fix up a few bugs if I find any (obviousy there are some somewhere, I'm sure), and maybe add a title/options screen...but that's all that's in the ball park for this game right now.

The graphics are all by me (yes! It's all programmer art!), although I owe credit to Josiah Tobin for helping me with the fox so that they didn't look like red huskeys.

The music is by QK. He claims it sucks because he made it in under an hour, I think it works really well. You decide!

The SFX are all off free internet sources.

And now, a screenshot...


also, a download link...
http://www.stephengazzard.com/Files/PopulationControl.rar

and a link to a page with more screenshots and probably a better description...

http://www.greatgamesexperiment.com/game/PopulationControl/?utm_source=gge&utm_medium=badge_game

Yay.

5
Other Projects / [Demo] Introspect
« on: March 16, 2007, 11:48:17 pm »
Introspect is a surreal painting game that a group of students and I made as part of our game prototype workshop class. The second milestone build can be seen at http://introspect.greatgamesexperiment.com/.

The game is a surreal game where you interact with the world by painting it. It can be downloaded from: http://www.stephengazzard.com/Files/Introspect_Installer.rar.

In order to play the game, you will need UT2004, as this game is an unreal modification.



This game will be getting entered into the EA Reveal competition, next years IGF, and the modDB. Any feedback and (constructive) criticism is greatly appreciated.

Features include:
-surreal art
-interact with the world by painting it
-walking on walls

6
Entertainment / w00t! I just got Shining Force...
« on: November 07, 2006, 10:13:36 pm »
Well, it hasn't arrived yet. But I won a bid on ebay (I know, ebay sucks, but it does have some good stuff, I got a studio ghibli box set for like $55, as opposed to getting the movies at $30 each).

It was pretty cheap, came with box and instructions, compared to some of the other Shining Force auctions I've seen ($60 Buy it now, $55 starting bid? WITHOUT box and instructions?) I got a pretty good deal.

Unfortunately, shipping wasn't listed...but it's not far from here, and in past experience, shipping from CAL costs me between 4 and ten dollars. Unless he pulls a fast one on me and charges me $40 or something, I'm still getting a way better deal than the buy it now, and if that happened, that'd be the e-mail and ask for cheaper, slower shipping stage. :P

Yar. <3 Tactical RPG's. And Shining Force is the one that got me into them, and in my mind, perhaps the best one I've played (asides from Shining Force 2). I could go on a long rant about why the other tactical RPG's I've played I didn't enjoy as much, but I don't think that's necessary...besides, they're all good.

7
Discussion / Short Game Cycle
« on: November 06, 2006, 07:41:38 am »
I've been having programmers block for the past couple of weeks due to frustration with a seemingly unsolvable bug (two of my teachers, a few classmates, Helios, and a very active and smart C board couldn't solve it). In order to get past that block, tonight (aka by around 5:00 or 6:00 in the morning) I'm going to be developing a game. It will be done or cancelled in a matter of hours - and as far as I know, this forum isn't very active this time of day but whatever, I figured I'd post a project here for once.

The game type is simple. There's a board with a start point and and an end point. Your 'player' starts a the start point and ends at the end point. Your job is to place objects on the field to help your player reach that point, and to remove obstacles in the way (or to build onto the level so that it works better). Some objects are activated merely by being placed on the level, and some are activated when the player lands on them. I'm going to start simple - the player can place arrows on the level - and move from there.

In the next five or six hours, let's see how much of a game I can make, and see if it helps me through my programmers block!

8
Feedback / Let's all stop talking about the banana link :)
« on: October 29, 2006, 07:48:55 am »
For the better half of today, I have noticed a severe lack of banana link in linkw's posts, including the exclusion of it from his new posts.

It's getting to the point where I'm seeing people complain about it more than I'm seeing the actual banana link. And I know that I'm not innocent from that...but nonetheless...what say ye all that we let it go now? :)

9
Coding / C++ - code help - class erasing itself? [Advanced]
« on: October 22, 2006, 03:21:51 pm »
Okay, this post got lost last time I tried typing it, so I here I go again...I hope that somebody can help me, because this is a problem that has me completely stumped.

I'm working on a heightmap class to fit into a new direct x framework that I just started about two weeks ago. (Which I basically made for the heightmap) for homework. However, my heightmap is giving me some very strange problems.

Initially, it wouldn't allow me to set variables, at all, inside the heightMap classes init function for example, if I said:

Code: [Select]
device = nDevice; vertsPerRow = rowSize; vertsPerColumn = colSize;

it would give me junk data. I put in a breakpoint to figure out what was going on (after I tracked down where my program was crashing), and it turns out that the variables simply were not assigning. nDevice was a valid pointer, and rowSize and colSize were both 64, but when I moved to the next line, device was badf00d (I remembered that becuase it amused me :P), and vertsPerRow and vertsPerColumn were both very large negative numbers.

In order to solve it, I had to do the following:

Code: [Select]
//I have no idea why this fails to assign properly without this loop
while(device != nDevice) device = nDevice;
while(vertsPerRow != rowSize) vertsPerRow = rowSize;
while(vertsPerColumn != colSize) vertsPerColumn = colSize;

Watch out for that piranha (Forgive me for going off topic - but Rock Lobster rocks)

Anyways. That was solved, albeit in a very ugly away. Later on in the init function, it calls computeInds, which is supposed to compute the indices of the object. It was still crashing, and I tracked it down to that function where it was somehow losing all of it's data. After going through the code via breakpoint, I discovered what was happening. The following is the code where it broke (the -> represents where the breakpoint stopped):

Code: [Select]
-> WORD *indices = new WORD[cellWidth * cellHeight - 1];
if(ib->Lock(0, 0, (void**)&indices, 0) != D3D_OK)
debugger::print("Could not lock index buffer.");
int pos = 0;
for(int i = 0; i < cellWidth; i++)

...

at that point, according to the watch window, the contents of the class were as follows (directly copied from the watch window):


-      this   0x00c92f28 {device=0x0015fd00 tex=0xbaadf00d vb=0x001cc200 ...}   heightMap * const
+      device   0x0015fd00   IDirect3DDevice9 *
+      tex   0xbaadf00d   IDirect3DTexture9 *
+      vb   0x001cc200   IDirect3DVertexBuffer9 *
+      ib   0xbaadf00d   IDirect3DIndexBuffer9 *
      vertsPerRow   64   int
      vertsPerColumn   64   int
      dist   10   int
      cellWidth   63   int
      cellHeight   63   int
      width   630   int
      depth   630   int
      numVertices   4096   int
      numTriangles   3969   int
      heightScale   0.50000000   float
+      heightmap   {_Myfirst=0x00c95a78 _Mylast=0x00c99a78 _Myend=0x00c99a78 }   std::vector<int,std::allocator<int> >


When I move to the next line, the class erases itself (again, directly copied from the class window):



-      this   0x00001f00 {device=??? tex=??? vb=??? ...}   heightMap * const
      device   CXX0030: Error: expression cannot be evaluated   
      tex   CXX0030: Error: expression cannot be evaluated   
      vb   CXX0030: Error: expression cannot be evaluated   
      ib   CXX0030: Error: expression cannot be evaluated   
      vertsPerRow   CXX0030: Error: expression cannot be evaluated   
      vertsPerColumn   CXX0030: Error: expression cannot be evaluated   
      dist   CXX0030: Error: expression cannot be evaluated   
      cellWidth   CXX0030: Error: expression cannot be evaluated   
      cellHeight   CXX0030: Error: expression cannot be evaluated   
      width   CXX0030: Error: expression cannot be evaluated   
      depth   CXX0030: Error: expression cannot be evaluated   
      numVertices   CXX0030: Error: expression cannot be evaluated   
      numTriangles   CXX0030: Error: expression cannot be evaluated   
      heightScale   CXX0030: Error: expression cannot be evaluated   
+      heightmap   {_Myfirst=??? _Mylast=??? _Myend=??? }   std::vector<int,std::allocator<int> >


I attempted to solve the problem by storing a temporary copy of the class in case it erased itself, as follows...

Code: [Select]
heightMap temp = *this;

But that failed, as when the class got erased, so did that.

I modified the code to not attempt to allocate any memory, seeing if perhaps that was the problem, so that it ended up looking like this (again, the -> represents where the breakpoint was placed):

Code: [Select]
WORD* indices;
int pos = 0;
-> for(int i = 0; i < cellWidth; i++)
...

When I ran the code, at that point, the class was still good. However, when I moved to the next line, the class, once again, erased itself!

I'm at a complete loss what's going on here. This heightmap has been just as confusing as the one time I had both an if and it's else executing at each pass. If anyone has any idea what could be wrong, I would love to hear it, because I need to use this framework both for my shaders class and the class with heightmap/camera/collisions/etc. in it.

10
Entertainment / English Bleach Sucks.
« on: September 09, 2006, 06:09:19 am »
I just watched it (I didn't evne think I had the channel or the time XD).

It sucked. My girlfriend and I, who have seen the subs, laughed at parts like when Karin and Yuzu were hurt, even though they're supposed to be emotional or whatever. And my roommate, who I was trying to pimp Bleach onto, just sort of stood there and say, 'uh...huh' the entire time. D =

So. Sticking to subs, am I.

11
Coding / Debugging Guidelines
« on: August 28, 2006, 04:05:09 am »
I'm writing this topic to help the many programmers out there. Now, in general, these techniques will probably be most effective with C++. There are reasons for this:

1) C++ has a huge user base, so there is a lot of information about it.
2) I use C++.
3) The C++ questions asked around here are usually painfully simple to solve.

As you program, you expect less and less to have someone hold your hand while you program. After all, why would you want people to tell you how to program? You want to be able to program whatever you want, and say, "look at what I made!" There's a certain pride to having your code be completely self done.

Yet it seems that as soon as you hit a snag, you suddenly don't know what to do. You look at your code, and as far as you know, it should work properly. Yet it's not - you're getting an error, or it's just not working.

Computers are not wrong. Let's just put it that way - no matter how frusturating your code is, no matter how long you stare at it and say, "This should work! Why doesn't it!", you're computer is right. No matter *how* dumb the error is.

If the first thing you do when you have an error is ask someone else for help, including a forum, you may not learn all you need to know. Now, I'm not saying don't use forums - forums are invaluable resources for fixing problems, and a lot of problems are solved on forums. But there are better ways to find an answer.

Step 1: Read the error.

This is pretty self explanatory, but it's something that definitely needs to be covered. Read the error. And if you don't nkow what it means, figure it out. In most cases, the error will tell you what exactly went wrong with your program. This is the first step to telling you why your program isn't working.

Step 2: Try changing things

Well, if you have an error, why not try doing it a differnet way? There's usually multiple ways you can go about doing any one thing, and if one way isn't working, why not try another one?

Step 3: Google the error.

Okay, so you got an error, you couldn't figure it out, or you figured otu what it meant, but you don't know how to fix it. So you google it. This isn't always a solution, but (especially with a program like C++ that has tons of users), chances are, you're not the first person to have this problem. Someone else has probably encountered it and solved it before, and there is often documentation on cases such as this. You can often find tons of solutions online.

Step 4: Find existing code

find similar code that does the same thing yours does, and compare yours to that code as closely as possible. IF they do something differently, look at why, and try to figure out if it's relevant to your error.

Step 5: Ask for help

Final step, and provide a list of the things you have tried already.


Well, the above steps work relatively well, but sometimes, you don't kow what the problem is. This happens increasingly as you start workign with more complicated subsystems, and stuff like dlls/direct x/etc. Your program compiles, but your problem is at runtime. This is when debugging skills really pay.

First of all, save a lot of backups, in case you screw anything up, so you don't lose all your work.
Second of all, try the first four of the above steps.

Now, I'm going to take a case study of an error I had. I'm writing a 3D engine, using direct x, with seperate dlls for input managers/settings managers/etc., and for the most part, it worked. Soemtimes, however, a single line of code would make it stop working. However, both logically, and according to the rules of programming, that line of programming should work.

There was another strange thing. I would put a break point in at the line before the line that caused the program to crash, but the program would never hit that breakpoint while debugging. Id' run the program, and before it hit the first line of code, it would say, "The application failed to initialise because MSVCR80D.dll could not be found."

I found the dll in the folder it was supposed to be in, and copied it into the folder with my solution, but it just created another error about trying to link to it incrementally [or something like that], and after researching that, I gave up and deleted the copy of the dll. I tried changing the code that caused the error, but it didn't stop working. Eventually, I went to a backup copy and just started working forward again.

When I reached about the same point in my program, I got the error again, and for a week, I coudl not figure out the error, before I finally started over from scratch. (this was for a huge homework assignment, too, btw, so that week was costly, and so was starting over).

During this week, I upgraded from Visual Studio Express to Team Edition, because most of the online resources claimed that the error was a bug in Express. (actually, most claimed it was an error in the beta version of express, and mine was a final verison). I still had the error, however.

I wondered if it was my computer, and ended up even reformatting - but to no avail.

For two days, I worked on my project non stop, not quite catching up to where i was before. Yet, I ran into that error again. I found that by going into a backup, and copying all my existing code, the error went away - which stumped me. It was not my code that was causing the error, it was something happening in my solution. How could I fix this?

This happened again, only this time, backtracking and copy/pasting didn't fix the problem. I figured out what line of code was causing the problem, but not why, and it was code I needed, and that I couldn't figure out how to do otherwise.

After searching on google for a couple days, and trying my best to get rid of the error (and ignoring it to work on code that I couldn't test), I realised that a forum topic I had found had pages beyond the first. On the third page, I found out that the issue had to do with my manifest files. In fact, I tried about 10 different things before I found one that worked.


Moral of that story? Keep on trying, use the internet, save backups, and be sure to know your compliers options, becuase if its not working, you may need to change those!


Here's another case study:

In direct x, there's a function that takes a 256 lenght array of BYTE's in order to read your keyboard data. I used this function, but it wasn't working. After reading about it in the documentation, I put in some break points and ran through the code, stepping into every function I could, trying to figure out what exactly was breaking. (It took me a while to realise that this function was where it was breaking, as it wasn't until later on in the code that the effects of this function not working occurred). I put in some debugging statements that messaged when each possible fail method occurred. I figured out that the error was that I was handing in invalid parameters.

Well, the function took the size of a void*, and the void*. because I was doing keyboard input, the void* was a 256 length array BYTE. The code that I had learned off of declared the BYTE as

BYTE diks[256];

I declared mine as

BYTE * res;
res = new BYTE[256];

I did it this way because originally, I had passed it into a function, which just needed a BYTE pointer, and which made it into the array for me. However, it turned out that this was a problem. As soon as I changed my code to:

BYTE res[256];

it worked.

The lesson of this story? 1) check existing code, 2) use breakpoints and your compilers debug tools, 3) change things

Hope these case studies helped, I know that this could be better written, but I got distracted halfway though.

[mods...I put this here because I'm hoping that people who come her looking for help will see it. I don't thik it belongs in tutorials/engines and would appreciate it if it stayed here, but if not, meh, it's not my call.]

12
Other Discussion / My school is better than yours. XD
« on: August 18, 2006, 08:43:08 pm »
My teacher taught us how to heck, and demonstrated by hecking another computer in the school. :P

w00t. XD

13
Other Discussion / Windows Taskbar problem
« on: August 18, 2006, 05:11:20 am »
Okay, so I was having fun pimping out my taskbar yo XD

well okay. But I put ont he address bar, and the desktop and links toolbar, and the windows media player and othah stuff. Anyways...

It was working fine, until I tried messing with it more, and now, out of the blue...I no longer have open windows showing up on it.

anyone here know a fix? =D

14
Coding / Using Managed C++
« on: July 19, 2006, 05:01:51 am »
Okay, so for whatever reason, you're using managed C++. And you have a managed String (String ^) or an array of wide characters (widechar_t). For whatever reason, you need to convert that data into a char*. Well, you look through code on the internet, and you find a lot of discussion on how to do it, but no one really has a simple answer. They're all functions that, when you plug them into your code, you find don't actually work. So what do you do?

You use this function:

(char*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(YOUR DATA HERE).ToPointer();

Now, the question that I have: Why couldn't they have simply put this in the System::Convert namespace, like all the other convert functions? Wouldn't that have been really cool? It would have saved me four hours of coding and googling, that's for sure.

Although really, I don't know why it took me so long to find it. If you look at the function name, it's really quite a simple path to follow exploring your intellisense to find that.

(No seriously, whoever originally found that function deserves a medal or something.)

15
Coding / A hint on using C++
« on: July 19, 2006, 04:55:05 am »
Okay, the first obvious hint, don't use managed C++ and unmanaged C++ together.
The second hint: If it worked in Visual Studio 2003, there's no guarantee it'll work in Visual Studio 2005. turns out they changed a lot of things, and some things that you could do in 2003 you can't do the same way in 2005 anymore. So you may have to relearn a few things.

So...if your project is to make a WinSock client using TCP/IP and UDP/IP that simulates a chat program using a console application, don't push yourself and try to make yourself a visual, Windows-Forms chat application using multi-threading and managed forms (while you only know how to use WinSock unmanaged).

That homework assignment took almost 40 hours. It was due one week after it was assigned. Basically, ambitious doesn't necessarily mean smart when you have a deadline.

16
I'm working on writina  super simple 2D engine. (And I know it's bad, so don't even ask me to take a look at it =P). Anyways, I'm working on trying to implement collisions. So far, I have managed to implement a super basic bounding box collision - but I'd like to take it further than that, with triangular, circular, and line collision (all 2D). So I'm curious, who else here has attempted to do collision manually, without using a pre-existing header file/etc? (I've been doing a bit of research on it today, but mostly all I find is these pre-existing things, and most of them are for 3D objects, not 2D. I'd like to at least be able to do 2D on my own, seeing as 3D is a little complicted for me at this point ;)).

Also, what are you guys using to make your collisions more efficient? I'm running in a relatively small space (640 * 480), so I'm thinking that something as simple as dividing everything into four quadrants and then checking collisions within quadrants on objects that could actually collide would be the most efficient method. (Heck, I could do 9 or 16, but I think that the screen is small enough that it really only needs four).

Any thoughts or insights?

17
Discussion / Four Elements Competition
« on: June 11, 2006, 10:08:03 pm »
http://www.gamedev.net/community/contest/4e5/

I just found this on gamedev.net. I'm not sure how many of you could/would be ableto enter, but it's interesting, at the least, and something worth taking a look at.

18
Entertainment / Snakes on Planes
« on: May 28, 2006, 06:15:34 am »
I saw the trailer for this while watching X3 yesterday. It was very wtf. In a funny kind of way. I don't think it's supposed to be funny though.

Apparently, this movie has a lot of internet buzz. I doubt I'll watch it, but it sure seems amusing. Snakes...on planes! XD

However, I couldn't find the same trailer on the 'net that I saw at x3 yesterday.

19
Other Discussion / d&d nerds
« on: April 29, 2006, 09:03:28 pm »
http://ebaumsworld.com/2006/02/scaredofgirls.html

that was just hilarious, and very wtf at the same time. XD

http://www.stupidvideos.com/video/stunts/d...c=&p=191&y=3784

that's a lot shorter, but also funny. some people are sad. XD

Pages: [1] 2

Contact Us | Legal | Advertise Here
2013 © ZFGC, All Rights Reserved



Page created in 0.453 seconds with 33 queries.

anything