Skip to main content

Demon Rite: Creating A world at my Fingertips

Hey everyone,

A small update on how development is going so far. Mostly it has been pen to paper and scribbling down lots of different ideas, focusing on getting some good design principles down first. I find experimenting a little can help fuel my ideas and I will hop backwards and forwards between unity and my pad.

One of the first features I want to implement in this game is a procedural world for players to explore.  Thus making each world completely unique for your little demons to invade. There are many ways to tackle this, but I like to follow the principle of K.I.S.S... Keep it simple STUPID!

Please note, everything art wise is all concept art.

So I set to work creating a simple tile based grid system.
- Each Tile is 4 x 4 units wide so it was just a matter of creating the world using a "God" tile
- Each God Tile is a sum of all the different tile types I am going to have in the world
- So far I have PLAINS, WOODLAND (well white cubeland atm), MOUNTAIN (Big grey block of doom)
- The God Tile then randomizes the tile type on creation which produced a result I am quite happy with.

THE GOD TILE -  turns on the correct type at runtime and disables the others

The code for creating the actual world was fairly simple, it was just a matter of creating a grid, and then adding the offset of the tile size to the grid. I use C# in unity and for the coders out there it was simply this:

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void BuildNewWorld()
{

        for (int x = 0; x < worldSize; x++)
        {
            for (int y = 0; y < worldSize; y++)
            {
                //MULTIPLY BY TILE SIZE
                GameObject prox = (GameObject)Instantiate(worldTilePrefab, new Vector3(x * 4,0,y * 4), Quaternion.identity);
                prox.transform.SetParent(spawnParent.transform);

            }
        }
    }
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

I am sure there are much more complex ways to create a much more intricate world, but I am happy with the results so far...


I have also built the barebones of the spellcasting system where players will be able to manipulate the tile type, for example destroying a mountain, or creating a fissure where your demons of hell will begin their struggle against the mortal realms!

There seems to be far too many mountains in this instance, so I am going to implement a mountain cap which will limit the amount of mountains that can spawn in one world. This leaves options for players to be able to customize their world experience. (Some people might like having mountains everywhere)

Well I hope this sneak peak has been interesting for you. I can't wait to start working on the demon's and getting them interacting with the world... (Because it is ultimately with their help that you will be able to corrupt the land)

SunRock


Comments

Popular posts from this blog

Demon Rite: The power to explore... with just a mouse....

Hey everyone, I have been experimenting with the prototype of Demon Rite, which arguably can be the most fun... as nothing is yet set in stone, and all kinds of fun bugs can be found, which almost can become a feature. I have implemented the Camera Movement which will be controlled by clicking and dragging the Right Mouse. You begin the game by choosing the first point in the world that your demons will begin to corrupt. The spell casting system will be controlled by either clicking the relevent icon at the bottom of the screen, or pressing the corresponding hotkey (I'm thinking the generic FPS 1-9) So far I just have the Begin Corruption spell which spawns your demons from hell. I have also implemented basic Demon AI. As your role as the demon god/lord/boss is to influence the world to help your demons thrive, whether it be casting a resource to help your demons expand, or casting a meteor to crush any pesky foes trying to prevent your domination. S

The Power of A Goal

In my many months of messing around with Unity, I have started numerous projects, few of them to completion. I never seemed to understand why? I tried many approaches to the development of a game, some I "just winged it", others I planned everything down to how many hairs a character would have, but they all turned out the same, they all failed. Why? Lack of goals. The only games I have officially released have all been game Jams, and they all had a deadline to meet. A quantifiable goal to work towards. This is key. For without a goal, we are a homing missile that has no target. As a creative person, freedom is something that we require in order to be at our best, but without bite sized goals, it is easy to get overwhelmed by larger scale projects. How do we combat it? By using a tool that can enhance our productivity ten fold. A tool that can provide clarity through the mish mash of ideas being generated within our heads. A tool that can be used by everyone. A goal.

Adapting the 2D PlaySpace

One of the first hurdles to overcome when I was converting the 2D tutorial over to 3D, was how in the hell was I going to convert the code. Well my solution may not be the most efficient way, but it seemed to work. By placing individual build points which react to the Players click, I now able to build in specific locations, ensuring that I align the defenders with the attackers as before. I now have 2 complete characters in the game. The Archer, a low hp, high dps warrior, as well as a drummer, which will generate spirit for you to spend on additional orc warriors. If you have been following my development so far, I'm sure you can notice I have completely retextured the scene, as well as adding some "DooDads" (nostalgia from the blizzard editor days). Be sure to subscribe and not miss when I release an Alpha version of this Orc Defense game. If anyone is interested in the code I used for this please drop me an email at BedShadows@gmail.com.