Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411423 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 18, 2024, 07:25:42 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsDodo.io
Pages: [1]
Print
Author Topic: Dodo.io  (Read 1059 times)
Ignatius
Level 0
*


View Profile
« on: May 29, 2022, 01:29:32 PM »

Dodo.io is going to be an online .io style game that will be a mix between Deep.io and mope.io.
Core concept
The goal of the game is to create a creature with qualities that allow it to survive in a prehistoric multiplayer landscape.


Features

By eating you gain exp, with which you can level up. For every level up you get an evolution point. These points can be redeemed to either: 1 Upgrade tiers, 2 Buy abilities, 3 Buy upgrades.

Let's start with the former: Upgrade tiers.
For a certain amount of evolution points that will vary depending on what you want to buy, you can upgrade to a higher tier of dinosaur. This is basically the core concept of the game. These tiers allow you to eat more stuff and give big boosts in damage and HP. Every dino also has a signature ability that massively affects playstyle and make every different dino feel unique.

Then to the second point, abilities. During a play through you can have a maximum amount of 4 abilities. These abilities can also be bought for the evolution points, and the costs will correspond with how impactful they are in what part of the game. If you're lucky there is also a small chance every time you kill someone to inherit one of their abilities that you can choose to accept or not. These will make the game more interesting, and make it possible to run away from an enemy for example, but they won't make as much an impact as the signature abilities.

Finally, the third upgrade system. This affects raw numbers. For example, you can increase your attack damage and speed among others by using these evolution points. People that have played diep.io will probably recognize this kind of system.



Content

I'm planning to add at least 5 different tiers, probably adding up to around 20 dinosaurs, up to 10 if people like the idea and it is supported.
I also want to do at least 20 buyable abilities.


Feedback

This is my first game, so I would really like to get some feedback, not only about the game itself, but also about this devlog and overall how I'm doing.














Devlog 1, 29/05/22

Currently I have a very basic project, where lakes and trees spawn randomly over the map.
This is a very basic image with placeholders that shows what I currently have

I'll show some code showing how they are generated, important to note is that I'm doing this project in godot:

Code:
rng.randomize()
#Script that spawns 10 lakes all over the map
for _integer in range(10):

var obj = Lake.instance()
var x = rng.randf_range(-5000, 5000)
var y = rng.randf_range(-5000, 5000)
add_child(obj)
obj.transform.origin = Vector2(x,y)
rng.randomize()
# Script that spawns a 100 trees all over the map
for _integer_2 in range(100):
var obj = Tree.instance()
var x = rng.randf_range(-5000, 5000)
var y = rng.randf_range(-5000, 5000)
add_child(obj)
obj.transform.origin = Vector2(x,y)



This code places 10 lakes and a 100 trees allover the map. I'm not completely sure yet on the balancing and the map might be a little small, so this might change once the game is actually playable.


I'm not sure code really a good idea so I'm not gonna bore you with more details about it unless you ask for them.

From now on I'd like to keep up these blogs weekly.
Again, feedback is much appreciated and see you then!







« Last Edit: August 12, 2022, 07:30:10 AM by Ignatius » Logged
Thaumaturge
Level 10
*****



View Profile WWW
« Reply #1 on: May 30, 2022, 04:43:08 AM »

I would add a picture, but I'm not completely sure yet how I would do that. Help would be greatly appreciated.

I believe that at least one method is to upload the image to an image-/file- hosting service (e.g. DropBox), and to then use tags within your post to display that image. The tags in question (with spaces added to prevent the forum from interpreting them) are "[ img ]" and "[ /img ]". (Let me note too that said tags have an optional "width" parameter, should your image be larger than the post.)

Those tags are used something like this:

Code:
[img]<your image-URL here>[/img]

Or, applying a width:
Code:
[img width=800]<your image-URL here>[/img]

When writing a post, you can either type in the tags yourself, or press the "image" button that should be available amongst the various buttons above the text-entry in which you enter your post; said button looks like a tiny frame painting, I believe.
Logged

Ignatius
Level 0
*


View Profile
« Reply #2 on: June 04, 2022, 02:06:58 PM »

05/06/22 Devlog 2
This week I've been able to add a run function.
Which allows for short bursts of sprints to run away from enemies.

If you deplete your entire run bar you cannot run again until your bar is full again. This is an icentive to not instantly deplete your run.

In this image you can also see the Exp and thirst bars.
Both if these are already functional with thirst lowering over time and going back up if you drink. Where the exp bar goes up if you eat and down again once you level up.

Currently the white font is a lot to bright, but I think it won't look good if one font is white and the other black so I'm not completely sure what to do yet.

For the next devlog I want to have quite a few features done. Including a start screen, replenishing food and a very basic AI to play the game against, which means I have to add an HP system. I hope this will all be done next week, but see you then!
Logged
Ignatius
Level 0
*


View Profile
« Reply #3 on: August 12, 2022, 07:29:38 AM »

12/08/22 Devlog 3
Well, that was a bit longer than a week...
In this time I've been able to add what I'd planned to add. This includes a very basic menu, which consists out of a single button and a grey background. This has however taught me how to change scenes using Godot.

I was also able to equip the player with a health bar, that will deplete when an enemy hits you, eventually killing you and sending you back to the menu when your health reaches zero. I have not yet added a similar system to the enemy, so the battle is a little stacked against you. Grin


Very important was also for the enemies to be able to chase you, since stationary enemies, would certainly make it very easy to level up, but it might not be very enjoyable. Hence I have added a program for the enemies that reads your Hp, Attack and Defense and determines whether or not they'd be able to defeat you. It doesn't work very well when another enemy also enters the detection area. However if when I'm going to add multiplayer this won't really be a problem so this suffices. This below is the code with which I have added a very basic "AI".

Code:
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
motion = Vector2(Speed,0).rotated(rotation)
#If enemy exists look at it and continue motion into that direction
if enemy:

look_at(enemy.global_position)


motion=move_and_slide(motion)
pass


func _on_Detection_Area_area_entered(area):
agressive=false

#Check if the area that enters the detection area is a player or enemy
if area.name=="Hitbox":
# Determines if they are stronger than this area
if  area.get_parent().get("Health")/(area.get_parent().get("Defense")/Attack)<Health/(Defense/area.get_parent().get("Attack")):

agressive=true
elif area.get_parent().get("Health")/(area.get_parent().get("Defense")/Attack)==Health/(Defense/area.get_parent().get("Attack")):
#randomly decides whether or not they will attack
var rand=random.randi_range(0,1)
random.randomize()

if rand==1:
agressive=true
else:
agressive=false
else:

agressive=false

# I actually don't think these 2 lines still do anything, but I'm too lazy to clean them up and check
target_position=area.global_position
dir=(target_position-self.position).normalized()

# Chooses whether to follow or run from the player
if agressive:
look_at(area.global_position)

enemy=area


else:
look_at(area.global_position)
rotation_degrees+=180
enemy=null


pass # Replace with function body.


func _on_Detection_Area_area_exited(area):
# Makes sure the enemy will no longer actively follow the area
if area.name=="Hitbox":
enemy=null
pass # Replace with function body.


In the meantime I have also created a tier-tree for the dinosaurs

I apologize for the bad quality of the image, but it should still be barely legible. Cheesy
(PS: First to comment their suggestion for a dinosaur will get it added into the game!)



Currently, my goals are to implement an upgrade system, to improve your character, and then also give these upgrades to the enemies. Afterwards I will try to add a way to evolve into a better dinosaur using the same point with which you can upgrade. Then I'll add a few more dinosaurs to evolve into which will allow to figure out how I'm going to implement the entire tier tree. If I still have time after that I might try to add a screen in which to upgrade and buy abilities.
I have also found someone willing to make better sprites for the dinosaurs so that you won't have to look at my own abominations much longer.
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic