D: ArcanoTrack
[edit]
Links to the version current at time of writing (v1.2.2):
Win32
Linux (i386) .deb
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[/edit]
The product of the past few days' development, and several before that of conceptual work.
The Win32 version should work under Windows 7; it may work under Windows XP, but it failed on my test machine
The Linux-i386 .deb version should work under Ubuntu (13.04 and 12.04 at least); I haven't tried the .pkg.tar.gz version.
If desired, I should be able to build Linux-amd64 (which I should be able to test) and OSX-i386 and OSX-PPC versions (which I'm not in a position to test).
Links:
<removed>
Genre: Games with horrible titles Top-down shooter.
The Game: Drive around a randomly-generated dungeon, blasting enemies room-by-room, until at last you face the twin bosses for the final battle!
Gameplay:
In short: tank treads. The 'N' key controls the left track, while the 'M' key controls the right track; operating only one track causes the ArcanoTrack to turn (and move forward a little, creating a turning circle of non-zero radius), while operating both causes it to move forwards.
The ArcanoTrack automatically fires a beam (which ignores walls) at enemies within a certain range and angle in front of it.
Clearing a room of enemies causes the destruction of the door to the next room, and the activation of the enemies beyond.
Story: None! :D
Known issues:
1) As mentioned above, may or may not work under Windows XP.
2) Under Ubuntu, you may find that "beam" weapons and some impact rings don't show up properly.
3) The AI is, well, barely extant. The enemies would probably be well-served with at the least some path-finding.
4) Doors seem to occasionally spawn in incorrect places.
5) The player and enemies occasionally spawn behind doors; this isn't a serious problem with enemies.
6) Every so often the hallways connecting rooms may be placed such that one can circumvent a door. There isn't much advantage to this, however, since rooms only become active after the previous room is cleared (the first room aside).
7) The game could perhaps use some additional balancing.
Links to the version current at time of writing (v1.2.2):
Win32
Linux (i386) .deb
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[/edit]
The product of the past few days' development, and several before that of conceptual work.
The Win32 version should work under Windows 7; it may work under Windows XP, but it failed on my test machine
The Linux-i386 .deb version should work under Ubuntu (13.04 and 12.04 at least); I haven't tried the .pkg.tar.gz version.
If desired, I should be able to build Linux-amd64 (which I should be able to test) and OSX-i386 and OSX-PPC versions (which I'm not in a position to test).
Links:
<removed>
Genre: Games with horrible titles Top-down shooter.
The Game: Drive around a randomly-generated dungeon, blasting enemies room-by-room, until at last you face the twin bosses for the final battle!
Gameplay:
In short: tank treads. The 'N' key controls the left track, while the 'M' key controls the right track; operating only one track causes the ArcanoTrack to turn (and move forward a little, creating a turning circle of non-zero radius), while operating both causes it to move forwards.
The ArcanoTrack automatically fires a beam (which ignores walls) at enemies within a certain range and angle in front of it.
Clearing a room of enemies causes the destruction of the door to the next room, and the activation of the enemies beyond.
Story: None! :D
Known issues:
1) As mentioned above, may or may not work under Windows XP.
2) Under Ubuntu, you may find that "beam" weapons and some impact rings don't show up properly.
3) The AI is, well, barely extant. The enemies would probably be well-served with at the least some path-finding.
4) Doors seem to occasionally spawn in incorrect places.
5) The player and enemies occasionally spawn behind doors; this isn't a serious problem with enemies.
6) Every so often the hallways connecting rooms may be placed such that one can circumvent a door. There isn't much advantage to this, however, since rooms only become active after the previous room is cleared (the first room aside).
7) The game could perhaps use some additional balancing.
Comments
As is your game, btw. :P The track mechanic and accurate physics add a level of challenge to maneuvering the tank around, scrambling for that rapidly-diminishing cover in order to get a few shots in. I also like that you've put varying levels of enemy, although I couldn't tell at a glance which were fireball-spewers, and which were LaserDrakes. The way that enemies desaturate to indicate damage is simple but effective. I also got perverse joy out of shunting their lifeless corpses around with my tank. <_<
While the AI is rudimentary, I feel it serves its purpose. The only point where it was detrimental was where enemies would start tracking me early, meaning that they all piled up against a wall near the entrance to a room (clipping through each other in the process), and I just needed to sit in the entrance tunnel and wait as they were obliterated and the room cleared before even I needed to move in to see it. I reckon that would be remedied by activating their chase AI on sight of the tank rather than when clearing the previous room.
So far so good! Hopefully you have a chance to flesh it out a little more! :D
Also, I'm not sure if you intended it to be like this but I find that, because your attacks go through walls and the enemy attacks dont, you can often just sit on the opposite side of one of those small blocks and have your attacks kill all the enemies while they happily just sit there and die, unable to shoot you back (or at least not effectively). Apart from that though, I agree with @Gazza_N, the AI (simple as it may be) is generally sufficient but as you say, some pathfinding would probably help (and would fix all the issues of them standing behind walls).
And finally: installers :<
1. The controls feel exactly opposite to what I expect it to be... I though N = turn left/anti-clockwise M = turn right/clockwise... And the entire time I find myself twitching the wrong way. Maybe it's a personal thing? Maybe an option to switch the axis would be good :P
2. It's kinda frustrating lining up your shot, maybe a small, minimal firing arc in front of the tank to tell you where your window of opportunity is?
3. If you can inject more variance and things to interact with the left right mechanic that'd be awesome!
4. Right now the only way I can win is to hide behind a corner and slowly shoot the horde behind it, not sure how to get around it - it's a combination of a few elements, I think: difficulty (number of opponent tanks), that they don't collision detect each other so they can bunch up and be one uber killing machine, the control mechanics, and the pretty much bulldog (relentless, always face the player) AI...
Good stuff! :D
Does noone else feel that the axis is reversed? XD
The tank would only turn on the spot if the opposite track ran in reverse in equal proportion to the primary one. Reverse isn't possible with two buttons, so...
Thaum's physics are rock solid. :)
Actually, then the question is - if a tank were fitted with a steering wheel, would it turn left if you turned the wheel left? :) I think it's a good point to question - is a "These controls mess me up, but I'm going to master them" more fun, or "These controls are invisible, now I can master the mechanics" more fun?
I don't have a right answer :P I'm a designer so I tend towards "user friendliness", which is to say, if I made a mecha game, I wouldn't make the user have to press keys to move the legs independently (a la qwop), but instead make them press forward to make the mech walk forward with both legs. Know what I mean?
If it's supposed to be a qwop-esque game then of course yes. I guess I'm questioning whether this should be like that :)
Just two small bug reports, don't know if it has already been said but some enemies spawn inside the walls and sometimes bullets just spawn and stand still on the map, see screenshots below ->
First of all, Gazza's story is now nominated as the official canon story. :D That is fun. ^_^
As to the controls feeling that they're reversed, Gazza has it correct, I believe: the tank is controlled by running one or both of its tracks. Running the left track (controlled by the left of the two keys used) causes it to move forward a little, but, because there's only thrust on that side, it turns as well -- and turns to the right. The goal isn't really to emulate the experience of QWOP -- I'll confess that I don't think that I expected anyone to have trouble with the controls -- but rather to emulate simple "tank track" controls; something like a lever or joystick connected to each track. If you end up in such a situation, try breaking away from the enemy (preferably while it's facing away from you) and re-engaging it.
LittleBear, thank you for reporting those bugs! I don't think that I've seen them occur on my side, but they have been noted.
There's no new build today, but I have implemented a few changes:
- Gazza's suggestion regarding enemy activation has been implemented: they should now wander their room at random until the player approaches within a certain distance, at which point they attack. (I found that I didn't like having them sit idle while not chasing, and making the activation range far enough that one never sees them idle activates too many of them, I feel.
- The "LaserDrakes" can now fire from farther away -- far enough, in fact, that they should be able to hit you from the other side of one of the obstacles scattered about the rooms. ;)
I like the idea of including a visual indicator of the firing region -- I'll hopefully include that in the next version. As to increasing the angle, if I recall correctly it already fires within an angle of about fourty-four degrees, and I don't want the game to become too easy. ;P
I'm tempted to look into a means of preventing their getting stuck behind walls -- I'll likely give it some thought, at the least. Hmmm... Perhaps traps, or pressure-plate buttons? Hmm... I may try turning on enemy-to-enemy collision detection (I'm not sure of how stable Panda's built-in collision detection is in such circumstances, and am disinclined to switch over to Bullet in the time remaining); perhaps I should also consider having the enemies break away from combat, or even simply pause, every so often?
I vote you try it out! While I quite like it as it is, reversal would add quite nicely to the controls-as-mechanic aspect. Hooray! Ken Levine, eat your heart out. :P Add six-axis movement and remove any concept of "down", then we'll talk. :P
I'll hopefully have a new (and likely final) build later today (Tuesday) -- I was hoping to have it ready tonight, but an annoying movement bug seems to have crept into the Windows version. :/
I ended up deciding against tap-hold to reverse, for a few reasons:
1) Manoeuvring is part of the challenge, as I see it, and I was concerned that allowing reversing and turning circles of near-zero radius would make the gameplay too easy.
2) I really don't like button-combo gameplay (which is one reason that I've commented on only a few of the games posted for the competition, as I recall: I don't feel that I'm likely to produce a terribly useful report of them); I'm not terribly good at it, and it tends to rub me the wrong way. The proposed input was pretty light as such mechanisms go, but I decided that I preferred to not pursue it.
3) I'm getting a little tired of this game now, and have other projects that I want to return to. ^^;;
In summary, the new build should include various changes and fixes, including (off of the top of my head):
- "Attack-zone" visualisation for the player tank.
- Traps -- easily spotted, admittedly, but still occasionally dangerous while manoeuvring...
- A change of colour for the fireball enemies and bosses, as well as a minor change to the colour-shift health visualisation; hopefully these will make the fireball-spewers more distinct from the Laser-Drakes than they were, while keeping the health visualisation fairly clear.
- Enemies should now be harder to kite out of a room, instead turning around and heading back if the player doesn't stay close.
- Enemies should now wander their rooms at random until they "notice" the player.
- Changes to the sections of code that place walls, enemies and players; these should now be a little less likely to cause problems, although I imagine that some issues remain.
- Enemies should now collide with each other, preventing them from merging into death-spewing uni-golems. ... That would require impressive flexibility. :P I did say "2D": six-axis movement and a lack of a "down" in 3D seems to me to correspond to four-axis movement and lack of a universal "forward" or "back" in 2D; I'm only really missing fully-free movement. :P
(Well, okay, I wasn't asking for money beforehand -- but it's still free! :P)
The new links should be at the top of the first post; I've only included Win32 and Linux-i386 .deb builds, but Linux-i386 .pkg.tar.gz, Linux-amd64 and OSX builds can be provided if desired -- save that I may not be in a position to test all of those.
This is intended to be the final version of ArcanoTrack, unless serious issues are discovered before the deadline.
Nevertheless, comments and criticism are more than welcome! ^_^
This plays much better with all the improvements. The visible hitcone in particular makes play feel a lot better. The ability to discern between enemy types is great, and with the new AI and collision systems they feel fair and challenging.
Also, damn those traps. Always in the least convenient locations possible (to the credit of your level generator). :< I... quite like that idea. If you were going to develop the game further I'd suggest it would make for an interesting new enemy type!
With regards to the traps, in all fairness I'm pretty sure that they simply get placed at random -- but the levels are small enough, and the tank-controls limiting enough, that they can nevertheless be dangerous, especially in later rooms.
Regarding the uni-golem, perhaps -- I would want to limit their doing so, rather than allowing any and all of them to pile together, as that's not too far off of the situation that Tuism reported and which prompted me to add enemy-to-enemy collision, as I recall. Perhaps a third enemy type that can combine, like a great metal amoeba, becoming more powerful the more of its own it absorbs and splitting into its component golems as it's damaged.
@Kixie: Heheh, that's actually kinda tempting! :P
Hmm... Such a control scheme -- that is to say, with your speed suggestion incorporated -- might work better in a co-op or player-vs.-player game, in which one's mistakes affect someone else...
(But that calls for significant changes, I imagine: more controls, to allow the player to take command of the weapons, at the least.)
In all fairness, however, I think that making a decent game of this would likely call for giving up the two-button restriction and broadening the gameplay somewhat; perhaps keep the track controls (in order to encourage the fun that Kixie describes), but add player-operated weapons firing, a variety of weapons, larger levels, enemies of greater "intelligence" and perhaps some additional mechanics. At that point, however, it's a project that's rather larger than my interest in it sustains.
I know that this is basically disguised as an action game, but in playing through and using the environment with care and wit, it felt like far more of a puzzle I was solving than a bang-bang-shoot-shoot sorta game. ;)
If this ends up being the case, I'd also zoom out the view so that players can see an entire room in advance and thus be able to plan ahead more. :)
So yeah! Totally agreed, would be a fun puzzle game (kinda like Ending on iOS but of course less restrictive)
@Gazza: Of course! I'm hardly inclined to put a stop to the flow of ideas, I think. ^_^ But isn't the threat of ending up low on health and having the tank destroyed incentive enough to dodge?
You generally need to be in a strong position at the *beginning* of a fight, else things often go very badly quite quickly. ;)
Making it more a tactical approach than a "i hope i'll survive this" approach :)
I do seem to recall that I've survived (admittedly not often survived the bosses ^^; ) when starting at low health, and relying on the health boosts awarded at the end of each room to rebuild strength ahead of the boss room.
But the problem with the brute force method is that you don't know if you'll survive later, and if you don't, you made a bad choice that you're being punished for later, without knowing earlier, resulting you having to restart from the beginning.
If you have less life or maybe just one-shot died, you'd HAVE TO tactically manoeuvre, and if you die, you know instantly you're doing it wrong, and didn't have to find out later.
I don't think that I like the idea of one-shot kills from the majority of enemies; my instinct is that, with ArcanoTrack's tricky controls, one-hit kills would likely be a little overpowered.
Perhaps instead switching to a "hearts" system might work better: discretise health into atomic units and give the player only a small number of them -- five to ten, perhaps. Normal shots then take off an entire heart, hopefully communicating "getting hit is very much to be avoided" without leaving the player to restart after taking only a hit or two.