Sorry I don't want to be bullied if you don't like my game Whoops
Liam Morris
I'm not sure how to use array/lists, I'm using this as a learning experience, too.
cross postan from the last thread.
Aiden Barnes
>love2d is on there, a framework with no notable games >Monogame/xna isn't
explain
Ethan Richardson
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.
Cameron Phillips
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.
Ryder Brooks
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.
Aaron Wilson
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?
Elijah Rivera
>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
Christian Long
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?
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
William Thomas
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.
Caleb Russell
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
Brody James
But wouldn't I want it to point to nothing, so that thing in general is removed from update/render?
Benjamin Gomez
I am
But what does that have to do with make game?
Julian Clark
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.
Kayden Sanders
DELETE THIS
DELETE IT
NOW
Chase Lewis
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.
Brandon Mitchell
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.
Adrian Ramirez
...
Juan Nelson
fck you
Alexander Taylor
don't try to bully me into not bullying people you faggot.
Brayden Myers
I don't want people to rush things but when there is gonna be a video in the DD10's page?
whenever MMBN dev decides he wants more attention.
Ryder Richardson
>MMBN
?
Evan Gray
He should spend some time actually making games lol
Ayden Garcia
mega man battle network dev >but how do yo he admitted it.
Parker Morris
MeMeBaNe
Oliver Watson
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.
Andrew Adams
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.
Easton Gutierrez
MyMinusculeBeNis
Grayson Parker
UuUu
Chase Anderson
I've heard that a free released 2D or 3D cute girl turns you into a dev.
Logan Ross
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.
Brody Rodriguez
aha, I figured it out
calling GetWorld() in one function returned a different result than the other function
Lucas Price
You've been lied to.
Jeremiah Baker
1st person vs 3rd person
Debate
Isaiah Thomas
3rd is objectively better.
Robert Perez
First person is for puzzle games and walking simulators Third person is for action, fightan shootan
Easton Roberts
1st person because muh immersion
Zachary Stewart
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?
Jason Diaz
Serious Sam is the best FPS and shooter in general though.
Robert White
My nigga
Jordan Jones
FPS is an inherently flawed genre
Serious Sam is flawed
Jayden Hughes
why not both
Leo Powell
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
Anthony Bailey
>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
Jack Howard
third person requires you to model and animate your character(s), too much work
Carson Cook
Whichever serves the idea of your game better.
William Hughes
>Serious Sam is flawed whoa now, watch that tongue. only the hitscan
Logan Jenkins
>FPS is an inherently flawed genre How so?
Adam Davis
Serious Sam isn't a good game, it's just different from other FPS
Sebastian Wilson
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)
Jonathan Wood
Anyone else here feels comfy making progress knowing that DD is not in a week?
Jose Walker
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?
Sebastian Howard
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
Jack Fisher
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)
Dominic Jones
dope stuff
Cooper Thompson
>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?
Nolan Rodriguez
>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
James Cox
second
Ethan Walker
limits what you can do. why more aren't like mirror's edge is strange.
Isaac Collins
>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?
Connor Russell
>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.
John Edwards
give me a free idea for my first real GM:S game
Adrian Ramirez
>limits what you can do Nigga, every genre does that.
Ian Gray
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
Charles Thomas
>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.
Dylan Jones
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?
Ryan Martinez
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.
Jordan Miller
By learning c++ or C# instead. by learning c++
Dominic Wright
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?
Jackson King
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
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.
Jose Martinez
>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.
Hudson Rogers
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.
Isaac Perez
>1. looks amazing This is THE thing that'll make your game featured on all those platforms, isn't it?..
Jace Russell
Duh.
Christian Reyes
>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.
Kevin Watson
Why does my player object shake when I jump in game maker
Jaxon Brown
it's antsy to do more things.
Elijah Harris
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?
Matthew Nguyen
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.
Henry Lewis
>fighting general useless as fuck >emulation general useless as fuck To think I've been complaining about agdg..
Austin Lopez
or rather, goomba B will be removed, but to the player, it will look like goomba b is fine, in the game.
Luke Sullivan
Go have a look at /tes/,/fog/, and /terag/ as well.
I wish we were as comfy as /rpgmg/ is though.
Owen Ross
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.
Jace Stewart
And why would I want that?
Jaxon Howard
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.
Xavier Fisher
but what's the actual reason
Gavin Martinez
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
Jack Edwards
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.