SPOILERS: I completed the game, and had a lovely time (with my four year old on my knee, shouting "get the sparkly things, Daddy!") At one point, looking over the edge of the main island, I saw some land far below, with blocks on it spelling out "Hi!" I never got to go to this place. Can I? Are there other secrets?
Recent community posts
Wow. FlyKissing is really effective. I was saving my more exotic spells for later, harder encounters, which I can see now is sometimes really suboptimal. Classic mistake of "dying with a full compliment of smart bombs"
"ShuffleMage" ??? I don't even know what that means. Using the command 'shuffle'? I guess I'd shied away from it due to the 25% spell loss. But is there something tricky implied by the combo "shuffle" and "mage". Is "mage" a riff on "magus"? Or maybe it's just a cute word to mean "use 'shuffle' more often".
No answers required. I'm happy to experiment unspoiled. But I don't mind if anyone does want to speculate or explain.
As I understand it, Eve uses a core of C++ for the rendering, and Python for 'once or less per frame' stuff, like AI. So Python might comprise most of the codebase by linecount, but it's not in the intensive innermost loop. Of course, my needs are very modest, so I'm confident that I can go the whole hog in Python. But I think that will go a lot farther than people generally believe. And one day, when the JIT lands in core Python, suddenly it'll be a whole new ballgame.
Yep, I TDD all my personal projects if I think I'm going to be changing or maintaining it for a while. But if I'm in a game jam with a team of people, you can't insist on that - folks aren't into it. And things that are throwaway I'm less strict about.
As for resources, well, it's distinctly outside of the 'games' field, but IMHO the single best book on testing is "Test Driven Development with Python", aka "The Goat Book" http://www.obeythetestinggoat.com/. It shows how to create a Python web project using the Django framework, but in a TDD style. Disclaimer, it was written by a former colleague and friend of mine, and I was a technical reviewer. But although I'm biased, I'm really seriously impressed by what he achieved. He really dived into the topic, producing both more depth and more breadth than I expected, seriously tackling thorny real-world problems head on. He produced something that I honestly think is a classic software book, and it's very lively and readable, without dumbing down.
Ah, I'm such a space cadet: I got so used to scrolling right down to the download buttons I overlooked that what I'm asking for is front and center at the top of the page. Sorry to waste your time. :-)
And I'll definitely be signing up for emails, thanks.
Ha! I absolutely don't mind - I'm loving it to death. My only misgiving is that I don't get much time to play at this phase in my life. But I got in an hour tonight, which makes me happy.
I really appreciate the detailed and thoughtful response. My personal experiences don't jive with that, but that's what keeps the world such a wonderful place, so I'm not going to say you're wrong.
I agree that some fields of software must have requirements that are easier to pin down and keep static than games do. But I also think "failure to figure out and pin down requirements" is commonly recognised to be the single biggest problem in software of many kinds. I suspect (but have no hard evidence) that games do not suffer especially badly in this regard. All complex projects have terrible difficulty establishing just what it is they ought to deliver. Requirements get added and changed in major ways at the last minute the whole way through, up to and after delivery - to the extent that this causes a large proportion of software projects to fail and make huge financial losses, or be abandoned. My current project, we just did eight weeks of stuff for an external client, iterative delivery, constant feedback, and then after completion last week, we find out that there have apparently been communication problems, because what we delivered is not useful to them at all. Happens all the time, at all scales.
I also haven't found in my world that doing TDD, or even just testing, makes things slower - the reason I do it is because it makes things faster overall. Again, this is difficult to prove either way without proper studies (of which there are none - the few out there are terrible, imho.) The exception to that is if the team is inexperienced at testing, or when trying to retrofit tests in the middle of a project that was written without them, or has low code quality. Then I agree it really does slow you down.
I think if I were to list the benefits of TDD, in order of importance, then the top entry would be that it enables rapid and ruthless refactoring, followed perhaps by the correctness verification that the tests bring. So in my world, a project which experiences a lot of churn - requirements constantly changing, designs being ripped out and replaced - is actually the very best place to use TDD. The payoff is actually lower on a project with clearly understood and static requirements.
The argument you use about covering every possible permutation of state and input being untenable is one I've heard a lot, in all fields of software, but I think it's mistaken, because I've seen counter-examples in which it has been done, to great effect. Those were actually the highest-functioning teams I've ever worked on, and I think the causality is in the direction of "tests made the team high-functioning", not the other way around. There are techniques to slice large phase spaces down into manageable parts.
I'm a coder, but not a game coder. I work in military radars, geospatial stuff, some startups. I've dabbled in weekend or week-long hobbyist game projects, which I enjoy very much.
I'm currently on a one-man crusade to demonstrate Python as a viable gamedev language. I'm happy that even with my Sunday afternoon dabbling, I can get hundreds of independently positioned/oriented meshes rendering at 60fps even on an old, modest laptop with Intel gfx, with some behaviours in place, so that's plenty for my purposes. :-)
It would be nice for me if the download page made it clear what version the attached zip files contained - so I can see whether or not there has been a new version since I last downloaded.
For me, the place I might expect to see it would be in the filename of the zipfile itself, but anywhere on the text of the webpage would be equally good. Then I could see the version without even having to download.
Failing that, something visible in the content of the zipfile would be almost as good. Then I would have to download, but wouldn't actually have to install it just to find out whether it was a newer version or not.
Maybe there already is an indication and I'm just not seeing it?
I'm always curious about the lack of TDD in game dev. Several of the errors discussed in the forums sound like exactly the kind that TDD would make it very hard to make. It's not my business to tell other people how to code, no doubt they operate under constraints I'm not aware of. I'm just curious to hear other people's thoughts, is all. I often hear that people think automated testing of games is harder than of other software. But whenever I try to understand why people think that, the reasons they give are just a subset of the same reasons that testing-done-naively can be hard in any domain. Please educate me if you think otherwise, I'm just trying to discuss, not criticise. :-)
A thought: When I run out of shield, I love the handy warning message. But then when I hit 's', and successfully activate a shield, the warning message is still displayed until it times out. This might just be me, because I'm old and sick, but it makes me uncertain whether I now have any shields activate or not.
I know there are other indications that my shield invoke really did work. and it never lasts for long - it's only a second or so. But when I've just lost my last shield, it's at a critical moment when I'm probably already under pressure and flustered, so I get uncertain and distracted, which is sometimes fatal.
So I'm wondering whether that warning message should disappear instantly when you activate a shield.
As well, or instead of, a notification, maybe spells that are maxed out could be gently highlighted in your inventory? Actually, I think I much prefer this. A highlight is still useful three minutes later, when you've forgotten which notification you received and which spells you've used since then.
FWIW, I'm running a pre-release v0.9.13 on Ubuntu, and this works for Me:
love /usr/local/games/spellrazor/Spellrazor.love fullscreen
Starts in fullscreen. Without the final arg it does not.
I don't have access to v0.9.12... hmm... actually, I think I do. Let me try it out...
Yep, that starts in fullscreen too.
You are the BEST!
Sad to say, it doesn't fix that particular bug. It does change the behaviour somewhat: The 'blank' border at the bottom of the screen is no longer blank, but I can see distant '?' monsters in it, but that looks a little weird because the 'bottom of the screen' line, with my spells in it is still around 20% up the screen.
But this doesn't bother me - I can happily play on the other screen And now I have up-to-date goodness, and am self-sufficient in staying up-to-date. My, you've been busy!
Fullscreen on laptop's external monitor uses wrong resolution
Playing on my laptop, with built-in screen 1366x768, and an external monitor 1280x1024. If I drag the window to the external screen and hit [tab], it does correctly go fullscreen on the external monitor, but it looks like it's rendering to a surface which is the size of the laptop built-in screen's resolution. So, in my case, that's wider than my external monitor, so the right part of the screen is cut off. I can only see "Time" and "Gol" where it should say "Time: 99" and "Gold: 0". Vertically, the game doesn't take up the full height of the screen, and is positioned up against the top edge of the monitor, leaving a big black gap at the bottom of about 20% of the monitor height.
Playing on my laptop's built-in screen is perfect, either windowed or fullscreen.
Spellrazor v0.9.5, on Ubuntu 14.04
This isn't a bug that bothers me (I can play happily on either screen), and I understand you aren't supporting Linux. Just reporting in case it turns out to be useful (maybe it happens on other platforms too?)
Am LOVING the game though. Saw it mentioned on rockpapershotgun. I'll be sure to post something about it on facebook, etc. If you ever put out a paid version, consider me signed up.