Pantzar-Indie

Long time no see

Posts explaining why there hasn’t been an update are boring, so I’m not going to do that.

 

I have added support for LUA, so now I don’t have to go through my own bulky script system.

I have experimented with tile aesthetics, and I’ve run into some problems that you might be able to help me with.

 

Version 1: Simple

 image

One image per tiletype. Fast and low memory cost.

 

Version 2: Fancy

image

47 images per tiletype. Slower and higher memory cost.

 

Version 3: Fancy tileset.

image

1 tileset. Relative low memory cost. Zooming causes ugly artefacts (probably due to rounding errors).

 image

 

When I have inspected the artefacts more closely I can see that it’s not a gap between the tiles, but the tile is drawing parts of the tile next to it in the tileset. So the SourceRectangle must be wrong.

Does anyone know how I can fix the ugly artefacts the tileset is causing? I do not have these problems with the non-tileset versions. Or is the only option to turn off zoom completely?

((I’m using XNA))

 

 

Edit:

I found a solution.

Calling spritebatch.Draw() with the SamplerState flag set to PointClamp got rid of most of the “artefacts”. Extending each tile in the .png file with 1px padding with the edge colour got rid of the rest.

Sound

In this demonstration, the sound is placed in the water at the center. The volume of the sound depends on the distance between the player and the source.

Music: DST-2ndBallad from nosoapradio.us

More lights, including sunlight and day/night cycles.

Light test

The current state of the new Animation Editor.
The Joints are currently not implemented, and I don’t have any hierarchies yet.

I recommend you watch it in HD, either in full screen or on YouTube http://youtu.be/1zuds2N1kL0


It’s been a while since my last update, so I thought I should give you a video update. So what have I done in all this time? Nothing really. Well that’s not entirely true…

I have freshened up my C++ skills for a school project.
I looked into OpenGL and glut, but I didn’t get it to work.
I started on a Console application with ASCII graphics, but got bored.
I found DirectX Tool Kit and made myself a “template project” with the same feel and structure as XNA, but it was too much work.

All this in C++.

But then I realized that I missed my C# XNA project, so I’ve returned now, full with new ideas and excitement.

What you see in the video is a short demonstration of what you can do right now. I decided to skip the texture and animation editors. The items are fully supported, but I have no visual representation of them yet.

The “engine” is made with C# XNA
I made the game GUI myself
Scripting is done through the Roslyn library
The editor is made with C# Windows Forms with an XNA custom control

Any questions? Feel free to ask.

Update, 2012-09-06

Editor:

  • Made the solution more compact: changed unnecessary projects into forms.
  • It’s possible to change start position
  • Add and remove units
  • Change properties of units
  • Script Editor has syntax highlighting
  • Script Editor checks for syntax error

Game:

  • Changed how Units are stored
  • Added OnLoad script trigger in Area
  • Added OnEnter and OnExit script triggers in all Tiles
  • Control movement of the player
  • Collision against non-walkable tiles

 

My own Editor

I’ve been doing a lot of programming the last 2-3 weeks. I realized that I had to rewrite practically everything to give myself a better base to stand on, so I made myself an editor.

The Editor does currently have these features:

  • Set grid size (and resize current grid without losing tile information)
  • Find all default and custom tile textures
  • Paint these tiles on the grid
  • Four brush-tools: Square, Circle, Bucket and Fill
  • Brush sizes between 1 and 10
  • Move the camera (and zoom) in the “Game Simulation”
  • Change properties of individual tiles (currently only the texture)
  • A Texture Editor (which is more like a converter), to create .texture files from .png and .bmp
  • An Animation Editor, to create .animation files from .texture files.
  • A GUI Texture Editor, to create .gui files (a package of .texture files used in the GUI)
  • A Script Editor, to write and edit scripts. I just recently got this working, which I’m very excited about.  I’m using the “Roslyn” library to help me with the scripts.
  • Save the map/game as a .game file
  • Run the game directly from the Editor (it can of course also be run from its on .exe file)

The game itself does currently have these features:

  • A GUI (no external library used), which supports Buttons, Lables, InputTextBoxes and ScrollLists
  • A menu system
  • Find all default and custom maps/games (and add them to a ScrollList)
  • Find all saves (and add them to a ScrollList)
  • Find all supported resolutions and give the user the option to change between them (also Fullscreen/Windowed)
  • Create areas, textures and animations at runtime, based on the specifications in the .game file
  • Execute the scripts

A first glimps at my current project.

Zombies have senses!

It has been some time since last update, I have no excuse. I haven’t really worked that much on this project lately.

I think I’ll skip the “once a week”-thing and just go with “whenever I make progress”.

I picked up programming again yesterday and have now implemented Line of Sound and Line of Smell.

Line of Sound spreads out from the source using a simple path finding algorithm. Every tile has a “Sound Block” value that can be changed to dampen sounds (i.e. trough walls). I also implemented a sound player that plays the sounds. The volume changes with the distance to the source.

Line of Smell spreads out from the source using a similar algorithm as Line of Sound, with the addition of being affected by the wind direction. Smell will also stay and slowly disappear over time.

(I also have Line of Sight from before)

Finally, I also implemented my first basic Zombie that can detect the player using the three scenes (Vision, Sound and Smell).

Next step will be to make the Zombie react to the player in an appropriate way (implementing some AI).