Gamingforce Interactive Forums
85239 35211

Go Back   Exploding Garrmondo Weiner Interactive Swiss Army Penis > Garrmondo Network > The Creators' Cafe
Register FAQ GFWiki Community Donate Arcade ChocoJournal Calendar

Notices

Welcome to the Exploding Garrmondo Weiner Interactive Swiss Army Penis.
GFF is a community of gaming and music enthusiasts. We have a team of dedicated moderators, constant member-organized activities, and plenty of custom features, including our unique journal system. If this is your first visit, be sure to check out the FAQ or our GFWiki. You will have to register before you can post. Membership is completely free (and gets rid of the pesky advertisement unit underneath this message).


Development Log for Game (In progress)
Reply
 
Thread Tools
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Dec 10, 2021, 02:24 PM Local time: Dec 10, 2021, 02:24 PM 1 #1 of 35
Development Log for Game (In progress)

Working on a cell phone (Android) game similar to Simcity with a Gameboy retro style. Quiet here these days, yet enjoyed Gamingforce several years ago, so figured I'd use this to keep a devlog on a current project.

Started work several months ago, and relatively happy with the progress. Now have a game that is semi-playable and with cities that develop, change buildings, recruit citizens, and generate a job market. An example of a city in progress is shown below.


Display is also rotatable and have developed my own menu system (quite a challenge, especially with Opengl). Allows selection, drag and drop, and menu elements that sort themselves. Another example of the same city shown below on emulated phone with building menu for cultural buildings open on the left, the informational for the city open on the right, and sortable status display for the towns needs cycling on the bottom.


Recently finished a first pass at supplies and resources for cities with informational displays that track and view the progress of those resources. Currently following: "Electricity", "Water", "Fire", "Police", "Hospital", "School", "Religion", and "Food" as resources or coverage needs in addition to the basic population and jobs. Also track statistics like the order that buildings were created. Two examples of the information displays shown below: Build Order, and Electricity Supply state.



Current task is developing "layers" for the city region so that I can follow ideas like subterranean developments, subway systems, and water supply lines. Mostly a work in progress for subterranean. Lots of issues related to pathing, correctly updating the buildings, selecting the correct textures or icons, and properly adding the developments to the city on the surface layer. (Traffic flow across layers is rather challenging) Example of subterranean work show below.


Additional Spam:
Made some nice progress on subterranean and surface interactions today after the initial post. Attempting to allow surface roads / rails / electricity to path and be placed independently relative to subterranean roads / rails / water lines. Included below is a side by side image of surface / subterranean interaction. Also have examples of roads / rails / water passing over each other / crossing and how the three types change when they go through water areas. Also show example of Residential and Commercial types that can be built on water areas. Notably, still having issues with building upgrades in the wrong layers (although may be a fairly easy fix). Finally, also show how some objects like wells and tunnels pass through layers, yet can be connected to on both layers.


Most amazing jew boots

Last edited by Araes; Dec 10, 2021 at 03:32 PM. Reason: This member got a little too post happy.
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Dec 10, 2021, 05:39 PM Local time: Dec 10, 2021, 05:39 PM #2 of 35
Further update for today. Managed to resolve the issues with underground and underwater buildings and now appear to have functional buildings that change form correctly and seem to respect electrical and water connections to those areas. Still have a few issues with pathing and whether resource support is properly provided to those areas, yet the buildings themselves appear to be responding to inputs correctly and changing as citizens inhabit them. Side-by-side images below.


There's nowhere I can't reach.
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Dec 11, 2021, 06:44 PM Local time: Dec 11, 2021, 06:44 PM #3 of 35
Spending a lot of today dealing with supply issues (primarily for food and education). When I try to be even slightly realistic with the number of farms, the size of farms, and the requirements for educators at schools, it can very rapidly run into issues, even with towns of moderate size (25000-50000). Part of the issue tends to be with rapid population growth very quickly outstripping the ability of the supplies for the town. People arrive in town and then very quickly overwhelm the schoolteacher capacity. Shown below is an example.

Partial fix might be allowing faster hiring rates for some of the supply style jobs. Also need to modify the school system to only count children in the population rather than the entire population. Food on the other hand is simply an issue. Huge water requirements and enormous amounts of land area if a town is going to provide food based on the surrounding area.

Also fixed a couple of issues with buildings upgrading properly, as many buildings were getting stuck at a certain development phase due to requirements for the next stage not being evaluated properly.

Next up is probably revamping the supply displays so that I can see the areas that are requiring the most supplies of a certain type, and then working on the water supply system so that piping correctly identifies areas that represent a connection. In many cases, I'm currently needing to dig wells near each major development just to guarantee supply availability. (Also visible in the attached screenshot)

After that, need to begin having more specialized purposes for many of the building types. Ideas like culture, research, religion, happiness, entertainment "kind of" exist, yet have very limited implementation. Eventually, I'd like to have something like the Civilization games, where over time, culture and research give you access to different town options, change the style of the town, and lead to different growth patterns. Having a well educated population leading to preferences for different kinds of jobs, rates of entrepreneurialship, ect...

Also need to work on the building changes and upgrades. Currently it "feels" lacking in realism. Place a residential and if the job market is high it may rocket to a skyscraper in only a few update cycles. "Might" be realistic in boom town areas, yet there's very little suburbia before skyscrapers are everywhere. (Also shown above, most of those are one of the densest Residential available) Probably need a preference for private space or lower density relative to the pull of jobs, yet challenging to implement. Maybe rating Residences based on density relative to the local job "pull". Is job market attractive enough to warrant living in a densified highrise?

This thing is sticky, and I don't like it. I don't appreciate it.

Last edited by Araes; Dec 11, 2021 at 06:52 PM.
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Dec 12, 2021, 08:12 PM Local time: Dec 12, 2021, 08:12 PM #4 of 35
Today was a lot of work dealing with construction layers and how buildings interact across construction layers (surface vs subterranean). Been having issues with buildings incorrectly detecting or not detecting neighbors in their vicinity, so went back and evaluated how the actual neighborhood construction was happening.

At the same time, also implemented smooth gradient displays for the supply usages so that its clearer which buildings are taking the most of various supplies. Still playing around with the specific numbers to use to emphasize supply sources vs buildings meeting their needs vs buildings lacking supplies, yet the initial results seem promising. Shown below is a display for School (education) coverage in a small town example. The school is the white building on the far right, while large usage regions are slightly darker gradients, and areas like Commercial districts, with little to no requirements are dark grey. Areas with no requirement are the dark grey speckles on black (such as electrical lines)


