Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1412082 Posts in 69447 Topics- by 58486 Members - Latest Member: holdemech

June 26, 2024, 03:17:01 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsOnce Upon a Time - multiplayer farming simulation RPG
Pages: [1]
Print
Author Topic: Once Upon a Time - multiplayer farming simulation RPG  (Read 551 times)
iBeMitchy
Guest
« on: May 09, 2018, 03:29:55 PM »


Hey!
Testing, 1, 2, 3! I'm Mitchell, and welcome to my very first devlog (more anecdotal than technical honestly)! If you're curious about why I started making this game, read on. If not, skip the next para# graph!

How Did it Start?
As a child, I invested countless hours into the Game Boy and spent some of my most memorable times either adventuring in the expansive world of Zelda or manually brushing all of my cows in Harvest Moon. I instantly fell in love with these games and explored many other titles belonging to the simulation and RPG genre. It was when I took an elective programming course back in high school that I toyed around with the idea of creating a game, though it was mostly a whimsical notion at the time. Fast forward a century, and the end of January 2018 rolled around. My good friend invited me to participate in the Global Game Jam, to which I half-heartedly agreed. My rather lackluster attitude transformed into skyrocketing enthusiasm during brain-storming sessions, and many great (debatable?) ideas popped up. Unfortunately, I was restricted by the Game Jam theme and had to bury all of my ideas. My awesome team and I ended up creating a shooter game (the shooting mechanic did NOT work :') refactoring one minute before the deadline was a big no-no). The final product was rather disappointing honestly, but I was anything but deterred. In fact, I was pumped up more than ever in creating a game that I can be proud of while fulfilling my whimsical thoughts from back in high school. At the time, I had just finished all of the required computer science courses in university and the failure to find a job pushed me further into depression. However, the nostalgia and passion brought back by the Game Jam showed me a new light. I eagerly took advantage of my new-found mental momentum and saw this as an opportunity to improve myself both as a programmer and as a person. Thus, the beginning of February 2018 marked the advent of what would be my long hobbyist adventure: "Once Upon a Time."

The Game



"Once Upon a Time" is a multiplayer-capable farming simulation role-playing game set in a fantasy world as hinted by the name. The game takes inspiration from three main categories of games I enjoyed as a kid: farming simulation (Harvest Moon), dungeon crawler/exploration (Zelda), and management games (Recettear). As such, iconic game features including transforming the abandoned farm into a prosperous field, befriending and courting villagers, venturing into the dungeon in search of treasure and loot, and managing a successful shop will be focused early in the development and pave the path for future additions. As a big fan of Bokujou Monogatari Back to Nature and chibi, cartooney designs, I intend to give the game a 3D toon feel with (hopefully) cute, colourful characters.

Making the Game



On to some more technical things. For much of February and March 2018, I researched (YouTube and Yahoo Answers, heh), read some game design books/blogs, and started practising Blender while relearning Photoshop and Illustrator. I played around with a few game engines such as Unity and UE4 but thought that they were extremely overkill and bloated for my needs. I even spent a long time attempting to write my own game engine, which is a grand feat in itself and might've taken years (or decades in the case of yours truly). In the end, I decided on using Godot, an open source game engine that is extremely lightweight yet powerful. Game assets are low-poly and cartooney in style. I have yet to touch on music and have no intention of doing so until completing the majority of the logic and graphics portion of the game. The code is currently written to work with LAN multiplayer, but since the multiplayer sync code is decoupled (I hope) from the gameplay logic, implementing and integrating other ways of connectivity such as NAT punch-through and Steam API in the future should hopefully be straightforward.

Future



Currently, I intend to code the game and create the assets myself and anticipate that the game will be in a semi-playable state when my great grandchildren board the flying bus to Pluto. Fully aware that my first game is overly ambitious and that many others with similar lofty goals have given up, I am still determined to complete this project (thanks, sunk cost fallacy). I've outlined a rough list of features that I will be prioritizing in the coming months/years below. Each entry is rated out of 10, with 10 being "I finished this piece of game logic and think it'll remain unchanged for a while." Keywords here are game logic - I can plant, water, and harvest a potato, so I consider crop interaction to be done for now. Game assets and model variety will be increased later down the road.

Once upon a time, there lived a person who was a(n)...



- programmer
[ *] LAN multiplayer
[  ] multiplayer using NAT punch-through, UPnP
[10] save system
[ 2] movement prediction in high ping scenarios
[10] text translation capability (just ability to switch between languages)
[  ] day-night cycle
[  ] in-game clock
[  ] seasons
[  ] weather



- farmer
[10] planting, watering, and harvesting crops
[ 2] use tools (axe, hammer)
[ 2] generating weed, stone, tree
[  ] generate grass, flowers, butterfly, eye-candy (for livelihood)
[  ] animals and AI
[  ] pets

- villager's best friend
[  ] branching dialogue system
[  ] friendship system
[  ] marriageable NPCs
[  ] NPC AI (more like fixed routes at designated times than AI)



- adventurer
[ 5] quickbar UI
[ 8] inventory system
[10] drop and loot items
[  ] health, MP, stamina system
[  ] procedural map/level generation in caves
[  ] mobs and AI
[  ] bosses and AI
[  ] quests
[  ] skill tree (no explicit class system)
[ 1] player race (human, elf)

- merchant
[  ] shop system
[  ] customer NPC generation

- craftsperson
[  ] tool, weapon, and armor creation
[  ] enchantment and upgrades
[  ] consumables creation (cooking)



- fashionista
[10] equip clothes (hat, top, shoes)
[10] change features (eyes, mouth, ears)
[10] change color of clothes and features
[  ] place furniture

That's all for now, folks!
This roughly sums up what I've been doing for the past few months. There's a huge difference between the first dozen commits compared to the latest ones, but I'm too lazy to pull the old commits out for screenshots *yawn*. The difference was mostly due to remodelling in Blender/Illustrator and constant code refactoring (I have a terrible habit of refactoring too early). My goal for the next two weeks is to get random weed/rock generation and all the tools (except for fishing rod) working, and I'll probably do another (a real one) devlog around that time. Until then!


Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic