Shadows bugs

May 9, 2011

Even in last version there were sometimes problems with shadows:


Now it’s fixed (probably). I also added dawn and dusk, so the day doesn’t change into night too suddenly.

Inventory background

May 5, 2011

LiquidHot made a better background for inventory.

Basic inventory is in nightly version, but cuboid, rails and creative mode are missing, so it’s better to stay with the last version.

More server customization

May 3, 2011

Server now sends whole data\public folder to clients. So it’s possible to change not only terrain graphics, but also sky, player model, sounds, or make new blocks (blocks.csv file). The future items, monsters, recipes will be customizable too.

Editing blocks:

Inventory – more

April 25, 2011

Download test! Here: inventory1Binary, source


*Background is a fullscreen .png.
*Each item is a different .png. How to package them into one file? Zip? Compress all data files in game into one zip? SharpZipLib?
*In previous post blocks were bigger (2×2 cells) – this could vary for different blocks.

Graphics contest

April 22, 2011

Manical.Digerer made a contest for the default texture pack. Of course the winning texture (by Andy) will be added.

In game:

This looks like Minecraft. Next contest should be about creating a completely new set of blocks (new layout in terrain.png), with blocks.csv file. But maybe it’s possible to vote on single blocks, instead of on whole set?

Scripting – JavaScript

April 22, 2011

There is a good JavaScript interpreter: http://jint.codeplex.com/.
-It’s written in pure C# (no wrappers)
-Uses a mature language compared to custom made (passes Javascript standard tests).
-Perfectly sandboxed – script can only call functions provided to it, not random .NET classes.
-It’s possible to set script timeout with granularity of less than 0.1 millisecond, and should be easy to add memory limit.
-It interprets line-by-line so there is a great control over execution.

The only problem is that it’s extremely slow: just 30 000-300 000 loop iterations per second, so it can be only used for high level tasks, not for block manipulation or monster rendering. Monster code (.mdc) is 10x faster – it draws 100 models (when using 100% cpu. 50% time was spent on opengl calls, 50% on parsing), while a version ported to javascript drawed only 10 models.

Script-box

April 22, 2011

(This doesn’t work yet)

Login to server as a world builder.
Place script-block in house, click on it to open text editor, and paste this code:

/* Script-block in house */
 
function Tick()
{
    NpcSpawn("Npc1", "human", "Npc1.png", Npc1OnDialog);
}
 
function Npc1OnDialog(player)
{
    if (player["QuestRats"] == "")
    {
        Dialog("Hello. I have a rat problem in my basement. Can you get rid of them?",
            "Yes.", player["QuestRats"] = "Accepted",
            "No.", "");
    }
    if (player["QuestRats"] == "Accepted")
    {
        Dialog("Have you finished clearing the basement from rats?",
             "No, I'll be back soon.", "");
    }
    if (player["QuestRats"] == "GetReward")
    {
        Dialog("Great that you helped! I have a little reward for you.",
             "Thanks.", "");
        player["QuestRats"] = "Done";
        ItemGiveBlock(player.Name, "Gold", 1);
        PlaySound("questcompleted.wav");
    }
}

Now go to basement, place script-block, and paste this code.

/* Script-block in basement. */
 
function Tick()
{
    Every(60 * 10);
    for (i = 0; i < 5; i++)
    {
        NpcRespawn("Rat" + i, "Rat");
        NpcOnDeath("Rat" + i, OnRatDeath);
    }
}
 
function OnRatDeath()
{
    for (i = 0; i < 5; i++)
    {
        if (NpcAlive("Rat" + i))
        {
            return;
        }
    }
    for (var p in PlayersNear())
    {
        p["QuestRats"] = "GetReward";
    }
}

Script is very complicated. Scripts like these could be
a) copypasted
b) made into generic functions

“function Tick() { Every(60 * 10);” <- It can’t be like this, because it won’t be possible to return from Every(9999999) into less.

The current idea for the game

April 22, 2011

RPG (like Diablo II, Dungeon Siege, Morrowind, Neverwinter Nights) in a world of blocks (like Minecraft) made by players from inside of the game (server game masters).

Account verification

April 22, 2011

I fixed account verification – no more fake exe or Gronkhs! (Though there will still be ~exe and ~Gronkh guests).

Inventory

April 22, 2011

Current progress on inventory.

Not good.

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org