I am a dolphin, do you want me on your body?
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Dec 13, 2021, 08:05 PM Local time: Dec 13, 2021, 08:05 PM #5 of 35
Work on this update was focused on tracking down issues with electricity and water pipe routing in both surface and subterranean environments, and then making sure that buildings were properly registering connections to those resource types. Shown below is a side by side example of surface and subterranean construction with electricity supply as the info display.

Buildings are visible in both layers, yet do not obstruct construction, as an industrial area is built directly on top of a residential subterranean area. Yet both layers properly register the electrical connections to those buildings, even though electrical wires are built only on the surface.

Similarly, on the surface, an obvious empty area is shown, where the subterranean residence exists, yet connections pass through the area, properly connecting to the commercial areas further away.

Water lines were also tested simultaneously, and have another example of roads that exist both above and below the surface, yet don't interfere with each other. The black lines on the water are a surface, water railway.

Kind of a nonsense city building example, yet useful for testing purposes of strange building ideas, or ways people might purposely try to break some of the functions.


Next up, I'm thinking I'm probably going to try and tackle some of the special buildings. How does a military base interact with a university nearby? How do both interact with nearby residences? How does a zoo interact with a museum, or a shine interact with a nearby police station? Do they only affect nearby buildings, or do they apply city wide or large area affects? Do they update regularly or determine their purpose at the time of placement?

I was speaking idiomatically.

Last edited by Araes; Dec 13, 2021 at 08:08 PM.
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Dec 14, 2021, 07:57 PM Local time: Dec 14, 2021, 07:57 PM #6 of 35
Today's work has been more theoretical rather than coding. Trying to figure out how the specialist buildings are going to interact with each other and with the surrounding environment without specifying an enormous list of pre-listed interactions. (Currently have about 60 building types, with each having a pre-listed interaction with each other building would be ~3700 interactions I'd have to code)

Instead, my initial thoughts are to use a method somewhat like Alpha Centauri's social policies. A list of different social effects that each building radiates to their surrounding environment that then apply modifiers to those building's performance.

Current list I'm looking at is (with advantages / disadvantages of each)
Economy // Economic output / success of citizens / negatives for pollution output / ecology / crime / health
Efficiency // Cost of social services / resistance to providing social services
Support // Amount of services needed (social support) / resistance to welfare
Culture // Tourism / desirability / social polices / land prices / immigrants
Morale // Happiness / town pride / stagnation / xenophobia
Social Order // Crime / lawfulness / riots / lawyers / court system / jail population (cost) / frozen society / no chaos
Spirituality // Mental health / stress / sense / awareness / xenophobia / theocracy / ghosts / spectres
Growth // Population / job growth / possible food / plant growth / family issues / uncontrolled breeding
Health // Disease and lifespan / healthcare costs / ever increasing healthcare demands
Ecology // Pollution output, severe weather, natural disasters / happiness issues with pollution control
Industry // Industrial or production output / health and pollution issues
Research // Social policies, education, literacy / elitism / lack of entry level jobs / ivory tower syndrome

Math wise, the thought is to apply a logarithmic progression to the benefits to help limit enormous number effects. A +1 or +2 might be 10-20% change, yet +8 would only be a 40% change, and +16 might be 50%. Numbers are still the subject of modifying, yet that's the basic idea. Similarly, negatives would apply a negative modifier (to advantages and disadvantages of a category)

Taking a University as an example, its effect areas might be:
Culture +
SocialOrder -
Research ++

The idea with the advantages and disadvantages is to make it so that there is not a "correct" choice in terms of social policies, simply choices. A classic example might be social order vs chaos. Social order is often desirable, as a reduction in crime, lawfulness, and riots results. However, too much and it can lead to stagnation, drone like behavior, and lack of creative output - machine like compliance.

Morale or happiness tends to also fall into this category, as happiness is often viewed as desirable, yet too much and it can fall into nationalism and xenophobia.

Continuing the above University example Culture might lead to tourism and desirability, yet cause issues with immigrants and land prices. Research might lead to education and better paying jobs, yet result in elitism and ivory tower issues.

The thought is that buildings will then apply these affects to their surrounding area, so if you built a University and a Stadium, and they both have a reduction in Social Order, then you'd have creative output, yet probably also deal with crime and hooliganism.

One of the main challenges now is figuring out what reasonable numbers for buildings are and what an acceptable average amount is. In addition, as buildings "level up" what kinds of changes happen. Initial thoughts are that buildings expand their territorial influence by "buying" nearby territory to add to their zone and that they also slowing increase their statistical influence on those regions.

The statistical influence change is currently one of the most challenging issues, as I'd like to have two Universities built in different areas develop differently. Building near a Stadium, its one kind of University, build near a Military Base, its a different kind of University. Possibly allow something like RPGs where the building preferential spends its advancement points based on its prior development and the influence of its nearby environment. Build near lots of parks, and a University might move toward Ecology, build near a Stock Market and it might move toward Economy.

A few like Shrines, I'm also thinking of making very adaptable, or heavily influenced by what they're built near. Build a Shrine near a forest, and it might be a very Ecology based Shrine, build a Shrine near a Police station and it might be a very Social Order based Shrine.

How ya doing, buddy?
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Dec 19, 2021, 02:45 PM Local time: Dec 19, 2021, 02:45 PM #7 of 35
Spent the last few days looking at buildings and possible interactions with nearby buildings or with the entire city those buildings inhabit. Turned into a rather complicated issue (enormous rabbit hole of complexity), so now just trying to figure out a reasonable approximation that will work for a game.

As an example, attempting to find out whether certain building types or structures have effects on population growth rates or on the health of the population.

Below is a comparison of US fertility rates over the last decade compared with humans interest in "eco friendly" ideas. Appears there is some relationship between the two concepts, yet its difficult to determine whether its correlation or causation related. Original idea was that environmental cleanliness or environmental health might have an effect on population growth rates.


A second example is the relationship between median household income and the health of the population. Rather strongly correlated, and seems there may be some causation style effect. More money allowing for more capability to purchase "healthy" styles of living or products and an increased interest in those activities because of the desire to preserve the wealth someone has.


Another interesting bit has been looking at how buildings are distributed throughout cities and the effect is has on those cities.

For a comparison, here are images of Los Angeles and Houston showing how Amphitheaters and Theaters are arranged in those cities. Los Angeles has a widely distributed pattern of Amphitheaters almost everywhere, with a fairly even spacing between the Amphitheaters, and the Performing Arts Theaters are also similarly distributed. This may have an effect on how Los Angeles seems to have a larger "voice" than many similarly sized towns in America.

