PDA

View Full Version : OpenGL Missile Defender style typing tutor


honkFactory
2004.07.17, 04:55 PM
OpenGL typing tutor (http://homepage.mac.com/whiteman/AsteroidTypingArcade.app.sit)

I would appreciate it any of your would take a look at this game/typing tutor of mine and give me some feedback. The game play is identical to missile defender except instead of using the mouse to fire missiles you type out words to destroy the bad guys. It is still in rough finish. Some sound effects need to be added for certain events and currently asteroid can pass right through each other, which be fine if it was 2d vectorized graphics but looks bad in 3d. Oh yah, I also don't have a ufo model for the player's ufos. Instead there are just green spheroids which represent the good guys. I would give my pinky toe to have a good (cheap) 3d modeler.

belthaczar
2004.07.17, 05:31 PM
I get a 404 when I try to download it.

honkFactory
2004.07.17, 05:38 PM
Ooops. Try now.

aaronsullivan
2004.07.21, 11:38 AM
It works great on an iBook 500Mhz.
The asteroids passing over eachother does NOT look bad. It's fine.
I wasn't able to test sound yet.
I like the green spheroids actually. :)
It's really fun. Especially for a typing game. The interface responds well and is clear. You might want some additional info besides color to tell when you have finished typing a word, however, because some people can't distinguish red from green.

aaronsullivan
2004.07.21, 11:39 AM
I just had this idea... what if you destroy some large asteroid-words and they are the start of a sentence. It breaks off into smaller asteroids that have some of the next words in the sentence and then more smaller ones to finish it. At the end as a bonus you could see if the plyaer remembers any of the sentences and to type it in. You could add some humor that way, too depending on the content of the sentences. :)

Snof
2004.07.21, 04:46 PM
I like it a lot. One of the most fun typing games I've ever played.

To make it more useful for typing practice:
Maybe you could have some more detailed statistics like what letters you commonly mess up. And have the option for practice rounds that emphasize those problem letters.
And maybe a beginner mode for people who are just learning to type. In the beginner mode you would start out with only the letters asdfjkl, then slowly add more as the player improves.

I don't see much problem with asteroids overlapping except that when their words are in the same place it's impossible to read either work clearly.

Devin

aaronsullivan
2004.07.21, 05:53 PM
Do you have a difficulty curve already? I noticed that the first round is very slow and easy and there is a giant leap in difficulty for the second round. I was just wondering if the difficulty level changes based on the skill of the player. If so cool. Also, I think all of Snof's ideas are good ones. :)

codemattic
2004.07.21, 06:31 PM
I like it a lot. One of the most fun typing games I've ever played.

agreed! But the game wont work if you have full keyboard access turned on (in 'Keyboard and Mouse' control panel). When you start a game you probably need to set your game's view as the first responder. fyi.

honkFactory
2004.07.21, 09:59 PM
Thanks for all the feedback.
But the game wont work if you have full keyboard access turned on (in 'Keyboard and Mouse' control panel). When you start a game you probably need to set your game's view as the first responder
I wasn't even aware to OS X has this feature. I have tried to fix the problem but have not been able to. In my glView subclass I have overridden accepts first responder to return YES and I call [[self window] makeFirstResponder:self];during the initWithFram: method but keystroke still get captured by the buttons. What am I doing wrong.

I noticed that the first round is very slow and easy and there is a giant leap in difficulty for the second round. Really? I think I have it set so that the first rough is 30 wmp and the second in 35 wmp. The way I have it set up each round the speed increases 5 wmp. I had planned on making a control that would allow the user to set what the speed of the first level is.

And maybe a beginner mode for people who are just learning to type. In the beginner mode you would start out with only the letters asdfjkl, then slowly add more as the player improves. This and your other ideas are good'uns. I would also eventually like to add a heads up keyboard display so learners wouldn't be as tempted to look down at their hands. For the time being though I've declared a bit of a features freeze. I would like to get everything I have polished first.

codemattic
2004.07.22, 02:06 AM
Maybe you have to call [gameWindow makeFirstResponder:gameView]; every time the new game button is clicked?

