SmileyCountry - DevLog

In Private Alpha. Smiley Country features a player-driven world. A spiritual successor to SmileyHouse.

Moderators: Cy, Korjon

Re: SmileyCountry - DevLog

Postby Code6226 » Fri Jan 29, 2010 7:51 pm

Moving slowly but surely towards the ability to Buy/Sell at Buildings:
Code: Select all
[Client/Server]
-Removed Jacuzzi from being buildable outside
[Client]
-Prevented clicks on Inventory causing actions on things behind it
-Centered Menu F12 pop-up, and removed window frame
-Reusing that sub-frame (from Menu) for Trade pop-up
[Server]
-Replies to client shop requests with buildings (Budget, Item Amounts, Prices)


Still need to work on actually doing the GUI on the client (already have a blank pop-up happening, and partial understanding of data).
So: Show Data, Allow Buy/Selling, and (for owners) allow +/-ing any allowed item, money from/to building's budget
Code like you want to win!
User avatar
Code6226
Puchisoft Staff
 
Posts: 593
Joined: Sun May 29, 2005 1:49 pm
Location: USA

Re: SmileyCountry - DevLog

Postby Code6226 » Sun Jan 31, 2010 7:09 am

Change some parameters of the forest growing algorithm.

The max Trees per area is now equal to one of its axis, so a 50x50 area has max 50, and a 30x30 area has max 30.

If you start with a blank area, the first Sapling grows in after 1 minute.
A Sapling takes 3 minutes to grow into a Tree.
A Tree takes 8 minutes to become a Parenting Tree.
Up to 3 Saplings can exist at a time. All 3 can spawn every minute, but only from parenting trees. A single parenting tree can only make one Sapling per minute.

So, if you chop down all trees, it will take 3.5 minutes for a Tree to grow back (~0.5min for Sapling, 3min more to evolve into a Tree). So about 1/3 of a Tree per minute.
If you leave at least 3 parenting trees alone, they will spawn 3 Sapling Trees the next minute, which will then grow into 3 Trees 3 minutes later. So about 1 Tree per Minute.

How long does it take to go from no trees to 3 parenting trees?
1 minute for the first sapling, 3 minutes to be a tree, 8 more minutes to be a parenting tree and spawn the next Sapling (at 12min).
3 minutes for the 2nd one to become a real tree, 8 minutes for it to also be a parenting tree.
But the first parenting tree can now produce one sapling per minute, which would happen before the next Parenting Tree is ready. So:
01min - 1 Sapling A
04min - 1 Tree A
12min - 1 Parenting Tree A, made Sapling B
13min - 1 Parenting Tree A, made Sapling C
14min - 1 Parenting Tree A, made Sapling D
15min - 1 Parenting Tree A, 1 Tree B
16min - 1 Parenting Tree A, 2 Trees B,C
17min - 1 Parenting Tree A, 3 Trees B,C,D
...
23min - 2 Parenting Trees A,B ...
24min - 3 Parenting Trees A,B,C ...

And this is assuming the 1 Parenting Tree always picks a legal place for its offspring. Every minute, the alg will loop through up to 20 random parenting trees, and for each, try to spawn a sapling randomly around it, until 3 Saplings are reached. Each parenting tree only gets one chance. If you only have one Parenting Tree with 2 trees next to it, the chances that it can find a valid place for its sapling is much lower than if you had 20 Parenting Trees. But the chance that you get your core 3 parenting trees without much fail is high. I'd roughly say 25min to get the core forest going.

During that process, if you have 1 Parenting tree, you already get 1/2 Trees/min, see:
00min - 1 Parenting Tree
01min - 1 Parenting Tree, makes Sapling E
02min - 1 Parenting Tree, makes Sapling F
03min - 1 Parenting Tree, makes Sapling G
04min - 1 Parenting Tree, Tree E
05min - 1 Parenting Tree, Tree E,F
06min - 1 Parenting Tree, Tree E,F,G

