Lummox JR

Joined: Sep 1 2001

Shoutbox

Lummox JR
Jan 7, 1:14 pm
Incursion takes a pretty simplistic approach to the borders.

Each tile is broken into 16x16-pixel subtiles (Incursion was designed prior to the new icon size stuff), and each potential grid intersection (offset from the subtile proper by 8 pixels diagonally) has bitflags indicating which parts belong to which territories. Essentially, a T-junction intersection can be three icons: One for the territory on one side, and one each for the ones in each corner.

Bit 0: Territory in NE
Bit 1: Territory in SE
Bit 2: Territory in SW
Bit 3: Territory in NW
Bits 4-5: Style (0-2)

Basically if any of the bits 0-3 are empty, the territory in that section belongs to whatever nearest bit was set counterclockwise. E.g., 5 means NE and SE are the same (bit 0 on, bit 1 off) and SW and NW are the same (bit 2 on, bit 2 off), so it's a vertical divider. The style number allows for one of three different graphic styles to be chosen at random. A non-intersection, belonging to all one territory, is always 0.

The icon format is [N].[B] or [N].b[B]. The number N is described above, but B is a number from 0-3 representing one of the bits, starting clockwise from NW rather than NE because apparently I did not think the system through well the first time. This says which of the territories this icon state belongs to; E.g., 5.0 means we're dealing with the territory that belongs to the northwest corner of a vertical divide. The lowercase b means this icon is a border icon, and has special highlighting.

There are some things I don't like about this format: It is still too blocky, and the icons only come in three limited flavors each. A more organic approach is possible now.

When Incursion starts up, it takes the icon file and does dome operations on it to create missing states (e.g., it does some rotations), then it does shifts so it has icons that are easier to work with in the 32x32 realm without using pixel offsets--because it was first written before pixel offsets. Territory icons are built as combinations of icon operations so that each should contain the exact states needed to show the territory, and Insert() is used so it can all be kept in a nice tight package.
Gooseheaded
Dec 30 2012, 3:14 am
Hey there!

I'm trying to make a game similar to Incursion, and I've noticed that the 'borders' between 'territories' look amazing and randomized and straight up beautiful.

I don't see how to change from a standard 'autojoin' look to something similar to what is seen on Incursion.

If you could, maybe, write an article about it, or just give me a general idea of how it was accomplished somehow, I'd be thankful.

Keep up the good work on BYOND!
OrangeWeapons
Nov 16 2011, 4:02 pm
A request: Please judge the cartridge classic entries by the end of 2011. =)
OrangeWeapons
Oct 30 2011, 1:20 pm
When are Cartridge Classic entries being judged?
Zetaiva
Oct 28 2011, 3:34 pm
Lummox, it's Zetaiva, the one in which posts have been blocked from the front page due to leak/spam. Well, if you'd kindly remove the blockage of my posts I'll assure no more of my prejudicial actions. Thank you.

[See all] [Login to shout]

Subject
Replies
Date
Location
 
Have a happy Thanksgiving! And read One Woke Up, the definitive un-zombie novel.
4
 
The ban system is too complex and can be simplified.
11
 
There is a way to get a list of windows, menus, and macros via winget(), but no such method for panes.
5
1
 
Tips for protecting your account
0
 
Find out how to get listed on our games page and keep the public up to date.
0
 
Finding and offering help with BYOND's software, website, and other non-code issues
0
0
 
How to announce your upcoming events
0
 
Keep our resources clean!
0
 
It's like Craigslist, but with fewer bedbugs.
1
 
Help us help you!
0
1
 
Built-in pixel movement is here!
Page: 1 2 3 ... 5 6 7
130
 
Icon delay should be independent of tick_lag.
2
0
0
 
A cool new feature that may interest BYOND developers
Page: 1 2 3 4 5 6
102
 
It should be possible to check the type of client connection (DS, telnet, world.Export(), etc.) without having to look …
0
0
0
 
It would be nice if images could completely replace the icon of the object they're attached to.
6
0
0
 
Stragglers, breathe easier. The Cartridge Classic II has been extended again!
Page: 1 2
35
 
Didn't think you'd be able to compete in the Cartridge Classic II? Now is your chance!
13
 
The annual parade live-blog!
7
 
I need a new keyboard, but lately all the manufacturers have been on stupid pills. Help me find one!
Page: 1 2 3 4
62
0
 
This is not a suggestion, just internal documentation of a feature change.
0
0
Make numbers do your bidding by pluralizing words, putting in commas, and spelling them out.
2
 
What kind of game would you make?
2
0
 
world.Export() connections should be visible in Dream Daemon, so they can be banned if necessary.
12
 
The great 8K competition is back!
Page: 1 2 3
47
Helpful procs for using numbers in text
0
 
Polish up your best libraries and dust off your code compression skills, 'cause you're gonna need 'em.
Page: 1 2
20
 
Transitioning between servers via link() should be visually smoother.
0
0
 
Culinary mad science you can enjoy at home!
12
 
It would be helpful to be able to create macros only for a particular game, instead of having to always use the same …
0
 
My first attempt at making orange ice cream, and second attempt at any ice cream, shows signs of improvement.
7
 
Got Facebook? Start sharing!
Page: 1 2 3 4
76
0
 
Big icons and pixel offsets have been limited to a 4-tile "spillover" within which they are safe from appearing or …
0
 
A user who downloads or plays a game via the website does not necessarily want to use the pager. After the link logs …
0
 
Icons created at runtime should be cleared from .dyn.rsc between sessions since there is no way to use them after a …
0
 
People who want to tax soda deserve to drown in the crappy third-rate generic stuff.
Page: 1 2
27
 
If you thought Firefox 3.5 was full of fail, you ain't seen nothin' yet.
Page: 1 2
26
Page: 1 2 3 ... 9 10 11