The Resurrection of Smear

A lot has changed in the past two months. First and foremost, I’ve started working on Smear again, as of last week. This is largely due to the fact that GameMaker: Studio supports built-in networking now. It’s ironic to me that the week I decided to create a Java project for Smear is the same one during which the GM networking update is released. Sometimes I feel unnaturally lucky.

On the subject of school, Winter Quarter is coming to a close. My CS-related classes included Data Structures & Algorithms, as well as a two unit debugging seminar. I’ve actually already applied some of this new knowledge to Smear (I’m using a queue to draw sprites to the background surface now, which should be more efficient, organized, and more in-line with the new way GM handles surfaces.) My involvement with VGDC has really increased my desire to finish Smear. I hope to have a working demo of the new engine, including some form of networking, done by the end of this month. (I doubt I’ll have much time during finals, but I’ll have a whole week off for spring break, which should give me lots of development time.)

Another class that has been of particular interest to me this quarter is Making and Breaking Codes. It’s an introductory course to cryptography, with a hint of steganography. It’s not tailored for computer science majors, although there are some clear applications. [No pun intended] I’m working on an application that performs some of the basic encryption algorithms I’ve learned over the past few weeks. I have a working Vigenere cipher encrypt/decrypt system (written in Java) that I have yet to finish the GUI for. It’s on my to do list!

Finally, I’ve released my Kongregate API Extension on my site. If you’re interested in making HTML5 games with GameMaker: Studio, and you’d like to publish to the Kongregate portal, you’ll probably want to use their API. I had a dismal experience trying to get this to work on my own last summer, but I finally got it functioning. I have a feeling an extension library like this could be of value to a lot of game makers out there. I’ll write a more in depth blog post about it, or make a video tutorial, or write something to the Game Maker Community forum – one or more of these will happen, soon.

~ Dexter ~

Long Overdue

I don’t know why I’ve hesitated putting up a link on my games page about Smear yet. Part of the reason (although there really isn’t much reason at all) is that I thought some of the files were lost when I transferred from my old domain to this one. Yes, the source code and project files are on my computer at home, but I didn’t think I still had executables online. Turns out, I did.

Anyway, Smear is my latest and greatest Game Maker project (well, my latest project before GameMaker: Studio came out). It supports online multiplayer competitive play (which I’m pretty proud of, when it works) as well as being one of my prettiest titles to date.

Except, it’s not finished. Hell, it’s not even close to being finished, and at this point I’m not even really developing it anymore. The reasons why are listed on its project page. I’m thinking I might reprogram it in Java since I’ve learned loads more about the language from my courses at UCSD. I’ve considered using the Allegro game libraries, although I’d have to learn C++ (which I’m not particularly opposed to at all, I just don’t have the time to learn it at this moment.) Only time will tell.

I’ll leave you with one final note. I may have mentioned earlier about my involvement in UCSD’s Video Game Development Club, or VGDC, for short. As of this week, I’ve been nominated the club treasurer. Albeit my responsibilities have yet to be fully defined, I hope that my new and more active role in the administration of the club will lead to more game creation on my part (and more likely, barrels of fun.)

~ Dexter

Well… No LD 25

If it wasn’t apparent by the lack of future Ludum Dare posts, I didn’t end up doing LD. Traveling took precedence over the jam.

I did have an idea, and I think it had potential. I could probably work on it at some point this winter break if I’m feeling up for it. The theme was “you are the villain” which was so enticing that I just had to give it a try. Nevertheless, my idea was to do a “reverse Galaga.” Essentially place the waves to try and stop the player from reaching the boss (you.) Of course, ideally you’d be able to play as the boss as well as micromanaging your little drones. I don’t know if the idea sounds as cool on paper (or screen) as it does in my head. Then again, a lot of things sound better in your head than they do in real life.

“Let’s set the barn on fire” would be a pertinent example. While it sounds like a cool idea in your head, when you watch the big red wooden animal-containing structure burn into nothing but ashes and smoke, you realize that it wasn’t such a good idea and now you’ll be wanted for arson. Way to go, dude.

~ Dexter

Ludum Dare 25? I’m in.

The title says it all.

The theme this weekend is “You are the Villain” and I already have an idea. I’m going to be using GameMaker again, since I still haven’t quite figured out Slick2D. Also, my presentation for the Haiku Generator (see previous post) went beautifully.

My flight for San Francisco leaves tomorrow, so it’ll be a bit tough to do LD this weekend (and I still have to pack) but I’ll give it a shot. It didn’t stop me last time.

~ Dexter

I’m Alive! Final Exams, and Cloud MadLibs!

Hello there! I’m writing to inform you that I’ve survived first quarter. I haven’t noticed any incredibly large bruises, which I’m assuming is a good sign.

I completed my first two final exams today. I took my computer science and calculus finals today. I haven’t received my grade on my math final yet, but I’m feeling very confident about it – I know for a fact that I got on A on my comp. sci one, however (they were swiftly graded.)

Now that I’m done bragging about that, I’d like to let you all know about a project of mine I’ve been working for the last two weeks. It’s powered entirely by HTML/CSS and PHP. It’s technically for my ICAM40 final project (an Art in Technology course.) I’ve called it “Cloud MadLibs.” My project partner Shauheen wrote three madlibs, which I then coded into a system that retrieves random user responses to those madlibs, and then “fills in the blanks” randomly from everyone’s anonymous submissions. I extended the system to support random haiku generation, which is what I’m most excited about.

The results (basically clicking the “generate” button over and over) have been fairly hilarious. Here are some of my favorites.

I am so cool
I have at least fifteen arms
instead of haikus

I’m very sorry
But I just can’t help myself
You look delicious

I’m very sorry
I set a baby tiger on fire
What are you doing

The generator doesn’t actually count syllables, so some of the haiku that are generated contain typos, or aren’t in the proper 5-7-5 syllable format. Some people have even typed in absolute jibberish into the generator. I don’t care so much what goes into it (which is why it’s potentially NSFW) because that’s part of the beauty of the haiku generator. You can find a link under the Games & Projects tab, or check it out here.

This Friday Shauheen and I will be doing poetic/interpretive readings of these random haiku on stage at Porter’s Pub, which is an on-campus bar at UCSD. I’m pretty excited for this. However, I need your help. Please take the time to submit to the haiku generator! One clever submission added to the mix really helps the random variation. At the time of posting this, I have 39 submissions. I could add more myself, but I’d hate to make the generator start reflecting my writing style – I feel that would hinder part of the randomness.

~ Dexter

A Brief Account of the Past Month

It’s been nearly a month since my last post, and lots of things have happened. I’ll try to be brief about my experiences during the past month:

1. I’ve become an editor. Over the past few weeks, I’ve been working closely with Matthew Bowden (a.k.a TrueValhalla) on his upcoming eBookMaking Money with HTML5. Editing is a slow process, unfortunately. Both Matthew and I want the book to be finished as soon as possible. However, we both recognize the importance of producing quality content. There’s a lot of content to go through, and I’m working diligently to uphold a standard  of professional excellence. For those of you who have pre-ordered, I thank you for your generosity and your patience with us. From what I’ve read, you’ve all made a good investment.

2. I’ve moved into college. I am currently attending the University of California, San Diego (UCSD) and I am a declared computer science major. Classes have already begun, and I’m all settled in the dorm life. I have one roommate, who probably wouldn’t appreciate being mentioned here, as well as a growing group of new friends. The climate here in San Diego is unbelievable. The sun shines brightly every day, and it’s never dropped below 70 degrees (except perhaps at night time.) Of course, the university’s facilities are impressive as well.

3. I’ve acquired two Betta fish (a.k.a Siamese fighting fish, I believe.) If this seems random to you, then good. It is very random. Winning a raffle is an uncommon thing. I won thrice, garnering me two pet fish (that I’m keeping as pets in buckets in the common room of our dorm) and a $5 bookstore gift card. While Betta fish aren’t necessarily high-maintenance animals in any normal sense, they are a sort of nuisance at college. At least I was given food for them. One is blue, the other red, and neither have been named. I’m afraid that the moment I name them, one will die and I’ll feel very guilty about that.

4. The ethernet connection at UCSD is faster than two cheetahs tied together, running at top speed, with lit rockets strapped to their backs. I suppose this thought might not exactly fit the rest of this list of “experiences” but I figured the analogy was juicy enough that not including it would be a crime against creativity.

5. I’ve sort of, not exactly, almost learned how to ride a skateboard. Kind of. Skateboards are a common mode of transportation at UCSD. I’ve embarked on several different kinds of these wheeled contraptions and I’ve managed to avoid wiping out every few seconds. I regard this as substantial improvement. (I actually am learning, but because I don’t have my own board right now, my ability to practice is limited.)

Five is a good number. I believe I’ll conclude here. My posts haven’t exactly been regular, but I will continue to post when I have time and when I have something to say that’s worth saying. Or something to say that isn’t worth saying, but is worth being read. Or perhaps nothing worth reading at all, but is fun to write and so will end up here anyway. Now that I’ve had my fun contradicting myself, I’ll sign off.

~ Dexter

Aegis… Complete!

That’s right, you heard it here first folks! I have completed my primary summer objective! You can play my finished HTML5 game, Aegis on Kongregate! Click here! Please take the time to give it a good rating, and tell your friends, your spouse, your garden gnome, the man under your bed, your dog, your first crush (or you’ll be cursed for ten years), and anyone else you can or can’t think of!

Much appreciated! I’ll start work on my next game, when I get another idea!

~ Dexter

LD 24 – Success, Afterthoughts

What is Ludum Dare?

Yesterday I successfully submitted a game to the 24th Ludum Dare Competition. As I described in the previous post, the Ludum Dare Competition (not to be confused with the Ludum Dare Jam, which is slightly different) is a solo competition in which entrants have 48 hours to make an entire game from scratch. When I say from scratch, I am speaking literally. The rules state that no content (code, sound effects, music, images… etc.) created before or outside the 48-hour time period may be used in game entries. The competition also has a theme, which all entries must relate to in some way (there’s a lot of open interpretation), and is released at the start of the 48-hour period. This weekend’s theme was evolution.

Why’d you do that? Sounds hard…

I decided to do LD for several reasons. For one, I wanted to see if I could handle the challenge. I needed to test my limits, and gauge my abilities. Secondly, I’ve been meaning to do a game jam since the beginning of this summer — I view it as both an exercise and a learning experience. Finally, I wanted to finish a game. I’m the kind of person who works well under pressure, and I also happen to be a bit of a perfectionist. When I’m not working toward a deadline, I tend to add more and more features to my game. I rarely finish games because I keep adding new things to them. LD was a great way to force me to complete a game without any fussy additions.

What’d you end up making?

Evolution was an odd theme, especially for my first game jam. Originally I wanted to do an arcade game with robots. Somehow the player would be able to slap on new parts to the robot to improve it, thereby “evolving.” I dropped this idea early on, and started working on what I would eventually call OMG GMOs!. I’d call OMG GMOs! an interactive simulator. The premise is fairly simple: genetically modify the critters at your disposal in real time. The game doesn’t match up with science in any way shape or form, and I’m certain that’s what makes it so hilarious. Than and the fact that you can remove all of a cow’s legs and watch it slide around on its belly. That’s pretty funny too. You can find my entry here, and my development journal here.

Final Comments

OMG GMOs! is a dorky little game that I made in less than two days. The game supports a surprisingly detailed customization options. There are more features programmed in the game than are actually available to the user. I simply didn’t have enough time to get everything in. OMG GMOs! doesn’t really have much of a point, or any feeling of progression. It’s not exactly bug-free either — which makes it all the more hilarious! It’s more or less a toy that’ll give you a few laughs. I had fun making it.

The next time I do Ludum Dare (or any other game jam) I’m going to try for a higher level of completion. I’ll also try to stick with simpler ideas, and spend a little more time making sound and music assets. OMG GMOs! was a pretty unique idea, but it was a bit on the complex side. Programming customizable limbs was a challenge in and of itself. The legs were especially tricky — I couldn’t get the “specimens” to stand properly in many situations. The game was originally designed to work inside a browser, but that became so buggy that I had to stick to Windows. These issues were enormously frustrating. I came close to throwing in the towel, twice. But, I didn’t. I finished the competition, and I made a game.

Ludum Dare is a race to the finish. The last few hours are a mad dash of reorganization, prioritization, and scrambling. It’s motivating to know that I can finish a game. It makes me want to pick up some of my work in progress projects and finish them. I’m happy with my results, especially for my first try. As always, there’s room for improvement. I can now safely tuck Ludum Dare under my belt. I await the next challenge.

~ Dexter

Ludum Dare 24!

I made a post to the Ludum Dare website, but I suppose I should announce it here.

I’m participating in my first ever game jam! And, of course, I’m starting with the world’s best 48-hour competition: Ludum Dare. The theme is evolution, which had my head spinning yesterday. At least I’ve got an idea. It’s still forming, though. I’m having fun, and that’s what’s most important.

Tools I’ll be using:

  • GameMaker: Studio (of course!)
  • cfxr (Mac port of sfxr, 8-bit sound generator)
  • Soundbooth (maybe)
  • Photoshop (probably)
  • Google Chrome (because Pandora is important)

Now, back to work! 1 day, 6 hours left. Go! Go! Go!

You can find my Ludum Dare devlog and profile here.

~ Dexter

The Home Stretch

Polishing a game always takes more time than you think it will. That being said, I’ve never finished a game that I consider has “professional polish.” That’s my goal for Aegis. Although I’ve been a little more vocal about my progress on my Twitter feed, I’ll write a quick summary of what I’ve accomplished since my last post.

I’ve partnered with Narutiv, a musician and visual artist who I’ve known personally for a few years. He made a custom tune for Aegis, as well as the new logo at the top of this blog. (You can listen to some of his work here, courtesy of soundcloud.)

Since I’ve started collaborating, I’ve noticed an increase in my productivity. I’ve implemented a total HUD (heads up display) redesign, added a new upgrade, new sound effects, and streamlined both the credits and game over screens. I’m sure there’s more — but I can’t remember everything. I have Narutiv to thank for all these new visual assets, however. Every day I inch closer and closer to finishing my first decent game. I’ll try to hold my excitement at bay until the job is finished.

~ Dexter