My brain makes things explode.
Posts tagged Projects
C++/D3D Pong Tutorial 04: Adding Keyboard Input
Apr 25th
Tutorial Description
In the last tutorial, we established a rendering engine and got scene objects working, with basic physics. In this tutorial, we are going to implement the initial Input manager, which will be focusing on the keyboard. I was planning to include mouse input, but it turns out that DirectInput only handles the mouse in relative positioning – which is perfect for three-dimensional first-person shooter games that need to track the movement of the mouse – but it’s poor for two-dimensional casual games. For those of you that do wish to use mouse input, I will be covering it a later tutorial – the methods of getting absolute positioning will require a bit of modification to our engine.
Downloads
Please note that I’ve switched to using 7-zip in place of WinRAR for compression
Binary Only (20.4KB)
Full VS2010 Project Dir (26.8KB)
SVN Repository
As of this tutorial, I have created and added a Subversion repository on Assembla to store the code for the tutorial series. I will continue to upload the source for each tutorial – the SVN will merely contain the code as I write it, so you can feel free to play around with the code that I’m working on before I release a tutorial. Mostly, this is to help people play around with things if there’s a point where I’m slow to create the tutorial following the code (as was the case with this tutorial).
SVN URL: http://svn2.assembla.com/svn/d3dpong
Starting Words
Notice: This tutorial continues from where “C++/D3D Pong Tutorial 03” article left off. Please read it if you have not already.
Another update.
Apr 21st
Well, this has been a busier week than I’d thought. I’ve been more exhausted from the rifle range than I’d anticipated, and while I’ve gotten the code pulled back up and compiled on my reinstall of Windows, I haven’t gotten around to actually writing the tutorial. I have gotten a little work done on it, but not much. And this weekend, I’m probably going to be making another trip to Phoenix, and you can’t count on me to get any work done on my tutorials when I’m spending time with Erin – no offense, but she’s much better company. ;)
Anybody who’s been to my blog more than one time will probably notice that I’ve changed the theme. I’m just playing around with some different themes and such, and I’ve been in a very Apple mood recently, so I decided to pop that up. Other than the time I’ve been able to spend with Erin, nothing’s really changed about my life, that’s worth mentioning, so I guess that about wraps things up here.
Sorry for those who are still waiting on the next tutorial! I’ve got a project that popped up that I’m playing around with as far as Torque goes, but I’m still planning on working through writing up the next tutorial. I’ll probably create a Google Code project for the tutorial series, so that people can get the most up-to-date code from a Subversion repository and play with things themselves, but I haven’t really gotten around to doing anything at all recently. >.>
Qt4
Mar 29th
As of last night, I started looking into using Qt4 for future Application development projects of mine – and damned if it doesn’t look like the best option available to me (the best alternative being writing the UI on each different platform individually). For those who don’t know, Qt4 is an immensely popular and very powerful cross-platform application library that works with C++, and is supported on a large number of machines – from 64-bit Windows desktops to 32-bit embedded Linux solutions to the wonder that is Mac OS X. All without having to change the code – all that is required is a recompile (assuming you’ve set things up properly, of course). It even supports cross-platform project (.pro) files, and has a cross-platform toolset that accompanies its SDK – including a GUI designer, a set of debugging tools, and even an IDE that ties with a MinGW compiler.
I’ve started working again on an IRC client – now under the name alienIRC (formerly SevenIRC, which was being planned solely for Windows). I’ve also decided to make it completely open-source, and intend to license it under LGPLv3, something it shares with the Qt framework that is going to power it. I’m going to be setting up a Git repository on Gitorious for the project, and will be setting up some development pages on this blog – including issue tracking, a wiki, and some other tools. Right now, my plan is to closely emulate the mIRC interface – mostly because mIRC is my favorite IRC client – and will be working to make sure it feels native on all supported platforms. I will personally be maintaining builds on Windows (32- and 64-bit), OpenSUSE 11, and Mac OS X Snow Leopard. I will primarily be using the IDE that comes with Qt, though I will work to ensure that it compiles in X-Code 3 and Visual Studio 2008/2010.
As far as alienIRC itself goes, I’m looking at the possibility of using WebKit for the chat windows’ messages. This would make it incredibly easy to add formatting, because I could easily change messages from the mIRC color character into HTML tags before adding the text to the message box. It all depends on how it runs compared to a custom text box. I also plan to implement a number of features that are popular with mIRC, such as scripting (Lua, specifically), “address books,” nick highlighting, file sharing, et cetera. I’m currently working on some UI concept work – since it will have to be different from SevenIRC’s WPF plans and the previous OS X-only alienIRC UI concept that relied on some UI elements only found on Mac (such as Drawers).
If anybody is interested in contributing to this project, send me some messages – I’d be happy to hear your input, especially on features that you feel would be good to implement. Make sure you sign up for an account on Gitorious – and that you upload your SSH keys and such. If you’ve never used Git, and you’re a Windows developer, this is a very useful link for seting it up on Windows: Git for Windows Developers: Part 1
What did I just do?
Feb 4th
Well, I’m not entirely sure why, but for some reason I seem to have thought that it would be an okay idea to buy a Mac. What is wrong with me, I honestly don’t know, but I can say that it’s a pretty solid system. And I like the fact that the iMac only has a single cable – the power cable – while everything else (system, monitor, etc) is either built-in or (in the case of the keyboard & mouse) running through Bluetooth.
At least now I can start working on the native builds of my Mac-based projects (Waxy’s Sushi Party among them).
