/agdg/ - Amateur Game Dev General

Just like make progress

>Next Demo Day (Ten)
itch.io/jam/agdg-demo-day-10
>Previous Demo Day
itch.io/jam/agdg-demo-day-9

>Next Game Jam (Space)
itch.io/jam/agdg-space-jam
Collab: pastebin.com/NEPv0pPC (embed)

Helpful Links: tools.aggydaggy.com/# (Still in beta)
New Threads: Archive: boards.fireden.net/vg/search/subject/agdg/

>Chats
steamcommunity.com/groups/vgamedevcrew
webchat.freenode.net/?channels=vidyadev

> Previous Demo Days
pastebin.com/Qi63yBxd (embed) (embed)

>Previous Jams
pastebin.com/hVhvNWLw (embed)

>Engines
GameMaker: yoyogames.com/gamemaker
Godot: godotengine.org/
Haxe: haxeflixel.com/
LÖVE: love2d.org/
UE4: unrealengine.com/what-is-unreal-engine-4
Unity: unity3d.com/

> Models/art/textures/sprites
opengameart.org/
blender-models.com/
mayang.com/textures/

>Free audio
machinimasound.com/
freesound.org/browse/
incompetech.com/music/
freemusicarchive.org/

Other urls found in this thread:

youtube.com/watch?v=s66g-FFGksI
pastebin.com/aamrX5rG
monogame.net/
msdn.microsoft.com/en-us/library/41107z8a.aspx
twitter.com/AnonBabble

...

My game sucks

(hire me)

Rest in peace yesdev. You tried.

(embed)

Sorry I don't want to be bullied if you don't like my game
Whoops

I'm not sure how to use array/lists, I'm using this as a learning experience, too.

cross postan from the last thread.

>love2d is on there, a framework with no notable games
>Monogame/xna isn't

explain

I feel I might doing something wrong, but I never felt the need to use pointers. The only reason to use them would be in the case of some huge data, like graphics. However if I just, I don't know, load all my assets into a global array, then I won't face issues where they get copied or multiplied.

Arraylists are just variable length arrays,

You add an item, it +1's the size, you remove, it -1's the size.

Much more useful for a lot of things, especially considering you can add Generics.

Most of the OP is useless.
We should honestly just have the dd and jam stuff and possibly the site and that's it.
But autists will flip because something changed.

I mean, I get the general idea, I just don't understand how I'd implement it in regards to adding/removing something.

Would I call an item from the same array in the update/render loops, then delete it when it was done? Wouldn't it reference a certain index and mess everything up?

ex, if my listarray goes dog, cat, dog, and I delete the cat, won't it just point to the dog, now?

>The only reason to use them would be in the case of some huge data, like graphics

Or in the case of absolutely anything, even if it's small, if you want to avoid unnecessary copying, or if you want to change the values (though a reference could work here too).

>globals
bad oop design

Err, explaining a bit better

Arraylist goes dog, cat, fish. I point to the cat in a loop. Cat is removed from arraylist, won't everything that pointed to that cat, now point to fish?

thread theme

youtube.com/watch?v=s66g-FFGksI

Anyone have an idea for a game that can be programmed in 1 day like flappy birds or stacked.
But that hasn't been overdone

If you're pointing at Cat (position 1)
And you remove Cat, it should squeeze the list and point to dog, which is now position 1.

Its a little offensive to have one specific music guys site on there, but not the agdg soundcloud group

The Engines list is pointless too, its not like if you google Unity its address won't be the first result

But wouldn't I want it to point to nothing, so that thing in general is removed from update/render?

I am

But what does that have to do with make game?

Program alternate rules of tetris?

The reason most 1 day program stuff is overdone is because not only is it simple to program, but people already understand it completely, so of course it will feel overdone.

DELETE THIS

DELETE IT

NOW

The SC is not there purely because we forget about it.

I don't know, maybe I'll try for like the fifth time, and see how the tantrums fair.

add monogame too. It's probably the best option imo for people who wanna use a framework to make a 2d game, and is certaintly more powerful/flexible than love2d.

...

fck you

don't try to bully me into not bullying people you faggot.

I don't want people to rush things but when there is gonna be a video in the DD10's page?

