ID:1957607
 
A chill is in the air, the trees are changing, and now I can get an Egg McMuffin any time I want.

This week I put a lot of focus on the webclient, in an ongoing quest to improve functionality and also improve the FPS a bit. There's a new routine, byond.fn.css(), that can be used to set a CSS rule--not simply a style, but an actual rule in a stylesheet that applies only to a single control. The upshot: now the info control can handle prefix, suffix, and highlight colors. I expect to make good use of that in other controls too.

Doohl had a request to improve profiling for the webclient and for Linux. While I'm still unsure how to approach the Linux side, I was able to adapt the old browser-based profiling method into something that could support popup windows OR a custom control. What I'm hoping to do in the near future is create a profiler control. It'll be simple at first, but anyone so inclined can always tinker with it.

Speaking of profiling, a longstanding issue that a lot of game authors had was that init procs--the kind used to set vars like obj/var/mylist[0]--never had names, so they showed up as blank in the profiler. In 509.1305 they do have names, so you'll know where to look when you're fixing up your code. Recompiling is not necessary, because this new feature is activated on world load.

Also this week, mostly "off the clock", I decided to dust off an old project that needed some TLC. Scream of the Stickster: Volume II has been sitting idle for a long time, and it hasn't been updated to deal with new BYOND features in a long time. As of version 509, color matrices are supported, which means a lot of the icon work that was done in the game can now be done entirely client-side with matrices, not needing to generate new icons for the walls and weapons at all.

Here's an example of a matrix I'm using for wall colors. The wall icon is in shades of gray: black should become the final color, and white should stay white.

// r,g,b units are from 0 to 1
matrix(1,1,1, 0,0,0, -r,-g,-b, r,g,b)

This matrix gives me fine control so that I can make part of the original icon blue, and that part will become black instead of taking on a color. That'll come in handy later.

A part of my goal in resurrecting the game and moving it towards a more release-ready state is to see what other developers are going through so I'm more in tune with their needs. But also, heck, it's fun. And I've learned a lot about game design since the game was first built, so I'm thinking this is what I need to do:

1) I need an end-of-round display that will show the outcome of the round in a nice format where the map would normally be.

2) The output control needs to go. I was resistant to this for a long time, but it feels clunky now. Instead, I want to move most of its info to a HUD. Likewise I want to move the item display for scavenger hunts back to the HUD as well.

3) The HUD also needs to display the Stickster tracker, and have a way to point something like a compass towards a desired, changeable goal. It might add more interest to the game if the compass also can only handle one thing at a time.

4) The invisibility timer needs to be onscreen too, and should have a flashing effect for when time is running out.

5) I want animations for wall creation and destruction. Being able to change the color of a wall segment that gets cut off would be pretty cool too.

6) I'm thinking of losing wall opacity. Although that was a suspense feature in the original game, IMO this is just killing the visual appeal.

7) The retro text mode was cool, but screw it.

8) More should be done with maptext instead of generated icons.

Already I've made a few changes for the better, especially in map generation. I didn't fully understand way back when how important the proc call overhead could be, and as a result it was taking way too long to build the map. That's all changed for the better now.

Do you have a horror-themed game in mind that you've always wanted to make? Now's a great time to get started on one for Halloween! Remember, with the webclient you can also showcase your game outside of BYOND.
Would it ever be possible not to display the BYOND logo screen upon connecting but instead one of our own images?
That's something I'd like to work on at some point. It's tricky because that screen is shown before the connection to the game is ever made.
Awesome! It just keeps better and better, hopefully I can put these features to use in later projects that actually use the map :)
I'm actually pleased with how the timelines have gone with my schedule, because Hunger is pretty well suited for Halloween, and it's coming along right in time for it completely by accident.

So that's my horror-like game. That aside, these are some nice updates, and I definitely think getting more in touch with the current process of designing games in BYOND is a wise move.
Lummox, regarding logo screen transition, could it possibly be made so that the BYOND logo starts up but the second the data is loaded it fades to the game's own logo screen?

It meets half way, ensures the screen isn't blank while loading, and BYOND gets exposure.
In response to Acebloke
Acebloke wrote:
Lummox, regarding logo screen transition, could it possibly be made so that the BYOND logo starts up but the second the data is loaded it fades to the game's own logo screen?

It meets half way, ensures the screen isn't blank while loading, and BYOND gets exposure.

Can't you swap out the byondlogo.jpg in the Web folder in BYOND's installation directory and then compile?

I'm assuming that would change the logo that is shown. Maybe.

Could always make it so that the logo is gathered from the hub.
In response to Super Saiyan X
Super Saiyan X wrote:
Acebloke wrote:
Lummox, regarding logo screen transition, could it possibly be made so that the BYOND logo starts up but the second the data is loaded it fades to the game's own logo screen?

It meets half way, ensures the screen isn't blank while loading, and BYOND gets exposure.

Can't you swap out the byondlogo.jpg in the Web folder in BYOND's installation directory and then compile?

I'm assuming that would change the logo that is shown. Maybe.

I think its more about when someone logs into an online game or the webclient, there'll always be a slight delay while its being loaded.
In response to Lummox JR
Lummox JR wrote:
That's something I'd like to work on at some point. It's tricky because that screen is shown before the connection to the game is ever made.

Here's a thought:
Store the logo on the game's Hub data and check before opening the connection screen. Alternatively, you could have the BYOND logo there while the game's optional logo loads. Still, I feel like having it on the hub would make it simple, because if it were in the game files you'd have to download the correct file and distinguish between files.