Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1075910 Posts in 44152 Topics- by 36120 Members - Latest Member: Royalhandstudios

December 29, 2014, 02:24:47 PM
TIGSource ForumsFeedbackDevLogsmoonman
Pages: 1 ... 20 21 [22] 23 24 ... 140
Print
Author Topic: moonman  (Read 745795 times)
laxwolf
Level 2
**



View Profile WWW
« Reply #420 on: January 29, 2012, 08:49:37 PM »



cause I felt like it... love Laxwolf.
Logged

Solo artist, modeler, designer, and programmer.
eigenbom
Level 10
*****



View Profile WWW
« Reply #421 on: January 29, 2012, 09:29:48 PM »

Haha, that's awesome, thx Laxwolf!
Logged

eigenbom
Level 10
*****



View Profile WWW
« Reply #422 on: January 30, 2012, 01:34:20 PM »

Update: The Moonman website is more like a website now, with all your awesome fan art, some concept art, a link to the facebook page, an rss feed, and a sign-up form for notification about the game's progress. Now ... back to development!
Logged

laxwolf
Level 2
**



View Profile WWW
« Reply #423 on: January 30, 2012, 05:13:16 PM »

The website looks awesome. Very clean and simple. Thanks for putting up a fan art section!
Logged

Solo artist, modeler, designer, and programmer.
eigenbom
Level 10
*****



View Profile WWW
« Reply #424 on: January 30, 2012, 06:20:38 PM »

Hey thanks, I thought it was a bit too plain, but I've gotta get back to the game, so it's gonna stay like that for a while. Smiley
Logged

eigenbom
Level 10
*****



View Profile WWW
« Reply #425 on: January 30, 2012, 10:00:02 PM »

Yay! After travelling at least 16,000km, half way around the world, a priceless artwork appeared today in my mailbox! Thanks again CEDE, it will encourage me to keep working hard on Moonman, a.k.a. Yo Son!



I'll cherish this ... forever ... Evil
Logged

eigenbom
Level 10
*****



View Profile WWW
« Reply #426 on: January 31, 2012, 08:52:57 PM »

Update: Integrated the inventory gui stuff into the main game, and blocks now have item-form counterparts, and so can be collected and stored in the inventory. I am still afraid to tackle the water simulation, so I'll probably do a bit of refactoring over the next few days, particular in relation to resource management, with which I'll probably follow the lead of Bitsquid.

I'm going to try and ignore the visual side of things for a while, so expect to see lots of crappy sprites and icons in the near future. Smiley

Logged

eigenbom
Level 10
*****



View Profile WWW
« Reply #427 on: February 03, 2012, 03:33:53 PM »

Update: I've been reworking the resource management in the moonman engine, essentially implementing the system used in the bitsquid engine described here.

I'm changing all of the resource specifications from Lua to Simplified JSON. Currently sprite are defined in Lua files (I can have multiple definitions per file) and looks something like this:
Code:
// file potions.lua
sprite {
  name = "potion1",
  sprite_sheet = "entities/items/potion_sheet.png",
  width = 8,
  height = 8,
  frame = {x=0,y=0}
}

sprite {
  name = "potion2",
  ...
}

I then just execute this file with the Lua interpreter, and the function sprite gets called twice, with the Lua table {...} as the single parameter.

This is really cool, but it has its drawbacks:
1. The mapping between resource and file is not necessarily one-to-one (which complicates hotloading the resource)
2. Any Lua code can appear in there -- for simple resources like a sprite definition this is actually bad, as it makes the sprite definition format harder to process by external tools or to automatically generate.

So, I've decided to:
1. separate the passive resources (sprite definitions, shaders, block definitions, text files, gui settings, etc..) from the active resources (Lua scripts).
2. make a one-to-one mapping between resource and file
3. use a consistent naming convention

So now the two potions above will be defined like this:
Code:
// file entities/items/potion1.sprite
sprite_sheet = "(sprite_sheets/potions,png") // (name,type)
width = 8
height = 8
frame = {x=0,y=0}

Code:
// file entities/items/potion2.sprite
...

Note that the name of the resource is simply its (relative) filename minus extension, e.g., for potion 1: entities/item/potion1 is the name, and sprite the type. Also, resource references in scripts are always of the form "(name,type)". This is a little bit peculiar, but allows simple tools to be written to easily process dependencies.

I'm also refactoring the resource management. At the moment I have something like this:
Code:
template <class T>
class ResourceManager {
public:
  T* get(std::string name);
  virtual T* load(std::string filename) = 0; // Given a filename, return a loaded T*
protected:
  // string->T* map
};

class ImageManager: public ResourceManager<Image> {
...
};

class SpriteManager: public ResourceManager<Sprite> {
...
};

.. etc ..

