Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1410642 Posts in 69557 Topics- by 58554 Members - Latest Member: maruya328

September 08, 2024, 05:52:59 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsWorld of Squares MMO [Public Pre-Alpha!]
Pages: 1 [2] 3 4
Print
Author Topic: World of Squares MMO [Public Pre-Alpha!]  (Read 6313 times)
vitalash
Level 0
***



View Profile
« Reply #20 on: July 17, 2024, 06:28:54 PM »

The first level crystal is located in the sky! You can see the cloud trail start from the mountain that you defeat the Aetherking from.




Shear cube sheep to get cube wool to make a painting


There is now a stash! You can keep items here. You start with 4 stash slots on any new account. If the game will be free-to-play, extra stash slots is a likely monetization opportunity akin to Path of Exile.


There is another stash in the Fertile Crescent farm house which has the same inventory.


I'm going to render a huge pile of your items inside of the stash entity model; I was too slow with developing today. I was trying to go to bed early today but ended up working late again anyway.
Logged

vitalash
Level 0
***



View Profile
« Reply #21 on: July 18, 2024, 04:48:22 PM »

First thing I did today was render the stash items physically


Then I made the friends system and UI. You can see when someone adds you, their name is no longer grayed out in your friends list.

No chat system yet. Forcing myself to clock in early (only ~8 hours of tired work) because I'm not doing good enough work today and I'm very slow; earlier sleep is a better investment for the project.
Logged

vitalash
Level 0
***



View Profile
« Reply #22 on: July 19, 2024, 06:46:45 PM »

I added the chat system today.


It's meant to be simple enough to exist for alpha. There'll be a scroll bar and you should be able to scroll through years of history. If you're eagle-eyed, you saw a duplicate message in the gif on the other player's account. This is because they requested the chat history on receiving the first live message, but they still use the first live message they received. One simple fix tomorrow is to send in the packet only requesting history older than the oldest message they have, which I already support on the server side.
This allocates blocks of 4096 messages in a doubly linked list.
On the server the whole message database looks like this:


On the client I store a [MAX_FRIENDS] array of ClientFriendChat

Then when you receive packets of message history, new messages, or if you send your own message, the chat_add_message function is called. This adds the message and arranges it based on its timestamp into the client's doubly linked list (unrelated to the server's data structure).


I just realized that when I "realloc" client messages the pointers will become stale and break. All I really need is a simplified version of the cache chunk data structure where it allocates new batches whenever it runs out of existing ones to use. I also believe I can leak memory here no problem, otherwise in future I can keep track of a "free" linked list.  Smiley



P.S. On these forums, is there a way to get my images to automatically scale to max width, rather than making you guys hold click on the messages to make them shrink to max width while I bloat the height of the web page?
« Last Edit: July 19, 2024, 06:55:17 PM by vitalash » Logged

vitalash
Level 0
***



View Profile
« Reply #23 on: July 20, 2024, 06:40:55 PM »

Messaging is practically done now; I worked on it a lot today. I also made the friends ui and chat UIs have scrollbars.


If you have morphed into a fox, your friends icon will reflect that.


These scrollable regions are basic hardcoded UI stuff for now. Getting this game towards its pre-alpha release!


The account database is more efficient now as well and indexed with username or id hashes.
« Last Edit: July 20, 2024, 06:46:53 PM by vitalash » Logged

vitalash
Level 0
***



View Profile
« Reply #24 on: July 21, 2024, 06:28:27 PM »

When you open the friends menu, it shows you unread notifications


You can now add friends with an eyedropper tool


There is now a staff of repossession. You can steal entities

And resummon them elsewhere. In the above gif, I take a sheep to the goblins (it does not live).

This idea came about because i realized if someone could do that, they could use the forced typeless damage that can kill invulnerable entities of the chandelier against other entities that it's not meant to be used against Wink Here it is!!

I started adding the staff of repossession at 9:40 pm and ended at 10:20 pm; that is not too long a change for such a cool item.

