Full Version
It's 'done'. Go nuts.
I'll do screenshots even- Oh who am I kidding I won't.
Anyway play it! Comment! Go forth and multiply. All dat jazz.
Release a game before it's legally iffy: Accomplished.
Sunday, February 26, 2012
Revamp
Yeah why not.
Updated the blog's visuals/design. Aka I switched to a different template. Enjoy!
Updated the blog's visuals/design. Aka I switched to a different template. Enjoy!
Saturday, February 25, 2012
Mentions
I got a job, I guess.
I mean, I did get a job, I guess I'm mentioning something about it here?
On Monday (the 27th), I start work for Vicarious Visions. My position is that of a Game Programmer Co-op. If I don't fuck up, I've got eight months of work lined up. Also, money, so that's cool.
Apparently I'm not allowed to work on side projects for profit while I do so. Although, there exist forms that could be filled out that would sanction that sort of thing, as long as the company agrees that it won't compete with their products blah blah blah. I'm probably not going to be able to muster the concentrated effort necessary to do side projects when I've got a full time job programming, but we'll see. Not sure if I'd be able to release things not-for-profit, so I'll ask at some point.
One implication of that is, I'll release the 'final' version of Crazy Ginx sometime this weekend. It's practically done at the moment. There's plenty of things I'd like to add but that will always be the case won't it. It's "a full game," so it gets released without me disclaimering it at all. Other than, I don't have a QA department, if you find any bugs let me know and I'll go 'whoopsie'. Maybe fix 'em.
But yeah, don't expect any games on this site in the near future (other than Ginx, obviously). I'll try and do more game design and/or analysis type stuff. Thinking about writing some reviews! So yeah. That'll be fun.
Saturday, February 18, 2012
Wednesday, February 15, 2012
Object Oriented Programming
I haven't talked about programming much on here. Which makes me feel like the third word in the title of this blog is a filthy lie. To rectify this, here's some insight into something I recently discovered/learned about.
The Game Object model is a fairly straightforward model to someone with a passing familiarity of Object-Oriented Programming.
First, a primer in Object-Oriented Programming, so you, the reader, can have a passing familiarity with it, so you can see the Game Object model as being fairly straightforward.
Wednesday, February 8, 2012
Crazy Ginx
You probably already know this, but I've been working on a game. Surprise surprise.
I haven't got too much to say about it at the moment; I'll wait until it's done to do so.
In its current state, Ginx is now up to Alpha status. This is by far the most complete game project I've put together. It's got polish, people, polish! Which is not to say there aren't rough portions. I'm probably aware of them, but feel free to point out things that make you go :/, in case I'm not.
Instructions are, unusually, in the game itself. I think I did a decent job with that too. If not, comments are down there.
For music, I'm using tracks from the excellent Homestuck Soundtrack. And one from Mystical Ninja starring Goemon, a surprisingly excellent N64 game. I have no permission, explicit nor implied, to use any of those musics, so until I either get permission or replace the tracks, consider them there as filler. Sound effects will probably go in before Beta.
Saturday, January 21, 2012
Demons' / Dark Souls
The following is from an email I wrote to the guys at Extra Credits, which is an excellent show that if you aren't already watching, you should watch. I realized I hadn't talked about game design on this blog at all recently, and that this was perfect for it. Enjoy.
I think they're extremely well-designed games. I'm going to refer to
Dark Souls specifically, because I've played it more recently. One of
the most brilliant things they did with the design, I feel, is the
control scheme. More specifically, how "attack" isn't one of the four
face buttons. They probably mapped the left and right hands to the
shoulder buttons more because of symmetry and the elegance of everything
having a primary/secondary use, but this had a secondary effect that was
possibly even more beneficial. The four face buttons are the most
comfortable buttons to hit quickly and/or repeatedly, which is why games
usually assign their most common actions on those buttons. Dark Souls
has their attack function, normally used relentlessly in Action-RPGs, on
a non-primary button. This emphasizes their focus on carefully choosing
when and where you attack, as opposed to running in guns-(or
swords-)blazing. It also -physically- reinforces this notion, because
the shoulder buttons are somewhat awkward and painful to tap repeatedly.
This physical reinforcement of how to succeed in the game is one of the
most brilliant pieces of design work I think I've ever seen.
The rest game is filled with similarly brilliant design choices as well.
Mobility at the cost of protection makes for an interesting choice (more
so in Dark than Demons', because of the increased effectiveness of
armor). No music except during boss fights creates an atmosphere of
tension and loneliness, and a sharp jarring contrast that puts the
player in awe when a boss does show up, and also gives a sense of
epicness that serves to highlight what a blast the bosses are to fight.
The only thing I feel was a mistake was the Mimics. Yes, you only ever
fall for it once, but, c'mon guys. Now you're just being mean. And
missing a bonfire is fairly aggravating, but the game has such an
exploration/survival bent that I'm willing to accept it.
Personally, I don't play it at night anymore. Not because the monsters
ghouls zombies skeletons aberrations what-have-you are particularly
scary. To me, the game as a whole isn't terrifying for the most part,
despite the numerous enemies that, presented differently, would be much
scarier. I can't play the game at night because it's atmospherically
spooky, and the gameplay reinforces the terror of exploring somewhere
you've never been, where everything is trying to kill you. That sense of
the entire game's world being out to get you - because it is, mind - is
more lastingly chilling than many things that want to be scary. When I'm
done playing Dark Souls, I am, thanks to the gameplay and level design,
paranoid and jumpy for at least an hour. I find myself checking all the
corners of my house, not completely trusting that there are no traps or
monsters around. I want to be aware of whatever dangers are around,
because I also know from the game that whatever comes my way, with
perseverance and careful tactics, I can defeat it. The game isn't purely
tension all the time, even though the player is always extremely
vulnerable. If anything, this vulnerability is empowering, because even
though the player's avatar is heroic, strong, and has magical powers,
the bosses they topple and even the hordes of minions they defeat are
all so much more powerful than they are it's amazing that the player
even warrants their attention. And yet, with just a little persistence
(or, sometimes a lot), they emerge triumphant.
Friday, December 16, 2011
Suddenly! (Miner)
Releases a game out of nowhere.
Pictuars for once:
Boosh.
Instructions are in game for once as well!
Basically, Terraria with an Elder Scrolls leveling system.
The self-imposed challenge here was, "make a game in two days." I had a final on Wednesday, so I extended the deadline to 2.5 days.
I'm probably going to be updating this over the next X period of time, but doing stuff on a deadline was kinda fun. So, probably going to do more.
Also: No testing. No idea if this'll work on your system. Have fun with it.
Also: No testing. No idea if this'll work on your system. Have fun with it.
Monday, September 12, 2011
Preliminary C++ Ranking System
AKA: C++ Belts
Students must understand/accomplish the following criteria to obtain the given ranks.
6th Kyu: IDE installed; Hello World compiled
5th Kyu: Variables, strings; functions; console I/O
4th Kyu: Arrays; loops; structs
3rd Kyu: Classes; recursive functions; pass-by-reference; using std::vectors
2nd Kyu: Inheritance; pointers; template functions
1st Kyu: Polymorphism; dynamically-allocated variables; template classes
1st Dan: Basic data structures; basic graph theory (DFS, BFS)
...
And so forth.
The basic idea is a way to quantify proficiency in programming languages, aside from an mildly arbitrary "X years of experience". That, and so I can say I have a black belt in C++.
Students must understand/accomplish the following criteria to obtain the given ranks.
6th Kyu: IDE installed; Hello World compiled
5th Kyu: Variables, strings; functions; console I/O
4th Kyu: Arrays; loops; structs
3rd Kyu: Classes; recursive functions; pass-by-reference; using std::vectors
2nd Kyu: Inheritance; pointers; template functions
1st Kyu: Polymorphism; dynamically-allocated variables; template classes
1st Dan: Basic data structures; basic graph theory (DFS, BFS)
...
And so forth.
The basic idea is a way to quantify proficiency in programming languages, aside from an mildly arbitrary "X years of experience". That, and so I can say I have a black belt in C++.
Saturday, September 10, 2011
Addendum to Favorite Games
Portal 2
The first Portal was intentionally omitted from the previous list, because even though Portal is definitely a must-play, it isn't one of my go-to games for a list of favorites. Portal 2 was omitted not for similar reasons, but because I hadn't played it yet. I beat it yesterday. Portal 2 isn't necessarily a must-play - it feels redundant sitting next to Portal 1 in that regard - but it definitely goes on the favorites list.
Monday, September 5, 2011
My Favorite Games
In no particular order:
Mass Effect 2
Final Fantasy VI
Final Fantasy X
Super Metroid
Chrono Trigger
Demon's Souls
Disgaea (series)
Half-Life 2
Star Fox 64
Pokemon (series)
Kingdom Hearts II
Super Mario Bros. 3
Saturday, August 13, 2011
Short stories
I discovered the programming equivalent of writing short stories and it's kind of addictive.
These six programs (all in one) are roughly 600 lines of code. They're also mostly some type of "cool" or "fun". For me at least they were.
Here's the Google Docs link: QtBeziers.zip
There are six tabs, each of which has a mini-program of its own. From right to left:
Progress - Like Progress Quest, but slightly more graphical. This was me just getting used to Qt. It's even got the Hello World button.
Beziers - The coolest one. The one I spent the most time on. The one I named the program after. The one I made the whole program to make. Generalized Bezier curves. Click the canvas to set guide points. When you've specified order+1 points, it draws the resulting curve. Further clicks remove the oldest point and adds the newest as the end. The program defaults to cubic splines (3rd order), which are the Bezier curves we're most familiar with (if you didn't know; they're used in almost all vector graphics, including the font you're reading now), but the order can be modified (within reason). Subdivisions controls how the curve is drawn; the default should be fine. Time works with the ShowSteps option; this shows how the curve is drawn mathmatically, visually. Animate automatically increments the Time slider.
Mountain - This is an implementation of the one-dimensional Midpoint Displacement algorithm. I would have given settings to modify the algorithm, but it's randomized enough to be interesting on its own, and frankly who cares.
Neighborhood - Click the screen and it'll make points. Then it'll find the relative neighborhood graph of those points. This guarantees connectivity, but also can have cycles. It also doesn't cross the paths, which makes the graph spatially appealing. It also generalizes easily to higher dimensions. When it comes to 3D random dungeon generation, this is the algorithm I'm going to use to connect the rooms together.
Map - Creates a random world-map looking thing. Algorithm straight from here. [I think] the sliders are fairly intuitive; depth controls how much the program iterates, land controls the ratio of land to water, and noise controls how rough the borders look.
Cave - Makes random caves, using a cellular automata method.
3D random dungeons coming eventually!
Subscribe to:
Comments (Atom)