3 Trees in 6 Minutes with 1 Parenting Tree
.
Notably you have an 8 minute Drough, if you want to go from 0 Parenting Trees to 1 Parenting Tree (that you don't harvest). So for 8 minutes, you have a 0 Trees/min harvest capacity.

With 2 Parenting Trees:
00min - 2 Parenting Trees
01min - 2 Parenting Trees, make Sapling X,Y
02min - 2 Parenting Trees, make Sapling Z
03min...
04min - 2 Parenting Trees, Tree X,Y
05min - 2 Parenting Trees, Tree X,Y,Z

3 Trees in 5 Minutes with 2 Parenting Trees: 3/5 Trees / Min

With 3 Parenting Trees:
00min - 3 Parenting Trees
01min - 3 Parenting Trees, make Sapling X,Y,X
...
04min - 3 Parenting Trees, Tree X,Y,Z

3 Trees in 3 Minutes... 4/5 Trees/Min

So 48 Trees per Hour... Oh, 48. Apparently the number of SC (each Plank has 48HP, based on 48 hours of 1hp damage per Plank).
Code like you want to win!
User avatar
Code6226
Puchisoft Staff
 
Posts: 593
Joined: Sun May 29, 2005 1:49 pm
Location: USA

Re: SmileyCountry - DevLog

Postby Code6226 » Sun Jan 31, 2010 8:04 am

48 Tree /hr is not exactly scarcity on the global scale, but globally is different than on a per player basis, of course. But let's see:

The most basic buildings only need 1 Plank per Tile, which have an upkeep of 1 Plank per Tile per 48 Hours.

Each area has 50x50 (let's say), having 2500 Tiles

Each area produces 48*48 Trees per 48 hours. If 1 Tree = 1 Plank, enough Trees are generated per Area to upkeep 2304/2500 of its tiles to be covered by Buildings. That's probably reasonable, because Planks will also be used for making items, aka Destruction. So at this rate, we might see maybe 60% of each area covered in Buildings.

That's still a bit high, but we have to also calculate that it's unlikely that there are players playing at every hour of the day. With the maxTrees, if there is nobody playing, more Trees don't come in.

So I think I can reasonably increase the ratio to 1 Tree = 3 Logs = 3 Planks, for high level woodcutters. That's enough to cover 276% of each area with buildings, but with many planks going towards destruction, it seems fine. Also, if there are only people playing 10 hours of the day (globally, meaning that that there is at least somebody, even if someone different, in the game 10 hours a day, with the remaining 14 hours being a ghost town), then the area coverage goes to 115%, assuming people use no planks towards destruction.

I know Cy was worried that areas would get too crowded. Of course, testing is needed, but I think the ability for players to just kill buildings would solve this.

Also, if you build too much, the forest won't have room to grow. The first Sapling comes in once a minute, but it picks a random location. If that location is in use, it doesn't try again until the next minute.

A fun part of this design of always making trees, but having a max limit to waste resource if they are not harvested, is the it encourages people to play when nobody else is. A big complain of SH was that it wasn't fun when you were alone. Of course, SC is all about a player-driven world, so if you were actually the only person in it, it'd just be a sandbox mostly...
But this way, if nobody is playing, you can quickly log in and gather all the Trees, and get a head start of building or destroying things with less resistance. And who knows, as more people get this idea, the server will fill up. You'll be annoyed that you now have to compete to get the Trees (or even fight for them), but the competition will be fun.

I understand that this design seems to resemble games that harvest humans by putting timers in the game, and making them log in every hour or so to click the button, to get the units (Mafia Wars...). However, the difference with SmileyHouse is that these timers aren't per person. These timers are global, and the resources must be fought for between players. These other games guarantee you advancement if you just keep going to their website once an hour. There is no challenge, there is just maybe a little number crunching (Use my guaranteed X/points per hour for Y or Z). In SC, resources are generated, but they are to be fought for. They are not given to you, urging you to pick them up for guaranteed advancement.
Code like you want to win!
User avatar
Code6226
Puchisoft Staff
 
Posts: 593
Joined: Sun May 29, 2005 1:49 pm
Location: USA

Re: SmileyCountry - DevLog

Postby Code6226 » Tue Feb 02, 2010 8:27 am

To facilitate finding bugs, I decided to release a new version of SmileyCountry ahead of schedule. The major changes are the way the forest grows in, the addition of currency, and the addition of the Saw Mill building.

But without future features like Buy/Sell with buildings and money generation from City Hall, the changes don't really amount to much. Again, this release is to make sure that bugs that are being reported have not already been fixed.

The new client is now live, thanks to Dispatcher and my webhost, but the new server of the game is not live yet due to some issues with the PC that runs it. Hence no announcement on the new News portal ( http://puchisoft.com/news ). Right now, you can't play. I have to attend to other matters first, but I will post an update when the SC server is live.

Oh, also: Get ready to be able to install this on any PC, even your restricted college PCs where you don't have Admin rights.
[Installer]
-Now uses Dispatcher's GoogleChrome-Like-Hack feature, to allow NonAdmin users to Install and Update SmileyCountry

Of course, whether you may actually do this at your college/workplace is a different matter. Know your local rules. ;P
Code like you want to win!
User avatar
Code6226
Puchisoft Staff
 
Posts: 593
Joined: Sun May 29, 2005 1:49 pm
Location: USA

Re: SmileyCountry - DevLog

Postby Code6226 » Wed Feb 03, 2010 4:10 pm

New version is up, and the server is up!

Recent Changelog:
>February 2
[Installer]
-Now uses Dispatcher's GoogleChrome-Like-Hack feature, to allow NonAdmin users to Install and Update SmileyCountry

>January 31
[Server]
-Fixed objects being allowed to occupy the bottom/right row/collumn on non 50x50 areas

>January 29
[Client/Server]
-Removed Jacuzzi from being buildable outside
[Client]
-Prevented clicks on Inventory causing actions on things behind it
-Centered Menu F12 pop-up, and removed window frame
-Reusing that sub-frame (from Menu) for Trade pop-up
[Server]
-Replies to client shop requests with buildings (Budget, Item Amounts, Prices)

>January 26
[Client/Server]
-Added BuySellList to Buildings.ini (Each building will have a static list of things ppl can buy/sell there)
--Some things can only be bought OR sold, not both
[Server]
-Added SQL table for BuySell list (related to generic inventories)
Code like you want to win!
User avatar
Code6226
Puchisoft Staff
 
Posts: 593
Joined: Sun May 29, 2005 1:49 pm
Location: USA

Re: SmileyCountry - DevLog

Postby Code6226 » Sat Mar 06, 2010 6:30 pm

Fixed a bug preventing the client from understanding the Quantity/BuyPrice/SellPrice list: http://puchisoft.com/scr/2010-03-07_002740.png

Now I can finally move on to actually making a GUI from that data. :)
Code like you want to win!
User avatar
Code6226
Puchisoft Staff
 
Posts: 593
Joined: Sun May 29, 2005 1:49 pm
Location: USA

Re: SmileyCountry - DevLog

Postby Code6226 » Sun Mar 07, 2010 3:17 pm

GUI for Trading with Buildings is basically complete.

Image
As you can see, I'm being draconian about what each building can sell/buy. I might loosen that up later, but the idea is that each building has a pretty specific purpose: NOT A GENERIC SHOP.

Image
If you click Sell next to the Logs, you get this. As you can see, you get a very informative screen. You can set how many you want to sell, and everything is calculated for you.

Image
This is a nice touch too. It will consider the Building's budget. So if you are trying to sell more than the building has coins to pay you for, the SubTotal will turn red. It's then up to you if you still want to make that deal or not. Here 33x10=330, but the building only has 323, so that's all you're getting. I also plan code to prevent cheating other players out of money by changing the price of an item while they are shopping.

Image
The owner of a building gets a little hover-over when you move their mouse over the icons of the items. Clicking them allows the owner to set the prices.

Image
Clicking the Budget allows the owner to withdraw/deposit funds. Later on, other people will be able to click the Budget to steal a limited amount of coins.

Next up is actually making it call actions on the server and implementing those. After that, a few more tweaks, and SmileyCountry will be ready to be partially playable: Start of the economy will be in, but buildings can still be insta-nuked by anyone for free, heh.
Code like you want to win!
User avatar
Code6226
Puchisoft Staff
 
Posts: 593
Joined: Sun May 29, 2005 1:49 pm
Location: USA

Re: SmileyCountry - DevLog

Postby Code6226 » Tue Mar 09, 2010 4:13 pm

Set Prices of Items works now
Code like you want to win!
User avatar
Code6226
Puchisoft Staff
 
Posts: 593
Joined: Sun May 29, 2005 1:49 pm
Location: USA

Re: SmileyCountry - DevLog

Postby Code6226 » Tue Mar 16, 2010 4:38 pm

-Client/Server: Implemented Adjust Budget
-Client sends Buy/Sell (Server understands, but not implemented)
Code like you want to win!
User avatar
Code6226
Puchisoft Staff
 
Posts: 593
Joined: Sun May 29, 2005 1:49 pm
Location: USA

Re: SmileyCountry - DevLog

Postby Code6226 » Wed Mar 17, 2010 5:08 pm

-Server: Implemented Buy/Sell on server, replies with chat error msgs when appropriate

So the Trade Menu works now!

Now I just need to add a few things like CityHall money gen and SawMill Log->Plank conversion, and we'll have a little economy game to try! :)
Code like you want to win!
User avatar
Code6226
Puchisoft Staff
 
Posts: 593
Joined: Sun May 29, 2005 1:49 pm
Location: USA

Re: SmileyCountry - DevLog

Postby Code6226 » Thu Mar 18, 2010 5:07 pm

>March 18
-Client/Server: Owner is now allowed to do disallowed buy/Sells (good idea?)
-Made Sawmill automatically convert Log->Plank 5/hr 1:1
-Each city hall generates 20 coins per hour for now (Later: Change rate based on existing time)
-On Building Destroy, transfers items/cash to owner
-On Construct, gives Budget to builder; owner keeps ownership
Code like you want to win!
User avatar
Code6226
Puchisoft Staff
 
Posts: 593
Joined: Sun May 29, 2005 1:49 pm
Location: USA

Re: SmileyCountry - DevLog

Postby Code6226 » Sat Mar 27, 2010 6:48 pm

New version released! Go play with the economy.

There's an updated gameplay FAQ right in the title screen now. Can't miss it. :P

>March 26 "Economy"
-Changed Version to be 2 bytes, new server now requires version "1" of client (all previous releases were 0[1byte])
-Log->Plank conversion by hand takes 3 Logs to 1 Plank now (Use Sawmills instead, if available!)
-Added Notes to Title screen (until there is a tutorial)
-Fixed Register screen claiming password is optional
-Prevent building more than 1 City Hall / Jail per area
-Fixed Equipped Item sending bad data when your inventory contents shifted
Code like you want to win!
User avatar
Code6226
Puchisoft Staff
 
Posts: 593
Joined: Sun May 29, 2005 1:49 pm
Location: USA

Re: SmileyCountry - DevLog

Postby Code6226 » Sun Mar 28, 2010 12:08 pm

Small update, available now. :)

Code: Select all
>March 28a
-Can Move with Arrow Keys in addition now
-Hold F1 to see the pre-game FAQ in-game
-Removed Ctrl+Y and other default MMF2 hotkeys that didn't make sense


I got to actually test the game with a group of people earlier today. I found some bugs in the process, and noticed that the next thing to do will probably have to be fighting. It's as big of an issue that buildings can be insta-nuked for free as I had anticipated.

I mean, right now, half the core game is in. Money, resources, and using resources (available by hand or in-game money) to create. Creating is basically all there. However, destroying is just in debug-mode, and after someone spend all that time, there is no effort associated with destroying their work. So that should be my next goal. :)
Code like you want to win!
User avatar
Code6226
Puchisoft Staff
 