Houston on the other hand collects most of the Amphitheaters and Performing Arts Theaters into a small subset of regions. The idea of "Theater" is more of a tourism or entertainment "destination" within the city. I'm interested in Theater so I'll go to a certain area. In Los Angeles its more of the "fabric" of the town itself.


FELIPE NO
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Dec 19, 2021, 07:53 PM Local time: Dec 19, 2021, 07:53 PM #8 of 35
Further looking at the building idea today and how buildings might apply their effects, investigated using simplified waves as a method for spreading out the building bonuses or negatives over an area. Below are four examples of how those types of application patterns might look.

In the upper left, a single source application pattern that oscillates between positive and negative bonuses and decays down to zero bonus at some distance.

In the upper right, a dipole (or two source) application pattern where the two sources are constructively adding so they produce a directional effect and a null zone in the centerline.

In the lower left, a dipole pattern where the two sources are negating each other (or opposite) so they negate in the center, yet otherwise produce oscillating, opposite effects similar to the single source, just with different +/- sign.

In the lower right, a similar dipole pattern, except where the magnitudes are different, so it produces a slanted pattern, or unequal application on either side of the central building area.



Each building would then contribute these kinds of patterns to the overall town, adding each effect over an area, and then summing the effects. In some cases I'm thinking that certain types like parks might act as a unified group so that they apply an effect radiating away from their edges with a magnitude based on the combined contributions, while other buildings might only operate individually, and then some buildings might change their patterns or bonuses depending on the region they're placed in.

What, you don't want my bikini-clad body?
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Dec 26, 2021, 01:57 AM Local time: Dec 26, 2021, 01:57 AM #9 of 35
Last couple of days been completing the background work necessary to support special buildings influencing the standard Simcity style zoning areas (residential, commercial, industrial) and the governmental zones that I've added.

One personally interesting idea I ran into recently was the effect of Seaports and Airports on the surrounding areas of the towns and how they're often viewed in Simcity. Usually, they tend have a purely Industrial type of function, and get demanded mostly when Industrial areas reach a certain capacity. However, in looking at maps it seems like there are actually distinct varieties that exist based on either the region that those buildings are built near or the character of the town itself.

As an example, San Diego actually appears to possess multiple types, as shown below:


Per the labels, there is a residential, commercial, industrial, and government (military) port that each display a different character, form, attached ships, and surrounding buildings. In the residential example, the nearby yacht port appears to slightly elevate the land value or wealth of the nearby houses. In the commercial port, because of cruise ship docking the skyscrapers near the port appear to have been developed to a greater extent than some of the nearby town. In the industrial port, the area is mostly warehouses and cargo loading machinery. Finally, in the military port, there are attached structures for various military groups.

The rest of the work has been mostly focused on trying to define how far each of the buildings effects extend into their surrounding areas, how those buildings actually affect the areas per the characteristics I previously noted, and how those characteristics will change over time based on interactions with the town or the surrounding buildings. A few like Universities and Military Bases are especially challenging because they tend to grow like amoebas through the community, slowly buying up or possessing land and then converting those areas into part of the larger institution. The "feel" of those also tends to be heavily based on what gets added. A Military Base with a Seaport and and Airport might be a Joint Forces Base, while a base primarily with commercial and government offices might instead be a Cyber Command or an Infantry division.

Others that have been challenging is trying to detect how buildings actually affect ideas in their local area. How to detect that a building is actually affecting the Ecology of the area or that a building is affecting the Spirituality of the residents. One method has involved ideas like looking at maps similar to the below map of faith in America and then attempting to correlate regions based on building type concentrations. Trying to find out why an island of spirituality might appear in Los Angeles, yet not appear in areas like Oregon or Washington. Is it related to the concentration or distribution of Churches, Monasteries, Cathedrals, or other religious structures?


Another that I've also found personally interesting has been the effect of some less used structures in America (or at least I perceive them as being less used), namely Monasteries and Circuses. Circuses for example, have actually been quite successful in areas like Russia, yet seem to show very little acceptance in America, or even most of Europe. In Europe, where they exist, they're often simply a field that occasionally has a Circus spring up for a limited time, like a traveling carnival. In Russia, however, there are several well established Circuses with permanent locations (like shown below) that appear to have significantly affected structures like the Universities that surround them.


Monasteries are strange from my perspective because while they often want to isolate themselves and tend to exist far away from established towns, when they do exist near a community, often they actually spawn increased development near the monastery and buildings of either greater density or larger types. An example from Switzerland is shown below:


Jam it back in, in the dark.
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Dec 28, 2021, 10:12 PM Local time: Dec 28, 2021, 10:12 PM #10 of 35
Finished a first attempt at adding building social effects and influence to their surrounding areas. Using the wave style example I discussed earlier and then adding in viewing displays for each of the various types of social effects. Below is shown an example of three of the social effects (industry, spirituality, and growth) relative to a normal view of the city.


In the upper part of the image a nuclear reactor can be seen to have a wide ranging effect on the city in both the industry and spirituality views, rippling outward as a ( positive industry, negative spirituality ) wave nearby and then a shallower ( negative industry, positive spirituality ) region at a larger radius.

Where it overlaps with other buildings the effects either adds or cancels out depending on the amplitude and phase of the interaction. This is especially clear in the last (growth) image where several buildings with positive effects can be seen to be overlapping in the central portion of the view producing a greater effect between them. In the central spirituality image, the lower portion of the reactors wave is also entirely cancelled out by the effect of the nearby church.

Most numbers represent initial guesses at magnitudes, simply to have numbers to test for interactions. Yet, the next step is to begin adjusting numerical values for each of the 12 effects. Afterward, some time also needs to be spent speeding up the calculation and rendering of the effects, as building placement is noticeably slowed. Third, I will need figure out how the buildings actually advance these properties as the buildings themselves change or develop.

I have wave amplitude, bias, and wavelength as possible alternatives over all of the 12 social effects. If a church in a local area becomes popular then does the church radiate a larger amplitude wave, increase the average effect it has over the area, or extend the range of its effect?

Finally, I will need to look at how these effects actually change the properties of the buildings around them. Previously I posted a list of the effects and what I envision them influencing in the city. However, actual numbers for each building still need to be determined. Some like growth and the rate of either Births / Deaths or Job Placement are relatively straightforward, yet others like Industry may have more complicated interactions.