Also the camera now does not spontaneously start with high acceleration.
Logged

vitalash
Level 0
***



View Profile
« Reply #25 on: July 22, 2024, 05:39:04 PM »

The particle spell lets you summon many different basic elements. Water, sand, wood, fire, and aether clouds. This list will grow as the game grows.

Each element costs varying cubeflakes; if you want to summon elements for free, an element specific staff will be a better use.

Here's the map so far. Goxel is beginning to lag, and this is an unacceptable fundamental part of architecture which means I likely won't mod this in future as I was thinking; rather I'll eventually build my own map editor. However, this game needs to get released, so while this is workable, I will continue making do with Goxel. After the public alpha, it will be a good time to make a new map editor.
Logged

vitalash
Level 0
***



View Profile
« Reply #26 on: July 23, 2024, 06:30:46 PM »


Enter the knight arena and fight your way up to legendary knights who drop rare items!
You'll find swords by the entrance (but knights will drop better sword upgrades)


In my testing, I increased the spawn-rate of legendary knights. In reality, you need to get a higher kill streak to increase their spawn rate. When you die, your streak is lost. The better a knight is (indicated by the color of their helmet's colored plume), the better drop table they have.

Using the staff of reposession those legendary knights drop (one of a variety of unique legendary items), you can do fun stuff like steal entities


The legendary knights can drop a one-time-use level crystal. This is how you can reach another max hitpoint.


If you already have an item, they won't drop a duplicate until you lose that item.
Unique drops are bound to your account, because you are intended to feel the account unlock, not to buy the item from someone else who did it.

In the game I now configure drop tables like this


Here's the map so far
Logged

vitalash
Level 0
***



View Profile
« Reply #27 on: July 24, 2024, 07:54:34 PM »

Drop table viewer! Avoid the hassle of exterior wikis.





Because of the drop tables requiring me to add 2d entity rendering, I now do that in the character creation too.


I launched a light playtest today and got a goblin staff! This was a rare 1/128 drop Smiley


If you want to get in on future playtests join the discord!
https://discord.gg/Un4Vx47e7b
Logged

vitalash
Level 0
***



View Profile
« Reply #28 on: July 25, 2024, 07:25:56 PM »



I playtested the game last night and finished a bunch of todo items today.. As well as that, you can now craft a sword better than the free one outside of the arena (but worse than the rare Fine Steel Sword dropped by knights)
First, gather 20 iron from the lava filled cave:


Then, either kill some knights or go to the baby dragons and collect 20 gold:


Finally, craft the sword in the town of Cubestead.



I added the Aether King and Cube Iron to the drop table system:


Here is the map so far
Logged

vitalash
Level 0
***



View Profile
« Reply #29 on: July 26, 2024, 05:39:53 PM »

You can now carry your friends and your pet and other things on your head. This will make it easy to travel together.


The ancient parkour dungeon has been upgraded! It now has moving platforms and treasure at the end:


One of the drops from the ancient parkour dungeon is this Wood Home Staff. It's different from the wood staff; it makes a whole wooden home with a dangerous fireplace:


The main drop from the ancient parkour dungeon is the dash spell.

It has a few seconds cooldown and will push you forward multiple cubes.

P.S.
I discovered the Staff of Repossession lets you duplicate stoves by abusing the re-spawn, and this lets you cook a ton of bread at once!
Fitting for a legendary item's prowess.
« Last Edit: August 15, 2024, 03:40:51 PM by vitalash » Logged

vitalash
Level 0
***



View Profile
« Reply #30 on: July 27, 2024, 06:08:08 PM »

Today I spent the whole day learning Paypal's API and making API requests from my server using libcurl. I now have a successful basic flow to get an Oauth token and process a credit card order. With a basic dumb thing working, Ill dive more into depth with this tomorrow.
Last time I dove into something technical on this project, I lost my design momentum and had to work hard and expose myself to various things in life to get it back. I don't want to waste a ton of time on payment processing, but it is pretty important.


I really really like the idea of a paid subscription. It's more wholesome than a free to play game whose job is to milk people for their money. This way, all effort can go towards creating a better game. It's symbiotic, and may require just a few hundred loyal players before I am able to sustain myself working on this game. $5/month sounds pretty good to me (add on that paypal/steam fees), especially with how other games have such inflated pricing because they over-hire (salaries are expensive).

You'll have to be allowed to play in "Free to play" mode though, because if you stop paying, you shouldn't stop being able to see your friends. Some game content would be exclusive to people who have a subscription.

What are your guys' thoughts?
« Last Edit: July 27, 2024, 06:20:54 PM by vitalash » Logged

vitalash
Level 0
***



View Profile
« Reply #31 on: July 28, 2024, 06:14:43 PM »

The game is called "World of Squares" now because I saw "World of Cubes" was taken by a Minecraft clone from the year 2,016, and I always liked the look of "wos" in my typos anyway.

I did work with integrating stripe. It seems better than paypal; I looked at many opinions of small business owners.

I thought payment processing would take 1 day. Now I'm ending the 2nd day of it. Most of it is done. My optimistic estimate is that I finish it tomorrow and have time to work on the game. Or worst case, it'll take 4 days total.
Apparently there's a lot of legal stuff  Roll Eyes that prevents me from doing the simple thing, so I have to require the user to have a web browser and work out their payments there (unless I do a lot of work).  Wink That's good because it does a lot of work for me anyway, but I don't really like requiring the user to go into a web browser.

Right now you can click "Buy membership," it takes you to a checkout page on your browser, and then the game automatically knows once that succeeds and tomorrow I'll make it award membership days for the buyer.

(that's a test email and card; not real ones)

On this project, I worked for 10 hours today as I have many other days, and yet the progress is less because it's payment processing instead of game stuff. (And I've barely dealt with web dev stuff so I'm learning that.) Shouldn't be long though!
Logged

vitalash
Level 0
***



View Profile
« Reply #32 on: July 29, 2024, 06:07:21 PM »

Payments are done. It goes through Stripe in your browser.


You can easily stop renewal like this:


I could make it fancier (such as a button for "upgrade to $49.99/year") which I was working on, but I set a deadline on payments being done today, and the system as it stands is sufficient for the pre-alpha. For now you have to set it to yearly at the Stripe checkout, and if you want to _change_ it, you have to cancel and re-purchase. I gotta get back into game-developer mode; once I test this tomorrow, NO MORE THINKING ABOUT PAYMENTS for a bit!

BACK TO GAME WORK!
Logged

vitalash
Level 0
***



View Profile
« Reply #33 on: July 30, 2024, 06:41:56 PM »

Play CUBE VIOLIN for your friends!! Or practice in the woods alone!

Video with audio here!!
https://i.imgur.com/6o5iV5n.mp4
Your mouse does the bowing and your keyboard does the fingerboard.
Each row of your keyboard is a string you can finger. Your mouse height is which string (you can do two strings at once), your mouse horizontal motion is bowing the string. Closer to the frog means more volume!


The model is unfinished; I'll want to add strings and the tail piece.
You can play two strings at once for chords Smiley
Here's how the model is drawn


I may have to buffer data on the server so it can be sent to players with the original intended timing rather than be immediate because latency may flicker. For now, it's just client side during my testing, but this will absolutely be server-sided. Play for your friends!
« Last Edit: July 30, 2024, 06:49:58 PM by vitalash » Logged

vitalash
Level 0
***



View Profile
« Reply #34 on: July 31, 2024, 05:52:41 PM »

Today I made Cube Violin work in multiplayer (not just client side)!

When you press strings everyone can see which string you're pressing. It will go down to the fingerboard.More to do, but tomorrow should be the last day of work on cube violin if all goes smoothly.

VIDEO WITH AUDIO HERE:
https://i.imgur.com/sN33io6.mp4
Logged

vitalash
Level 0
***



View Profile
« Reply #35 on: August 01, 2024, 08:21:22 PM »

Today I playtested the game with someone and fixed a lot of things, and I added things to the to-do list. Tweaked lots of things, fixed bugs, adjusted the code architecture. It wasn't one big feature today; rather many little changes. If I do that too much, I only get what I made in a more polished fashion. Which there is little time for; I need the game to be interesting and good enough for people to enjoy it, then it will be easy to work on updates and polishing.
Cube violin is basically done except you can't play with your clones yet.

I'm also poking around at various communities I can promote the game for; I have no idea what will land for people yet.


Logged

vitalash
Level 0
***



View Profile
« Reply #36 on: August 02, 2024, 04:02:28 PM »

Your clones can now play violin with you (but you're all synchronized so it's mostly a visual spectacle, but it does affect the audio spatially and increase the loudness!
https://i.imgur.com/xj0ILa0.mp4

This is a social game. Discord rich presence aids that.


The dash spell now damages anything that was in the way:


I did a lot of smaller tweaks and fixes as well today.
Logged

vitalash
Level 0
***



View Profile
« Reply #37 on: August 03, 2024, 06:57:23 PM »

Today I made the server run on linux. And I set up a digitalocean server. It works locally, and I can ping and SFTP and SSH my digitalocean server, but for some reason my game itself (which runs UDP port 2043) does not work. Often issues like this just resolve themselves.

Linux is not fun Smiley I worked a lot today and the results aren't spectacular, but necessary work did get done.

There's also now a steam page in review, and I have a domain name.

So much extraneous stuff that's not directly working on making a good game! Yuck!


In other news, I released You Want to Watch the World Burn on steam a few days ago Smiley https://store.steampowered.com/app/3029680/You_Want_to_Watch_the_World_Burn/
Logged

vitalash
Level 0
***



View Profile
« Reply #38 on: August 04, 2024, 08:02:47 PM »

> Often issues like this just resolve themselves.
I lied. Half of the time they wait hours to fix themselves so you can be frustrated that nothing you're doing is working and then it works.
The other half of the time it just never wants to work  Shocked

I made my build system nicer. It now packages a .zip that I can run a "unpack.sh" script on the server to deploy quickly. I have to build in my VM and on my windows PC, and then it auto detects that the builds are most recent and are release builds using metadata I specify inside my build metaprogram. I did this when I made Animation Buddy with batch scripts (it was C++), and it made it nice to nice to release updates and bug fixes. https://code-flame.itch.io/animation-buddy This system for World of Squares took 1-2 hours to do.
I fixed some weirdness with libtomcrypt working on windows and not linux. Now it works in my VM. This took about 7 hours to do.
I troubleshooted my issue with Digital ocean and got nowhere. This took about 3 hours to do. I opened a ticket and will sleep now. It's midnight; I didn't get to do anything fun today!  Facepalm
« Last Edit: August 04, 2024, 08:21:43 PM by vitalash » Logged

vitalash
Level 0
***



View Profile
« Reply #39 on: August 05, 2024, 06:04:50 PM »

There are now nice ambient sounds in the game. Birds chirp at day, crickets chirp at night.
https://i.imgur.com/AA3uElr.mp4

There's now a website.

https://worldofsquares.org/
Technically you could play right now!
Though there's an issue; the download doesn't work. I may have to modify the HTTP library tomorrow to fix this. I'll also see if the author responds to me about the bug.

I don't have the server at production capacity right now (planned to be a few thousand players for the pre-alpha; more later). I have it set at just 2 gigabytes of ram and 2 cores as I test it Smiley

I fixed a lot of the linux things. The game does work on this remote linux server now. It builds relatively conveniently, making a zip file when all files are of the latest game version (I don't have cross compilation; I have to build on windows and the virtual machine, then if files match it will use 7zip to create a zip package). This was about 32 hours in the past 3 days on just Linux problems.
Logged

Pages: 1 [2] 3 4
Print
Jump to:  

Theme orange-lt created by panic