Posts: 593
Joined: Sun May 29, 2005 1:49 pm
Location: USA

Re: SmileyCountry - DevLog

Postby Code6226 » Sun Mar 28, 2010 3:41 pm

Another update! Now I added basic damage support. That is, no more super cheap insta-nuke damage. There is now a Club Armory, which manufactures Clubs. It does that from Logs, at 1:1, 20 per hour. Each do 48 damage, the same number of HP you get from one Plank when you build something. So with one Log, you either create or destroy 48 HP. The choice is yours! :)

All other weapons now just do 1HP with a longer warmup. I think this is unbalanced to do that 1HP damage for free, but I'm letting it slide for you.

Image

>March 28c "Damage"
-Added Item:Club, Building:Club Armory
-Club Armory converts Logs->Clubs at 1:1, 20 times per hour (same speed+rate for Sawmill now)
-You can now heal buildings by hitting them with a Hammer (need one plank per 48 hp, will heal as much as possible)
-New Sapling graphic
-Colorized Building roofs
-Fixed Sawmill icon being pink
-Worsened by hand ratio of Log->Plank from 3:1 to 4:1 (Sawmill still at 1:1)

>March 28b
-Build/Trade Menus now close on Walk/AreaChange
-Fixed: Seeing warmup when trying to use item, even when it will fail due to not having a selection
-Fixed: Not being allowed to useitem by clicking under Build Menu, even when hidden
-Fixed: Terrain alterations apearing to happen in all areas, not just intended
-Fixed: People don't get killed when changing areas
Code like you want to win!
User avatar
Code6226
Puchisoft Staff
 
Posts: 593
Joined: Sun May 29, 2005 1:49 pm
Location: USA

Re: SmileyCountry - DevLog

Postby Code6226 » Sun Mar 28, 2010 5:06 pm

Update. Did you know that there are 26 letters in the alphabet?

>March 28d
-New Log/Apple graphic
-Updated Title FAQ
-Lowered health of a few objects
Code like you want to win!
User avatar
Code6226
Puchisoft Staff
 
Posts: 593
Joined: Sun May 29, 2005 1:49 pm
Location: USA

PreviousNext

Return to Smiley Country

Who is online

Users browsing this forum: No registered users and 1 guest

cron