Yes, there's actually a new screenshot for Novarunner. Amazing, isn't it?
Now you've seen some bullets getting fired. Hooray!
Of course, things that aren't working properly include spread, collision detection, and collision response. But these are relatively minor things to loading and firing a weapon through the many layers of classes to finally drop the bullet into the game world and let it go free.
There's a lot more to do. But I think that'll do for tonight.
I'm working some more on weapons in Novarunner. You can fire ammo, but you can't see it, and the game bails on a not-implemented assertion in the bowels of weapon management. Obviously because I'm missing a stub or two.
I'll get that working, and then we can start to get collision detection working and other fun stuff along those lines. And then I can finally make the weapons unsuck.
Then, I can do some fun stuff: space station GUIs, etc. Stuff for you to look at since I know you're so devoid of screenshots.
I also want to fix up the radar. In particular, I came up with a nice idea for the player to remain aware of their surroundings without having to look around the cockpit for nearby relevance; I'm going to try and get it to work without being distracting. User interfaces are hard!
Das Engine
In other news, I'm still working on engine design in my spare time. Hopefully I can avoid many of the informal slap-dash things I've been doing when trying to span together a new engine for each game, and formalize a few design practices as well as implement some coding standards (finally). My standards are pretty good, but occasionally it's hard to read my code due to inconsistent naming and behaviour patterns. I'm gonna try and fix that and make nice, tight code with obvious responsibility. Ideally, the engine will just be a tight layer on top of Propane Injector itself, which will make life easier.
Two nice things it'll finally add to my repertoire: rendering buckets (depth-sort, etc, like in jpetrie's code) and a nice scene graph.
Those of you who argue the "make a game, not an engine" (like myself) can take comfort in the fact that I have a pile of informal code which could be coerced into making a decent engine, and normalization is never, ever bad.
Expect me to be posting some pretty diagrams over the next few weeks that will show you just what I am doing in terms of theory, while still being pretty.
There is no other news. I am older. So are you. We are all going towards some inevitable apocalypse.
Somehow I managed to break 100K views of this journal this week, and now we're at 101K. I don't know how I managed to get 3000+ views in four days without noticing it, but thanks a lot.
I've been working on the weapon stuff for Novarunner some more; now I can create a bullet, drop it into the game state, and it just sits there. Hmm. Perhaps I need to write some update functions to move the bullets and make them rawk.
As for today's link/silly image of the day, I think some of you may be confused about my reference made in this cat thread. Therefore, I have deemed it necessary that you watch this informative recap of the Nicholas Cage remake of The Wicker Man. Don't worry, it's over faster than you think. And there's chick punching.
P.S. Tomorrow is my birthday. Note that floorcaek compresses poorly with bzip2, so use 7zip to compress any gravitational pastries.
Well, I've got the insides of the weapon system working (requesting projectiles, positioning the projectiles, decrementing ammunition, checking timers) but I do not yet have the outsides working (rendering projectiles, updating projectiles, hitting the Fire button to fire your weapon).
No doubt this will change soon, however, and then I'll spend a few months trying to figure out how to rig this up so you can actually HIT something.
I've been sort of distracted this week preaching the gospel of functional programming, working on the SS3 weapons and event system, and learning a bit about DirectX's render targets and modern spatial database theory. Eee-yes.
Fixed some stuff under the hood, got some more code written for weapons and refactored a pile of old junky code.
Also, I added achievements.
Right now they bestow nothing other than a message and (eventually) a little jingle.
Right now you can get them for:
Dead-Eye: Killing over 100 people
Mushu: Stockpiling over 300 tonnes of Vodka
Long Hauler: Driving over 1 000 000 world units
Wastrel: Firing over 1 000 000 rounds of ammo
I'll probably add more later. It is kind of interesting how ugly achievements make your code. In the future I'd prefer to do these in a scripting language.
Next up: Weapons, or something. Seriously this time.
As promised, here is an improved version of the starmap.
It would sure be cool to get little "hobo sign" style icons under the tooltip that shows what services are available in a system. Maybe I'll start whipping some of those up.
In other news, vignettes are actually functional. It's crazy!
That was one big, thick commit. You could feed a family of four for a week on it.
Major improvements:
Pulled disparate "asset cache" classes together with a common interface, cutting out at least 300 lines of code and making a nice tight addition to Propane Injector later on.
Added camera controls to the vignette, as well as non-critical system input processing (new input events, quitting the program, changing fullscreen, minimizing).
Working now on getting the renderer to switch between fullscreen and windowed modes on the fly. This is a feature that I think was sorely missed in Glow.
Added stub weapon classes and some more inventory skeletons. I think I can probably get ammo being ejected pretty soon if I can just sit down and do it like today.
Just banged in a new feature just now; the vignette gives the player limited camera control, allowing them to orbit around the ship while it's doing something. Exciting!
Today, I managed to actually write a few lines of code that tied together several weeks' worth of effort into a nice little whole.
It may not look it, but that's a significant step forward. It means I've profoundly rewired the internals of my code to support cinema scenes, and now it should be very simple indeed to whip out quick realtime cinema scenes for things like docking, dying, and warping. Amazing! It also sort of means that I have a chunk of the AI infrastructure in place, ready to give ships little goals and have them do stuff as my twisted hand demands.
Anyway, next up is weapons. I'd have gotten them done today, but my motivation waned when it came time to figure out how I should rebuild my bullet class to 'encapsulate' rather than 'inherit'.
Expect some nicer screenshots soon as I shoot up planets, bad guys, and other AI-less monstrosities.
Since my crackheaded comic posts seem to be drawing such massive reams of comments:
Quote:
SHilbert: you do realize that someone probably shot their electrician/cable repair man/plumber for those to exist
ravuya: only americans would think to enter a house in which an opponent presumably is within to gun them down
SHilbert: well it's their house, you see. and they're of course packing
ravuya: i like how happy the maintenance man is
SHilbert: he's happy because now you know not to shoot him
Today's play suggestion: Puzzle Quest. Hard to find in stores in the past? Not anymore! They did a new printing of the game to satisfy the ravenous demand put upon the game retail market at large by angry, carnivorous Penny Arcade fans. You should be able to find it cheap as chips. Just make sure not to buy the buggy first printing of the PSP release -- companions don't work.
However, those of you reading my journal are obviously very smart and attractive, and would never demean yourselves by admitting to owning a PSP.
A Wii version is coming soon. SHilbert works at the company that makes it, but not on it. So don't ask him for help learning how to play Bejeweled with venomous spiders.
Don't you love it when something unbelievably ugly gets wrapped up nice and cleanly for you after a lot of hard work?
Makes me understand why people in farming communities love their Earthly toil so much.
Also gives me kind of a vibe for coding when I get home. I think I'll have to start working on the sound engine, which will also see some work in Glow II.
P.S. Americans: We burned down your White House once, and we can do it again.
I feel sort of demotivated, so I've been taking a break from heavy work and been tinkering on how to get projectiles firing through the environment. Luckily, the way that projectiles enter the enviroment is much nicer than it was in Glow, so good news for not having ugly code. Yaaay!
Instead of progress, this journal entry will instead focus on peppers.
Discuss.
P.S. Happy Fourth to those of you living under the Bush Occupation. Our Queen kicks your representational democracy's ass.