Judging from my closed bug list, the last few days I've been working on quests and some other gameplay stuff which I find highly erotic fascinating.
I've also been pretty busy outside of the game, but that might change pretty soon; I should have some more time to work on the game, which coincides perfectly with the journal commentators' attitudes of "stop working on the fiddly engine bits god dammit and get a game running" so far. And I totally agree.
My next goal is to get weapons firing! Really! I'm busy figuring out the best way to hook the actor's input message response into the game world's projectile sets. In Glow, this was a hack. I'd like to do it nicer here.
Also, I'd like to add mining into the game, since that was really cool in the second Sunrise prototype.
Offtopic: I'm getting sick of wearing other companies' lame t-shirts. Would anyone here buy one of a series of Ravuya-themed t-shirts if I slapped them up on Cafepress or something similar? I want to hurt my coworkers' brains.
Quaternion::lookAt method implemented; now you can create a look-at quaternion that you can slerp NPCs towards to have them roll towards you and have you murdered. Might break physics, but that needs to be broken. Will implement the Brain::goToLocation method eventually.
Coded myself into a corner regarding projectile creation and programming... I'll have to clear that up before I do much else.
Screen shake implemented (using a Lissajous curve) but it looks very ugly and will need some more work.
Propane Injector
Pushed out another SVN beta, adding proper UI support, cleaner math classes, full shader and FBO support and a prototypical VBO.
Backported the Quaternion methods from Novarunner.
Added the Game class, which adds an XNA-style framework that you can "plug" game processing modules into and out of. It's sort of like a lighter weight version of Enginuity's kernel concept, albeit with multiple "buckets" for modules (modules can run concurrently or simultaneously).
Amaranth
Working on a scene manager, which will have support for depth-sorted buckets, named references, and hierarchical culling.
Working on the Sprite class, which lets users make animations from multiple image files or any number of sprite sheets. Animation frames can be pulled from any known sprite sheet in the database, so one animation can call upon multiple sprite sheets for its contents. Vaguely inspired by the one in Stick Soldiers III, but much shorter thanks to the joys of System.Xml.Serialization.
Screenshots? Hmmm... let's see if I have one of those in my bag of tricks.
So I got my spawner working right now. It's very primitive, and the rotations aren't in yet, and I forgot to bolt on a new skybox before taking the picture.
Here's a special one with a tight range and collision-rejection turned off; I think you'll like it quite a bit. Sort of like they're flying in formation.
With a wider range of placements and collision rejection turned on it looks more like a random cloud than like a piece of art.
You'll also note (correctly) that this is slow as hell. I need to write some culling code, stat.
Didn't get home until late last night, so nothing done.
That said, I think I'm on the verge of getting actor spawning done properly. Just have to get the loading done, and then implement "look-at" quaternions.
As a reward for following my journal to this point, I now give you a picture of a kitten:
Tonight, I will give you a screenshot with a new skybox filled with generated actors. Exciting!
P.S. in my "less code inspired" time, I've been producing ship models. They are all really ugly. Tips on improving model quality, plz.
More work on the amazing task that is serialization. I had to make a major ugly hack to get around a bug that my crappy design had caused, and I'm not quite sure how I could've done it otherwise.
Outside of that depressing news, actor spawning is working, although it automatically asserts because I haven't implemented the loading functionality quite yet for actors. All the pieces are in place, however, and I should be able to bang that down tomorrow night or the night afterward.
The new office is quite a bit more of a commute; I'm spending almost an hour more on the rails and on the road to get where I'm going. However, the new office is also much nicer, much quieter and better lit. Already I'm feeling much more productive and I've cleaned out some nasty bugs from my work stuff (the experience from such I hope to implement in a future game engine).
I've also, unsurprisingly, been thinking about what's next for Novarunner after simple actor spawning. I don't want to let the cart get ahead of the horse here, but I certainly want to get weapons firing so you can at least start shooting these (dumb) actors.
And having a function in my Quaternion class for "look at" wouldn't be too bad, either. I'll have to look up the math on that one. I think I somehow have to make a rotation matrix out of the eye, up and look vectors and then make a quaternion out of the rotation matrix (which I don't have code for yet). But that's boring math shit, and you came here for screenshots. Since Novarunner is currently violently asserting on load, here's a screenshot of something entirely different:
I didn't get anything done. Between preparing for my office move on Monday, the usual Father's Day stuff, and playing a lot of Wii games I simply haven't had the time.
We'll see what my free-time prospects will be like after I've adjusted to the move, but at least I'll have plenty of time to write out everything on the bus and get it all designed properly in my head before implementing it.
Got tutorial beacons added to the system XML file. This'll be sort of useful, I guess.
Other than that, not much. I'm going to need to trim down some of my tasks to make sure I can do them. Right now they are large and imposing and scary and I'm not very motivated to complete them and advance the game.
Of a particular annoyance right now is how much my ship rolls when you are trying to pitch and yaw at the same time. I find it quickly makes the game impossible to steer and are wondering how other games solve it... though I am also starting to suspect other games do not use quaternions for spaceship rotation.
The radar's suckitude is, of course, directly related to my issues. It seems I'll have to refactor it based on my ship's direction vector rather than the Euler Z-angle I hacked out of the rotation quaternion.
Wonder if I could just "blank out" the roll component when using the elevators and rudder. Hmmm...
ApochPIQ is trying to help me with my starfield; already I see that I have done some things right and a lot of other things wrong. It's starting to look like it's also revealed a large bug in my star field generation code... expect to have the starfield fixed and "screen rumble" implemented later.
I'm going to get docking working, then I can release a very first pre-release version so you can all see it and suggest how controls would be better. As a bonus, it'll help make sure my code still works on Windows.
Speaking of Microsoft...
Tao
I've been trying to get the latest version of Tao working under Mac OS X. It looks like a lot of the OS X support was broken, so it's a bit of an effort trying to get everything the way I want it.
I do, however, have a C# SDL game up and running on OS X... just in time for me to practice my miniature-Mono bundling. I discovered a cool tool in the OS X Mono installation which actually will let me combine my assembly and the Mono runtime; this cleans up my miniature Mono concept quite a bit and prevents me from having to worry too much about redistribution.
Made some OK mileage on the Novarunner inventory system, which unfortunately doesn't have a view attached to it yet. I also sat down and profiled the thing in Shark, which revealed a strange bug in my terrible model rendering. I must switch this stuff over to VBOs post-haste.
Not a lot of other new stuff; I think after the inventory code is done I'll have to put on the UI and then get started handling equipment, firing requests and weapons management. Then there's all sorts of stuff to do after that.
I'm quite irritated there's been no real visible progress; nothing is more discouraging. The game needs a lot of work until it can be really nice looking, let alone playable.
I've also got some major concerns regarding the controllability of the damn thing and why my radar doesn't work when I'm flying upside down. 3D sucks!
I think the "dustfield" is on the way out, to be replaced with some neat "manga lines" effect that makes it look like you're going really fast.
Other stuff: Anyone want to take bets on .NET support (or at least an open project file format) in Xcode 3? No? Okay, I didn't think so.
Can't finish my MAGIC entry; just too many problems with handling building destruction, AI and making a decent game.
Wish I had done something simpler, like a Tower Defense or Warlords/Rampart clone. That said, if there's no risk of failure, you're not pushing yourself hard enough. I think I've learned at least something from this experience, and I'll have to figure out what that is.
Ah well, I'll do better for 4E6.
Other stuff today: I started putting together the Glow II universe document. Backstory and stuff will be a hell of a lot more consistent and available if the player wants to get into it. One of the things I'd like to speak about later is the implant system. I've also got pages and pages of posts to make on the graphic engine and particularly clever optimizations I've made due to its unique perspective on life and peculiar requirements. However, that's all stuff for the future.
As for Novarunner, it's pretty much lain dormant since I started on the MAGIC entry. Stuff you can look forward to in the next few weeks:
Docking with space stations and trading
Systems being actually populated with ships (albeit a few of them might be stuck inside planets *cough*)
Simple AI ("go to point")
Might even get weapons firing. Would be lovely.
Now that I've gone back and thought about Novarunner more, the game is becoming more solid and likeable in my mind. I still don't know what the 'hook' will be, but I think a competently made game can make up for not having a particular 'hook' in the design process.
We're coming up pretty close on the one-year anniversary of Glow's initial release, so I suspect I'd better do a postmortem for it pretty soon.
Anyone got any strange design decisions/bugs/attributes that they'd like me to explain? I got in the mood by playing CSRPG 2 a few times today and looking for all the secrets.
My MAGIC entry really sucks. I don't know how I'm going to illustrate "towers" considering I have a strict top-down with no perspective. I think I might just end up pretending past it.
Other than that, the stuff I planned to do for today didn't get done. I just didn't feel like coding much today.
Tomorrow, though... I'd better get my ass in gear.
And here you thought I had been ignoring it. Not bloody likely. I've been adding some functionality here and there and refactoring old classes. New stuff today:
Propane::Game2D::Actor is now in the game2d directory
Propane::Game2D::Game class added; it's pretty much a basic emulation of the Xna.Game class but with an internal actor manager and sprite manager.
Tower Smasher
My MAGIC entry is going OK. Car physics still suck, but the turret is a joy to steer and I managed to bang together some pretty user-interface elements which should distract people from the rest of my horrendous graphics engine.
Amazing Future News
I announced that I'll be working on Glow 2 (after Novarunner, of course) on my website this morning, and already I got some fan mail:
Quote:
Hello,
I've read on your website that your next project will be Glow 2. I've become increasingly giddy at the idea and now I'm just down right excited. I'm just glad you've submitted to the pressure of your fans ;-) (I know I've slipped a comment or two hah!)
S.
How awesome is that? I haz fans!
Now I just have to make sure I don't let them down!
Yes, I do actually put some time in on it. I'm busy tightening up some of the controls and working on system population. It's surprisingly hard to populate a star system with ships without crashing them into each other, through planets or into gravity wells.
First things off the bat: Check out my MAGIC Contest page for the latest details on what's going on with my contest entry. I don't know what it will be, but I hope it will be awesome.
Secondly, today I worked on Stick Soldiers 3 and purchased a new monitor and video card. I am now fully equipped with dual TFTs and an 8600GTS for meaty processing abilities.
Ergo, this is now my desk (sorry for the terrible camphone shot):
The new monitor's on the right. It's a Samsung SyncMaster 931BW and it cost me less than the low-budget TFT next to it. The 2000:1 dynamic contrast ratio and 2ms refresh rate is helping me kill more Slavic scavengers in STALKER (try saying that three times fast).