Unfortunately having all those managers in the system makes it more complicated, and so I am centralising all the resource management back into a single ResourceManager. The resource manager is fairly simple, it just stores a map from (name,type)->void*, effectively being a dumb database. Loading of resources is done through callbacks for each resource type. E.g., void* load(std::string filename), is called when loading a resource, and different load functions are registered for the different resource types. (I'm also murmur hashing the names into 32bit IDs for efficiency.)

I've wanted moonman to be easily moddable from the start, and this is how I plan on supporting that: Resources are grouped into packages (a folder with a file package.sjson inside). The core game is a package, as are any mods. The active mods are just listed in a file mods.sjson, in the order in which to load them (in case there are dependencies between mods.) Even the core game folder can be copied, modified, and then referenced in the mod list (in which case its a total mod).

One last thing I want to mention is that the bitsquid tech has three stages in its resource management pipeline, artist stage -> intermediate stage -> compiled stage. Currently moonman just has the intermediate stage, i.e., there are no tools for making content and there is no efficient binary format for compressing the data. Due to the nature of this game, I don't know if I will need those other stages. The data seems to load quickly enough from the intermediate format to make implementing a compressed format unnecessary. And I've currently been specifying the data by hand, writing the lua/sjson specs myself -- so at this stage it seems unlikely that I'll need to make special tools for creating the data, or write converters for existing tools. Though I guess this depends on the eventual complexity of assets: the sprite animations, particle effects, etc (which I hope are very simple, givenb my intended aesthetic for mm.)

Well, that was a long post.

Now ... back to Crystal Cave ...

Logged

happymonster
Level 10
*****



View Profile WWW
« Reply #428 on: February 04, 2012, 01:32:44 AM »

Sounds complicated, but cool!  Wink
Logged

Tixel - Paint with shapes instead of pixels!
http://forums.tigsource.com/index.php?topic=44760.0
eigenbom
Level 10
*****



View Profile WWW
« Reply #429 on: February 04, 2012, 03:06:55 PM »

Yeh! But it's actually simpler than what I had before, in a weird way.  Blink
Logged

todd
Level 8
***


msmymo


View Profile WWW Email
« Reply #430 on: February 04, 2012, 08:57:36 PM »

Logged

eigenbom
Level 10
*****



View Profile WWW
« Reply #431 on: February 04, 2012, 09:06:24 PM »

Awesome Seasons! Added to fan art!
Logged

eigenbom
Level 10
*****



View Profile WWW
« Reply #432 on: February 05, 2012, 09:45:53 PM »

Update: Implemented basic resource loading that operates on a separate thread. The main thread polls it and shows a progress bar. When its finished, all the loaded resources are transferred to the resource manager.
Logged

eigenbom
Level 10
*****



View Profile WWW
« Reply #433 on: February 06, 2012, 04:52:24 PM »

Terraria's Tiyuri Reveals Screenshots Of Next Game?

Bah, why do they have to make terraria clone with all the stuff i wanted to put in moonman to differentiate it from terraria. I can't compete with those guys.
Logged

namragog
Guest
« Reply #434 on: February 06, 2012, 05:02:30 PM »

If you utilize those weird status effects that mess up items, Moonman will surpass all.
Logged
eigenbom
Level 10
*****



View Profile WWW
« Reply #435 on: February 06, 2012, 05:23:41 PM »

Ok ... POLL TIME. I've got an idea about what I'd like to put in there, but I'm interested to hear the 3 features you would like to see most in moonman:

- Moving Blocks, Machines
- Nice Water, Waterfalls, Pipes, Pumps
- Portals
- A nicely designed quest (find these four items to fix your ship and fly home, still procedural though..)
- Multiplayer
- Smart NPCs (able to build, fight, etc..)
- Castles/Dungeons
- Towns/Cities
- Crazy stuff: helicopter blocks, play as a zebra, etc ..
- BIG ENEMIES
- Ease of Modding (allow you to add new weapons, items, worlds, etc..)
- Laser guns and other weapons
- Insert own idea here...

Thx!
Logged

namragog
Guest
« Reply #436 on: February 06, 2012, 05:50:59 PM »

- Moving Blocks, Machines
- Nice Water, Waterfalls, Pipes, Pumps
- Portals
- A nicely designed quest (find these four items to fix your ship and fly home, still procedural though..)
- Multiplayer
- Smart NPCs (able to build, fight, etc..)
- Castles/Dungeons
- Towns/Cities
- Crazy stuff: helicopter blocks, play as a zebra, etc ..
- BIG ENEMIES
- Ease of Modding (allow you to add new weapons, items, worlds, etc..)
- Laser guns and other weapons
Logged
imaginationac
Level 2
**


Makin' games instead of makin' money.

imaginationac@msn.com imaginationac1 imaginationac1
View Profile WWW Email
« Reply #437 on: February 06, 2012, 06:23:59 PM »

- A nicely designed quest (find these four items to fix your ship and fly home, still procedural though..)
- Castles/Dungeons
- Towns/Cities

Basically I'd like a game that's a little more goal oriented and less sandbox.
Logged

Youtube channel | Charger! Dev Log
              
JimmyJ
Level 1
*


Hi!


View Profile Email
« Reply #438 on: February 06, 2012, 07:19:45 PM »

Easy modding is my most desired feature, for with it all the other features can be done, whether you implement them or not!
Logged
rek
Level 6
*



View Profile
« Reply #439 on: February 06, 2012, 08:37:29 PM »

All of the above.  Waaagh! Waaagh! Waaagh!
Logged
Pages: 1 ... 20 21 [22] 23 24 ... 140
Print
Jump to:  

Theme orange-lt created by panic