A few like Efficiency and Support I have also been trying to clarify for myself and their difference. Currently, Efficiency seems like it has a major effect on the cost of social services, yet may also move a town towards feeling more "machine-like". Support seems more like the amount of those services that are actually required by the community and how resistant the community is to funding government at all. Smaller government as a positive idea, yet smaller safety net when things go wrong.

// Efficiency - Cost of social services / less chaotic / proficient / professional / machine-like / resistance to providing social services
// Support - Amount of services needed (social support) / less subsidies / government for less money / resistance to welfare / smaller safety net

Eventually, I would also like to implement some form of "character" or "feeling" for the town, such as "This is a spiritually industrious town" along with the ability to have town wide Social Policies that also change either Global values or change specific buildings behavior.

There's nowhere I can't reach.
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Jan 12, 2022, 03:06 PM Local time: Jan 12, 2022, 03:06 PM #11 of 35
Over the last week or so I've been working on doing game performance testing and profiling since I found that once I reached a certain threshold of building placement I was beginning to experience significant slowdown in rendering and object movement. Very obvious calculation lag. To address the issue I looked over some profiling code examples and then wrote my own to address my game's specific issues.

The concept itself is relatively simple, just a singleton class that calls static methods within other methods so that it can record their progress.

// GameProfiler.start( "SimcityView_gameUpdateTask" );
// GameProfiler.stop( "SimcityView_gameUpdateTask" );

Then when the program closes or pauses a simple:

// GameProfiler.printCSVFile();

To follow the progress of each of the methods it records:

start Time
stop Time
total Time
minimum Time
maximum Time
average Time
call Count
current Number of Buildings
times For the Current Building Count (List)
average Time By Building Count (Time / Building Count List)
call Count By Building Count (Calls / Building Count List)

Once they're printed out as CSV data files, then they can fairly easily be loaded into a program like Excel for viewing. Example of Average Time Spent on Each Method below:



Couple things that were very noticeable and needed addressing were the erratic behavior of updates and the updatelist itself and also the extremely rapid growth in complexity of calculations for population change.

Looking at them other ways to see what the issues might be, also then calculated properties like Number of Calls / GameUpdate since GameUpdates were such an issue and there might be specific functions / methods that were causing the constriction:



Finally, also explored looking at the total Time Spent on Each Method / GameUpdate to check whether low Call volume methods might still be computationally expensive. This is a rather simplified set of charts for example purposes, yet at times was plotting 20 or 30 different methods to check for specific behavior issues. Initially, replacing textures or portions of textures was actually one of the worst offenders and had to be addressed immediately. Without fixing that function it was challenging to move beyond 100 buildings without hitting immediate slowdown. Still rather impressed a SNES could ever run Simcity calculations.



This thing is sticky, and I don't like it. I don't appreciate it.
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Jan 15, 2022, 06:10 PM Local time: Jan 15, 2022, 06:10 PM #12 of 35
One issue I've been dealing with lately is the length of time it takes to place any kind of connection properly on maps (roads, rails, electrical lines, water lines). Prior to recent developments, each individual segment had to be placed separately, which meant a lot of swiping back and forth for tiny tiles from menu to menu.

As of today, I have implemented bulk placement of tile regions using multi-touch gesture methods. Turns out it's rather difficult to test and debug on the phone emulator, as the multi-touch testing is really bug prone. However, with a bit of work I have managed to change all building placement to a method where either single or multiple tiles can be placed. For multiple tiles, a line is drawn between the fingers and then all of the buildings are placed simultaneously.

This was perhaps the greatest challenge, as prior work had been based on the idea that each building was already completely finalized prior to the next building appearing. With the current change, run into a lot of concurrent access types of issues, or multi-threading issues.

Both buildings want the same type of information, except each building has yet to actually modify the source of the information properly, and in some cases, rendering also tries to happen between the placement process.

First major hurdle was dealing with Android multi-touch methods, that I personally find clunky. At least on an emulator, they do not appear to trigger correctly, and each finger has a completely different action that gets called when they're raised or lowered. Means you have to check for a bunch of weird cases that are all really similar, and often repetitive.

Place first finger, place second finger, move to location, raise first finger, except for some reason first finger now counts as second finger and then first finger counts as never triggering, even when you stop touching the screen. Bleh.

Eventually got past that, then dealt with concurrent access rendering. Want to render effect of multiple contact points, except rendering and touch actions don't guarantee waiting for each other, so touch actions can modify variable while you're trying to render.

Got past that issue, and then find that multiple buildings being placed have "almost" the same issue. Each building needs the game state, except each building being placed in a group means they're all checking the state simultaneously, so it's challenging to guarantee the state will be correct before the next building checks.

You try to build a housing division, except each house in the housing division has no idea it has any neighbors nearby. Try to build a roadway segment, and the segment has no idea its part of a larger highway system. Just a segment in the middle of nowhere.

However, have finally dealt with those issues, and now have functional bulk placement of long roadways, rail lines, electrical lines, and water lines that respect terrain types and nearby buildings. Examples shown below. Left, buildings just prior to placement. Right, buildings after placement. Electrical lines cross through a road, properly link to the left side buildings, cross over the river appropriately, link to buildings on the right side, and then cross over a rail line appropriately.



Most amazing jew boots
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Jan 23, 2022, 08:22 PM Local time: Jan 23, 2022, 08:22 PM #13 of 35
The next update I've been working on is getting finances operational for the town. Implemented a basic idea for taxation and average wages fairly easily, yet after that its then turned into quite a bit of work figuring out how much a town actually pays for a lot of its social services.

To try and get a handle on this information I looked at a list of some of the larger towns in the US and then compiled statistics for the Police, Fire, and Educational departments to get a feeling for how much each of those services actually cost as of 2022 (when info is available).

The first I looked at was Police services. Basic data on the services and the different types of events they have to respond to are included below.



Next, is a summary of the costs associated with those services broken down by a variety of criteria.



In what will be a general theme for a lot of this, one surprising note was how disproportionate New York is compared to every other town. Enormous disparity in budget, and bureaucracy and apparently very different behavior in terms of crime. Notably, New York does appear to be getting its money's worth, as crime is dramatically lower.

Other things of note were the enormous disparity in call volume to actual crime in cities. In Seattle, people call 100 times for every actual crime that gets recorded. Either Seattle citizens are really needy or else Seattle does not appear to be prosecuting almost anything.

Next up are Fire statistics, basic service and calls shown below:



Afterward the same type of cost summary for the services:



