I’ll start the Monthly WIP thread today, posting some progresses on my procedural map generation algorithm. I implemented a ditch border all around the battleground and a sea surrounding it, even if I’m not totally satisfied by the visual result (but it may be because I really suck at texturing).
Why does that video not have you write on a notepad (making a few errors and backspacking a bit) how you will fix some random windows thing? That’s the only allowed use of that song, as approved and mandated by the high committee of the internetz.
I’ve begun adding the first boss to my game. It’s a plagued version of the Loc Ness Monster (although he still needs textured). Players can kill him, or they can instead choose not to and will later be able to complete an alternate quest to cure him of the plague.
I’ve been adjusting my pathing and navigation system to allow for sea creatures, and so far it’s been going smoother than I expected. Right now he can only stroll around the lake’s path nodes with his body mostly above water, but soon he will try to avoid being spotted, and the player will be required to hit him with a ranged ability in order to engage the fight.
After working on the lemur textfields and listbox last week I said I am done now. But then I played around with mouse and cursorlisteners.
In the end I ended up adding another function to the lemur textfield.
If you click it the cursor position in text (carat) is set automatically to the position you have clicked. You can also select and deselect with the mouse.
While a part of the functionality is done outside the library the find position thing is done inside.
Here is a small 11s clip:
I have added the changes to the repository I recently made.
Ok, I wasn’t going to post because my updates are kind of lame in comparison to previous ones… but I feel left out. Heheh.
This past weekend I took a long weekend to start writing the “Real” spacebugs instead of hacking on the prototype. Basically, starting from the ground up, building the menus, copying code over from the sim-ethereal network examples, etc… I didn’t get as far as I wanted but I got to the point of being able to connect the local client to the local server.
This week I’ve been swamped at work so I’ve just been trying to make UI tweaks here and there so that I can still “work on it at least 10 minutes a day” (see previous posts about productivity hacks). Basically, just trying to give the game its own style instead of the standard Lemur “glass” look.
Here is the UI transition so far:
Clicking Join Game…
Still lots left to do on the Lobby screen and you can’t actually Start the game. You can see the mini-level that is loaded in the background proving that we got data from the server, though.
The color selectors will eventually be a pop-up and the portrait selection will also be a pop-up window.
Lots more UI tweaks left to do to give it its own style. There will be in-game computer access points that will have some simple UIs and that will probably factor back into this style so that they match.
Edit: oh, and the lobby is missing half the screen where you can see the other players and what they are choosing, etc…
This may look like a simple Spoxel screenshot… but that isn’t whats really being shown… What is being shown is Spoxel connecting to a dedicated server through STEAM
It has been a bit of a challenge getting steam’s p2p networking working inside of Spider Monkey. Each channel works as a separate socket inside of spidermonkey for example, but in steam it’s all the same interface. Same with reliable and unreliable message types. I still have some edge cases to figure out but its mostly working now.
For fun, I added a simple name randomizer to the character creation routines. It’s nothing fancy, selects first names and last names (and optionally a last name prefix) from some lists of strings and slams them together.
To seed my lists, I first grabbed a bunch of adjectives for the first names. I also include the initials for all letters. A. B. C., etc…
The last name list is seeded with random animal names… but I took the animals and split any multi-word animal names into separate lines and deduped the whole list. So Hammerhead Shark is just Hammerhead and Shark.
The generated names were kind of fun so I added a button to the UI to let you ‘reroll’ your name if you want… and it’s been a bit of a laugh.
Within five clicks or so I got this:
I think the game already has a personality.
For such a simple approach, it’s pretty funny… some of the first random names (you can see the Puny Sperm in there as I captured this from the logs of that run):
Edit: the prefix file is mostly blank lines with one “Mc” and one “O’” so rarely you will get things like McHorn, etc…
I made a shader for my plant models and a shader for the terrain, so now all of the vegetation and foliage in my level scan be scaled from dead to alive. Certain enemies can use abilities that cause the world to become more dead and plagued, but completing quests or using special abilities will cause those areas to come back to life. So this adds a new objective to each match, which is to keep the forest alive in order to make surviving easier - hence the title of the game, ‘The Afflicted Forests’
During the last days (more or less) I worked on prototypes -Appstates and classes- on a specific topic with a lot of comments. I do this, so I can use this work later in different use cases and already have
notes that help me understanding the concepts behind - sorry im generation wikipedia, I forget fast.
I made a basic colorchooser using the nice example about meshes and learned a
bit about meshes and coloring.
While reading about the topic I found another approach using ImageRaster and setting pixels dot by dot.
I made both ways working. Changing a slider, clicking the color pic is both changing the shown values, textfields and the color quad…
Later I found @Eric_Bourque filebrowser and got inspired to make my own.
Insteadt of many labels I use a listbox (I recently modified listboxes), that is switching the highlight on/off - depending if it is a file or folder. The advantage is, that slider is already there as well as basic scroll behaviour. I just added basic keyboard usage (arrows) to move through a folder.
Pictures alone are boring and I may need a way to make a model preview.
This topic comes up often in the forum and I found this very good library
from @NemesisMateSharing of debug & lemur utils
that provide ViewportPanels.
It took me a while to understand all of it, but finaly I found a working example in the forum
that helped me to add the functioanlity to the filebrowser. Just for example reason
it is possible to multiselect models, that are then previewed (using Tweens to rotate).
Pls. sorry I do suck in graphics, so the shown example models dont have the best quality - as I just took them from internet.
While adding the function I realized that the Viewport did not change its position when the
Panel is moved. I modified @NemesisMate library (after hours of headache but learning something
about Viewports) and now you can move the window as much as you want and the model preview will follow the movement. Great if you want to make a moveable popup with an animated unit preview or similiar stuff.
I send NemesisMate my adjustements for his library (like 1 line per h headache). If someone is interessted in the code for the filebrowser I could make it more readable and provide it.
…eventually I will add other tabs for different kinds of color selection.
I wasn’t sure if you were playing with meshes and need to cobble a color selector or were specifically playing with a color selector. If it’s the first case then the Lemur one should be pretty easy to use next time.