0
| Thumbs Up: |
| Received: 130 |
Yeah, garbage collection clears the memory when things haven't been deallocated and there's nothing pointing to them. In c++ you have to have a destructor for example. Java takes care of that for you.
Sent from my G2. lulz what typos?
Guardian, Mesmer and Techie Mod :3 | Follow us @GWOnlinenet!
| Thumbs Up: |
| Received: 186 |
The more I put in my game, the easier it is to add.
I added conditions (and buffs) before, as well as effects such as repel shots... and of course life forms. Life forms and effects were programmed into the level. Conditions were added to weapons. Buffs were not usable (unless you wanted to buff foes you were shooting at).
Tonight, I added skills 4-10, which are currently:
4 = BUFF_CHARGE: for x seconds, you run faster and are immune to immobilization.
5 = EFFECT_REPEL_SHOTS: places a ward at current location that repels shots back to attacker.
6 = BUFF_HEALING: heals you over time, and grants you extra health as a buffer.
7 = SUMMON_TURRET: creates a turret that fights for you.
8 = SUMMON_CLONE: creates a clone of yourself that fights for you.
9 = BUFF_COND_REMOVE: removes all conditions from yourself.
0 = BUFF_SNIPER: for x seconds, your shots travel faster, and skills recharge faster.
== Alaris & clone ==
Proud Officer of The Order Of Dii [Dii] - join us
You can tell the quality of life of people by what they complain about
| Thumbs Up: |
| Received: 186 |
Adding new skills is as easy as adding a line in an Excel sheet. That includes summons, buffs and condition removal, effect fields (e.g. bullet slowdown or redirection, portals), and melee and ranged attacks (with up to 3 conditions each).
Next, I improve animation on melee attacks, and setup AoE's.
Then I can really start designing the weapon system where each weapon has a few of those skills on it, similar to how GW2 implements weapons.
-----
I also started work on character creation, where you'll be able to customize the physical dimensions of you character.
== Alaris & clone ==
Proud Officer of The Order Of Dii [Dii] - join us
You can tell the quality of life of people by what they complain about
| Thumbs Up: |
| Received: 1 |
I'll just add to above posts:
C++ isn't Windows only. Yes, you have to compile separate binaries (.exe files on Windows and their equivalents on other OSes) for each platform, but crossplatformness of C++ easily equals Java (Symbian phones and a lot of embedded touch screen devices use Qt which is a massive C++ GUI library/toolkit). Java works in a different way, you have intermediate code which is interpreted by Java Virtual Machine. That means you can have single binary for each platform, but it's going to be slower (most likely). There are some optimizations that compile this intermediate code into bytecode, but it's still not reaching native speeds, unless in some specific benchmarks.
Also, garbage collection exists in C++, just in a different form. Classic idiom for it is RAII (Resource Acquisition Is Initialization), which means, you define a destructor which cleans up stuff and it gets called when variable goes out of scope. Another C++ idiom for garbage collection is reference counting, implemented by smart pointers. There is no automatic garbage collector like in Java, which has it's advantages and disadvantages (C++ garbage collectors never caught on). The big advantage of C++ approach is that you will always know when the destructor is called and you can be sure it will be called, in Java the finalizer can be called, but doesn't have to, and you don't know exactly when it will be run.
@Alaris
pics!
| Thumbs Up: |
| Received: 186 |
I've refocused my efforts towards beta. It won't be playable as in a level with objectives, but you'll be able to run around and fight stuff, and you'll get some ability to mod the game as well. I still have a lot to do before I feel it's ready for that stage though.
One thing that worries me is how do I compile it so that it runs on other machines? Is making a "release version" enough, or do I need to do extra steps? I need to research this...
== Alaris & clone ==
Proud Officer of The Order Of Dii [Dii] - join us
You can tell the quality of life of people by what they complain about
| Thumbs Up: |
| Received: 186 |
Ok so I have to look up external dependencies. I do use GLUI so that might count as such.
Well, although I am not splitting ranged and melee per se, I do want to make ranged and melee two equally-viable options.
== Alaris & clone ==
Proud Officer of The Order Of Dii [Dii] - join us
You can tell the quality of life of people by what they complain about
| Thumbs Up: |
| Received: 1 |
Assuming you code in C++, you need separate binaries for each platform (Windows, Linux etc.)
| Thumbs Up: |
| Received: 186 |
Assuming that I want to support multiple platforms. How hard is that to do? I assume it's far from trivial given how few devs develop for multiple platforms.
If the game takes off and I have extra resources to spare, maybe, but atm I would be better off concentrating on one platform and make it happen. I've been careful to make the code pretty portable though, so it should be easy to port later on.
== Alaris & clone ==
Proud Officer of The Order Of Dii [Dii] - join us
You can tell the quality of life of people by what they complain about
The easiest way to make a port is to make sure that everything goes through platform independent APIs. This can be rather simple: for example, instead of using direct calls to DirectX, make wrapper functions/classes and call those. Your wrappers will then call DirectX. Then find similar libraries for Linux and make wrappers for those, with the same names. Now when you need to compile for another platform, just use the other set of wrappers.
Your actual game code will thus be separated from the code that actually manipulates system/hardware. It's easy to do, the reason why more devs don't do it is, well, there's simply no profit in it. compared with the work effort. The exception would be multiplat console titles, which usually means they're developed for both PS3 and the 360 (and sometimes PC).