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.

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++.

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!

Tuesday, August 9, 2011

Hands up, people who saw this coming

So yeah, interest in Duckbill got shot to hell. What happened? At roughly the same time, I burned myself out trying to write complicated networking code when I have only the most basic ideas of how networking works, and my artist got a real job and an internship. Yeah I had an artist working with me on that. Yeah I didn't mention that to avoid getting anybody's hopes up (not that the four of you reading this didn't already know).
Shortly after my desire to program anything hit rock-bottom, I started playing WoW.
Over a month later, here we are.

So, no games coming from me anytime in the near future.

Tuesday, June 21, 2011

Distaction

What bill? I don't see no ducks.

Here's one of the games I made for game dev that I'm actually proud of: Hoax.zip (Google Docs)
Don't let the name fool you, it's legitimate.
You'll need Python and pygame to run it. Run Main.py in Python (the command will look something similar to "python Main.py" if you do it command-line style)
Z/X rotate, arrow keys move.

Sunday, June 5, 2011

Nearly There

Note to self: Networking is very, very hard.

Coming soon:
- An actual update! Really this time!
- A todo list / timeline, for organizational purposes, and so I can continue to disappoint in new and exciting ways.

Monday, May 30, 2011

Actually

Screw it. Here you go: Duckbill-r20.zip (Google Docs)
Protip: Don't use either of the multiplayer options unless you have a penchant for ruination and failure. Or at least, crashes and failure.

Not much has changed for the single-player campaign, except that larger rooms use a different generation algorithm, and item placement has been improved a bit.
Probably 95% of the networking code is done, it's just that the last 5% will turn it from bugsy crashesalot, into actually functional.

Mid-week update coming hopefully soon, once I fix this damn thing. Then I'll talk for a while and it'll be lovely.

Sunday, May 29, 2011

More De Lays

It'll be done when it's done, dammit.
Sweet zombie Jesus, this is a headache. Being so close to done and not having stuff work is mildly infuriating

De Lays

This week's update isn't quite ready yet, sorry.
It will be up sometime tomorrow - I know all three of you reading this are very disappointed.
Just know that, this was a huge headache:

Friday, May 27, 2011

Networking Base

Got the basics of the multiplayer in place. Tons of work left to do for it, but the big scary step into the realm of networking code has been taken. Details at 11 (i.e. Saturday).

Sunday, May 22, 2011

Duckbill: Week 2

No time to talk, download this: Duckbill-r12.zip (Google Docs)
Don't worry that the revision number went down, that's because the revisions were reset when migrating from Google Code to Assembla.

Features:
- Random map generation
- Random platform generation
- Three kinds of item
- Lighting system
- Shoot badguys

Caveats:
- Maybe it'll hang when you create a new map. If it does, the chances should be slim, so quit and try again.
- You can fall into a room you can't jump out of. The entire map is visible from the get-go, so if this happens it's kind of your fault (see How to Read the Map), but it still sucks so I'm working on it.
- For that matter, sometimes the random platforms will generate in such a way that makes jumping to the next room difficult or impossible. I know how to fix it; that's coming up next week.
- Generating larger maps takes a while now that I'm placing platforms in each one.

How to Read the Map:
Color of room corresponds to how high it expects you can jump. The colors go Blue, Green, Yellow, Orange, Holyshityou'restillplaying. If a room is slightly darker with a gray outline, it's a darkened room, and you'll probably want to get a light upgrade before you go in. If a room has a red outline, there are enemies in it, and you might want to find a gun first.
Also: arrowkeys will move the map, and plus or minus will zoom or shrink it, respectively.

Screenshots:

Wednesday, May 18, 2011

Project Duckbill

Remember how I said it was open-source?
LIES.
I decided that I want to try my hand at maybe making some money off this someday. For that to work, I can't exactly have the source code available free of charge now can I? That and I'd only open-sourced it because Google Code makes you. Assembla? Doesn't.

Anyway, in the realm of good news, I got my scheduled features for this week done already. Which means I can talk about stuff for a bit.

Saturday, May 14, 2011

Duckbill: Week 1

So I started fiddling about with XNA recently. As in, Tuesday or so. Here's the start of the engine that I got done this week. I decided I'll try my hand at Agile programming for a change, releasing early and often.
Here I've released far too early; there's more missing than there is implemented. In fact the game itself is little more than a platforming engine demo.

Enough stalling:

Download

Caveats:
Windows-only (for now and a while; it may be possible to release an XNA game for Linux, but I wouldn't hold my breath)
I have no idea what the system requirements are because I haven't tested the distributable on not-my-machine at all



I've decided that I will release a new version of this every week until unfeasible; i.e. school starts again or I get a job. This will serve to 1: give me deadlines, and 2: let people see a game evolve. The first is the most important, because the most crucial thing I've learned from taking Game Dev courses is just how much work one can accomplish with a deadline looming over you. Not only do they make you work for about twelve hours straight (probably not going to be killing myself like that for this, though), but they also make you prioritize what to finish and what to cut, or at least what to do after the important things are taken care of.
Also, actually releasing games helps make sure said games are usable. Rouge was fairly impenetrable to almost everyone but me, and most people didn't even notice the hastily tacked-on keybindings button I added at the last minute. This game has obvious instructions! And less keys! So far.

(Incidentally, I have too many plans for Rouge to really start anywhere on them at the moment. I fully intend to get back there again, but not at the moment. Maybe after I get busy again.)

What is this game, anyway? Codename Duckbill is a tile-based platformer. What it will become is a procedurally generated Metroid-style game with multiplayer support. I have barely any idea how to do that, but that's where the fun will be.
Oh, and it's open-source. Kind of. I won't listen to anybody who tries to send me code, but as per the requirements of Google Code, the code is open. It's here if anybody's interested. I'm using the MIT license, because as far as I can tell that's as close to the WTFPL as they would let me use.

Edit: realized I didn't actually distribute said license in the .zip file OH WELL PRETEND IT'S THERE

Friday, May 6, 2011

Alive

Turns out that when you're programming games for class, it leaves precious little time to program games for yourself because if you're working on a game that isn't the one you need to have finished by a certain deadline then what the hell are you doing?
Anyway, I'm exhausted beyond all reason. More on that later maybe.
Here's the game I spent the past semester on. Unlike the other games I've made as part of class, I feel comfortable posting this here because I made 100% of it. Well, other people helped get the initial design - in fact it wasn't my idea to start with. More on that later maybe.
Enough of my delirious rambling; game time!

Game name: Good Question
Genre: Cards
Difficulty Level: Confusing at First
Operating Systems: All of them, if you've got Python
Screenshots: if I feel like it (coming soon)
Downloads:
(more download links later/eventually, in case Docs decides to be a jerk or something)

The game needs Python installed, as well as Pygame and PyOpenGL
If feedback is alarmingly positive, I might keep going with this a little and include simple network play or better AI or something snazzy like that.

Coming soon: SLEEP