|
|
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).
|
|
Thread Tools |
Weird issue. Almost too efficient. Using the method I've implemented, I'm performing a lot of the calculations on the GPU. However, with standard formats, only 8 bits of resolution are available for x, or y, or z, because its just like a color where you only have 0-255.
So if the framerate is too fast, then the amount a unit moves can easily be smaller than 1/255th. Even on emulator, regularly getting >20 fps with 400k, so the amount a unit moves is well below 1/255th / frame quite often. Faster it gets, the worse it gets. If the calculated move is < 1/255th of the vector from x0 to x1, the unit simply does not move. May have to hardware limit the movement calculations, just to ensure that the units fall within allowable moves. Also considering trying to use wider color space (10 bit, 16 bit color). Most evident in this video (notably does not actually affect the framerate, you can still scroll). Just unit movement stutters. https://youtube.com/shorts/iVkPBlvb_u8?feature=share How ya doing, buddy? |
Another update, this time on planet development. Been working on shaders and then rendering a planet for interaction. The goal is eventually to be able to move armies around the map, choose a conflict location, and then have the game generate terrain representative of the conflict location.
The first step was generating textures. Currently still using a tiling method. Found a freeware program Texturelab that seemed acceptable. Minimalistic node interface and relatively large selection of modules. (https://www.texturelab.io/) Originally started off with something complicated like this (was trying to do edge matching for a bunch of different orientations. Eventually found a texture splatting approach that was quite a bit simpler. Now only requires a small texture sheet of the basic terrains. From there, a lot of work on developing what's known as a spherical roam algorithm so that a spherical object can be viewed at different levels of detail and update correctly. Now have a planet generation system that blends between various terrain and works nicely down to about 80,000 triangles for the planet. Far Away Near By Floating Near the Surface Next up is to try and develop heat, precipitation, and biomes for some diversity in the the actual surface tilings. And make a couple improvements to reduce the "squareness" of the tilings. How ya doing, buddy? |
Finished up temperature, precipitation, and biomes.
Working example shown below: Biomes are based on this general idea of biomes with dividing lines for biome regions sketched in red. Next up is trying to get erosion to work on a spherical planet. Currently have a functional erosion shader working, except only for a single region. Example can be found over at Shadertoy at: https://www.shadertoy.com/view/mssXRB Getting the shader to operate well with multiple interconnected regions is proving...challenging. I am a dolphin, do you want me on your body? |
Finished up erosion on a spherical planet, and now have a time lapse erosion effect that creates rivers on the surface calculating once a frame.
A visual movie timelapse of the effect can be seen at: https://twitter.com/gabriel_putnam/s...g5S0pC44NWHA9g I was speaking idiomatically. |
Spent quite a while trying to figure out how to fix some of the spherical rendering issues relative to how flat normals are calculated on a round object. Eventually (partially) solved the issue by using a localized normal rotation method. Each patch figures out how it is oriented relative to the poles of the planet, and then the textures all rotate their normals so that they have a similar global alignment.
The tile rotations can be visualized by looking them as clockwise (red) or counterclockwise (green) rotations on the surface over the various patch regions. An example is shown below. Also took a bit of a break from this project (was getting burned out) and did a conversion of the NIST JAMA (NIST.gov link) linear algebra library to javascript. For those with a math bent. Also, added a bunch of least squares support routines so you can do curve fitting in up to 4D with almost arbitrary equations. The library with a bunch of starter examples you can try (in the JAMA_Test.html file) can be found at: JAMA4js (Github Link) An example of the curve fitting in 4D. What kind of toxic man-thing is happening now? |
Finally got the lighting to work correctly. Turns out it was even easier than all the complicated tile rotation and orientation ideas I calculated. Simply was dealing with normal maps in a way that mapping to a sphere did not work with. Fixed the issue, and now have nicely lit sphere with weather eroded terrain.
Now I have to actually figure out how to have a game to go with it. Still working on that part. FELIPE NO |
Test of movement with 400,000 units given individual orders. Uses opengl shader to bulk calculate locations per frame.
Thinking about a Total War++ style game, although 400k might be a bit much. So many units on screen its difficult to really keep track of what's happening on the field. Could see how many players would simply find that scale of game overwhelming rather than enjoyable. Next need formations and better terrain. Eventually, probably going to need layered type of AI decision making for choosing actions at various layers of military units. Something like US Army Unit Divisions Soldier (1) Team (4) Squad (10) Platoon (40) Company (200) Battalion (1000) Brigade (5000) Division (15000) Corps (45000) Field Army (90000) Would also eventually need to deal with vehicles and unit - vehicle interactions. Example of unit movement shown below. What, you don't want my bikini-clad body? |
Another update on admittedly slow game progress. More work on large scale unit rendering. 250,000 with 3D pos, vel, acc, looping animation targets, and conditional removal. In attached video, units have no lifetime limit. Could probably support 1,000,000 as there is no appreciable slowdown. Just can't see anything with that many particles.
Second video shows the same, except with an 8 second lifetime limit and particle removal. Next up, use as a full particle system with particle-particle interaction. Jam it back in, in the dark. |
Further work on game particle systems. This one shows three separate systems with ~250,000. Moving the equivalent of a flamethrower within a 3D cloud of star particles. Has per particle animation, animated size & alpha profiles. Also does lighting and particle reflectivity. Shown at 2x speed. Next particles as light sources and HDR style camera bloom with deferred lighting. Then probably physically based rendering.
There's nowhere I can't reach. |
Another devlog for a game I made for the Library of Congress Friends' Choice Civics Video Game Challenge. Free to play, no ads, FOSS, per LOC requirements. Feel free to try, and if you find any issues leave me a comment and I'll try to fix them.
Game can be found at: http://forsako.rf.gd/AmericanCities/...gressGame.html The challenge itself can be found at Challenge.gov: https://www.challenge.gov/?challenge...game-challenge The game is meant to be a combination of a match-3 game, and a society simulation, such as the Civilization series. The basic match-3 portion features an 8x15 grid, with 8 block subtypes over a range of city attributes (Food, Industry, Health, Coins, Culture, Science, Religion, Civics). The intent is to simulate the development of a city such as Philadelphia (founded ~300 years ago) using match-3 mechanics to qualify for building purchases. The buildings are then intended to provide extra abilities (ex: Tetris style block swaps) or benefits for your town (ex: extra Culture or Civics points with each match). Below is an example of the game layout during play. This image shows how Tetramino swaps work, using a Z-shape tetramino to shift blocks around in a Z-pattern (the purple "culture" note blocks). Tromino and Tetramino swaps can be moved, rotated, and flipped. This image shows an example of the building info display, summarizing the historical American building it's supposed to represent, the criteria to build, and the effect on being constructed. Buildings can be selected for construction in the lower-right, similar to the way Starcraft, C&C, and similar games implement build choices. "Info" displays for each building can be accessed using the (i) icons. Game has been tested and appears to function in: Firefox Developer (119.0b1), Edge (117.0.2045.43), Chrome (117.0.5938.92), Opera (102.0.4880.56), and Android Samsung Browser. - Known issue: Map won't rotate with touch screen interface. Event buildings currently provide no benefit (hit the time-limit for entry). - Things I think are neat: Tetris style (Tromino and Tetromino) swaps (rotate blocks through a pattern), rotations / mirrors of all these, direct block replacement (specific or random), long distance exchanges, automated match shape identification (up to pentominos), building criteria based on specific shapes / rotations / mirrorings, wild-block matches, scalable SVG piece highlighting, a 3D webgl map of the town as its constructed, 80 buildings in 8 categories that all do something to the game state (with multiples of some and 40 hidden events, working on houses that build as you play). - If you want to play with all the abilities (as if every building is completed), check the box about the SVG scaling shapes demo near the bottom. This thing is sticky, and I don't like it. I don't appreciate it. |
Tags |
city, development, game, log, simcity, simulation |
Thread Tools | |
|
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 |