http://www.youtube.com/watch?v=sYWCLx9pKiA
Well, there it is. The culmination of another summer's work. Thanks to Paperjack for post-processing the audio, and sorry for my horrid narration.
Well, as I've hinted, I start college in a few days. The time I've spent on MnemonicRL has been drastically dropping even before this point. Basically, the project is being shelved for now. All along, I haven't developed to create a game people would enjoy. I don't game much myself anymore. The fun in this for me is playing around with algorithms for monster behavior or dungeon generator, or dabbling in procedural animation or networking. Even some level design forces itself out every once in a while.
I've never enjoyed the step from transforming a tech demo into a game, though. The code for combat's there, I made up visual effects and rules for many attacks, but when it came time to get the numbers right for leveling and damage and such, I quickly grew bored. With Hotel Solipcyst, I tried to replace combat with other gameplay elements -- exploration, dialogue, treasure hunting, even a version of Snake where you herd a guest's unraveling thoughts into new patterns. But after implementation, tweaking them to be fun to play was again a boring task to me.
So the lesson I've learned through all these years of off-and-on roguelike development: I can't do this alone. Thankfully I'm about to be surrounded by a large group of wonderful, talented new people. I've never done a team project before for lack of a partner, but I look forward to it. Therefore, this is not my parting message from rgrd or game development. I am much more interested in simulating traffic than developing games, but thankfully games (or at least game-like things) happen to be a great place to showcase and play around with new algorithms. The next project will come, just maybe without masquerading as a game.
Thanks for reading, unknown readers. It's been a fun trip. I'll keep this blog updated with my exploits at UT Austin. Until then,
~ Dustin / Da-Breegster
Tuesday, August 17, 2010
Sunday, August 15, 2010
Quick update
Hrmm, I'm really not good at this. In the last few weeks, I've been preparing to move, working with my company on web development (of the server-side sort, of course), and -- yes! -- filming the trailer. It's in "post production" now, I guess, which means that I have to record the narration, or sucker somebody with a better voice and no lisp to do it for me. Overall, it hasn't turned out anywhere near as good as the first did last summer. But I'll explain more in my message with the trailer... which should release in two or three days guaranteed (because after that, I won't have time for this sort of optional project.) Woo!
Saturday, July 31, 2010
3 Weeks
I guess I should really get back into my old pattern of updating regularly (and having things about which to update?)... there is news though. It finally has a name... your delusions manifest in Hotel Solipcyst. The word comes from solipsism, this desperate idea that only your mind surely exists. The beauty is that this paranoia is not even enough... the whole point of this segment of the story is that memories are as mutable as anything as well. So what can you trust? Oh, and "solipsist" became "solipcyst" by an esemplastic whim -- "cyst" has that excellent parasitic connotation to it. Yeah, I saw Inception recently too -- but I've had these ideas for millenia prior.
In my last three weeks (officially yesterday) before moving, I will produce a trailer to something that isn't quite yet a game, something that won't be finished. I have a vague inkling why a trailer could still change things, but for all purposes, my motivation is the same as ever -- my own enjoyment. As always, I like creating effects, ideas, behaviors -- not necessarily fun ones or those with win conditions.
My goal right now will be excellent if it works how I envision -- basically, think spotlights for mood lighting. More later...
In my last three weeks (officially yesterday) before moving, I will produce a trailer to something that isn't quite yet a game, something that won't be finished. I have a vague inkling why a trailer could still change things, but for all purposes, my motivation is the same as ever -- my own enjoyment. As always, I like creating effects, ideas, behaviors -- not necessarily fun ones or those with win conditions.
My goal right now will be excellent if it works how I envision -- basically, think spotlights for mood lighting. More later...
Sunday, July 25, 2010
Floating Points and Floating-Point Arithmetic
My Java experiment, which has been eating much of my development time lately, should soon be playable. Frame-independent movement (don't move 1 pixel per frame, move 15 pixels per second and track dt) and rounding issues were finally remedied, and I got my logic improved for jumping from rising platforms. I also briefly implemented a scrolling background layer that doesn't seem to eat too much more CPU. Net effect of all this work? I could have my falling Santa game going within the week. Which means I could bug people who won't have time to help for sprites.
Mnemonic-wise, I haven't done anything. I really would like to turn out a trailer before school starts -- making the one last summer was really fun. As for making an RPish game playable and -- more importantly -- fun in three weeks, it won't happen. That doesn't bother me, so I guess if anything, my goal would be to finish fleshing out the environment for a future fun experience. My sense of time and haste will be inverted a bit tomorrow, so I'll try to focus on Mnemonic instead for a day, see what happens.
Mnemonic-wise, I haven't done anything. I really would like to turn out a trailer before school starts -- making the one last summer was really fun. As for making an RPish game playable and -- more importantly -- fun in three weeks, it won't happen. That doesn't bother me, so I guess if anything, my goal would be to finish fleshing out the environment for a future fun experience. My sense of time and haste will be inverted a bit tomorrow, so I'll try to focus on Mnemonic instead for a day, see what happens.
Monday, July 19, 2010
Another Return, not a Yield
I haven't done enough parallel programming to really make that joke in the title yet. But anyway, I am back from UT Austin (technically have been for a few days, but stayed really busy until today). I remain astounded by orientation, the OAs (student leaders/RAs there, basically), the friendliness of everybody I met, my own unexpected socialness, the city's breadth and the campus's depth, and the spectacular advisors and students from Dean's Scholars and Turing Scholars. I'm taking 17 hours this fall -- Vector Calculus, CS theory, CS data structures & algorithms, a philosophy of the arts, and two two intriguing classes associated with DS. I guess that means Mnemonic really will fall on the wayside. Nevertheless, I will work on it when time is available. More importantly, the work I do continue all started here... ultimately I've created a playground for multi-agent experiments, a bestiary of pathfinding techniques, a home where a few people hung out, if only for a few minutes in passing...
But it's a month too early for sentiment. In my few days back, I tweaked guest crowd behavior again to time their routes through the Hotel better. I'm not happy with their "pace around aimlessly in a room for 30 minutes" behavior yet, though. Since I'm diffusing this bloody useful influence gradient from each staircase/exit on each level at init-time, I decided to use it not only for pathfinding between rooms but also for wandering around. Pick a staircase and a random scent level (not 0, which would be the staircase itself) and hill-climb up or down to reach that point. Continue for as long as needed. This works for the most part, but I'm observing lots of agents getting caught in local minima -- they'll spazz out between a few tiles. Gotta examine the scent levels there to figure out why.
I've also been continuing my Java experiments. Today I got "frame-independent" movement going... rather than trying to run the game at 60FPS by sleeping variable amounts of time, I'm having the thread/game loop sleep a constant time and tell movement functions dt -- that's change in time since the last tick. This lets me specify velocities way easier anyway -- 50 pixels per second? No problem, it's been 349/1000 seconds since last tick, so a touch of dimensional analysis (fancy-speak for "multiplication" in this case) and some floating-point positions, then things are moving consistently no matter how well the game is running. Sadly, my collision response-fu isn't quite as strong -- my trick to fix overlap by the axis over which the instigating entity was originally trying to move, it isn't working so great when you're constantly falling and also trying to move left/right. Once I fix that, hopefully the other major issue will clear up too -- movement isn't fluid at all. My numbers are probably way off -- and the keyboard repeat rate bug isn't helping (more on that another day) -- but acceleration due to gravity feels clunky still.
Well, it is late.
But it's a month too early for sentiment. In my few days back, I tweaked guest crowd behavior again to time their routes through the Hotel better. I'm not happy with their "pace around aimlessly in a room for 30 minutes" behavior yet, though. Since I'm diffusing this bloody useful influence gradient from each staircase/exit on each level at init-time, I decided to use it not only for pathfinding between rooms but also for wandering around. Pick a staircase and a random scent level (not 0, which would be the staircase itself) and hill-climb up or down to reach that point. Continue for as long as needed. This works for the most part, but I'm observing lots of agents getting caught in local minima -- they'll spazz out between a few tiles. Gotta examine the scent levels there to figure out why.
I've also been continuing my Java experiments. Today I got "frame-independent" movement going... rather than trying to run the game at 60FPS by sleeping variable amounts of time, I'm having the thread/game loop sleep a constant time and tell movement functions dt -- that's change in time since the last tick. This lets me specify velocities way easier anyway -- 50 pixels per second? No problem, it's been 349/1000 seconds since last tick, so a touch of dimensional analysis (fancy-speak for "multiplication" in this case) and some floating-point positions, then things are moving consistently no matter how well the game is running. Sadly, my collision response-fu isn't quite as strong -- my trick to fix overlap by the axis over which the instigating entity was originally trying to move, it isn't working so great when you're constantly falling and also trying to move left/right. Once I fix that, hopefully the other major issue will clear up too -- movement isn't fluid at all. My numbers are probably way off -- and the keyboard repeat rate bug isn't helping (more on that another day) -- but acceleration due to gravity feels clunky still.
Well, it is late.
Friday, July 9, 2010
Cyclic Graphs, Rejuvenated Lifestyles
I haven't vanished. Today I felt claustrophobic in the Hotel, so I finally filled out two areas. First we have the vending hall...
Followed by the laundry room, with animated washing machines! The phrases floating around are relevant and will eventually be animated and helpful as well. For now, little jokes in Latin are sufficient.
Oh, and Java. I'm liking it. Sometimes choice is a bad thing -- SDL, Allegro, OpenGL with a 2D perspective matrix...? Swing and AWT just work, and they just work everywhere. I fixed the flickering issue in the detangle-the-strings applet, and I'm about to start on a new idea for a game. More tomorrow, hopefully, before my great journey begins.
Followed by the laundry room, with animated washing machines! The phrases floating around are relevant and will eventually be animated and helpful as well. For now, little jokes in Latin are sufficient.
Lastly, we've got the gift shop. I wanted that Earthbound-esque mall look, hence the second floor. A valid use for escalators! Not sure how the 'interact' command will work with things like shelves of items yet... it's no fun to go press the spacebar next to each shelf until you find the clue you need.
So what else has happened, and will happen? A new joy has entered my life in an unexpected way and remains on a distant pedestal for good reasons. This next week, I shall be away from any form of a computer, so sorry, I will be composing ideas only. It's for university, though, so I'm quite happy! I suppose once school starts and I have less time to work specifically on MnemonicRL, I'll tag some posts as UT (UT Austin, that's my home) so I can show off my baby steps in the world of formal Computer Science education. Anyway, I'll be working harder than ever once I get back so I can release something by the summer's end. Await with curled toes!Oh, and Java. I'm liking it. Sometimes choice is a bad thing -- SDL, Allegro, OpenGL with a 2D perspective matrix...? Swing and AWT just work, and they just work everywhere. I fixed the flickering issue in the detangle-the-strings applet, and I'm about to start on a new idea for a game. More tomorrow, hopefully, before my great journey begins.
Tuesday, July 6, 2010
Appletizing
Eh, today wound up with my eyelids numb and pupils dilated. Curse you, optometry! I wound up playing with Java much more than working on crowd behavior. Finally appletized my detangle-the-strings game. Click and drag the circles till no lines intersect. Try it? Server might go down anytime, and the flicker is a known issue. Guess I'll start tagging non-MnemonicRL posts, since as university starts, I'm sure to be talking about different projects. No fears, I'll get back on track with the Hotel tomorrow!
Subscribe to:
Posts (Atom)