Snof
2004.07.22, 02:45 AM
I noticed that the first round is very slow and easy and there is a giant leap in difficulty for the second round.

According to the stats at the end of the levels the first is 30wpm, and they increase by 5 each level (I think). I also experienced a level that seemed much harder than the one before it, but it was later in the game. I think when you pass the threshhold of the speed you can comfortably type, it will suddenly feel much harder and more frantic. Once I got up around the 60wpm level I started having times when I would completely freeze and be unable to get my fingers to type at all while my brain was trying to focus on what word to try to type next.

Devin

honkFactory
2004.07.22, 02:46 AM
OK. My first problem was that my view does not directly handle events. Everything goes through an instance of a subclass of NSResponder. I am not sure my I chose this architecture. Probably because my program is really just a cannibalized NeHe example. Alright. The second problem was as code suggested, everytime I press the start game button I need to remake the view the first responder.

honkFactory
2004.07.22, 02:54 AM
I'm glad that it seems most of you seem to enjoy the basic game play of this game. I based this game on a missile commanderesque typing tutor I had on my old 286. I always thought that that game was more fun than arcade versions of missile commander because pointing and clicking with a mouse gets very boring pretty quickly.

Anyways, do you think this game needs a sound track. A simple 10 second looping midi would probably enhance the feel of the game. Unfortunately I don't have any midi software (or musical talent for that matter). Any suggestions.

arekkusu
2004.07.22, 03:25 AM
There are many good things about this game. Unfortunately the brushed metal window ruins all of them for me.

honkFactory
2004.07.22, 12:31 PM
I agree that the metal window ain't perdy but I used it because I wanted to be able to use cocoa bottons. I am not a huge fan of half-assed home-made openGL buttons. How is this for a solution though? I make the openGL view cover the entire window and I put the start game/ instruction/etc buttons in a sheet that pops up before a game or whenever the game is paused.

aaronsullivan
2004.07.22, 01:31 PM
I have to say, I don't understand how the brushed metal could really ruin the enitre experience for anyone except for the few who have a stigma against it. You just click the button and stop looking at it. What's the reason brushed metal is so evil again? I never understood that argument. I mean... it's just a neutral smooth looking pattern. Text on it is very readable, blah blah. It will get old after awhile but every interface does. I find bright white outlines distracting for many types of content. But the Apple menu works. I live with it.

I do think it's a little excessive in the amount of space it takes up on the right hand side of this game, however.

Mazilurik
2004.07.22, 01:53 PM
I agree that the metal window ain't perdy but I used it because I wanted to be able to use cocoa bottons.
Can't you just use a standard Aqua window? I took the liberty of modifying your .nib, and it looks great with an Aqua window, especially if you eliminate the border by extending the GLview to the left and bottom edges of the window. (Brushed metal doesn't bother me, but some people seem to have a vendetta against it, especially when it isn't used in compliance with the Apple HIG. Of course, when it comes to brushed metal even Apple doesn't follow its own HIG...)

This is probably the only typing game that I've actually enjoyed playing. I particularly like the way that it emphasizes accuracy over speed; most typing games tend to treat accuracy as just a statistic. I don't really think the game suffers from the lack of music; in fact, having music might actually be a bit distracting. Of course, it's hard to tell without experimenting a bit.

However, it just wouldn't be right to give feedback without complaining about a few things:
-In the high score entry sheet, "Enter you're name" should read "Enter your name". (Remember, you're="you are", your=possessive of "you". Or was it just a typo? ;) )
-There should probably be a statistic for the player's actual speed; you could calculate this easily by taking the level's WPM and multiplying it by the percentage of words that the player got.
-Not a necessity, but online high scores would be awfully nice... I need to be humbled. :)

honkFactory
2004.07.22, 02:14 PM
-You're!! God that's a terrible type. Thanks for pointing that out.
-Yah, an actual WMP stat would be cool. I'll add it.
-Is there an easy way to add online high scores? Seems like I would need to setup a server somewhere.
-I didn't realize there was a hate metal windows movement out there. Personally I think that the metal look compliments the space contentof the game . Its having any border that doesn't look quite right to me. However I aim to please. Metal is out.

Mazilurik
2004.07.22, 02:24 PM
Yeah, you'd need to have a server (probably with PHP or some other CGI support) to do online high scores. Online scores are hardly essential; they would be nice to have, but they're not worth the cost of server space. (I was assuming that you already had a server to use; I hadn't noticed that you were hosting the game from a .mac account.)

ThemsAllTook
2004.07.22, 04:17 PM
Just tried it - Quite a bit of fun. As I think someone mentioned earlier, you have to turn off full keyboard access for it to work... That stumped me for a bit, as whenever I tried to type, it just beeped at me. I can't say I like the sound effects; I found them to be rather obnoxious. Other than that, great game!

Alex Diener

honkFactory
2004.07.22, 07:08 PM
I think the my least favorite sound effect is the wrong key sound. I really like the system beep sound "Funk". However I don't know where to find it. When I searched my hard drive it didn't show up. Anyone know where I can find it?

arekkusu
2004.07.22, 08:22 PM
I have to say, I don't understand how the brushed metal could really ruin the enitre experience for anyone except for the few who have a stigma against it. You just click the button and stop looking at it. What's the reason brushed metal is so evil again?
Offtopic: I readily admit to having KMFBM syndrome.

But for anyone who doesn't understand why brushed metal is bad, I invite you to compare Quicktime 3 Player (http://www.taho.info/mac/vu/cinema/images/j/jurassicpark/6-michael.jpg) and Quicktime 4 Player (http://digilander.libero.it/chiediloapippo/Engineering/iarchitect/player.jpg).
<agentsmith>One of these has an efficient, functional interface. The other, does not.</agentsmith>

Here (http://forums.macnn.com/showthread.php?s=&threadid=190893) are several (http://homepage.mac.com/curmi/what/#finderwindows) more links (http://www.petitiononline.com/stopugly/petition.html) that you (http://www.versiontracker.com/dyn/moreinfo/macosx/21975) might enjoy (http://www.versiontracker.com/dyn/moreinfo/macosx/21363) clicking if (http://www.versiontracker.com/dyn/moreinfo/macosx/17889) you want (http://www.versiontracker.com/dyn/moreinfo/macosx/21679) to know (http://www.versiontracker.com/dyn/moreinfo/macosx/17827) more about (http://www.versiontracker.com/dyn/moreinfo/macosx/22705) this problem. (http://www.versiontracker.com/dyn/moreinfo/macosx/17926)

Bjoernke
2004.07.23, 05:24 AM
php,, cgi for a online stat? wouldn't it be sufficient to have a text file on a server, download it, enter your own stats in the right position, and then upload it again via ftp? Maybe I am spoiled by RunRev's simple net features, but that's how I would do it.

Mazilurik
2004.07.23, 10:09 AM
That would work as well, but you'd have to add code to ensure that multiple people don't try to access the file at the same time; otherwise you might run into problems with a person downloading a file before someone else has uploaded it, so the second person's file would overwrite the one with the first person's score. If the server supports it, it's simpler to just send a request to a PHP script and have everything handled server-side, IMO. (You'd probably want to use some sort of encryption scheme to deter cheaters, but this shouldn't be too hard to implement.) Of course, even FTP wouldn't work for a .mac account, unless honkFactory felt like storing his password in the game... normally one would set up a separate account for the game with access to only the high score files.

aaronsullivan
2004.07.23, 10:37 AM
Arekkusu, about the brushed metal thing. There are very valid points about the brushed metal interface brought up in those discussions, but this game really is not effected by any of the significant ones. The gray border all the way around works okay for this game in my opinion. The most important problem is that the brushed metal interface does not signify whether it is the active window or not, i.e. not "graying out." That does affect this game and I hadn't thought of that... Hopefully Apple will fix things such as these.

igame3d
2004.07.25, 03:07 PM
Hey thats a cool game, some extra options please:
pick word list or a file for word lists
story mode: destroy the word-roids in order to complete a story.
One slow rock at a time mode with bigger font for really little kids, my daughter is only three, she got a kick out this, but its too fast for her right now.

Ok thats all for now, its cool, finish it up.