Wednesday, January 25, 2012

Updates on the engine

The mission to clean up the engine is alive and well!

I'm trying to remove all unnecessary code, test existing code and fix it, and finally document and finish changing the naming convention. I would say 10% of this work is done.

Here's a few things that are now as they should:

  • Strings
  • StringLists
  • CRC32 Hash and the useful String ID (courtesy to Nuno Silva)
  • Math constants and functions
  • Signals 
  • FileSystem access utilities
  • Linked Pointers (Smart Pointers i've talked about previously)
  • Vectors
All this grouped under a "Foundation" virtual module.

This grants that most code written using the engine from now on is more stable and consistent!

More news soon!

Monday, January 23, 2012

Different views

I've taken a little weekend pause from all work, and I traveled to London ! It was an amazing time and besides all the fun and beautiful things to see, I cared to take inspiration from the place, as well as ideas, which i expect to turn into game development in way or another. Stuff that need to be tought about and possibly implemented ! But mainly, ideas for the graphics of my games is what I had the most!

Little things of life :)

Friday, January 20, 2012

Parabola Engine progress

While actively developing Yggdrasil, I decided to spare some time when possible to improve the engine a little, so it eventually becomes the great piece of software I am fighting for it to be.

Also, I decided the engine needed a "remake", not as in rewritting or refactoring code, but making things more neat and tieing loose ends, which there were plenty.

There were alot of inconsistencias along the library, so I am fixing it file by file, whenever i can. The name convention will now be similar to the standard library, inspired by the Qt framework. Also, when i convert a file to the new convention, i always fix functionality, perhaps add some and document the whole thing. I am also removing unecessary includes to optimize compile times. It should help a lot.

When this work is done, the engine will be on 1.0 release, and you will be able to make a full game with it, easily and granted! If anyone wants it in the meanwhile, i won't oppose, but I want to make it a good piece before showing it off :)

Monday, January 16, 2012

Yggdrasil Development 1

 Here to bring you news about the game!

Today I've added plenty of new things, the damage dealing is way better now. Critical hits are possible, there is elemental special damage. Defense works against the Damage, among a lot of things.

Improved the environment configuration, now you define a stop line where the enemies stop to attack the fortress. The background was started just today, and its just a scrap of what it can become, for testing purposes i drew it and used it right away :)




Also, improved the animation support, meaning that you could take the game now, create a new enemy fully configured by you, and define exactly its animations to your own character sprites!
For now, there are 3 valid states to be made - run, death, attack :)

I've already tought what the magic system will be like, and you can expect something cool! Stay tuned for that, it just involves supercharged magic that can be mixed together  :)


But today I dare to share a little demonstration you can try, play and modify. So you can get the taste of what the game is becoming slowly :)

Here's the link: https://github.com/downloads/DevilWithin/ParabolaEngine/Bin.rar
(I won't explain now how to use or edit, but feel free to find out)

Just notice i don't own the character that acts as our enemy. It is a copyrighted brand, and its being used only to build the technology and won't be included in the game at all!

Saturday, January 14, 2012

Yggdrasil

Long time without time to post anything.. again! 

I've decided to make a smaller scoped project, while leaving all others on stand-by. Even the engine is pretty still while this game develops, using it as well as means to get directions on what the engine should turn into.

This game was called Yggdrasil, at least for now, and it is a Tower Defense styled game.

Something i always found really hard and demotivating is the barrier between game mechanics and game content. It is hard to make content specifically for your game without a great deal of mechanics, like editors and well-established rules of what the game will be. Also, without content like maps etc, it gets hard to work on the mechanics.

Since this game is meant to be finished efficiently, i decided to make it fully data driven. Also, the data itself is only text, so even easier!

The following little definition, could be a portion of describing how a weapon behaves at a specific level. This is powerful because you can make new weapons, new everything, and configure everything!
WeaponLevel
{
CooldownTime="0.3"
Damage="70"
GoldCost="100"
CrystalCost="0" FireDamage="5"
CriticalChance="20"
CriticalMultiplier="1.5"
MultipleProjectiles="3"
MultipleProjectilesAngle="2"
MultipleProjectilesDamage="1"
}

To an extent, it is already playable, but in constant development. And i'ts funny because you can modify it big time. For that, i plan to make a little wiki with all properties when the game releases, full modding is possible :)



You can see a little screenshot of a in-development run. Things you can notice:
  • It shows you the money, which is defined in your profile's file. 
  • The money will rise when you kill an enemy. The amount it rises is defined by the enemy's file in a x..y range.
  • The first run ever of a profile is detected and shows a "Tutorial Mode" token.
  • The series of quads will become magic skills!
  • The background is completely dynamic, from files.
  • Green circle is more or less your weapon, which can shoot projectiles, also configurable from files.
  • You can see enemies running, animations fully configurable for all states. You see the hit box too and the health bar. All configurable.
  • And more to come!
For today, this is it :)