Archive for category rQuest
More attempts at pixel art
Posted by Joshua Smyth (Admin) in rQuest on October 31, 2008
This stuff takes forever, I don’t know how real artists manage to get anything done in any kind of reasonable timeframe.
I’ve also started on some interior dungeon tiles (Below is a work-in-progress shot) which has only confirmed my fears that there needs to be alot more graphical content than I had originally anticipated.
Dungeons without stuff in them are just a bit boring.
Tomorrow I’m going to get back to doing some framework programming. I’m going to try get modal dialogs implemented and then I’ll be one step closer to getting that level editor done.
Some New Sprites
Posted by Joshua Smyth (Admin) in rQuest on October 1, 2008
I haven’t got much coding done lately but I have managed to rework some old Caverns of Underkeep sprites and create a couple of new ones for rQuest. (Which needs a new project name now that its going to be more of an old school RPG than a roguelike.) I’ve also got some new tiles in the works, but I should really be moving on to making the map editor.
32×32 Sprites
x2 Zoom
I’m going to try doing fortnightly project updates starting soon. (Weekly is probably too frequent to report on considering how little I’ve been able to get done lately.)
On Programmer Art
Posted by Joshua Smyth (Admin) in programmer art, rQuest on September 2, 2008
Programmer art is any artwork done by a programmer, it’s a derogatory term – Because, well most programmers can’t draw.
But I’ve been practising my pixel art lately – I was looking at my budget for rQuest and it really wasn’t adding up to include the massive amounts of gorgeous artwork that I had been hoping for. (Especially after how much that last dentist visit cost me… ouch.)
Thankfully, everyone can create some sort of art, the trick is finding what kind of constraints to impose in order to produce a consistent level of work. One of my favorite essays that I find myself re-reading every now and again is Hugh MacLeod’s How to be Creative – Now, say what you want about his drawing skills, but his artwork is very unique and certainly very clever.
So finding myself lacking in monetary funds I took it upon myself to just start creating the artwork for my next game. And bellow is the current work in progress. (Click for large version)
It’s starting to tighten up, But I still have some details to fill in and there are some shadow and perspective problems to fix. But thats all part of the process, it also may look very simple so far, but it has literally taken me many, many hours.
What I’ve also discovered as I’ve been creating my tileset is that programmer art is really good for using as test art – “Well duh Josh,” you might say, “that’s the whole point of using programmer art in the first place.”
But I really mean test art in the literal sense.
As programmers, we create unit tests, test data, use cases and so on to ensure that our programs are as (hopefully) free as possible of bugs. But I think that programmer art is under utilised as test data.
The key thing is to use assets that are placeholders for the real thing. Use the correct file formats and sizes, directory and archive structure. It doesn’t matter so much what it looks like, but it really needs to have all the same features that the final art will have. If your game calls for animations, create mock up animations to test the code with. It may seem obvious but doing this kind of work helps iron out flaws which might become hard to retro-fit.
For example, in creating my above image I’ve discovered that I should really build a shadow layer into my map file format, this was something that I didn’t think about until I started creating my test art. Also getting the stairs to fit nicely into the grid with that perspective was quite difficult and I’m going to have to implement a special ‘sprite y offset’ on those tiles.
Getting back into the swing of things
Posted by Joshua Smyth (Admin) in rQuest on August 2, 2008
So its been a few weeks since my last post. I mentioned before I have started a new job so I’m slowly transitioning into working out how to schedule my freetime. Work on rQuest has slowed as I’ve spent the last couple of weekends doing some research for work in order to better get up to speed in that area.
I did get some coding done today which was great, I added some wordwrapping capabilities to my SFML extended string class. Now I know what must feel like to be working on browser text rendering or even word processing software AKA the killer app of the late 80s. Text is such a fundamental part of computing that we often take much of it for granted – That is until we have to write our own text controls.
I spent the other half of the day evaluating tools for project management. This is the first time I plan on working with anyone other than myself so tools to assist in this area will be a vital part of development cycle.
I’ll probably use Google Docs to share information and specification sheets amongst team members. Documents can be made public or you can make them viewable by invite only. So I can store all my design documents and required asset lists there.
I signed up for a free account with Acunote – A project tracking tool which is based around the idea of doing short sprints. (If you are familiar with the Scrum process, Acunote is a Scrum-based project tracker.)
I like having to-do lists as I don’t have to try remember where I was up to when I sit down to do some work. The nice thing about sprints is that you can filter by “Assigned to user”. That way you can make your to-do list not seem so daunting by leaving jobs unassigned until you are ready to tackle more work.
I also installed Mantis a free php based bug-tracking tool. Mantis probably won’t get too much use until later on. But I might start testing it out with Caverns of Underkeep – There are a couple of bugs in that game that could probably do with fixing and I’d like to get it out of Beta sometime this year
New Job
Posted by Joshua Smyth (Admin) in Offtopic / Real Life, rQuest on July 10, 2008
About 2 weeks ago I finished my final exams ever! I just got the results in and it looks like I’ll be graduating with a BA/BSc in Mathematics and Computer Science come autumn.
I’ve also accepted an offer as a .net developer, I’ve only been there two days but they seem like a good bunch and I already have a lot on my to-do lists. As the work largely revolves around business logic which often lives on top of databases, and I’ve not had that much experience in that area, I’ve had to learn alot and read up on all that kind of stuff – Which will probably take me some time to fully grok.
Which means that I’m not going to have too much time over the next few months for my pet project – My employer is paying me for my full attention after all.
But it does mean that I can put some money away to pay contractors to work on various parts of the game, expect some nice art and music when my new roguelike is ready.
As an aside – Last week I started adding some code to the SFML library sf::String class that would allow more flexibility with text rendering such as centering, horizontal and vertical alignment as well as wordwrapping, and subrect rendering. All of which will be very handy for any project that needs to manage text, but seeing as I’m making changes to the SFML code I may as well submit the new features I’m writting to be released in a future version.
How Permadeath Should Work
Posted by Joshua Smyth (Admin) in rQuest on June 29, 2008
So the Internet is on fire because Blizzard has finally announced Diablo III
Go check out the gameplay videos, it looks quite impressive. I’m looking forward to multiplayer.
No announcement of a new Diablo game goes without a look back at the games that Diablo descends from – Rogue and Nethack in particular. The discussions have already begun, is Diablo even a Roguelike? Is it just a click-fest with great eye candy? Is Nethack a better game because of the depth and strategy involved?
I’m not really interested in debating the point, it’s obvious that even though Nethack and Diablo have a common ancestory they have diverged enough to the point where they’re completely different games.
As I’m working on a new roguelike game myself – I thought I’d share how I think permadeath should work in roguelikes.
Make it optional!
It’s that simple really. A normal mode, and a hardcore mode.
In normal mode a single save anywhere is allowed and when you die you are automatically resurrected in the closest town with a xp loss penalty and all gold on hand is lost* No big deal, a small set back but you can still recover and death still has a penalty.
In hardcore mode, a single save is also allowed (to allow you to restore games still in progress) but when you die thats it, game over. No resurrection and no restoring the save.
Seperate highscore tables will be kept for each game mode.
Let the players choose how they want to play the game. That’s also why I’ll be implementing difficulty levels. Let the player choose the right challenge for them, you’ll end up with a better game in the end.
*A bank or vault will be avalible to store gear in all the major towns.
SFML
Posted by Joshua Smyth (Admin) in rQuest on June 29, 2008
I’ve been spending the afternoon with SFML or Simple and Fast Multimedia Library
It’s a 2D Graphics API for C++ and It’s pretty minimalist, but comes with just the right amount of features for me to build a game framework with. It has almost all of my requirements for a good 2D library including; events (and polling), scaling, rotation, hardware accelerated blending, text rendering, cameras (to zoom and pan the entire scene) and even pixel shaders -Which I probably won’t use for compatibility with older hardware.
Aparently the Mac port is a little behind at the moment, but should hopefully be ready soon.
So far I’ve got some sprites on the screen with some rotation, blending and scaling going on. I’m going to start building the GUI framework soon, incorporating some of the ideas I learnt during the development of Caverns of Underkeep – I’m also going to download and play some more “casual” games, as they often have quite interesting and featureful GUIs.
So Why C++
Posted by Joshua Smyth (Admin) in myProjects, rQuest on June 9, 2008
If my last games were written in Java, why am I using C++ for my new Roguelike?
Countless religious wars are fought over programming languages, just look at any forums frequented by programmers.
I’d like to think that I’m pragmatic in my technology choices – Languages aren’t often better or worse, but in many cases some are simply more suitable than others. Caverns of Underkeep and Attack of the Meeplings were written in Java because I wanted to have a go at making browser based games and I decided that Java was the best technology for the job. Incedentally I think Flash would have been better in order to leverage in-game advertising – I guess sometimes business decisions need to trump technology ones.
The main reason for choosing C++ is that it compiles to native code on both PC and Mac, there are lots of external libraries for common tasks and it has a mature IDE (Visual Studio) and debugging tools.
The native code argument isn’t because of speed. On modern CPUs for 2D games the speed difference between running on a VM and running natively just isn’t human noticeable. But native code does ensure that all libraries are linked and deployed with the game. While I would love to have the expressive power of LINQ for my game, I really don’t want to require the user to download the .net 3.5 framework.
You ‘d think the Java runtimes would be more widespread than they are. I just bought a new laptop recently and it didn’t have any kind of Java VM pre-installed at all. And when you’re the little guy you want to put as little as possible in-between a potential customer and them buying the game.
And then there is the simple fact that being multi-lingual can improve your programming skills in more ways that just adding another technology to your resume, you get the benefits of seeing the world from a different perspective.
If I was deploying on CD or writing business software, or a designing a web application it might be a different story. But I guess C++ is the choice for now.
Game Solution Stack
Posted by Joshua Smyth (Admin) in rQuest on June 4, 2008
I’ve got final exams looming over my head like storm clouds on the horizon. But in between exam revision procrastination I’ve been thinking a bit about Tiny Frog Software’s next project.
Its going to be a roguelike game – Similar to Caverns of Underkeep but this time it’s going to be a downloadable title. Running the game on the desktop alows me to do alot of things that weren’t really practical in COU (like saves and game mods) I’ll be doing a free demo/pay for the full version type thing. And I’ll be targeting the Windows and MacOS platforms.
COU was written in Java, but I’ve decided to write this new project in C++ – Unfortunatly what’s really powerful about Java (and .Net) is that they provide a large framework for many common application tasks. When you go back to C++ you either have to write that functionality yourself or use external libraries.
Heres a list of tasks I need to be handled on my solution stack.
- Graphics / 2D / Hardware Accelerated : Simple and Fast Multimedia Library
- GUI / Game State Manager : Will develop in house as part of the framework
- Music and SFX : Bass (Licence Required €100 per platform)
- Scripting Language : LUA
- Internet Connectivity Library : Possible Solution – LibCurl
Getting this core framework togeather, operating and tested on Windows/MacOS will need to be done before building the actual application layer which will use all this nice stuff. It’ll probably be near the end of the year before my 2D game framework will be fully functional. That also gives me enough time to save money to contract out some art and music resources.




