Here’s a test of my jam game: https://dl.dropbox.com/u/69608548/jamgame.zip (requires .net framework 3.5+, temp control scheme listed in tempctrls.txt) If it doesn’t run, report it to me and I’ll see what I can do.
I’m still having trouble coming up with adding depth to the gameplay of my game. You can apply spells onto things, and they have a chance of backfiring (a pretty high chance) meaning things may not go as expected. You can spawn things, or add spells to things (move up to the object and press enter or space to apply the effect). This means that the basic mechanic of controlling the battle is there. It just isn’t fun, though. I’d like some advice for that, because I’m drawing a blank.
For the moment, I’m going to add some polish. Sound, hopefully, at least.
I’m having trouble adding depth to my game. There’s a basic scoring system now (just counts k/d for each team), most of the chaos spells I want are implemented, there’s a timer forcing you to act should the battle not automatically go in your favor (there are no physical differences between the two teams, they have the same amount of soldiers, spawners, and their soldiers do the same damage with the same health.) However, it isn’t very deep. You don’t really feel much motivation to do anything at all.
I’m not sure what to do to make it any more deep though. The entire goal from the start was to just create a game where you are the villain by manipulating a normal battle to work in your favor, regardless of everything that either team stands for.
The blue ones are knights. The red ones are demons. They run at each other and battle. They respawn, and occasionally spawn camp. You don’t directly control any faction, but since you are the villain, you will be able to mess up things as much as you want. Maybe you like the knights, so you’ll give them extra spawners, while setting traps for the demons. Maybe you want the demons to win, so you’ll spawn trees to make it harder for them to get to the battlefield while giving the demons a direct route. Or whatever.
I also added tall grass, for a little flavor. Because. I’m also going to add trees, as mentioned.
I have gotten the basics of AI working. Take a look at it in action here:
And try a test build here: https://dl.dropbox.com/u/69608548/hehgame.zip (built with net framework 3.5)
I’m curious what kinds of framerates you’re getting. The message box that pops up should tell you. The logic’s capped at 30 FPS, so it should average around 30. It might degrade due to the AI on some configurations, and I’m trying to work that out.
So I sat down. Had dinner as I expected. The sub sandwiches were better than I was expecting. I decided to get with the picture and take a photograph:
I talked with people. Not about much, but hearing another’s voice was just nice, really. I then sat down and implemented a pathfinder. Currently the core works, it finds paths properly, I just need to start setting moves so that entities follow their paths. At the moment, entities just look like this:
It works, and I can assign colors to visualize direction. I think, once the pathfinding’s done, and there’s basic AI so that the soldiers fight the demons, I’ll start making test imagess and actually put some graphics in the environment. I’ll probably paint them out at 128×128 resolution with my tablet and bundled Photoshop Elements 9. Someone had asked in my previous post why I’m feeling a bit weird about the whole pixel art thing, and it’s kind of silly. It just feels a bit weird that I want to go against the established “norm”, but there really isn’t a norm at all and I shouldn’t have any reason to feel this way. Ultimately, though, I just don’t like creating pixel art. It’s pretty cool, and it really defines the look of things like VVVVVV, but it’s not what I want to do. I like painting more, even if I’m not very good at it.
And then, I’ll add particles. Particle effects are all I need.
I decided to go shower, cleanse myself, and think about my game some. I had some ideas, and a lot of good ideas. I went into the shower thinking happy.
Then I came out miserable. Something struck me, a bigger project I’ve been doing initial design for — it’s pretty much derivative fiction. Roughly a clone of Touhou Project with a different premise, different characters, and new locations, and I was lacking ideas how to make it remotely interesting. Then my mind started going further back. It started looking at every project, pointing out how it clones something else. I’m told that many popular things derive from other things, almost entirely sometimes. But I don’t want to be like that. It doesn’t feel good.
This has completely dug into my motivation for my LD game. I quite liked the premise. You’re an embodiment of chaos, heading through tunnels, and battlegrounds while a human army fights of a wave of demons. You become the villain by being an omnipotent troll, ripping apart the war, twisting it in your favor, and rewarding yourself based on your actions. I thought this was a neat idea. It has nothing to do with any of my other games.
And yet this depression trigger has completely cut into my motivation for LD. I liked my game. My premise was interesting enough, for me at least. And I thought it could be fun. I feel a bit off since I’m still playing with shaded blocks for environment, while everyone’s got their pixels in. And it seems like there’s this overwhelming push for pixels when I want nice, painted textures. But there’s nothing wrong with that, and yet it’s somehow driving me insane.
For the moment, I’m going to eat something, sit down, and talk to a friend. I’m eating sub sandwiches, homemade. I haven’t eaten all day — not because I’m feeling this way, but because I was so dedicated to my game, and I was feeling good about things. Maybe not feeling empty will make me feel better. Once I’m done, I’m going to try to get AI working, and get the battles working in my game. Maybe seeing these things work will make me feel good again.
The whole situation is strange, though. I don’t want to be the person who follows the leader, who jumps into one thing’s popularity and just rides it attempting to make a buck or two off of it. That kind of thing results in Metal of Honor: Warfighter. I want to create something new, and interesting. But I feel like I’ve failed massively.
I tried to make a platformer. However, I learned that I’m terrible at collision detection with AARs. I got a little advice, but I don’t have time to implement it (if anyone wants to link me to handy resources on that, I would love you forever, probably). I felt stupid trying to implement it and i t was just frustrating me.
So I made this:
I feel kind of silly making a dungeon crawler for this, with blocks and everything, but I severely need to learn to cut back with design sometimes. This might be a good case of this.
I know what the gameplay I want to implement is. It should be a bit interesting.
I can officially say for the first time that I’ve made a game and implemented everything that’s required for the design.
However, it isn’t very fun yet. You sit at a part, wait for it to break, and then quickly swap out parts. Every successful retrieval will net you a donation which you can use for more metal to craft more parts. If you’re taking too slow to repair things, the checkout takes longer and therefore your customer gets unhappy and you get a smaller donation.
I’m going to try to adjust the game design knobs for know. Control break rates, break mechanics, crafting costs, parts needed to fix, decay rates for broken parts. Currently, I have settings that make it too easy, and too impossible. I’m going to have to spend time adjusting things.
But there’s a really high chance I might not be able to make this fun. If that’s the case, I don’t really care. I had fun making this little thing. And I can officially say that I’ve gotten game logic completed in a semi-finalized form. All my previous attempts were just some abstract logic and test levels. This is something that works, and just needs to be developed further.
And it’s taught me a thing or two. Like how the Console.Print and Console.PrintLine methods in .net have formatting built into them so I don’t have to constantly use String.Format. heh
So I’m in. I haven’t done game development for MONTHS at this rate, due to college. But now it’s finals week! And my only finals are today!
Once I’m done with those, I’ll get back to work on my warmup game. My spark to do more game development was inspired by a project for my CS class where you had to write a basic maze game where you walk to an exit. It was simple, I had no proper input libraries for things like keyboard input so you had to type “left” or “right” or “up” or “down” to navigate, and you could pick up items. There wasn’t any real goal, but it was still extremely fun. After that, I started working on TileEngine again, a project of mine, and made the shader and material framework start working, so I can start doing things (mostly pretty water, hopefully <3), and it just quickly struck me how FUN everything was, even if it was challenging and even if I was having trouble setting uv coords in my vertex shader so my fragment shader was spitting out nonsense. However, unable to fully polish up TileEngine for LD, I started with my warmup game, TSLTRS, from scratch using my old tile-based navigation methods (but with a better camera), and that’s been extremely fun to get working.
The toolset I’m going to use is probably the same as always. Visual Studio for codes, C# and .net3.5 for the runtime environment (I should learn mono…), OpenTK for the making stuff appear on screen, Paint.net for pixels, Photoshop E9 (bundled with my tablet) for anything more fancy if the need arises, and sfxr for the sounds (maybe bfxr if there’s a downloadable version). I’d like to say that I’d try Krita for the more fancy stuff, but I feel the project needs more time to mature, especially under Windows. I’ll probably run the game at a “virtual resolution” of 640×480 like I typically do these days, though I hope to play with the viewport settings some so you can properly upscale the window and everything will be under the right aspect ratio. Another thing I might play with, if I have the time, is using a “mega-texture” for the backgrounds, rather than tiles like I tried in the previous LDs. Tiles are simple, but I hate defining them in code. With TileEngine Tiles only contain texture offset and solidity properties (as well as some misc bits for lighting, etc), and then I just apply textures based on the material data and offsets. With TSLTRS, I intend to make all the layers just one large image, so I can add details without having to concern myself with breaking them into separate 16×16 graphics, or an atlas. (of course, this assumes I’m doing a tile based game in the first place)
But above all, I’m just glad to be back in this “game making” stuff, even if I tend to pull that “oh I’m uncreative” crap every once in a while. Thanks, programming professor for putting up that maze project!
as mentioned on #ludumdare I’m doing a warmup game.
it is an absolutely silly micromanagement game about trying to keep the interdimensional Sacred Library Tome Retrieval System running, which happens to be an extremely overcomplicated clockwork system that reads a database for a title entered via an oldschool typewriter, stuffs an arm into one fragment of reality in the void where the book was located in the database, pulls out the requested book, and then deposits it at the station, where the user gets their book and leaves.
originally the player was going to control the Sacred Library Tome Retrieval System directly, but I couldn’t think of anything fun, so I decided to do a plan where the player would take on one of the system’s engineers, hardworking individuals who are devoted to keeping the world’s most impractical library reference system working. Get donations from happy customers, use customers to buy metal, use metal to make parts, place parts into system when they break, and take the old parts and smelt them for even more metal!
I’m currently at the step where the inventory’s fully working, so I can start implementing stress points (each of which will have different breaking rates and durabilities. Input rods will break easily, and require swift replacement while cogs can be left to rot for a bit should you be busy elsewhere) which will eventually start working at lower efficiency and need to have parts replaced, and the basics of crafting are in, you can use your metal points to make new items, and smelt scrap metal extracted from the broken parts of TSLTRS for re-use. There are no graphics yet (aside from a font and quick bg to ensure my routines with plane drawing work), so the player is a cyan cube, the world is a set of blue walkways that are somewhat transparent. I figure I should focus first on actually making the gameplay work, as I have no idea if this idea will be fun at all.
Regardless of that, I’m having fun implementing it, and this should take me under 48 hours to complete. Only thing though is that I’d like to make complex background paintings for the environment, but that probably won’t be practical. TSLTRS might not be seen in its full glory until later. I don’t even know what its full glory is in the first place. TSLTRS is a idea I came up with at like 10:03 AM while walking out of school on Monday. I barely even know what the Sacred Library looks like in the first place, so maybe not being able to do the background paintings is a good idea, until I can look at some pictures of gigantic clock towers.
The first graphics! Pistons extend to offscreen on movable tiles, indicating that they can be moved in the first place. This is the first test which would demonstrate nothing more than the mechanics of evolving the world by moving the pistons, and evolving the character by solving the “tests” (in this case, as a cute first test I’m going to have a kitten trapped inside the piston cube — indicating that there might be a dark side to this facility). Later tests will likely involve the player using other means to move the pistons — but all tests will somehow involve the level “evolving” and the player evolving too, gaining more colors as they do so.
I have two ideas floating around right now. The first involves creating a civilization, taking the role of a mysterious figure helping a naive young goddess create her first world and get the most out of it, to create even more to support said world and make the creatures of it evolve.
The second involves a simple puzzle game, styled a bit after Portal — you’re trapped in a tiny chamber with a button. When you press the button, two panels are pulled back on pistons, revealing another chamber. Each chamber becomes more complex and requires different ways to solve it. The character starts out as a solid color, and as they make more strides through this strange places, they collect items which reveal a bit more of their form, and when they become completely revealed, they still have some more quests to do, but they’re capable of doing them (assuming the player is capable of doing them, which should most likely be the case)
I’m leaning for the second idea because it’s simpler to implement
but I fear that the idea’s just way too genericAagh let’s not let the negative voice in my head take over already! The first is a variation on something I wanted to play with, but a bit in reverse where the mysterious figure is wandering around a shattered world, and sacrificing ruins to fix the wounds. When the wounds are healed, the world would restart, but everything that had to be sacrificed would be completely forgotten, and if the player caused too many positive things to fade away, they’d get a lower score. I think I’m probably going to do this post-LD, as it seems like it could be interesting.
For now though, I think I’m going to stick with something I think I can implement — I’m a bit demotivated failing two LDs and I’d rather have this one result in something.
I’ve failed two LDs in a row now (first due to lack of motivation since my idea was kinda badly executed and second due to lack of time thanks to college), and looking back both of my games were rather uninteresting ideas. The evasion one for alone might have been cool, but it was dull and the controls weren’t overwhelmingly responsive. The game was rather simple, implementing a zelda or ff style overworld where you move one tile at a time, everything is one tile large, and so on. I find this a bit dull, and the only reason why I did it is because I couldn’t do anything but it, as I’ve failed horribly in the past to implement even the bare basics of collision — colliding AARs. I’ve decided to change this however, and I actually went out and did a little research on the subject. My algorithm isn’t overwhelmingly complicated and probably a bit inefficient in places, but it at least works. To attack the responsiveness problem some, instead of polling input, say, every 1/30th of a second, I poll input as fast as possible now (and simulate the world likewise, scaling speeds based on your current framerates), and since I don’t simply just set the current move or queue a new move for after that should there already be a move, you can move on diagonals, and movement is no longer tied to 16×16 blocks. The player movement is quite smooth now, and for once the collisions between entities and entities->tiles
Speaking of 16×16, I decided to also step up the way graphics will be generated. My screens were always internally 256×256 (the resolution was actually just as large as the window, though the coordinate system in OpenGL was set up so that one coord was roughly equal to one pixel on a 256×256 screen) but I’m stepping it up to a large base (640×480 minimum, maybe larger), since I’m not really a fan of generating 16×16 tiles. Tiles in the experimental engine are actually smaller, 8×8, but I don’t actually intend to use tiles as graphics, only for collision and maybe special properties for certain places (water, perhaps). The graphics are applied on a similar 8×8 grid, but they will have slightly fancier features like alpha blending for slightly better terrain, and if I don’t tie textures to individual tile types (like say, Minecraft or whatever), this can help ease repetition because one can apply larger textures over a range of tiles, If I jump into the current LD though, I’ll probably just stick with 16×16 tiles anyways, but I’ll probably stick with the higher virtual resolution so I can make higher resolution characters or whatever.
I don’t think there’s any time for this anymore, but one thing I want to experiment with for the next LD is the usage of popular utilites and engines for game development. Things like Unity and whatnot. I can kinda write some of the stuff I need on my own, but there’s a wealth of stuff out there that just works already, so why not? Unity sounds fantastic, and given that there seems to be development on a linux version, it would be more portable than my current way of doing it (C# with .net and OpenTK (which I *think* might work with mono but I’m not sure offhand)), since I could at least target the big three platforms. I guess I could switch to Java for my cross platform developement, since LWJGL could take the role of OpenTK, but honestly, my Java knowledge is just a bit lacking and simple things like importing and binding textures tends to be a pain for me, and I’m going to presume these types of utilities can help with some things like this (though I may be wrong, correct me if such!)
And this experimental game will hopefully feature the magical gunslingers with shotguns I promised for ld23, heh. There will hopefully be a fair range of weapons from swords to maces to shotguns and more! And hopefully the tracers won’t be huge diamonds this time around!
College happened. My original plan was just to pretend it doesn’t exist until I’m done with my game, but my game was taking way too long and it was pretty much critical that I got these assignments done. So er, I just kind of stopped working on my game, and vanished from here entirely.
I’m probably going to jump into one of the minijams happening over the summer to make up for it. I’m not certain yet what I’ll be doing with my failed project. Maybe I’ll take the tileset and use it somewhere else sometime. I’m not sure yet. It’ll get improved by that time, though, as I’m not entirely happy with it in reflection.
So, while making my shotgun code, I created a quickie terrible hitscan method. However, I actually managed to neglect entity positions when checking to see if it intersects an entity, so as a result the line attack method would always harm the first hurtable entity in entitylist.
I guess this explains the terrible accruacy issues I was having with my weapons. Well, they seem to be fixed now. And then in five minutes I’m going to find another horrible oversight like this. it’s fun!
(as always click for less ugly)
Well, the basis for the gun system is now in, you can fire guns and shoot monsters with your weapons now. I’m trying to debug some serious accuracy problems with the shotgun though, where you can stand next to a monster and somehow manage to mostly miss. That just ain’t right.
I’m not over happy with the “RECHARGING” meter though. I might just replace it with a little bar of some sort to indicate the time between fires.
(click for not ugly again)
I’ve gotten entities mostly working, so it’s time to take a break and work on something also important — the tiles. This is one of the first times I’m happy with a tileset I made, and I’m getting advice in #ludumdare to make it even better now.
I have dirt paths, stone paths, grass, trees, tall grass, and water. More is coming, so I can construct caves, buildings, and maybe even cliffs.
My current game idea involves a Heavy-sized magical gunslinger that runs around tiny fantasy worlds (containing nothing more than a few buildings, and their inhabitants) with a shotgun. He has to jump between these worlds to do things.
So yeah… it needs some serious plot work.