(Three posts in a day! Yaay...)
After mulling my previous idea over (this one) and bringing it up on IRC (general approval), I put it into action. It was more or less pretty seamless, except when it came to Draw(). I wasn't altogether sure whether World should clip the Map down itself, or somehow cu…
After mulling my previous idea over (this one) and bringing it up on IRC (general approval), I put it into action. It was more or less pretty seamless, except when it came to Draw(). I wasn't altogether sure whether World should clip the Map down itself, or somehow cu…
Last updated: 4:49pm on February 17th, 2009
It occured to me while I was writing my last post that even though I might know what these classes do, if I just toss the names out there carelessly the post might take a little work to decipher. So, for my reference and others', here's a class layout for …
It occured to me while I was writing my last post that even though I might know what these classes do, if I just toss the names out there carelessly the post might take a little work to decipher. So, for my reference and others', here's a class layout for …
Moving on from the Keyboard at last, I'm next going to work on the entity system, including the moving enemy sprites and bullets. I'm hitting a few design walls right now, though. I don't want my Game class to have to handle the drawing of the entities when most of my drawing code is already in the…
After a month or so of mucking around without any work on Cripes, I sat down today and reacquainted myself with the code. I looked over the Keyboard class, thought about it, and came up with something I thought might work if I went with it.
I don't remember if I had written about this before - I mus…
I don't remember if I had written about this before - I mus…
Just popping in. No progress on Cripes since yesterday, I've been too busy finishing my C++ class lab project (due today, of course) and homework (also due today). Hmm, sounds familiar? I waited until the last day to apply to USC, too. How.. disturbing.
Both homeworks are finished now, at least, and…
Both homeworks are finished now, at least, and…
Cripes!, the Snipes clone
I've been hard at work on the Keyboard class for the past few days. It's taken me longer than I thought to wrap my head around how to approach interactive keyboard input, but I'm getting there. The Keyboard class now has an Update() method to scan for keyboard events and to…
I've been hard at work on the Keyboard class for the past few days. It's taken me longer than I thought to wrap my head around how to approach interactive keyboard input, but I'm getting there. The Keyboard class now has an Update() method to scan for keyboard events and to…
With the help of some of the folks on IRC, I finally got some basic user input working. And it doesn't hog the CPU, either! I think the code speaks better than I can this time.
bool Game::Update(INPUT_RECORD* records, DWORD numEvents)
{
bool retval = false;
for (DWORD i = 0; i < numEvents; +…
I'm not actually sure how to proceed here. User input is easy enough on its own, but I need to continually Draw() at a certain framerate as well as watch for user input (and act on it wen it comes in). I created a Keyboard class, but I'm really not sure how to do this.
I want to draw, at the moment,…
I want to draw, at the moment,…
I just finished adding a wrap-around functionality to World::Draw(), with a boolean parameter to enable it. It was actually a lot simpler than I thought it would be. In the previous version, without wrapping support, I had to clip the SMALL_RECT parameter entirely down to [0, width) and [0, height)…
First things first: [insert paragraph of rage]. I just lost everything I typed out for this post because I lost my internet connection right when I hit Reply. ARGH.
*sigh* Okay... After some comments and discussion on #gamedev, I decided to get rid of World::View and the DrawView functions. I replac…
*sigh* Okay... After some comments and discussion on #gamedev, I decided to get rid of World::View and the DrawView functions. I replac…
Today (and partially last night) I wrote up a View class to wrap the clipped view of the World returned by World::DrawView(). It's constructible only by World (excepting the copy-ctor, which is public), taking width and height parameters to create a dynamically-allocated CHAR_INFO buffer. It overlo…
Cripes! - The Snipes clone
After doing a little more reasearch, I tried using CreateConsoleScreenBuffer() to create a separate buffer for Cripes to draw to. It turns out that separate screen buffers keep separate state, so I don't really need to worry about saving the old state. My Game class constr…
After doing a little more reasearch, I tried using CreateConsoleScreenBuffer() to create a separate buffer for Cripes to draw to. It turns out that separate screen buffers keep separate state, so I don't really need to worry about saving the old state. My Game class constr…
Don't get all excited, I haven't gotten all that far from where I was last night. I've been working on the world view (typename changed from WorldView to World) and I think I have a far better design for it than last time. The World is constructed with a world width and height, and it doesn't care …
If you haven't noticed, I seem to have some issues committing myself to any particular goal. I know plenty of you have had the same problem with projects, past or present, but it seems to be really ingrained with me. And unfortunately I'm not sure what to do about it, because it's heavily tied into…
I haven't really done anything with ExplorerMUD lately, mostly because I want to try to understand boost::asio first. So it may be at least a week before I actually get something working. I'm sure it'll be worth it though.
In other news, I came up with a brilliant - at least, I think it is - storyli…
In other news, I came up with a brilliant - at least, I think it is - storyli…
I'm taking a Beginning C++ class at my community college right now. It's very basic, no classes or objects yet, even - that's for the next class - but it sort of helps when you have to do certain things. I'm definitely learning some minute details.
With my experience beforehand, though, I'm acing th…
With my experience beforehand, though, I'm acing th…
ExplorerMUD is very volatile right now. Nothing's really laid in stone, and things change drastically every other day. Like today, I'm going to be replacing my Thread system with boost::asio.
Off-topic, why is it that everything I make that I think is "good" is sooner or later replaced by something…
Off-topic, why is it that everything I make that I think is "good" is sooner or later replaced by something…
Alright, so I've been working on a command line back-end to ExplorerMUD. It's in its own separate thread so I can get input from the person running the server at the same time as other stuff is going on. I can probably merge it into the same thread as the listener now, since I'm select()ing on stdi…
Alright, so I've been working on a command line back-end to ExplorerMUD. It's in its own separate thread so I can get input from the person running the server at the same time as other stuff is going on. I can probably merge it into the same thread as the listener now, since I'm select()ing on stdi…
I had to send my laptop in for repair recently, not to mention - if you haven't noticed - development has ground to a halt anyways. If and when I get back to Cripes!, I'll be doing an overhaul of the design, anyways.
My latest project is - of course - a MUD. How obvious... Well, I may as well post a…
My latest project is - of course - a MUD. How obvious... Well, I may as well post a…
Alright, so, you may have noticed the conspicuous lack of updates here. The main reason for this is that I've been on quite the series of vacations, and I just haven't been able to take the time to sit down and code. The laptop I normally take on trips, well, somehow the left side of the lid broke …
So far, this is what I have on Creditor. The menu's going nicely, as you can see, and whenever the mouse is placed over a menu item, the HandleMouseEvent function knows and changes the color of whatever is underneath it. Unfortunately it doesn't know what color it was before, so I had to hardcode t…
To make way for some functionality I'm implementing in the map editor (I think I'll call it Creditor), I had to go, ah, "under the HUD" to change a few details. One notable change is that the statinfo class stores a pointer to an "IStringable" interface, which defines an abstract ToString() functio…
My family and I did a Meet USC program yesterday. USC is the University of Southern California, and their Meet USC program is basically a three-hour tour, where the last hour includes talking with the admissions person at a specific school within the university. A little backstory before I go furth…
I had some annoying little problems that I, being the perfectionist that I am, had to solve before moving on to the map editor. Oops.
The inner class I mentioned was fun and interesting, and certainly a good idea in some cases, after I made some improvements I realized I didn't actually need it anym…
The inner class I mentioned was fun and interesting, and certainly a good idea in some cases, after I made some improvements I realized I didn't actually need it anym…
I've decided I want to work on my map system first, heh. I decided to try something new to prepare for it, and I created my first inner class in my GameView. The definition of the 'mapaccessor' is private, but I declare a public instance called 'map'. Its only role in life is to provide a clear met…
I finally finished my entity-drawing algorithm! It was a huge pain, but I'm pretty happy with what I have now. The first version that actually worked was pretty clunky, with something like seven for-loops -- one for each entity, two for each sprite character coord, two for each possible looped-arou…
I finally got around to fixing the HUD's Add/DelStat functions, since before they were invalidating any iterator (or any index, even) returned from AddStat after DelStat was called. I replaced the internal vector with a list, renamed the functions to HookStat/UnhookStat, and changed it so HookStat …
Okay, so after multiple attempts at getting entities to be drawn to the window properly, I've given up for now. Technically, it would "work", but only if the visible location on the window was not a looped-around edge of the map. That means that if the viewloc - that is, the COORD that represents t…
Advertisement
Popular Blogs
Advertisement