what the hell
pastebin.com/aamrX5rG

>that appear to be female

kek

whenever MMBN dev decides he wants more attention.

>MMBN

?

He should spend some time actually making games lol

mega man battle network dev
>but how do yo
he admitted it.

MeMeBaNe

Any suggestions for sites/docs/books that deal with planning game systems? Not engine things like display and movement, but the actual mechanics of the game: dialogue, items, battle, menu, etc. I feel like when I work on a project, I spend way too much time trying to figure out what gets implemented first, and exactly how I do it. A guide might be helpful.

In a sense yes but you're not doing things right then.. An array list is like a normal physical list, picture that. You have cat, dog and bird on the list. Now let's say you're really fucking sick of dog. You get your scissors (remove function) and remove dog. You then, to keep the list a list, shift bird up the list (move the lower part of the list up) to cover the hole that dog made.
So, now let's say you kept this list to count how many cat dogs and birds you saw, you will now look at things, go through the list to see if what you saw on the list is there or not. When dog is removed you won't find dog anymore. But let's say you had decided to do something else, we don't normally use lists like that. Lets say you had been counting the amount of poop a dog let's out. And you decided for yourself 'dog is always in the second spot'. If you remove dog you have to account for that
Or else you will count the dog poop into the place where you were counting eagles (birds). Since that's now second.

Maybe it makes more sense now? In your case you have specific functionality for each element, you don't really have to index them like we did in the second example.

MyMinusculeBeNis

UuUu

I've heard that a free released 2D or 3D cute girl turns you into a dev.

If it points to nothing and you try to render it you get an error.
But you're not rendering cat because cat doesn't exist anymore. So there's less work.

aha, I figured it out

calling GetWorld() in one function returned a different result than the other function

You've been lied to.

1st person vs 3rd person

Debate

3rd is objectively better.

First person is for puzzle games and walking simulators
Third person is for action, fightan shootan

1st person because muh immersion

Wait, setting aside the fact that I'm pretty sure I'd get an error anytime I shrink the size of the list then,

why doesn't it just render/update dog in every instance/update it should have rendered cat?

So, basically I'd be making a bunch of if checks in render/update, to see if an index in the list is what I want? Won't the changing size of the array mean that when I change 1 thing, everything after it is broken, or do I change it from "dog" to "nodog", and stop counting?

Serious Sam is the best FPS and shooter in general though.

My nigga

FPS is an inherently flawed genre

Serious Sam is flawed

why not both

you don't store references/pointers to anything inside an array list. any time you want to access the data, you call arraylist.get(index), which returns the value there, so you never should actually be touching deleted data.

when you loop over it, you loop from 0 to arraylist.size(), which will update if you remove something, so you're ensured you don't try to access an index that no longer exists

>why doesn't it just render/update dog in every instance/update it should have rendered cat?

Why would it do that? Computers only do what you tell them to. Arrays aren't setup to provide that behaviour, nor should they

third person requires you to model and animate your character(s), too much work

Whichever serves the idea of your game better.

>Serious Sam is flawed
whoa now, watch that tongue.
only the hitscan

>FPS is an inherently flawed genre
How so?

Serious Sam isn't a good game, it's just different from other FPS

Particle effects now play when things explode (other than fireballs, which already exploded). When trying to mix potions without a valid recipe, they'll explode and do damage based on how high-level the potion was. If you fail to disarm a trap, it'll explode and play an effect depending on its trap type (the air trap explosion is almost unnoticeable right now, but whatever)

Anyone else here feels comfy making progress knowing that DD is not in a week?

Maybe I'm thinking about how to use this in render/update all wrong then.

Say I just wanna render a grid of sprites, and the grid goes:

dog, dog, cat, cat, dog..
dog, dog, cat, cat, dog

I'd assume I'd store that in an array, right? Then, I'd make a loop that says, draw everything in the x co-ordinate at positions n, add to the y co-ordinate, draw everything in x co-ordinate, etc until you hit the end.

If I delete one thing, doesn't the whole array shift and the positions after the thing I deleted get all messed up?

How is it not a good game?
>puzzles
>gameplay puzzles
>having to constantly choose and switch between weapons for the current situation
>as well as balancing which enemies to prioritize first

in that case, yeah. you'd have to store an empty value in place of the thing you deleted

though, for a dynamic inventory list or something, that is exactly what you'd want (auto-shift to first open place)

dope stuff

>A game is not good if it's only good feature is that it's different from the rest
Okay? So SMB3 is not better than 1?

>If I delete one thing, doesn't the whole array shift and the positions

No. If you delete something, you have an empty element in your array

>I'd assume I'd store that in an array, right? Then, I'd make a loop that says, draw everything in the x co-ordinate at positions n, add to the y co-ordinate, draw everything in x co-ordinate, etc until you hit the end.

each animal has an x and y position. loop through the array and draw the current animal at its x and y position

second

limits what you can do. why more aren't like mirror's edge is strange.

>Yes
>No

???

Maybe the yes only applies in a dynamic arraylist?

If I tell spritebatch to render "bird", and "bird" is not stated anywhere, will it just skip it? Or will it throw me an error? How would I make it skip an "empty" place, if the latter?

>limits what you can do.
That's it?
So every game is flawed because you literally can't do everything?

FPS aren't limited by nature, they're only limited by the people and their tech.

give me a free idea for my first real GM:S game

>limits what you can do
Nigga, every genre does that.

You're getting bad advice from different directions, and I don't think you understand the difference between deleting an object, and removing an element from an array. No offense but you should go back to the basics of OOP before trying to learn from anons on the internet due to Mount Stupid

>oh zero quest was fun. I wanted to put her in a picture along with jelly but I'm going to ask jellydev first about that

It seems as if people are not familiar with my other works.

I want to make a 2D game without using a full engine like Game Maker. I would like my skills to be transferable in the future. Where do I start?

Yes that's a good example for when to use an array rather than an array list.
And what you'd want to do then is use a 'dead' or 'visible' variable which you store in every entity to set the "deleted" tile so it's invisible. Basically what you did with your pong game. You have an if that checks on the bool to render or not.

But for less simple structures, say you have an MMO/platformer/whatever and you want to delete an old mob that died you could use an array-list and just remove the object. By doing that you don't have to check on the bool all the time and the list takes less memory. Since it doesn't need to store every monster that has died ever and check if it's dead or not.

Which honestly for the scale of game you're making it's not an issue, you'd consider having an excessive amount of memory that you don't use to be a 'memory leak'. I think it's something you gain perspective on later.
For a simple platformer with say a few thousand entities per level, even if you never get rid of them they're not gonna be a problem. It's bad practice to just leave them laying around. Going through the array and checking if they're alive or not may eventually cause lag on slow machines (your frame doesn't have time to render at a constant 60fps+). But it's not a big deal.

I can't really find any good guides on how to do what we've been describing because it's such a simple system. All I can find is entity component system guides.

By learning c++ or C# instead.
by learning c++

Yeah, I think I should focus more on the basics as well. Again, I'm using this stuff to try and understand c# and coding in general, learning as I go.

Though, I think I get the difference, the object isn't actually stored in the array, it's kind of just like a label that references it, right? Like, if I have an object, dog, and my array stores 3 "dog" in a row, deleting 1 "dog" won't remove the dog object, because that's what all "dog" logic/rendering is based off of. Right?

It doesn't just skip it, unless you can show that the language feature is defined to make it do that.

When you access an empty element, most languages would simply give you an error, or do nothing and give you a warning.

You could make the loop not call the render function if the element is null, but that'd be bad. just make sure your entity list has no empty elements in it.

You might consider using a linked list for your entity list

Monogame then?
monogame.net/

Seems the same but I mean most coding of this kind is just learning the basic principles like variables, booleans, making your own functions, class inherence, numerators, coroutines, switch statements.

I mean you can make most games with just those alone. Sometimes you need a little more complext things like Lists, dictionaries and learning how to write a node system for AI to cycle through to pathfind (and then make it so they avoid moving obstacles while doing it) but that's probably quite a while away from what you want.

It's mostly concepts you have to become familiar with so then you can apply them in any language.

>You're getting bad advice from different directions
Elaborate how anything said is bad advice.
Are you saying that it'd be a bad idea to have an array of entities? Are you saying it's a bad idea to have a list of entites?

I don't see any of the advice given as bad. Aside from the fact that we're maybe trying to teach him at the same time, rather than pointing him to MSDN list/arraylist.
msdn.microsoft.com/en-us/library/41107z8a.aspx
Which would be something you should look at.

I wrote a long ass thing and decided not to post it because it was kind of gay desu.

Pretty much came down to whatever you create the game around is the best perspective. I personally prefer first in general.

>1. looks amazing
This is THE thing that'll make your game featured on all those platforms, isn't it?..

Duh.

>Yes
>No
No that's not a correct interpretation.
Is saying
What you predicted. It's Yes in a 'dynamic' arraylist (dynamic is redundant because arraylists are dynamic by their very nature).
In an _Array_ it's 'no' because. There's really no way to 'remove' from an array. An array is just a set of memory. As such you can't really remove the memory. What you can do is set it to something invalid.

Why does my player object shake when I jump in game maker

it's antsy to do more things.

Well, I'd like to try to understand how I would use it in less simple structures.

Say I have a level in a platformer, and it has 3 goombas, so the array looks like [Goomba, Goomba, Goomba], For sake of clarity, the goomba at 0,0 is goomba A, next is goomba b, etc.

If I remove goomba b from the arraylist (by jumping on it or whatever), won't the update/render just stop updating/rendering goomba c, and goomba b will be fine? Why not?

Console Pet guy I'm uploading your video now. I increased the bitrate a ton from yesterday cause a lot of games had the jpg-compression-looking thing going on, but now my videos are like 5x more filesize, so it'll take a bit longer to upload.

If anyone else wants me to do a video review of their game, let me know.

>fighting general useless as fuck
>emulation general useless as fuck
To think I've been complaining about agdg..

or rather, goomba B will be removed, but to the player, it will look like goomba b is fine, in the game.

Go have a look at /tes/,/fog/, and /terag/ as well.

I wish we were as comfy as /rpgmg/ is though.

I want to make a game that is the ultimate cash grab. I want it to be game where no matter which angle you look from or how optimistic you are, the only thing you can describe it as is a cash grab. It should have real money currency, loot unboxing, limited item durability, member subscription and everything that would make you shy away from a normal game.

And it would be part of the games identity. You wouldn't download the game and then realize its a cash grab, it would all be clear to see from the trailer that the game is mafe from the ground up to rip you off.

And why would I want that?

the sad thing is people would play this ironically and "ironically" give you money for a joke.
Especially if some autist on /v/ found it.

but what's the actual reason

cool you should probably hit up a company that already has a game made but wasn't as successful and throw the name of a bigger game on it but make you pay extra for all the shit and make millions off of debt-ridden 20 year old fuckheads best of luck

Yeah. People don't give your game a second look if it's not pretty.
You can of course not just live on pretty looks.
Or maybe you can, thinking back to some games
Post code.
>won't the update/render just stop updating/rendering goomba c
It will keep rendering any goomba that's alive because it's still in the list.

The reason the stomped goomba isn't rendered is because it's not in the list anymore. The list shrunk because it's an arraylist.

If it were an array you'd have to take special care to make sure it's not being rendered. Since as mentioned it's not really 'removed'.

This is why I think C is a good programming language to start with. Because it's painfully obvious how memory works.

You're probably thinking about referencing. That's a very complex topic to go into now. I'm not sure I can be bothered honestly. But generally it's a bad idea to give individual entities a structure where they reference each-other directly unless you take care to handle it.

I'm thinking maybe you got this idea from how you're writing your pong project. Your ball knows about both the paddles in some sense right? Either you write the update in a way that checks the ball against the paddles or the paddles know about the ball and make sure it's not allowed to pass through.

In a more advanced pong where you have dynamic objects the simplest possible way to do collision like in pong would be to have the ball loop over the arraylist of entities and respond to the walls or paddles, whatever entities there are. When you remove them from the arraylist they're no longer in the list, the ball won't do collision checks against them and because of that it won't collide with the deleted paddle.

You're pretty smart user. That's obvious from this conversation.