One surprising part for me personally with the Fire data was how few calls are actually "fires" in many cities. The average EMS/Fire ratio in most cities was 12.5 with 14.6 variation. New York yet again being an extreme example it was 50:1. Most of being a Fire fighter ends up being responding to heart attacks and home accidents.

Other bit that was interesting was the huge range in Overhead and value for the money that some cities were getting. Some cities are paying as much as 500% overhead per fire fighter and others only 50%, yet not a dramatic improvement in Calls/Employee between them.

Finally, also looked at Education statistics, with the basic statistics shown below:



Afterward the same cost summary for Education:



Despite the variation in school districts and coverage areas there was actually much less variation in the Educational statistics. Most standard deviations were only 1/3 of the average. Notably, Education statistics are really difficult to find, and in many cases I had to use data with limited references cited or in some cases simply had to guess based on other average ratios. Finding out how many non-teacher support staff work in a school district was particularly difficult.

Student/Teacher ratios were notably consistent though at ~16 / Teacher.

One part that was surprising was the financial side of Education as the overhead seems rather extreme given the average pay that's cited for Teachers. If you count all support staff as Overhead relative to Teachers who are actually in the classroom, then the Overhead is average 400%, way above Fire and Police. If you count all the employees, then its much more reasonable at ~100%.

I was also a little surprised at how consistent the number of students per school is nationwide. ~5000 pretty much everywhere.

Next up need to figure out how to turn those into actual budget items for a town that are somewhat accurately handled. Education in particular is an issue as a lot of city budgets are only partially city funded and then get a lot from either Federal or State support.

I was speaking idiomatically.
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Feb 4, 2022, 04:37 PM Local time: Feb 4, 2022, 04:37 PM #14 of 35
For the next round of updates I've been working on several topics.

First was implementing the changes for support services based on the information I showed in the last post. That wasn't especially difficult and mostly just required updating some of the files used for data reference in the game. Tweaking numbers here or there to be slightly more realistic.

Second, was collecting economic statistics and beginning to put together something approximating a town budget with tax rates and upkeep costs for the various buildings or departments. Discussed this in the prior post, yet having a budget that is close to balanced for the town became quite a challenge, and especially during the early phase of town building can be quite challenging not to go heavily negative, even without loans or interest payments on debts.

This led to a third issue where several buildings were hiring employees much too quickly, leading to enormous upkeeps for small towns that could not afford them. Eventually tracking the issue down to the minimum number of employees for many buildings being enormous compared to when they could be built. Hiring 9 school teachers in a town of only 10 people.

After this, I moved on to what has been some of the most substantial work, as I tried to develop status displays that could show all this information in a clear way with time dependent updates.

The first step was moving some of the status displays to a less obstructed location. Ended up selecting the lower right since the information displays are not used nearly as often as the building menu. Example of then new arrangement shown below (also been experimenting with different phone types to make sure the menus work with different screen sizes / form factors):



Afterward, then needed to implement variable time rates for the game so that players could slow things down to make critical choices or speed up the game to progress through relatively dull regions where the town was simply progressing normally. Example of how the time rates can vary:



Next, needed to create status displays for each of the main categories so that a player could click on the icon and see a summary of the town's behavior that would update in real time with the game's progress. Shown are examples of the various town status displays as they currently exist (may change in the future):



Further, this also prompted an interest in having status displays for buildings so that I could look at what the buildings themselves were doing. This offered several opportunities, as I have been wanting a way to very clearly follow and verify that services are being provided to buildings. This also then led to a natural point for adding businesses and employers to buildings. Over several days, came up with a simplistic naming algorithm for businesses related to the type of business, and then also evaluated what industries a certain building might be involved with.

Currently have 53 different industries that a building might be associated with. Most of the industries have been taken from popular magazine style classifications or from some of the stock market classifications of businesses. I've then made a few of my own person modifications. Industries fall into areas like: Accommodations, Business Services, Marine Products, Food Production, Land Transport Manufacturing, Product Repair, Air Transport, Retail Trade, Wholesale Trade, Banking, Insurance, Legal, Religious, Health Services, Energy Utilities, Security, and Defense as examples.

The business then have randomly generated names, so a Mining company operating out of a Mineral Mine building might end up being "ProspaDelve" or "MinaMine" while a Food Production company operating out of a farm might end up being "GrowyVeg" or "FlouriSpring".

Buildings then start with an initial business and as the buildings advance they add additional business with job density. A large scale skyscraper might have as many as 5 different businesses with upwards of 2000 employees across all the different businesses. I also try to mark government businesses with "Pub,Loc", "Pub,St", or "Pub,Fed" and give them a name, although those are sometimes a little strange, since City Hall might end up being "ProclaTalk,Pub,Loc" or a Military Base might be staffed by the "ActionSquad,Pub,Fed".

I've tried not to be too serious with the names, except in areas where it seems like people tend to get really emotionally involved. Research Laboratories might have "BrainyTribe,Pvt" and some Medical businesses end up with things like "GoreCarver,Pvt". Obviously the Military titles have a somewhat GI Joe feel while places like a Amusement parks end up with names like "HappyRealm,Pvt".

I also tried to sort out the buildings and industries based on whether they would be a primary, secondary, conditional (must have business already in town), or preferential (much higher chance if business already in town). A slice through the list showing how these are specified is included below.

Code:
			Food Retail	Forestry	Chemicals	Biotech		Petroleum
Farm			s		s				s	
Material Storage					p				p
Logging Camp				x				s	
Mineral Mine						s				x
Government 0		p		p		c		p
Finally, shown below are some examples of the various buildings and the businesses that have formed in them. A School has "LiteraClass" 'Education Primary', a Farm has "SwelloVate" 'Food Production', a small Industrial has "AthleSport" 'Recreation Products', a Government building has "NutruPline" 'Education Primary', and a slightly larger Commercial has two businesses "SuperBrosia" 'Food Retail' and "ChangeTure" 'Business Services':



How ya doing, buddy?
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Feb 7, 2022, 04:36 PM Local time: Feb 7, 2022, 04:36 PM #15 of 35
Next topic, expansions, and planning for extensibility. Getting closer to a release candidate, yet want to have the possibility for future expansions to add game play features that I don't have the time for / or don't want to include in the initial release.

Side note, if there are people interested in testing that have an Android phone, looking for people to test Alpha / Beta copies. Mostly, is it fun and does it work on your hardware?

Looking over what's available for Android, the current best option I've found for expansions appears to be a multi-prong effort using two different features.

Android for its basic expansion methods only has very limited support. Appears to have the phone mindset of only having a single App that's rather disconnected / isolated.

Android does offer the possibility for expansions, except there is only a major expansion file and a patch file, and expansions can only be linear in nature using the basic method. Release 1, release 2, release 3, ect... This from: APK Expansion Files

Therefore, no multi-part expansions or optional expansions. I'd prefer to have something like the Sims games or Civilization, where you can buy a feature pack or similar idea that adds gameplay ideas, yet you don't need to buy every previous feature pack to use the next upgrade.

However, there is also the option for Multiple APK support. The idea with multiple APK support is you have several Apps and the Apps share features among each other. I have not seen many examples of this style used on the actual Google Play Store. Yet, I believe the way this could work is:
  • Have a basic release
  • Have a very minimal skeleton for expansion files
  • Add a small patch whenever a new "feature pack" is available
  • Pay for the patch, and it enables cooperation with the next APK
  • Player downloads the next APK that has the functionality
  • If the player downloads the next APK without the base release, then suggest the free base release.

Also want to try something like the "freemium" or "try before you buy" model, where players can download the game and play as much as they want, just not save / load their cities. Then the save / load functionality would be the first "expansion".

Other expansions I'm considering, yet don't want to include in the base release currently are:
  • Zoom Out - Play State level, possibly Federal
  • Zoom In - Walk around as a citizen in your city.
  • Citizens - Much greater depth of citizen tracking. Attributes, classes, advantages, disadvantages, body types, ethnic groups, skills, possibly equipment / inventory, and then the resulting town complexity issues that develop because of differing citizen types (ex: Black Lives Matter in 2021)
  • Culture - Have culture production that creates art, unlocks cultural choices for the town, and perhaps a wider range of cultural buildings or building specializations, plus celebrities and fame related to culture production. Current thought is something like the Civilization "civics" tech trees.
  • Research - Having tech points that accumulate, having Sim / Business tech or research specialties, having town contributions to famous technologies like the Civilization tech tree "Your town made a contribution to Agriculture tech", having famous people. Possibly also with future tech in the vein of games like Alpha Centauri or Beyond Earth.
  • Business - Having a much greater diversity and complexity of businesses, with many of the traditional stock market valuations for business performance and a much greater complexity economic model, as well as trade relations.
  • Nature - Having ecology, and eco-tourism, and diversity of agricultural outputs (like differing farm field crops), having different terrain types with varying effects, and having natural areas that change based on effects like logging or naturalism (town starts a tree planting civic and the nearby forest increase in size) Having uncommon or rare natural resources (ex: spices) and varying flora and fauna species native to the area.
  • Religion - Having varying religions with something approximating the complexity of Earth's religious complexity, varying views about correct behavior, theocracy options for governments, faith based tourism, and citizen level social effects for faith, church attendance, religious diversity.
  • Mining / Subterranean - Having natural resources in the subterranean layer that need to be discovered with surveys and can then be mined for common, uncommon, and rare resources, along with industries that form related to those. Possibly also underground caverns and an expansion in subterranean building choices.
  • Military - Implementing the military base effect, where military bases tend to significantly affect the surrounding area and local economy. Military changes to airports, seaports, and research laboratories nearby influenced by the effect of the defense spending economy.
  • Military 2 - Having a strategy game that can be played using the city you design as a starting point. This would probably require the Zoom In feature pack to be functional first. Might offer as a bulk download in that situation that overwrites an existing Zoom In expansion, or carries the Zoom In expansion with it on download.
  • Wonders - Having local, state, federal or world wonders as possibilities for town construction with the ensuing benefits for town tourism and fame and increased cost and complexity for construction.
  • Traffic - Still need to do some work on traffic before release, yet having differing car types, times of travel, commuting behavior, major town interest spot traffic behavior (dropping children off for school), carpooling, better bus service, greater complexity of border and highway traffic, shipping improvements, and airlines.

Additional Spam:
Secondary topic for today, building sub-aquatic structures and then building over the top of them without causing gamebugs.

Been having some issues with buildings on different game layers then having no tiles on the layer being affected, yet still interacting without crashing or throwing an obvious error, and instead producing strange results.

Fixed those issues today and can now building sub-aquatic structures and then building something like the electrical network shown below over the top of them.


After that, also got to work on structures that exist across both layers, such as Seaports and Aquariums, so that they would be appropriately represented on both layers in terms of what is drawn on those layers and the way that the building number is tracked. Aquariums have been particularly difficult because they require being placed across both map layers, and also being placeable on land, on water, or across a shoreline of land/water.

Shown below is how the buildings now work with a shoreline pier that is placed in the water below them and prohibits sub-aquatic buildings from being placed underneath them. The buildings themselves also properly check for sub-aquatic buildings prior to being placed to make sure they're valid. The building number is also properly shown only in the areas where its valid to check for the building number (prohibiting further development, such as the case with the aquarium that's built partially on the water, partially on land near the center of the upper-left image).

One possible further issue might be the electrical lines still registering on the building number of the underwater region, however, the electrical lines are supposed to act across both layers, just not prohibit development. IE, a further building should be allowed to be constructed underneath the electrical line while receiving power from them. This is partially to deal with limited tile availability and not having subterranean / sub-aquatic electrical lines. A similar issue as how water and sewer lines are handled.

Multiple layers of development has unfortunately added a lot of feature creep issues and further complexity.

FELIPE NO

Last edited by Araes; Feb 7, 2022 at 05:56 PM. Reason: This member got a little too post happy.
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Feb 9, 2022, 06:20 PM Local time: Feb 9, 2022, 06:20 PM #16 of 35
Today's topic is splash page images and moving towards an initial release candidate so I can get feedback, and see if there's even enough interest on the store to be bothered with continuing development. Not much use is spending numerous further months fixing issues or adding features if people don't find the basic idea very interesting.

On splash images, considering the below for a splash page image:


Seems like it could work in both phone orientations and be fairly pretty in the width > height orientation.

Google's process for release is apparently really buggy as I still cannot get the key store or signiatures to work properly. So fighting with that issue at the moment.

Also working how to clump or group buildings together in cases where the individual buildings are not especially important (electrical line), where it would be strange to have businesses and jobs associated with every single segment of a larger piece (roads and rails), or where the single tiles very naturally form larger groups and often get grouped together in town finances (parks and rec).

Currently thinking of turning them all into the single equivalent building that then just lumps their properties together, tracks all their neighbors for the entire group, and keeps a list of the individual tile buildings in-case the player wants to get rid of a portion.

What, you don't want my bikini-clad body?
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Feb 10, 2022, 02:34 PM Local time: Feb 10, 2022, 02:34 PM #17 of 35
In the same topic as splash pages, game icons for the phone. Below are my attempts at creating the scenery around Notre Dame Cathedral in Paris using the art assets from my game. Shown are the 5 normal game icon sizes (48x48, 72x72, 96x96, 144x144, and 192x192 included with Android)



Jam it back in, in the dark.
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Mar 6, 2022, 01:37 PM Local time: Mar 6, 2022, 01:37 PM #18 of 35
The last while has involved moving towards release, and that meant tackling billing.

To be blunt, Google Play's billing is a massive headache.

After a lot of work trying to delve through Google's sparse documentation on the billing library's use, and constantly wondering why Google does not simply provide all of this functionality (every single developer has to write their own interpretation of what's "supposed" to happen when somebody processes an order), eventually managed to get a working implementation that can:
  • Talk to Google's servers
  • Receive lists of products I've created for the game
  • Receive lists of purchases for an individual account
  • Select objects for purchase and display their attributes
  • Complete the purchasing process flow
  • Acknowledge the purchase entitlement back to Google
  • And support InApp, multi-quantity-InApp, and Subscriptions

I cannot reiterate enough how much of a mess this feels like, how disorganized the Google Play store's developer interaction feels, and how much of a clusterfuck in general trying to sell anything on the Play Store as a small developer feels like.

To figure out how to write billing, your main options are StackOverflow answers, a short tutorial on Google's site that is full of stub code and (insert your approach here) and a Github repository full of (TODO: Implement this later). The main impression I get from all of this is "Google does not want me to sell anything, only wants to torture me, or possible hates me personally."

Below are some imagery of the functionality of the parts I have gotten working:



In a bit I'll see about uploading an example for the billing code so if anybody else ever wants to deal with this junk they'll at least have a somewhat functioning example.

Other bits lately, have been publishing releases to the developer store to test interaction on real devices and up to my 10th internal release. If there's any interest drop me a contact and I can add you as an internal tester. Only caveat is that while "Save/Load games" exists as a purchase option, it still has no functionality since saving and loading an entire city worth of buildings and citizens is turning into a bit of a challenge. Trying to store info about every citizen like the "Sims" games, yet that means storage space efficiency needs to be thought about. Current list of "Sims" stats I'm considering is:

Name:
  • FirstName
  • LastName

Personal Description:
  • Gender
  • Height
  • Weight
  • Ethnicity
  • Education
  • Eyes
  • Hair
  • Face
  • Wealth
  • Clothing
  • Zodiac
  • Card
  • VirtueVice
  • Wild
  • Color

Roleplaying Style Descriptors:
  • Class
  • Level

Stats or Attributes:
  • Str - Physical Strength
  • Dex - Physical Dexterity
  • Con - Physical Toughness
  • Int - Mental Intelligence, Power or Strength
  • Acu - Mental Acuity, Quickness or Dexterity
  • Wis - Mental Wisdom, Toughness, or Resolve
  • Cha - Social Presence or Strength
  • Tct - Social Tact or Dexterity
  • Sta - Social Stamina or Toughness

Skills:
  • Gymnastics
  • Martial Arts
  • Biological
  • Chemical
  • Mechanical
  • Electrical
  • Financial
  • Artistry
  • Pilot
  • Medicine
  • Fauna
  • Flora
  • Act
  • Diplomacy
  • Coordinate
  • Teach
  • Stealth
  • Trickery
  • Search
  • Perceive
  • Navigate
  • Survival
  • Food
  • Read/Write
  • Languages

For the skills I'm trying to limit myself only to skills I could reasonably see ever checking or testing on during the day-to-day existence of a normal "Sim". The intent with skills is that they use rather vague names that can be broadly interpreted and that checks on skills can be made with multiple different statistical attributes.

Example: You might Physically Navigate an area, Mentally Navigate puzzle or maze, or Socially Navigate a difficult situation.

Additional Spam:
Examples of citizen storage:

1 citizen:


4 citizens:


16 citizens:


64 citizens:


256 citizens:


1024 citizens:


4096 citizens:


16384 citizens:


Based on these with a max storage of 1024x1024 without doing anything fancy for compression, can store a million citizens in about 19 MB

There's nowhere I can't reach.

Last edited by Araes; Mar 6, 2022 at 02:03 PM. Reason: This member got a little too post happy.
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Mar 15, 2022, 11:59 AM Local time: Mar 15, 2022, 11:59 AM #19 of 35
Have moved the game I'm working on to Open Testing on Google Play. Took a few days to get through the review process, and had to release a couple further versions to deal with minor issues. However, now have a testable release that's visible on the site.

If anyone's interested in testing a Simcity style simulation game, can be found at:

Personally recommend the Google Play link as it leads directly to the Application web page where you can look at pictures and brief intro video.

Like the page says, currently have "Save/Load" disabled and no purchases, since I'm just trying to get gameplay feedback.

How ya doing, buddy?
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Apr 1, 2022, 03:40 PM Local time: Apr 1, 2022, 03:40 PM #20 of 35
Citimaton game has now moved to production and is available for download if folks would like to try it. No cost, just cost if you want to save your games.

https://play.google.com/store/apps/d...ames.Citimaton

Next up, moving on to my next project, that I hope will be a little bit quicker to develop.

This time, trying a fashion editor using Google's ML Kit

ML Kit: https://developers.google.com/ml-kit
ML Kit: Face Detection: https://developers.google.com/ml-kit...face-detection

Basic functionality I want is mostly there to begin with. Demos come with a starter app that can detect, label, and draw facial features.

Below is an example of labeling an image:


The thought is then to have something like Diabo character editors where you can take a picture and then try out other accessories and styles.

Example of what I'm considering below.


I am a dolphin, do you want me on your body?
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old May 19, 2022, 08:45 PM Local time: May 19, 2022, 08:45 PM #21 of 35
Post noting that completed the prior project I listed and now have it live on Google Play. Ended up being rather similar to what I was hoping for. Most of the time and development ended up being fighting with Android Studio and the interface development. Figuring out how to accurately place some of the accessories was also quite a challenge.

Can be found at:
Selfie Fashion


Currently in Open Testing

Below are some screenshots showing how the interface works. Part I personally like the most is you can grab almost any advertising image for a product off the web and rather quickly turn it into a wearable. In the first below image I've simply saved an image of a Gucci hat and the model is wearing it a few moments later. Can reasonably accurately handle images of hats, necklaces, earrings, glasses, eyebrow piercings, some nose rings (rather difficult), skin tattoos, and a little bit of mouth piercings (although not nearly as smoothly)



The other part I personally found interesting from a coding perspective was doing skin and lip replacement. Being able to accurately identify skin color regions on individuals ended up being a significant challenge that effectively amounted to a minor graduate project. Basically, I took 10 model images of people with varying nationalities, sampled various skin regions to get a representative skin tone for each nationality, and then built convex polygon sampling regions to test for with RGB image tests. The basic idea is that anywhere within the polygons should be a good match for a possible skin tone. Has some issues with people standing near very skin colored backgrounds, yet otherwise works quite well. Images of the math part below:


This then results in the ability to do tricks such as shown in the below pictures:


Finally, simply because its apparently a marketing thing for selfie camera apps, also added in stickers, icons, emoji, and anime symbols shown below:


If there's any interest shown in the app, I may do background replacements, selfie segmentation, and a significant expansion on the prebuilt fashion items and symbols available

I was speaking idiomatically.

Last edited by Araes; May 19, 2022 at 08:52 PM.
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old May 22, 2022, 01:30 PM Local time: May 22, 2022, 01:30 PM #22 of 35
Continuing along with the devlog, the next project I got to work on had the goal of being much shorter. Initially, I wanted to make a program for doing Reflectance Photometry from your phone. Basic idea, flash the LED on your phone, take a picture, measure the colors, look for reflectance spikes or curve features, and identify the material or object. Links to relevant ideas below:

Photometry
Photometer
Reflectance

Example of this type of calculation is shown below for different types of metallic mirrors.


Turns out though, that this is a rather complicated issue, as almost all work has instead been done for adsorption and emission spectra, and very little public work is available for reflectance spectra. If you look at the emission / adsorption spectra for aluminum, they're actually quite different than the reflectance. So that means I'd be delving into a PhD project to try and build a phone app. Seemed like a poor use of my time.

However, I'd already gotten quite far on the idea, when I discovered the issue, so instead I just changed the app into a multi-purpose light manipulator, with a focus on timing.

App can be found here if anybody has an interest in trying.
Flashlight Metronome

Features:
  • On/Off flashlight for simple daily use.
  • Metronome functions for timing work (manually settable specific rates)
  • Timed pulses of flashes, sound, vibrations or simultaneous combinations.
    • 6000 BPM to 6 BPM (or less with manual setting)
    • 100 Hz to 0.1 Hz
  • Doppler strobes with adjustable delay and phase amplitude.
  • Morse code pulses in ITU standard (A-Z, 0-9) with variable speed.
  • Random pulse modes with variable speed using:
  • No Ads

The beta and gaussian distribution links might be a bit of a deep dive, yet the basic idea is that based on the settings you input, the program generates flashes, sounds, or vibrations with some random character. Ex: with a = b = 0.5, you get flashes that are "only" very long or very short, almost nothing near the average. If a << b, you get very short pulses, if a >> b you get long pulses, if a & b >= 1, you get pulses very near the average (mostly gaussian looking) If a & b >> 1, you get pulses almost exactly on the average.

Ended up going with the metronome idea, because it seems like it could have benefits for certain types of practice or group situations, where a normal metronome might be deficient. Examples shown below:


What kind of toxic man-thing is happening now?

Last edited by Araes; May 22, 2022 at 01:32 PM.
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Sep 25, 2022, 07:09 PM Local time: Sep 25, 2022, 07:09 PM #23 of 35
Started working on the next Android project (dev photos below).

For this project, working on a Total War style game (large unit counts and 3D terrain). Have at least an initial concept of the terrain working, and also started in on efficient unit rendering system.

Concept is to make most of the units 2D cartoonish to help with rendering, since then there's a lot of optimizations available.

As an initial test, after getting the basic idea working, started doing stress tests to see how many might be viable on phone hardware. Was a lot more than I thought it might be.

Did equal size groups of pure instances, billboards, particles, and animated billboards.

Images below are still using tiles from my Simcity game as stand-ins.

Started at 40, figured there'd be no isssue.
10x instances, 10x billboards, 10x particles, and 10x animated billboards

Went to 400, thought probably no issue.


Went to 4000, thought possibly an issue. No issue. Smooth.


Went to 40,000, figured probably an issue. No issue. Smooth.


Went to 400,000, not sure what to expect. Almost no issue. Still smooth scroll. Can't even see the map anymore.


Went to 4,000,000 units, and finally ran into some kind of hardware issue.

Not even sure if I could update 400,000 units and / or effects without enormous network issues due to background calculations.

Still, seems like I can probably handle Total War style battles with ~5000-10000 without much issue.

FELIPE NO
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Sep 30, 2022, 03:00 PM Local time: Sep 30, 2022, 03:00 PM #24 of 35
Managed to get past the 1,000,000 instancing limit. Now have examples where individual instance groups are drawing 1,000,000 instances every frame. Really laggy on an emulator, yet at least technically feasible.

Notably, although not visible in the image, also now incorporates movement, so all 1,000,000 instances are also moving. Example below showing three different groups of 1,000,000 and a 100,000 animated (think I'll be able to eventually get 1,000,000 animated) running simultaneously.



What, you don't want my bikini-clad body?
Araes
Plush


Member 11574

Level 19.87

Aug 2006


Reply With Quote
Old Sep 30, 2022, 06:22 PM Local time: Sep 30, 2022, 06:22 PM #25 of 35
Got movement working with 400-400,000 units. Below are some quick gifs showing the unit movement.

For now using a very simple movement calculation (old position, new position, lerp between them) just to prove to myself I could move these large numbers of sprites.

400 units moving


4000 units moving


40000 units moving


400000 units moving


Jam it back in, in the dark.
Reply

Tags
city, development, game, log, simcity, simulation


Exploding Garrmondo Weiner Interactive Swiss Army Penis > Garrmondo Network > The Creators' Cafe > Development Log for Game (In progress)

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
[Request] Request on Game Music, Sound Development,Audio Gaming etc aditya258 General Game Music Discussion 4 Dec 21, 2009 05:16 AM
Page development how-to Cal Help Desk 3 Mar 14, 2007 05:10 PM
Web Design/Development UltimaIchijouji The Creators' Cafe 57 Oct 31, 2006 11:19 PM


All times are GMT -5. The time now is 10:30 AM.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc.