:( I just converted some of my stuff over to use [Conditional("DEBUG")] instead of #if DEBUG, and the compiler still appears to want to compile the [Conditional("DEBUG")] stuff
Hmm... so I am currently trying to have a mix of [Conditional("DEBUG")] where part of that method wants to use an other method that is inside a class that defined like so:
#if DEBUG
// Make this public only in debug mode
public class QuadTreeNode<T> where T : IQuadStorable
#else
class QuadTreeNode<T> where T : IQuadStorable
#endif
{
And if I'm compiling in the Release configuration, it fails to compile because the code inside the [Conditional("DEBUG")] tries and fails to compile because it tries to access the QuadTreeNode
So... that sucks, it's either all or nothing
Maybe I shouldn't be defining the class that way though, :/
Hm. I wouldn't have thought that things inside that sort of conditional would be compiled. But I've not used C# that way before. I'm more of an #if sort of guy. :)
[Conditional("DEBUG")] is checking #ifdef DEBUG, not #if DEBUG. So if you've #defined DEBUG as 0, it's still defined, and so it's still being compiled.
If you go for the Microsoft-style "either #define DEBUG or #define NDEBUG", then it instead of #defining DEBUG to either 0 or 1, then that ought to work for you.
nah, because the call to this method, when I'm in Release mode is greyed out and when I hold my mouse over it, it says: "Method Invocation skipped. Compiler will not generate method invocation because the method is conditional, or it is partial method without implementation"
I was just basing my comment on "Conditional code is included in client code depending on whether the preprocessing identifier is defined when the client code gets compiled. ", at msdn.microsoft.com/en-us/library/aa288458%28v=vs.71%29.aspx
Well... it's all fixed up now. My QuadTreeNode no longer has that weird compile condition and I've actually taken some time to go through and make it safe for public access, and in the process, uploaded a new version to SourceForge (yay!). Also, my conditional compile code may end up being available in the release version, so it was helpful to get it right.
I'm currently in the middle of a big AI refactoring. It was a shocking mess before; thrown together haphazardly in order to meet a self-imposed deadline.
finding time is always hard, unless you're crazy enough to quit your job, or stop having a life
I still view Isotower are more of an "engine", but the core elements of the engine are pretty much done, so I can start working on the rest of the game stuff
yeah, as soon as someone can actually sorta play the game, have fun, and there's a sort-of goal, then I'll be happy
For AO, I need an infinite mission that's reasonably balanced and will eventually force the end of the game, recognize that you've died, and take you back the main menu.
Just because there's only 1 weapon and 1 bad guy doesn't matter, right?
balancing is something i plan on doing a bit more of later on, and of course all the numbers for balance are in xml files so people can feasibly make things cost $0
also i have this item in my "alpha release" list: Money/income balancing (need to have enough money to build a decent sized tower from the start, and income per room needs to be high enough to be able to build even more stuff)
yeah, for me, I need to make miners pay off after some period of time, and my solar stations need to cost enough that they aren't free, but also aren't too expensive. Then there's upgrades. Should it be better to build a new X, or upgrade the existing one?
Building a new one has the advantage AND disadvantage of opening up new terrain
Guess I'll be "hitting the books" when it comes time
Alright... well I'm making range-rings in the hud, but now I'm wondering how the hud should figure out how many, and which types of range rings to make for a given entity. I'd rather have the hud in the dark, and have the information provided by my entities. So.. I guess I've just answered my own question.
(I do the same thing in my game, for the information that is displayed in the info panel when you select an entity in my game -- the entity provides definition for the types of data to be displayed when it is selected.)
Now I just need to properly mip-map my ring images, and everything will be sweet. Then I can add a new "floating text" object that will follow the circles around. Yay!
The grid is my QuadTree that wants to display whenever I'm in Debug mode, despite me having [Conditional("DEBUG"), Conditional("SHOW_QUAD_TREE")] in front of the method
And the white ring needs some serious mip-mapping. An other day.
Even if I don't plan on having people mod my game, a scripting engine might still be advantageous right? I mean, rather than having a bunch of hardcoded objects, scripting quests and other things would be better handled by a scripting engine no.
Depends, really. Scripting gives some power. But makes debugging a whole lot more difficult.
I think that if I wasn't planning to have people mod my game, or have non-programmers be providing design content for it, then I'd be pretty hesitant to embed a scripting language into my game.
Simple custom command-based scripts are fine, of course, and aren't too bad to debug. It's when you're embedding Lua or Python or something else with its own flow control where things start getting really complicated.
Like if a player enters a certain region, it might trigger the spawning of some monsters, which after killed will open a door or something, while rewarding the player with a bit of "encounter" experience and other rewards.
It just seems loads easier to have a simple scripting system in this case.
If I was doing it, I'd have a couple basic types of missions, and have data stating which of those types of use, and what variable values should be, etc. If you're going to have lots of missions, then you really do need to be specifying them in data, I agree. I just know how tricky it can be to debug logic in an embedded language, so I usually try to avoid using them when I can.
But using an embedded language is completely defensible and logical, too. :)
Well, I guess I'll see when I start implementing missions. Maybe they can be defined by simple guidelines like you suggest, and simply have some data for the differences between them.
@MindWorX, I'm not using a scripting language yet, but I have a plan. You know that C# can load a C# code file (.cs) and execute it on the fly, right? All of my missions are going to have a lot of complexity to them, so they will need a script for each mission. Right now, the missions (aka scenarios) are all internal and get compiled, but I know that sometime down the road, I could move them external and load them dynamically as a C# Script.
@MindWorX deciding on a SQL engine is like getting married. If you make the wrong choice it's difficult to change. If you think that someday you might need something that scales (e.g. file groups, DPVs, partitioned tables, etc.) go for something that is compatible. (Hint: SqlExpress is free). You can go the ANSI SQL route; and ignore vendors that don't support ANSI SQL - but then you will forego things like stored procedures or custom functions (which can be a big perf boost).
On top of that (as far as I know) there is no SQL engine out there today that you can configure to outright reject anything that isn't ANSI SQL - meaning you can't reliably determine if your SQL will still work with another engine.
Not to mention you would loose out on other vendor features. Taking MsSQL for example (which I know well) you wouldn't be able to use CTEs, Statistics, Deeper Locking Hints, Storage Optimizations (e.g. Fill Factor) if you targetted ANSI SQL. Something like SQL-Lite might even be missing a query planner; which you need to start learning if you intend to scale someday. /rant
yeah... so if this guys does end up going through with it, three of my friends will have gone into the indie game developer scene. Crazy
At least this guy really knows his stuff, unlike the last two. The first two are still at it though, and it's been over 3 years, so they must be makin' enough money for no-name mac n' cheese
:/ yeah, I feel like he just needs to start making a game on his own, or get some formal training. You don't become an expert climber just by learning about ropes and knots
@JohnMcDonald it sounds like he doesn't know anything though, and his goal isn't to "create a game" it's " I'm still completely determined to get into the games industry." and he's asking about stuff like interviews
Over here, cars stay in their lanes, but motorcycles weave. it's the bicyclists and pedestrians that ignore lights. I've nearly commited involuntary manslaughter twice this week.
This one guy got mad at me because we were both going straight through this stop sign and I didn't stop. He was actually turning left and didn't put on his turn signal.